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

Garrett Smith garrett at mojave-corp.com
Wed Feb 18 09:55:52 EST 2004


I don't know what's up with gmane, but I don't think this made it to the
list...

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