What is Track Changes?
The Track Changes functionality of EditLive! captures change information as users make changes to a document. This makes it easier for users to create and review documents as part of a collaboration or workflow process. This functionality has been designed to enhance the collaborative functionality of content applications and is easily integrated with any application without changes to the underlying repository and other systems.
Once a document has changes tracked, users can perform operations on those changes. Users can browse the changes in the document and can accept or reject each individual change.
EditLive! tracks changes made by the user when editing in the Design view of the editor. When creating and editing content in the Code view of the editor, these changes are not tracked.
In order for users to utilize the track changes functionality of the editor, one of the following conditions must be met:
- Users are still operating the editor in their 30 day trial period.
- An Enterprise Edition license has been installed for the editor. For more information on licensing see the Licensing EditLive! article.
How Are Changes Recorded?
EditLive! records changes as one of three types:
- Inserted content – Rendered as underlined text
- Removed content – Rendered as strikethrough text
- Formatting changes – Rendered as highlighted text (some formatting changes, such as changing the ident for HTML list items, apply no additional rendering to indicate a tracked change. These changes are, however, still tracked by the editor).
Each change is rendered within a color representing the user who made the change. Changes also record with the name of the user who made the change and the time the change was made.
The Track Changes functionality of EditLive! provides more detailed change information than the document comparison functionality of other systems. Many comparison engines can only approximate changes, particularly when dealing with the flow of natural language. As EditLive! captures change information at the time users make the change, it can provide more accurate and detailed change information.
How Do I Turn on Track Changes?
There are a number interface commands associated with Track Changes which can be added to the menus and toolbars of EditLive! to provide users with access to the functionality. A list of these is available below. These commands enable users to turn change recording on and off, accept and reject changes, and browse the changes in the document.
Users can enable or disable track changes at any time via the Enable Track Changes interface item. When a HTML document is loaded into EditLive!, Track Changes is turned off by default. You can override this behavior and turn Track Changes on by default through the use of the enableTrackChanges attribute of the <wysiwygEditor> configuration file element. You can also prevent users from turning Track Changes functionality on/off by removing the Enable Track Changes command from the interface.
If the document contains track changes information from a previous EditLive! editing session then track changes will be automatically turned on.
See the Menu and Toolbar Item List article for a complete list of the available menu items and toolbar buttons available for EditLive! related to Tack Changes.
What Do I Need to Do to Work With Track Changes In My Application?
The Track Changes functionality of EditLive! has been designed so that it does not require any changes to the architecture of the underlying content application. All change information is stored within an element at the end of the HTML document’s <body>. For more information on the track changes mark up format see the document on the Track Changes Serialization Format.
If you are integrating the EditLive! Track Changes functionality with a system which makes use of usernames then you can pass through a username to EditLive! which will then be associated with any changes made by that user. To achieve this, set the setUserName Method of EditLive! at load time. Note that setting this username will override any username which has been previously specified by the user. Also, to prevent the user from changing their username, the Set Username… command should be removed from the EditLive! interface. For more information on customizing the menu item and toolbar commands for an instance of EditLive! see the Menu and Toolbar Item List.
If two users enter the same name (either through the UserName load-time property or using the SetUsername... toolbar/menu item), the changes made by these two separate users will render as if the changes were made by the same user. In order for each user to have their changes uniquely tracked and rendered, each user will need to enter a unique username.