Versioning in Hypermedia

Martin D Beer,
Department of Computer Science,
University of Liverpool,
PO Box 147,
L69 3BX.


Version management in hypermedia systems has been of significant interest since Halasz raised it as one of his Issues in 1988 [1]. The opportunities offered by versioning in the preservation of previous versions during the authoring process has been considered [2], particularly when considering possibilities for reuse. Versioning was really being considered as a possible optional additional facility, rather than a central part of an integrated hypermedia user environment. As the problems associated with distributed authoring of hypermedia systems have been considered, some form of version management becomes essential, if a consistent document is to be prepared [3].

At Liverpool, we have been concerned particularly with the management of collaboratively written hypermedia, and with the issues raised by the desire to reuse existing materials wherever possible. This is particularly significant when considerable investment has been invested in collecting and authoring material, so that the more use that can be made of it, the greater the return of that investment.

The work has been centred on two experimental hypermedia authoring environments:

The first is an Expertext system, in which the links followed are determined by a rule-based expert system, allowing a wide range of experiments on self configuring documents to be developed. The second is a collaborative authoring multimedia system, which allows a medium sized group to work together on a single deliverable.

A major step forward has been taken as part of the OSCAR project [7]. This project, funded as part of the European Community DELTA initiative is intended to identify, design and develop effective facilities to support collaborative and distributed authoring of multimedia courseware. Sponsors are major aircraft companies who are themselves working on large, pan European collaborative projects to build the current and next generation of civil and military aircraft. The desire is to improve the collaborative efforts of teams of courseware designers with respect to both efficiency and quality. The reuse of existing material, where appropriate is seen as key to meeting these goals.

The desire to reuse existing materials wherever possible, led to an investigation of the requirements for how this could be achieved. It soon became evident that versioning was not just an issue in the authoring process, but was also a major issue for readers. Courseware could be developed to meet a particular need, and then be reused, probably with some modification elsewhere. Should the original course material be updated to reflect the updated material? There is no easy answer, since the modifications can range from customisations necessary for the material to fit its new role, right through to major revisions necessary, for example, when an aircraft is fitted with a major new component, such as a different type of engine. The system does, however need to keep track of the usage of each courseware component, so that the user can be guided in sensible ways. There is also the difficulty that when describing large systems, such as aircraft, when many similar units are in service, they are rarely all alike. The problems of link consistency between versions were also considered.

One of the major objectives of the HRExpertext system has been to model this in a user comprehensible way, so that most of the necessary customisations can be achieved at least semi-automatically.

Versions and Hypermedia

When considering versions in hypermedia documents, it soon becomes clear that the situation is nothing like as well understood as, for example, the control of different versions of a piece of software. It has been stated [8] that version control provides extensions to concurrency control:

These are comparatively low level concepts which are of considerably more interest to systems designers, rather than the users (authors, managers and readers) of distributed hypermedia systems. The first three also rely on the existence of a mechanism by which a number of versions of the same object can be merged successfully to generate a single combined view of that object. It is not clear that such a mechanism exists. Indeed in the database community considerable efforts are taken to stop such multiple updates (see, for example [9]) so that the problem of arbitrating between incompatible versions of data does not arise. The last is rather different, as it does provide low level support for a user facility that will become increasingly important as hypermedia systems become more mature. That is, the need to audit material, so that those who were responsible for its inclusion can be readily identified. Many systems, including our own, have maintained information at the node level about the originator and the modification history. This gives at least basic management information, including statistics on the stability of the document, and the activities of the various members of the team. Little information is available on the status of the links, which are crucial to the final form of the document.

Users have very different objectives when defining requirements for version management. For example:

A general model of version management has to cover all of these possible scenarios. It will also be seen that all users are concerned with version management, not just authors. This is significant in that most work in this area has been concerned with the authoring process alone. The last scenario listed has particular relevance in this respect.

Aircraft are continuously updated and modified throughout their working life. The documentation has to be maintained to keep it consistent with the actual equipment fitted at any particular time. Since in most cases there are a large number of aircraft in service, they can not all be modified at once. Indeed, some modifications only need to be made under certain specific circumstances, and so it is almost certain that there will be differences in the fleet throughout the rest of their working lives. Also, as methods and techniques develop, changes in maintenance schedules are implemented to take full advantage of them. Sometimes the old schedules can be simply replaced, but in other cases, it is necessary to use the older schedules under certain, clearly defined conditions. This can be modelled using links, but it soon becomes unmanageable as different modifications are not necessarily distinct. In many cases they interact with each other.

A Sample Application

Experiments with HRExpertext have shown that version management depends critically on the application being considered. Various applications have been considered, but an example that illustrates this very well, is a document giving details of courses within the Department. As unitisation of degree courses has developed, and the range of possible courses of study has increased, students require considerably more guidance to ensure that they take coherent sets of courses that form a recognised programme of study.

The initial intention was to define a set of rules that would allow customised syllabi to be generated that reflected the choices that were available to a particular student depending on their degree registration and the previous courses that they had taken. The original intention was that the rules for each degree, and the prerequisites for each course should be encoded in the headers as rules for link traversal. Each student could then be given a personalised course guidance document, based on the options currently open to them at the start of each year of study. This proved to be readily implementable so long as changes in the course syllabi were not considered.

Changes in detail could be readily handled by using the version of the course syllabus that was current at the time the student took the course. But this is not particularly useful information, except for someone wishing to prepare a detailed course transcript. Much more helpful is to be able to prepare guidance notes based on the description of the course current when the student took it. This requires the maintenance of not only the contents of the node, but also the rules and the links to be followed. In HRExpertext this information is held in a header, together with other semantic information which can be accessed by the inference engine controlling the browser. It can therefore be stored with the relevant version of the node contents using one of the standard textual version management suites (in our case RCCS). The inference engine needs information on the courses the student has taken to be able to prepare a customised set of available courses. It is then only necessary to add information on the version of the course actually taken. In this application, this is readily deduced from the year in which it was studied. All this information can be entered directly by the student, or can be downloaded from the student registration database.

The Way Forward

As the use of complex hypermedia documents to describe complex systems becomes widespread, version management will become of critical importance. The work discussed here shows that it is not sufficient only to consider the problems associated with building a version tree during the authoring process. Readers also have to be considered. Anyone who has spent some considerable time replacing pages in a set of manuals to make them consistent with the latest release will fully appreciate the need to ensure the currency of the information provided. With paper documentation, it is possible for the user to customise the updating process, for example by only updating those sections of the manuals that refer to changes as they are made. If new versions are issued on CD-ROM it is necessary to keep both the old and the new sets, which particularly in safety critical environments could cause confusion.

These problems are only just being considered, but will certainly become very significant as hypermedia technology is used to replace existing documentation sets in a much wider range of applications.