[Zope] request for advice

Seb Bacon seb.bacon@razorfish.co.uk
Fri, 21 Jul 2000 16:29:01 +0100


Hello folks,

I'm just beginning to design my first big Zope application.  I'm writing to
ask zopististitiatatas for some advice, since I'm a bit of a newbie and I
want to make sure:

[a] I reuse as much code as possible 
[b] I make my code as reusable as possible
[c] my application is stable and scalable

1. Background to the application

I'm building an extranet product in Zope.  Much of it will be centered
around a 'VersioningObject'.

An example of such an object might be an image, a Word document.  The
objects will have a preview view associated with them.  For word docs, this
will be a html-ised version, for photos it will be a thumbnail.  Perhaps in
the future each object will also have rudimentary online editing facilities.

The objects will all support versioning.  This means each object can be
superceded by another object of the same type.  The version number will be
incremented.  Versions will also have Confera forums associated with them,
and ACLs.

Now as I see it, I want a VersioningObject to be a Folderish object that can
contain a set of Versions, which are just a load of File objects of the same
type.  The folder has a method which slects its most recent child file
object and displays it by calling its preview method.  Older versions are
read-only and are listed by title only.

2) My questions:

i) I'm worried about the sheer volume of binary data that would accrue in
the VersioningObject: a single VersioningObject might be a Word doc of 25Mb.
If it has 10 versions and there are 10 such objects, that's 2.5Gb in the
ZOBD.  I presume this would be a bad idea performance-wise; any suggestions?
ii) I'm interested in using ZPatterns because I reckon they sound like they
might enhance the reusability etc. of the code; I know there have been some
pointers recently, but which ZPatterns could I benefit from?  or are they
too arcance to worry about for now?
iii) Is there any other miscellaneous advice?  e.g. has anything like this
been done already?


Thanking you all, ladies and gentlemen.

Seb.