[dev] Functional & Design Specification: VFS with Version control and Life-cycle management

amith at xalan.com amith at xalan.com
Tue May 6 11:31:41 PDT 2003


| I originally initiated this discussion on the Gollem mailing list and
| Chuck recommended I bring it here.
|
| The overall goal is to implement certain DMS (Document Management
| System) functionality at the core of Horde so that Horde apps can take
| advantage of these.

| The goal of my proposal is to produce a VFS that will support advanced
| search, version control and life-cycle management for each file type.
| Below I explain what I understand by advanced search, life-cycle
| management and version control.

So are you proposing to turn Gollem into this or develop a new app?  I think you
will have to develop a new one because certain backends in Gollem make it
difficult to implement this type of system.  My company was interested in this,
and attempted to enhance Gollem to do this, but certain features (some of which
you describe below) could not be supported on all the backends used by Gollem. 
So I think making a new application would get around this.  And based on your
e-mail it sounds like you want to go in this direction.


|
| Documents:
| 1. Check-in/Add new document (this involves version and revision
| control, and triggers content info procedure).
| 2. Check-out document (leaves document locked exclusive to check-out
| user).
| 3. Download document (does not lock document).
| 4. Unlock document (admin function).
| 5. Content info procedure (either auto or manual depending on doc type).
| 6. Change life-cycle stage (new docs or versions always get the first
| life-cycle stage by default).
| 7. Change document access control.
| 8. Get document details and attributes.
| 9. Get Current Document.
| 10. Enumerate Document versions/revisions.

I think there should be an API that allows manipulation and storage of
documents.  I haven't thought through the specifics, but for example it would
be nice that if someone sends an attachment to me through e-mail, I can click a
button and save that to the DMS.  In addition, I think each document should
have some sort of unique ID that can be "a link" to the document.  So for
example I could search by this ID or I could embed it into an e-mail so someone
could just click on it and the document would show up.  I think the important
thing is seamless integration between other Horde apps and the ability to
manage/manipulate some of these documents outside of the DMS.

|
| Repositories:
| 1. New repository
| 2. Change repository (name, ACL, Life-Cycle).
| 3. Change repository hierarchy level.
| 4. Enumerate repositories.
| 5. Enumerate documents in a given repository (filters by life-cycle
| stage).

I don't follow Chora too much, but it would make sense to use much of its
functionalities in order to provide this support

I think you covered most of the points that I can think of.  There is definitely
interest out there, and I'd be willing to try and help out - using my limited
time of course :)

amith




More information about the dev mailing list