[Zope-CMF] Versioned Documents (was: Workflow first cut is ready)

Loren Stafford lstafford@morphics.com
Wed, 23 May 2001 17:57:30 -0700


Ahh, yes. I forgot to apply one of the lessons we learned here while trying
to define our Document Management System requirement: be sure to define what
kinds of documents you're talking about, because the requirements for source
code (on the one hand) differ from the requirements for manuals, books,
brochures, etc. (on the other hand).

Source-code management systems have to support rapidly changing and evolving
collections of "documents" that make up a "program product". Toward that end
they have features such as diff, check in, check out, and their own built-in
security mechanisms that support multiple contributors for a single program.

I'm more interested in the other kinds of documents -- the manuals and
marketing collateral. Diffs, while not irrelevant, are not essential.
Documents typically have a single owner; check in check out is not an issue.
In general, the focus is more on publishing than on development.

I'm not sure if the two classes of "document" could fit into the same
"document management system". For our purposes, we have decided: No. At
least we won't try to make a system that fits both. Let CVS (and VSS) do
what they already do (more or less) well. We want to solve the other
problem: helping tech writers and marketeers control and publish their
collateral on the web.

-- Loren

> -----Original Message-----
> From: guido@cj20424-a.reston1.va.home.com
> [mailto:guido@cj20424-a.reston1.va.home.com]On Behalf Of Guido van
> Rossum
> Sent: Wednesday, May 23, 2001 17:13
> To: Loren Stafford
> Cc: Shane Hathaway; zope-cmf@zope.org
> Subject: Re: [Zope-CMF] Versioned Documents (was: Workflow first cut is
> ready)
>
>
> > Yes.
> >
> > I've been thinking about a Versioned Document capability a lot
> recently as
> > I've been trying to understand how to use CMS as a Document Management
> > system. Most of the pieces of Document Management are there
> (especially now
> > with customizable workflow). One missing piece is Versioned Documents.
> >
> > Versioned Documents differ from Zope Versions in several respects.
> >
> > 1. Versions older than the current version must continue exist
> until they
> > are explicitly deleted. You don't want a Pack operation to
> clean them out
> > inadvertently.
> >
> > 2. Older versions may need special treatment in the catalog. You may not
> > want them cluttering the catalog; you may or may not want them
> retrievable
> > via a catalog search.
> >
> > 3. Older versions must be retrievable. For example, we sometimes need to
> > send older manual versions to customers who are using older
> versions of our
> > products.
> >
> > 4. It may be desirable to put a slight barrier in front of
> older versions,
> > so that an older version is not retrieve accidently in place of a newer
> > version. Or in other words, by default you always get the most current
> > document, but you can get an older one with some additional effort (or
> > syntax).
> >
> > 5. In some respects, all versions should be accessible by the
> same ID. For
> > example, when a new version of a document is published, users
> should get the
> > newest version when following the URL that they stored for an
> older version.
> > In other respects, each version must be separately identifiable; for
> > example, in a workflow various versions of a document may exist
> > simultaneously with different workflow status.
> >
> > I hope others will chime in if I missed any essential points.
> >
> > -- Loren
>
> Maybe writing a Zope storage adapter front end for CVS would be the
> right solution here?  I have to admit that for certain kinds of
> documents (e.g. source code) I will not tolerate anything but CVS for
> storage.
>
> I have no idea how realistic this idea is.
>
> --Guido van Rossum (home page: http://www.python.org/~guido/)
>