Full feature list of the glosary module:
A) Basics:
- Create, modify, delete, backup and restore a glossary and its entries.
B) Settings:
- Student can or cannot post entries. If they can, they will also be able to update and delete their own entries.
- Allow duplicated entries.
- Display format. Different ways to show the entries. It is modular, if you want a customized view, just create a file with the proper function, throw it into mod/glossary/formats (usually with [number].php as filename), create a new entry in the language pack (displayformat[number]) and voilà (0 is the reserved, default view).
- If it is or not the main glossary. Right now it is used to export entries from secondary glossaries to the main one but there would be more uses for this field int the future (see Nice to have)
C) Adding, updating, and deleting entries:
- If you are able to add entries (always being a teacher, sometimes being a student), you will be able to add the concept, definition and an optional file (image or whatever)
- When you update an entry and send a new file, this newer file replace the older one.
- Once you add or update an entry, you will be redirected to a page where you see only this entry.
- To do: When deleting an entry, also delete its associated file if any.
D) Backup/restore:
- The backup/restore procedure works slightly different. The teacher and student entries are all in the same table. Teacher entries are always backed up and restored... Student entries only when you specify that you wish to have the user data baked up.
- Working on: Backup and restore of the entries' attachments.
- What if: I add a flag to the configuration of each glossary that specify if the glossary should be backed up empty? This flag should override the settings specify in the backup procedure. Right now, you can export teacher and/or student entries but never an empty glossary (unless it is already empty in the original course, of course)
E) Exporting entries to a main glossary:
- Every course could have one and only one main glossary.
- You can't export entries from the main glossary.
- Only teacher are able to export entries.
- If there is a course defined as main in a course, you will be able to export entries from any secondary glossary.
- If the main glossary does not accept duplicated entries, the entry you are trying to export will be checked against the main glossary entries.
- If an exported entry has an associated attachment, it will also be exported.
- Once an entry has been exported, all further changes to any of the imported or exported file (including deletes) are not propagated among the others.
- To do: A way to export extries in batch from "one" secondary glossary to the main one.
F) Searching and browing entries:
- There are four ways to browse entries (one internally used): By its initial letter, by terms, all terms or (internally) by ID.
- When you search by terms you can look for several terms and the system will return any entry that contains ANY of those terms in either the concept field OR (if you checked the appropiate option) in the definition field.
G) Nice to have (up to discussion!):
- Import/export entries from/to flat files comma or tab delimited (I think this is a must-to-have).
- Transparent, dinamic linking between other modules and the glossary entries.
- Manual linking to glossary terms.
- Inhieritance of entries:
- Every course will have one and only one main glossary. It should be updatable only by teachers.
- Student entries will be added to his glossary only by the "blessing" of the teacher (exporting the entries from each secondary glossary).
- Every glossary could be "based on" other(s) glossaries... From the same course or not.
- Inherited entries will be read-only.
- Every glossary will have an optional "sharing password". This password will restrict who can use that glossary. This way we can have a site glossary without password, and several course level glossaries with password. if a teacher knows the right password, he will be able to use it.. Otherwise, he won't be able even to know its existance.
- Graded entries.
- Ability to show/hide the tags "SPECIAL" and "ALL", and the alphabet as well. It will allow to use the module as quiz of long-answer questions where the alphabet will probably be unuseful.
- A pretty woman bringing grappes to me (this is out of discussion)...
PS: Some features listed above are not yet in CVS...