Personal tools
You are here: Home Zope products Basket

Basket (0.2)

Document Actions
Released on 2005-12-12 by alpha for Zope 2 under Unavailable License available for All platforms.
Software development stage: alpha
Basket is a Zope 2 product which allows you to use *other* Zope 2 products which are packaged as Python Eggs in your Zope installation.

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.

How Does Basket Determine Which Products To Install?

Default: Implicit

By default, Basket will scan your PYTHONPATH for files or directories ending with the extension ".egg". These are known as "distributions". For each of these distributions Basket finds, it will introspect the content of the file or directory. If the file is a zip file and its egg metadata contains one or more "zope2.initialize" "entry points", this distribution will be considered to be a Product distribution and its constituent Products will be considered for initialization. The same action will happen if the .egg is a directory. If two versions of the same distribution are found on the PYTHONPATH, Basket will prevent startup from occurring by raising a pkg_resources.VersionConflictError. If Basket detects a situation in which two distinct Product distributions contain a Product that has the same name (a case which is not caught by pkg_resources), Basket will prevent startup by raising an exception.

Optional: Explicit

If you create a file in your INSTANCE_HOME/etc directory named PRODUCT_DISTRIBUTIONS.txt, Basket will not scan the PYTHONPATH for Product distributions. Instead, Basket will attempt to load Product distributions based only on the explicit Python Egg-format Product distribution names on each line within the PRODUCT_DISTRIBUTIONS.txt file. The eggs representing these distributions must be somewhere on the PYTHONPATH. If a line in the file names a distribution that cannot be in the PYTHONPATH, Basket will prevent startup from occurring by raising a pkg_resources.DistribtionNotFound error. If the PRODUCT_DISTRIBUTIONS.txt contains directives that cause two or more versions of the same distribution to be considered, a pkg_resources.VersionConflictError will be raised. If Basket detects a situation in which two distinct Product distributions contain a Product that has the same name (a case which is not caught by pkg_resources), Basket will prevent startup by raising an exception if Zope is in debug mode.

There are currently no items in this folder.

Plone Themes
  • Schools Plone Theme
  • Lite Plone Theme
  • Techlight Plone Theme
 

Powered by Plone