From: Nicholas Lee <nj.lee@pl...> - 2001-04-20 07:33:09
Been busy with other things, but still putting some thought into the
Nothing I'm keen on put in the Codev at the moment, but I'm thinking
along these basic lines:
Assume a Topic and Template Object which represent a View.
In fact a Topic plus Template though a Render Pipe is the actual html
(or whatever) content sent out.
Topic and Template can be put into a Store object.
A Store Object is defined by basically just a key @WebTopicList.
(Basically a StoreIndex).
ie Something like qw/data Twiki Codev PackageTwikiStore attachments
Which represent the path to follow from the Twiki server root in order
to get to the particular Stored object.
ie. A Template might be stored:
qw/templates TWiki view/
I'm still a bit iffy about the mapping between the Topic and Template
Store would then export an interface to the particular object it stores:
* Access to the data itself
* Some idea that is basically difference data
* diffs between versions and against an external handle.
* Access to the meta-data
A particular Store Object could exist in three states:
* Dirty (To allow caching and maybe some other stuff)
There can only be one Writable object for any particular TWiki Store
objects, but multiple Read-Only objects.
I'm still a little hazy about Dirty state and caching. The other tricky
thing is decided whether to have the multiple commit path (like cvs) at
the Store level or at the Topic level.
This might be over complex, if people see a better way to OO TWiki I'd
be interested in hearing comments.