[Zope] Organizing large projects

Rob Page rob.page@digicool.com
Thu, 16 Dec 1999 07:37:37 -0500


Hi Timothy:

> This is probably a silly question, but here goes anyway.

Not at all!  I think it's a great question!
 
> I am working on my first large (for money) Zope project. I 
> have created
> a folder for the entire project, but have found that I am getting so
> many objects in the root folder to the project that it is 
> becoming hard
> to manage.
> 
> My first inclination is to create sub-folders for each type of object
> (e.g., SQLMethods and connections, forms, images, etc.) but something
> tells me this is not a good plan.
> 
> What organizational schemes have you found that work well for you?

You might try something like this:

MyApp
UserFolder
AppCommonThing1
AppCommonThing2
--Actors
  ActorCommonThing1
  ActorCommongThing2
  +--Admin
    +--UseCase1
       sqlGetSeomthingForUseCase1
       dtDisplaySomeResults
    +--UseCase2
    +--UseCase3
  +--Cook
  +--Baker
  +--CandlestickMaker

Essentially this is a decomposition along Use Case boundaries.  If you
do this it becomes VERY easy to lay in Zope security on the application
since you've already segregated all of the applications roles (i.e.,
Actors).  Below the Actors level (e.g., the stuff below Admin) it might
be overkill to assign different folders per Use Case.  However, as we've
seen, if the Actor has a LOT to do then it's worth separate folders just
to keep the management/development UI sane.

Does this make sense?

HTH,
--Rob