Using the EditLive! Productivity Pack

The EditLive! Productivity Pack is an add-on package exclusively for use with EditLive!.  The add-on is available only for EditLive! version 6.0.

For more information on how to upgrade EditLive! 6.0 also see the documentation on Upgrading to EditLive! 6.0.

Menu and Toolbar Commands

Track Changes

  • EnableTrackChanges - Enable/Disable Track Changes command.  This enables users to toggle change recording on and off.
  • EnableChangeRendering - Show/Hide Changes command.  Enables users to toggle the rendering of track changes on and off without affecting the state of the change recording.
  • NextChange - Next Change command.  Browse to the next change in the document.  
  • PreviousChange - Previous Change command.  Browse to the previous change in the document.
  • AcceptChange - Accept Change/Accept Selected Changes command.  Enables users to accept the current change or currently selected changes.
  • RejectChange - Reject Change/Reject Selected Changes command.  Enables users to reject the current change or currently selected changes.
  • AcceptAllChanges - Accept All Changes command.  Accepts all the changes in the document.
  • RejectAllChanges - Reject All Changes command.  Rejects all the changes in the document.
  • ShowTrackChangesDialog  - Review Changes... command.  Opens a dialog to review the changes in the document.
  • SetUsername - Set Current User... command.  Opens a dialog enabling a user to specify their name.  Their name will be recorded with the changes they make.

There is also an internationalize Track Changes menu name available.  This can be used as follows:

<menu name="ephox_trackchangesmenu" />

Thesaurus

  • Thesaurus - Thesaurus... command.  Opens a full thesaurus window.
  • Synonyms - Synonyms submenu.  Provides a submenu of synonyms for the current context of the cursor or selection.  It is recommend that this is placed in the context menu.

The EditLive! Productivity Pack menu and toolbar items can be added to any EditLive! menu, toolbar or on the context menu within a <menuItem>, <toolbarButton> or <shrtMenuItem> configuration element respectively.  The following example demonstrates how to specify the Next Change item as either a menu item or toolbar button:

Menu Item:

<menuItem name="nextChange" />

Toolbar Button:

<toolbarButton name="nextChange" />

Context Menu Item

<shrtMenuItem name="nextChange" />

Adding the Thesaurus

The thesaurus used by EditLive! is packaged in a separate file in the same way dictionary resources are.  Thesaurus files packaged with EditLive! can be found in the redistributables/editlivejava/thesaurus directory.

To specify the thesaurus resource the <thesaurus> element is used.  This is a child element of the root <editlive> element.  For example:

<editlive>
    ...
    <spellCheck jar="/res/editlivejava/dictionaries/en_us_4_0.jar" useNotModified="true" />
    <thesaurus preload="true" jar="redistributables/editlivejava/thesaurus/thes_am_6_0.jar" useNotModified="true"/>
    ...
</editlive>

Enabling Track Changes by Default

By default the track changes functionality of EditLive! Productivity Pack is only enabled at load time on documents which already contain change information.  However, you can enable track changes information at load time by setting the enableTrackChanges attribute of the <wysiwygEditor> configuration element.  For example:

<editlive>
    ...
    <wysiwygEditor
        tabPlacement="bottom"
        brOnEnter="false"
        showDocumentNavigator="false"
        disableInlineImageResizing="false"
        disableInlineTableResizing="false"
        enableTrackChanges="true"
    />
    ...
</editlive>

Setting the Username at Load Time

The username which is used to record the changes made in the document can be set at any time by users if the SetUsername command is available.  However, the username can be set at load time by developers.  This is particularly useful when integrating track changes with an existing system which manages users.

This is achieved through the Username property.  For example (this example uses JavaScript):

var editliveInstance = new EditLiveJava('Instance', 600, 400);
...
editliveInstance.setUsername("User Three");
...
editliveInstance.show();

This example would set the username to User Three for the instance of EditLive! 6.0 called editliveInstance.