root / home / tseaver / obzervationz / 2005 / kudos_to_chrism_20051109 Kudos to Chris McDonough, as well!Chris has been steadily at work this week on finishing his Basket product, which makes it possible to distribute Zope add-ons using Phillip Eby's "eggs".
Created by tseaver. Last modified 2005-11-18 15:13:16. |
This product is a short-term implementation of the egg-related features, which will go away once the feature lands in the Zope core. Quoting from the product's README:
Overview
Basket is a Zope 2 product which allows you to employ the Python Egg format to deploy other Zope 2 products.
Where Do Eggs Go?
You can put Product eggs anywhere on your Zope 2 instance's PYTHONPATH. A "safe" place to put them is
$INSTANCE_HOME/lib/python
which is on the PYTHONPATH of every post-2.6 Zope 2 installation.Definitions
- Product
- A Python package that (optionally) includes an initialization function which gets called at Zope startup time. Products may be packaged as eggs using Basket; otherwise they are typically packaged as tarballs which are meant to be unpacked in a Zope 2 "Products" directory.
- Egg Product
- a Product packaged up as part of a Product Distribution.
- Product Distribution
- A Python "egg" which contains one or more Zope 2 Products.
Chris' work includes substitute / replacement classes for the
"resource files" traditionally used by Zope2 product developers
(ImageFile
=> ImageResource
, DTMLFile
=> DTMlResource
, and
PageTemplateFile
=> PageTemplateResource
), allowing those
resources to be read either from the egg's zip file or from a traditional
directory-based product.
I am close to finishing work to make it possible to load skins from eggs, as well as converting the CMF itself to use the new resource classes.