PHP Classes

Version Control: Managing revisions of content articles

Recommend this page to a friend!
  Info   View files View files (4)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 59%Total: 2,474 All time: 1,565 This week: 455Up
Version License Categories
libversioncontrol 1.0Free for non-comm...Databases, Content management


This package is meant to manage archives of successive revisions of text content articles stored in a database. It enables version control of the articles in similar way to what the CVS program provides.

It is capable of storing in a separate database table all the versions of content articles that are stored in other tables.

This version control package makes it possible to retrieve any of the past versions of a content article, the date of each revision and the identification of the author that submitted each revision.

The base class archives content articles that may contain a variable number of fields of arbitrary length.

It also computes an MD5 hash of the content to verify whether the content has changed between revisions and avoids creating a new revision if nothing was changed.

The class can retrieve one or more revisions of a content article and output the differences between two articles using the diff utility program.

This package comes with an optional sub-class that is capable of storing and retrieving the content articles in a compressed format using the gzip library, so it can use less database table space.

This package version requires MySQLQueryContainer package to access to the database.

Innovation Award
PHP Programming Innovation award nominee
March 2004
Number 2

Prize: One downloadable copy of PHPEd by NuSphere
Content management is a very popular type of Web application. Many Web sites are generated automatically by content management systems that let the users publish rich text articles that are stored in the content management database.

More advanced content management systems let multiple the users colaborate in the edition of the same article, making it possible for different users correct or update the same article after the first revision. Some even let the users list the history of revisions and compare different versions to see what changes where made. This capability is known as version control.

This class can provide version control capabilities to content management systems that do not have such capabilities. It can successive revisions of articles in a separate table.

This class not only supports arbitrary type article revision archive but also provides the possibility to compress the data that is stored for each revision, which denotes a reasonable level of maturity of the component.

Manuel Lemos
Picture of Cornelius Bolten
Name: Cornelius Bolten <contact>
Classes: 8 packages by
Country: Germany Germany
Age: 40
All time rank: 25310 in Germany Germany
Week rank: 286 Down14 in Germany Germany Down
Innovation award
Innovation award
Nominee: 2x

  Files folder image Files  
File Role Description
Accessible without login Plain text file example.VersionControl.php Example example-script on how to use libVersionControl
Plain text file lib.gzVersionControl.php Class VersionControl with gz-compression
Plain text file lib.VersionControl.php Class main lib
Accessible without login Plain text file libVersionControl.sql Conf. needed Table-sql-script 7KB
Install with ComposerInstall with Composer
Needed packages  
Class DownloadWhy it is needed Dependency
mysqlQueryContainer Download .zip .tar.gz mysql-access-classes Required
 Version Control Unique User Downloads Download Rankings  
This week:0
All time:1,565
This week:455Up
 User Ratings  
 All time