Glossary Application


To develop a glossary application which will present a list of definitions of terms on the XWiki pages to a user at the very instant and will also allow to add new definitions and make changes to them on the very same page. This will enable a normal user to have a quick knowledge of the terms that are written on the XWiki pages.


Currently, there is no feature in XWiki which allow a user to add definitions and some notes for the words that are displayed on XWiki pages.  This glossary application will make it easier for a normal user working on XWiki to add glossary/definition to the word/words for his own convenience to develop a quick understanding of the word/words given on XWiki pages.  

People are going to use this application to define the meaning of some very specific words/acronyms/etc that are related to their domains/business (e.g. “open source”, “wiki”, etc). 

Goals(with description)

The project requires mainly the creation of two main components:

1. Application UI

The app will work on the XWiki pages. The app will function as follows:

Seeing an already existing entry

The app will work on the XWiki pages. The app will function as follows:

  • An already existing entry will be highlighted on a page. On hovering over that link, a popup will appear below the word/words.
  • The popup will contain the name of that word with the small definition(extract/summary) of that word.
  • Different words can be accessed by just hovering over them i.e the word on which the mouse pointer is ’on’ will be displayed(along with small definition) in the popup below it.
  • Along with a small definition, there will also be a small link “Read More” inside the popup which will guide the user to a new page which will display the complete definition of the word/words (in case the user has added more to it).

Adding a new entry(The words which have no entry on the glossary pages)

  • A user will select a word or a list of words.
  • The user will click a shortcut key (just like for annotations) and a popup will appear below the words.
  • The popup will contain the word/words on which the mouse pointer is on.
  • This popup will allow the user to enter a new definition, modify it and then save it on the same page.
  • In case a user wants to add more details to the word, an option will be specified in the popup which will take him to the glossary page.
  • Internally it will create a new page in the glossary space.

2. Glossary Pages

These are the list of pages which will have the definition of words. It will comprise of two components:

Glossary Home Page

  • This page will contain the links for various definition already on the glossary page. [done]

  • Different definitions can be found by simple search. [done]

  • On clicking those links the user will be guided to the matching glossary page for that particular word. [done]

  • Basic CRUD functionalities will be implemented on this page [Already there]

Glossary pages for each definition

  • The idea is to create a separate glossary page for each word (whose definition is required) in the XWiki. [done]



  1. Creation of Glossary Homepage.[Done]
  2. Creation Transformation to display glossary items when a page renders.[Done].

  3. Releasing + documenting the first version [Done]

  4.  Create a feature of the popup on hovering.

  5. Adding the ability to create glossary items in context with the page.

  6. Create functional tests to prove that above-given steps work.

  7. Adding the ideas as given below.

  8. Releasing the final version with documentation.


1. Allowing the user to automatically gather info from various pages of XWiki for some glossary items.

2. I also plan to allow using Wikipedia or other sources to automatically gather info about some(depends on the user) glossary items.

3. I also plan to provide an Admin UI  to configure the Glossary application.

  • For example to configure on which pages the transformation should execute (with regex includes/excludes).


Tags: gsoc

Get Connected