[Zope3-dev] Re: Packaging pre-proposal/notes

Garrett Smith garrett at mojave-corp.com
Tue Feb 17 12:32:27 EST 2004


Philipp von Weitershausen wrote:

> Stephan Richter wrote:
> 
>> The reason we suggested folder and folder_web in the first place was 
>> to make it easier to develop new UIs. And this in turn was born from 
>> the problem that it was not easy for us to deactivate the browser ZCML 
>> in a package. Therefore, I would really like to go back to
>>
>> folder
>> folder/browser
> 
> 
> It is what we have now and we have said more than once that we don't 
> like it, because:
> 
> a) It would making browser code optional harder. When you install 
> 'folder', you get the browser junk with it, no matter whether you want 
> it or not.

 From CVS, yes. But I don't see the problem here. If it's that important 
to give 'consumers' a choice of UI or no-UI, create distributions as 
appropriate.

> b) It doesn't emphasize separation of application and browser code enough.

The folder/folder_browser goes too far and breaks the very real and 
meaningful dependency of folder.browser on folder. These are not sibling 
packages.

I just don't see how a browser subpackage doesn't effectively separate 
the browser code. It's in a separate package, it's separate, what? :-)

> c) It does not flatten the hierarchy enough. We will end up with browser 
> subpackages again.

Circular argument :-)

> What we really want is something like "separate but close". Being 
> increasingly sceptical of my own suggestion, I think Jim's concept is 
> the closest one to that doctrine, even though I still dislike the usage 
> of the underscore and not being able to make proper use of Python 
> namespaces. In that respect, I have great sympathy for Garret's and 
> Roger's opinion. I draw a different conclusion, though.
> 
>> and provide a ZCML way of saying
>>
>  > <disable>
>  >   <include package="folder.browser" />
>  > </disable>
> 
>>
>> This way, if you you develop a new UI you can just declare
>>
>  > <disable>
>  >   <include package="folder.browser" />
>  > </disable>
>  > <include package="srichter.folder.browser" />
> 
> I think that is not nearly as clear as simply adding or removing a line 
> from products.zcml or whereever the numerous packages in zope.app will 
> be configured from.

So, what's wrong with this:

   <configure>

     <include package="folder" />
     <include package="folder.browser" />

   </configure>

  -- Garrett





More information about the Zope3-dev mailing list