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

Robert Rottermann robert@rocad.ch
Thu, 24 May 2001 14:28:19 +0200


Loren,
I am working on a product to be used to share documents in the building
industry.
In the process of designing and constructing of a building lots of documents
are created and shared among a considerable number of companies. Such
documents, like drawings then to be rather big (up to 20mb) and tend to
change rather frequently over a long period in time. Many of the documents
are used as base for other documents. Like when a HVAC ingenieur constructs
the ductwork using drawings the architect has produced. Obviously changes in
the architects documents must be communicated to the HVAC ingenieur. Such
documents are binary and can not be diffed in a "classical" way. So the only
way to keep revisions, is to have them stored as differently named files.

My approach to this problem was creating a "document store" running on top
of an SQL-engine (MySQL in my case) and having a Zope based interface to it.
Since there are lots of other documents where common access and not a
versioning trail is important I made it CMFish. However since I am using
frames it is only called trough a CMF-Site.
Access to one of the externally stored documents is trough a temporary
CMF-Document which gets created by the process of selecting (or creating)
one of them for download. Depending on the operation the user is executing
this temporary document exists only until the download has been executed
(the user wants to view it, will not be able to upload a new revision) or
until the new revision has been uploaded. For its lifetime this temporary
document it is under control of Shanes (I love him I truly do) new Workflow
tool.

If this sounds interesting to any of you I am happy to share what I am
doing.

Robert

----- Original Message -----
From: "Loren Stafford" <lstafford@morphics.com>
To: "Guido van Rossum" <guido@digicool.com>
Cc: "Shane Hathaway" <shane@digicool.com>; <zope-cmf@zope.org>
Sent: Thursday, May 24, 2001 2:57 AM
Subject: RE: [Zope-CMF] Versioned Documents (was: Workflow first cut is
ready)


> 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/)
> >
>
>
> _______________________________________________
> Zope-CMF maillist  -  Zope-CMF@zope.org
> http://lists.zope.org/mailman/listinfo/zope-cmf
>
> See http://www.zope.org/Products/PTK/Tracker for bug reports and feature
requests