MySource Matrix Developer

Main Content

User Customisable Dictionaries

Summary

This document proposes a way of using user-customisable dictionaries for spell checking. It also allows an administrator to maintain the dictionary on a global or user-group basis.

Status: Draft
Key: draft -> approved proposal -> scheduled -> in development -> in testing -> complete -> released

This feature is not scheduled for development

This feature is not scheduled for release

Problem Definition

Currently, the Spell Checker plugin in the WYSIWYG editor only uses Aspell’s system dictionaries to perform spell-checking. It also does not allow the users to have the custom wordlist. It will be desirable to have the global, user-group or each user based dictionaries for the system that has many editing groups and users.

Technical Specification

Type of Dictionaries and Visibility

There are three different types of dictionaries in the system. It enables the administrator to maintain the global or the user-group specific wordlist separately and the user to have their own version as well.

  • Global Dictionary
    The system wide dictionary that every users can look up for spell-checking.
  • User Group Dictionary
    The dictionary that is available to the members of the user group only.
  • User Dictionary
    The dictionary that is available to the user only.
Editing Privilege

The system administrator has the privilege to add or delete a word to the global and user group dictionaries. They are also able to edit their own user dictionary. The rest of the users only can edit the dictionary belongs to themselves.

System Administrator Backend and Public User
Global Dictionary
User Group Dictionary
User Dictionary (their own)
User Dictionary (their own)
Implementation

When the spell-checker plugin is initiated, it will add all applicable dictionaries to the personal wordlist. For example, a user1 who belongs to a group1 will have his/her own wordlist, which includes all the words from the global, group1 and user1 dictionaries.

setLanguage() function in spell_parser.inc will extend its functionality to implement this.

The editing interface for new or existing words will be added to spell_checker_popup.php.