Draft functional requirements (strawman or woodman, you decide!)

David Durand (dgd@cs.bu.edu)
Mon, 1 Jul 1996 11:10:59 -0400





Functional Requirements and Framework for Versioning on the WWW



Preamble

Dear all,

During Fabio's pleasant visit to David's house, the two of us have decided to have a try at another draft of the functional requirement document, to include some new requirements and to make explicit some that we think have been implicit in the discussion so far. The requirements in this document are proposed as an additional step after David Fiander's; we do not claim that they are complete.

We have divided the requirements in three sections. A first short section describes the rationale for versioning on the web. This rationale enumerates the goals as we see them for the whole project. All specific requirements should support (and certainly should not hinder) the realization of the goals. The Second section contains global requirements for protocol development. These are things we think are technically justified and that fulfil the rationale. They are separated from the other requirements because their acceptance creates further constraints on other technical requirements. Finally we list some specific requirements and that reflect our own analysis of the problem.

Also, we strongly agree with David Fiander's separation of versioning and configuration requirements, and propose a two-layer architecture for versioning on the web. The first layer will address the simple problem of handling multiple versions of single resources. The second layer will address the thornier problems of configuration management for multiple resources. This layering separates concerns nicely, and also leads to an efficient work plan. We can create a basic architecture for versioning, and maybe even have it on the standards track, while we're still arguing about how to approach the more differentiated and ticklish problems of configuration management.

In practice this means that, while we should still take our own knowledge of configuration management into consideration insofar as it has an impact on the lower-level versioning issues, we shouldn't spend time, efforts and flames on configuration problems until we are ready to solve them.

Therefore we have decided to write down our view of the functional requirements for versioning support on the WWW, with an emphasis on resource versioning only. We invite people to contribute any configuration management requirements that may affect the development of the resource versioning layer.

At the end of specific requirements, you will find [emphasized] notes comparing this note and David Fiander's one, noting and justifying changes in wording, structure and issues.

Functional Requirements and Framework for Versioning on the WWW

This document gives a brief rationale for versioning on the WWW, and presents some functional requirements based on the rationale.

Rationale

Versioning in the context of the world-wide web offers a variety of benefits:

This document gives requirements for extending WWW standards and protocols to obtain these benefits.

Global requirements

This section covers the overarching contraints that must inform and direct all the detailed requirements for specific features. These encompass compatibility across different implementations, as well as with current practice. Therefore, we believe the following to be the general requirements for versioning extensions:

Functional requirements

The protocol should provide: