The graphs on this page have been generated by the graph.py script, like so:

$ test/src/com/arsdigita/versioning/graph.py TEST-com.arsdigita.x.versioning.XVersioningSuite.txt
dot -Tpng -o graph0.png graph0.dot
dot -Tpng -o graph1.png graph1.dot
dot -Tpng -o graph2.png graph2.dot
dot -Tpng -o graph3.png graph3.dot
    

You need to install the graphviz RPM, in order to be able to process the .dot files generated by the script.

Object metadata test

The following two graphs have been generated from //core-platform/dev/test/pdl/com/arsdigita/versioning/metadata.pdl. The dot files for these graphs are produced by tests in ObjectTypeMetadataTest. These object types are used for verifying that the effects of the keywords "versioned" and "unversioned" are propagated correctly through the PDL dependence graph.

This model is a little more complex that the one tested by the event processor tests.

PDL Model

Versioning Dependence Model


Versioning processor test

The following two graphs have been generated from //core-platform/dev/test/pdl/com/arsdigita/versioning/eventproc.pdl. The dot files for these graphs are produced by tests in VersioningEventProcessorTest. These object types are used for testing the correctness of the rollback implementation.

PDL Model

Versioning Dependence Model