History

Smart History Viewer

This script allows you to view object and module history across all baselines. The dialog displays history in listviews on three tabs, showing complete object, module and session history.

The object tab displays history for the current object. You can browse through objects using the Prev and Next buttons or select the object directly by selecting it in the module window. The module tab displays all module history as well as object deletions. The sessions tab displays the history of all editing sessions and baseline creations. All listviews can be sorted by any column.

smartHistory.inc demonstrates some very strange vaguaries of the history system such as the fact that module level attribute changes are recorded as modifyObject events, but with the object absolute number being zero! (see line 320). Take a look at line 402 to see how session numbers are handled.

For those of you that are interested, this script is a good example of how to use the DxlObject type together with skip lists to build practical data structures.

This script is implemented in three source files contained in the following zip file. You may need to edit the include paths in smartHistoryViewer.dxl to match your installation.

Download history.zip