[Zope3-dev] Re: 'Folders', 'Sites' and customising Y's

Jim Fulton jim@zope.com
Thu, 23 Jan 2003 06:19:45 -0500


Chris Withers wrote:
> Jim Fulton wrote:
> 
>>
> <snip "what's an X? what's a Y?">
> 
> How about just calling everything a folder and adding modifiers to that.
> 
> Y : Plugin Folder

To me, "folder" is like "workspace" in that it implies that
you can modify things in it. That's why I'd prefer a different name
for Ys.


> X : Software Folder or Workspace Folder (I'm neutral as to which one is 
> better)

Well, if we go for "folder" I wouldn't use "workspace" as a modifier,
as that's really redundant.  I'd think I'd use "Site Managemement"
folder.  This is long, but we'd usually be able to just say "folder",
I think, because the context would make it clear. But maybe not. A
shorter modifier would be better,


> ...and Content Folder for fodlers which store real content.

Right.

> Something to throw into the mix, though. When we have a "web site", with 
> this just be a "type of folder" or will it be something that contains 
> all of the above? I'm hoping for the latter, as it'll let you really 
> have more than one independent site per Zope instance (different plugins 
> and the like) but that does raise the question of how you go about 
> nesting sites.

A "site" is an ordinary folder that contains a site manager. The site manager
will contain X's, Y's, and will manage service configurations.  The site
manager is not one of the containing folders's items, because when you enter
the site manager, you leave content space.

...

>> Similarly, someone might install a Y and then decide they want to 
>> customize it.
>> Now, they can always customize it by uninstalling some of it's 
>> components and
>> installing different components from Xs or other Ys.  They may, 
>> however, wish to
>> cusomize most of the contents of the Y and may wish to start from a 
>> copy. Or, they
>> may want to distribute a customized Y. They will be able to create a 
>> new X from
>> the Y (as opposed to converting the Y to an X). The new X will be a 
>> copy of the Y.
>> They can modify this new X as desired. If they want to distribute 
>> their modifications,
>> they can create a *new* Y from the (new) X.
> 
> 
> Yes, but this fails to cover the crucial point, IMHO. Someone customises 
> a Y (how will this work? I'm thinking the 'custom' skin layer in CMF...) 

The normal way to customize a Y will be to ininstall (deactivate) some of
it's configurations and configure components from other Xs and Ys.  When creating
these other components, they may copy selected components from the Y they are
customizing.

> and the Y author releases a new version which happens to change the same 
> bits that were customised. How does the person doign the customisation 
> find this out? What do they do about it and how will Zope 3 help them?


See my original document.

1. They get a report of the configuration changes the new version will and won't
    make.

2. They get a report of the components that changed in the update. They can
    optionally choose to get diffs of components that have changed.

Jim

-- 
Jim Fulton           mailto:jim@zope.com       Python Powered!
CTO                  (888) 344-4332            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org