LAMS 2.1 will be using FCKEditor 2.5.1. Next time the FCKEditor is upgraded within LAMS, please check these notes to see what changes need to be made.

File Locations

The FCKEditor directory structure is places in lams_central/web/fckeditor. We do not need to keep the _source directories as these are not needed at runtime, and removing them . You can also remove the other _blah files that are documentation about the FCKEditor. Leave the licence file in the package.

Customisations

The bulk of the customisations are specified in lams_central/web/includes/javascript/fckconfig_custom.js. This defines:

The two standard toolbars - authoring and learner

Sets the stylesheet to our standard stylesheets

Turns on the spellchecker in Firefox

Allows the browser context menu

Defaults any link targets to be a new window.

Points to templates in lams_www.

The code templates (available via the Template button on the toolbar) are stored in lams_www/web. The images for the templates are in lams_www/web.images. So when an upgrade is done any new templates should be added there and you need to add a note to the Database and Configuration Changes so that we can warn the users that the templates are changing. Why? The templates are in lams_www so that LAMS sites can add their own custom templates to the template file, which we will be overwriting in an upgrade.

There is a major customisation relating to where uploaded files are put. All uploaded files go into a directory in lams_www.war/secure. Each new learning design is assigned a new directory name, which is a very long number that should be unique across all systems. To support this, we have done our own versions of two servlets that manage the uploaded files - org.lamsfoundation.lams.web.LAMSConnectorServlet and org.lamsfoundation.lams.web.LAMSUploadServlet.

To make this work, you also have to modify lams_central/web/fckeditor/editor/filemanager/browser/default/browser.html. Change all references to oConnector.CurrentFolder from "/" to GetUrlParam( 'CurrentFolder' ). (See FishEye for a diff on how this was done in the past).

We have also written a number of tags to make using the FCKEditor (with all our customisations) easier. See: