Aspects of the versioning mechanisms described elsewhere (BRIDGE object versioning and tracking, Versioning interface, Automatic versioning) implement support for modification tracking and versioning of individual objects. There are times, however, where it is useful to track this information across multiple objects. Applications include:
  1. Per-user recent document lists. (What was I working on yesterday?)
  2. Global lists of recent changes. (What documents, accessible to me, have been modified within the last week?)
  3. Visualizations of changes made to a specific set of objects.

An example of (3) is the per-class timeline display being developed for the Awareness project. This needs to display changes made to all documents within a workspace on a single timeline. This suggests the need for a VersionMultiplexer class that:
  • Is built by recursively accessing EODescriptors or EOSets
    • Should support time or instance-count-based limits on the number of versions retrieved.
  • The versions for each accessible descriptor are added to a (local) EOSet in date-sorted order
  • Listeners are attached to each EODescriptor, and events are fired when new version are created.
  • The multiplexer should subclass ObjectRecordList and implement ObjectRelation. This will allow the multiplexer to be used with any other components that use ObjectRelations.


/public/projects/bridge/design/Versioning of groups of objects Login | Web Editor | Full Editor
Last modified 9/11/03 1:42 PM by isenhour (history)
Site contents