Change History
Change histories provide a continual record of the changes to items and the cross references between items, over time. Each item has its own change history.
When item A is created, its creation is recorded in its change history. When item A is edited, details of the edit are appended to its change history. When A is linked to an item B by a cross reference, this event is appended to the change histories of both A and B. When A is edited again, another entry is appended to its change history. Finally in the example, the cross reference between A and B is changed to be between A and C, which causes entries to be appended to the change histories of items A, B and C.
Cradle has a change history mechanism that can be enabled for one or more item type(s) in the project’s schema using Project Setup. There are several options for change histories, but once enabled, the mechanism will record details of all edits to items of these types. Cradle can record up to 2 billion edits to each instance of each item in the database. Each item can have an edit history that records all edits to that item. Each entry in the edit history records the date and time of the edit, who edited the item, which of the attributes were changed during the edit, and the old and new values of each attribute.
Item change histories are a permanent part of an item. You cannot directly change the entries in a change history.
There is a Filter option on the Item Change History dialog which allows you to filter on the item's attributes:
All attributes are included in the edit history, including:
- Name
- Key (an attribute used for auto-numbered item types and to allow reordering of items by key)
- Group (a persistent category used to allow items to be grouped into a logical set)
- Categories
- All frames
- Discussions
The old and new values are only recorded for text frames. Within text frames differences in text are highlighted as follows:
- Text is added - The new text is highlighted in green
- Text is amended - The amended text is highlighted in blue
- Text is removed - The text that has been removed (i.e. the old value) is highlighted in red
When any changes have been made, the whole paragraph the change relates to is highlighted in yellow. An example of this is shown here:
An option is available in the Preferences dialog where you can set whether you want to highlight changes in text frames. This is shown below:
The options are:
- None - No text is highlighted
- Quick - Only lines are highlighted
- Word - Changed words are highlighted where a word is any sequence of non-whitespace characters.
- Detailed - Individual characters are highlighted
You can rewind edit histories so you can restore an item back to a state before a particular change or you can reverse a single edit in an item’s change history.
Reversing an edit is an exact undo operation. It reverses the change to every attribute that was modified by the edit.
The Rewind operation essentially reverses all edits working backwards from the most recent back to (and including) the selected edit. Its end result is to restore the item to the state that it was in before the selected edit occurred.
The access rights in Cradle projects can be set so as to allow several different users to modify a set of items (albeit not at the same time). When this occurs, the owner of the item receives an alert notifying them that someone else has changed one of his/her items. This facility allows such edits to be reversed, as an undo operation. Indeed, if the undo operation is itself an error, then the undo, or series of undo operations, can themselves be reversed.