Logging animals arrived at the Pattern Zoo

Logging, monitoring and versioning objects in an information system can help to improve both, the usability for its users, and the quality of stored information. While gain in aspects of usability is rather obvious to most people (in particular to the users of such a system), gain in aspects of quality is less known. Despite that the described side-effect can be observed in many cases, where transparency and mechanisms of mutual control can increase the quality of information. This may result from an interesting group dynamic process inside the group of information providers and consumers. This process seems to be driven by the pursuit of acceptation an individual seeks to get from his very close and even very wide social environment.

At information systems this process can be easily observed in teams, small companies, or departments, where users can see which user created, modified or deleted which information, or vice versa. Intranets, knowledge systems, versioning systems in software-development, and many other systems already benefit from this process. There are experiences with this phenomenon also in global scale systems where users can be (more or less theoretically) any human being on our planet. The world-wide success of open-source software development like Linux in dozens of thousands of projects is, not at least, based on the pursuit of acceptation a programmer wants to receive from other programmers with good reputation. These principles have also enabled an overwhelming success of non-software community projects. Wikipedia is not the only proof of this (but maybe one of the most famous examples). Even here this process seems to work, although we can suppose that there is also some kind of philanthropic motive strongly involved, while usually in commercial environments this additional motive is missing.

I made a first pattern on this topic, which covers this issue on a very straight way. The 'Last log' pattern provides only some log information on creation, deletion and the last modification of an object (or of its assocations). I made this pattern for an inquired project to fulfill customer's requirements. After discussing this pattern with the customer (where I stressed that there is no historical logging of past modifications), demand raised for a pattern that covers also the entire history of logged modifications. This 'Historical log' pattern also enables multiple creation and deletion of objects (by a restoring mechanism which I will describe in a seperate paper later). Comments, questions and suggestions are welcome.

Note: More patterns may follow, which not only cover logging, but also versioning and monitoring of information.

Licensed under the GNU GPL

Trackbacks


eZ publish™ copyright © 1999-2008 eZ systems as