[Zope] Re: ZopePacks: A Proposal for a new Zope Product...

Butch Landingin butchland@yahoo.com
Fri, 21 Jan 2000 16:16:59 -0800 (PST)


--- Jim Fulton <jim@digicool.com> wrote:
> Butch Landingin wrote:
> > 
<snip> 

> Here's one comment that should provide a good place to start.
> There is already a mechanism for creating product distributions
> for products created through the web.  When you develop a product
> with ZClasses and you want to distribute it, you can use a 
> web interface to create a tar ball that can be installed just like
> any other Zope product. There is no need to fool around with export
> files and no need to have an inconsistent installation mechanisms.
<snip>
> This mechanism is far from perfect and I look forward to
> suggestions and implementation for enhancements.  We also
> have some specific ideas for enhancing this mechanism.
> 
> This seems to be one of those topics of "Zope Zen" that
> is not widely known. (Very few people at DC seem to be
> aware of it.) This is a bit ironic, since this feature
> has been *documented* for well over a year. :(
> 

OMG, *NOW* I remember!!!! It's been a while, but I remember
walking through the tutorial that produced exactly this...

I maybe wrong (its been a while since I did the tutorial)
but IIRC, one of the downsides of this process was that it
produced a "closed box" product and doesn't
leave you a way to see or modify those components included in
the package. Also, IIRC, it doesn't have checks for ZClass/Product
dependencies.

That said, I think we have 2 alternatives:

           1. We could enhance this distribution tab so that it accomplishes the objectives 
              set forth for the ZopePackManager product:

                   a. Be able to specify the ZClasses, instance data (e.g. Folders) 
                      & ZProducts(?) that are to be included in the application

                   b. Be able to create products that recreate the included ZClasses & instance
                      data in their original format (i.e. open-box format) so that users can
                      further tailor the default behavior of the distributed application to each
                      site's needs...

                   c. Zope Product installation should be able to do some dependency checking so
                      that installation is as error-free as possible.

                   d. Zope Products created this way should be able to share ZClasses between
                      different distributions and load them as necessary (and only when 
                      necessary) -- this will make each distribution smaller (because you only 
                      include those ZClasses/instance data you supply) & also make the Zope
                      Products namespace less cluttered.

                   e. Be able to enter and retrieve additional info (e.g. product categories,
                      product description) about each product so that users have an ability to 
                      pick and choose intelligently which applications they might wish to         
                      install... 

         2. Continue development of the "ZopePack" manager product but incorporate
            the current "distribution tab" concepts in building the product -- i.e.
            aside from making the distribution/installation of ZClass based applications 
            easier(my main objective) -- also include the code to make it easy to
            build a ZopePack (e.g. checking dependencies and automatically determining
            the dependency data that needs to be included in the ZopePack "meta-file")

            Also, its nice to know that there's already code inside the Zope machinery that 
            could build ".tar.gz" files -- we can probably automate not just the installation
            of Zope Products very easy, but  also the converse process of "building" a 
            distribution a "one-or-two-click, platform-independent" process as well...    


Since I don't have a clue as to how much work the first approach will entail, I'd like
to get people's opinions... In the end, both these approaches solve the problem equally
well -- the only question is: which one looks easier to do?

Regards,

Butch

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com