In practical terms for Joomla, revision control means storing and managing all the versions/editions of a content item so that they may be recovered if necessary. Common revision control features also includes version comparison and merging. Like many of the advanced features above, the developer community has developed a few solutions to bridge this gap. A feature summary table is shown at the end of this article for the available revision control extensions currently available.
Versioning was the first player on the revision control scene for Joomla. It currently only tracks versions/editions applied to articles on the frontend of a Joomla website. Comparing and restoring previous versions is restricted to the backend of Joomla. The primary disadvantages of Versioning is the lack of version control when editing articles in the backend and of course the fact that it is only available for Joomla 1.0. In addition, the project has not been updated since Dec. 2006 and due to an apparent oversight, frontend changes are only recorded when the user clicks the ‘Save' button. Clicking the ‘Apply' button in the content editor saves the article but does not create a revision.
Egxact Revision Manager (ERM)
Egxact Revision Manager (ERM) has been on the Joomla scene for over a year now (since June 2007) and boasts a comprehensive feature set including the ability to notify site administrators when a content item has been updated. This is a great feature in collaborative situations or when content changes are performed by one or more persons but must be approved and published by a superior. ERM includes an accurate comparison tool to identify changes between versions, but the side-by-side display of the versions is somewhat clumsy.
One of the features unique to ERM is the ability to manage version on both the frontend and backend of your Joomla site. With full native support for both Joomla 1.0 and 1.5, the only real feature that is lacking from ERM is the ability to merge versions. However, the other version management features are built in seamlessly to the 'edit article' interface, which means you don't need to go to a separate version manager interface to compare and work with versions.
Version Control System (VCS)
The newest player in the bunch is VCS, a 2008 Google Summer of Code initiative that has not been officially released on the Joomla extension directory. However, I have used this extension without issue on a few production sites and it appears to be a mature application despite its recent development. Versions created on the frontend or backend are seamlessly recorded and can be compared and merged into a new version. The admin tools including restore and merge are restricted to the backend. Unlike ERM, the version management utilities are segregated to a seperate version manager interface. This is not as pleasing as the per-article integration of ERM, but for active and frequent versioning of many articles, it is a more efficient interface.
VCS is only available for Joomla 1.5 and it uses many familiar features of the Joomla 1.5 API including Mootools pop-up screens for version comparison and changing the versioning parameters. Compared to ERM, the comparison feature is quite aesthetically pleasing and large blocks of content (e.g.. paragraphs) are designated as unchanged, changed, deleted, etc. However, with whole blocks of content denoted as "changed", the exact change is not highlighted. One has to visually locate any differences, which could be tedious for things like typographical errors. Although this extension is currently free for download, it's not clear if there is are active development and support paths.
What does the future of Revision Control hold for Joomla?
Future progress for these projects appears to be viable only for the Joomla 1.5 solutions, ERM and VCS. Each of these will need to focus on multilingual support. Adding a plugin architecture to allow for version data from other extensions to be tracked and managed is probably the only killer feature not yet available. It's not clear yet if VCS will have continued development, but integration into the Joomla core is a definitely possibility. As a commercial GPL application, ERM is likely to have continued development as an independent extension.
In conclusion, I recommend VCS for users exclusively on the Joomla 1.5 track who want to reduce costs or have many articles requiring frequent version maintenance. However, ERM is the best option if you have to support revision control on both Joomla 1.0 and 1.5, or if you require the ability to restore versions from the Joomla frontend. The $90 download fee for ERM provides access to both versions and includes updates for one year. Both VCS and ERM are GPL-licensed and of course not encrypted in any way, meaning they can be used on any number of domains.
Discuss this article in the forum.
|Feature||Versioning||Egxact Revision Manager||Version Control System|
||1.5 & 1.0
|Last JED update
Notification - Global
Notification - Article