[Zope3-dev] Package is the wrong name for the things I called
"Zope Packages".
Shane Hathaway
shane@zope.com
Mon, 20 Jan 2003 13:00:16 -0500
Jim Fulton wrote:
> - Zope Packages
>
> These are objects (currently) contained in a "Packages" container
> object in
> service managers. These are used to contain bits and registratiuon
> information.
> They do not provide much in the way of namespaces.
>
> Zope packages are used for three things:
>
> A. Provide a workspace for local configuration.
>
> B. Provide a mechanism for creating software distributions.
>
> C. Provide a mechanism for installing software distributions.
>
> Note that it will not be uncommon to create a zope package as a local
> configuration workspace and decide you want to give it to somebody.
> As a result,
> I think that the same name and object should be used for first two
> uses, A and B,
> above. Maybe the third, C, use deserves a different name and kind of
> object.
>
> I'll also note that the is a strong correspondence between these things
> and folders in content space.
>
> So where does that leave us?
>
> I'm pretty sure that the things currently called Zope packages should be
> called something else.
>
> I suspect that the things currently called "closed Zope packages" (use C)
> should have an entirely different name from the things currently called
> "open zope packages" (uses A and B). I'm inclined to think that the name
> for uses A and B should involve the word "folder", although I haven't
> thought
> of great modifiers.
Let me see if I have this straight. Developers first create an "A",
then make a "B" to release the software. When users install the
software, they get a "C". Most people stop here, but savvy users should
then be able to switch their "C" into an "A" to make changes for
submission back to the original developer.
Like I suggested to ChrisW, Mac OS X already uses the name "bundle" for
packaging. A bundle is a directory on the filesystem that looks to the
user like an executable application. It actually contains executables,
libraries, resources, and configuration. It is very much like a closed
Zope package, except for the fact that you don't "execute" a Zope
package. (Hmm, actually, it might be a neat concept to execute Zope
packages. That's a different discussion, though.)
Shane