Personal tools
You are here: Home Archive 2008 June 09 Buildout for Integrators vs. Buildout for Developers
Document Actions

Buildout for Integrators vs. Buildout for Developers

by Steve McMahon last modified June 09, 2008 - 17:29

Buildout is no longer just for developers. Get your products ready!

With the release of Plone 3.2, all the major Plone installers will be buildout-based.

The Unified Installer is already buildout-based, and there are experimental buildout-based binary installers for Windows and OS X available on launchpad.net. The Windows and OS X installers will not require installation of a compiler.

This represents a watershed event for the deployment of Plone: buildout will be our mainstream product installation system. What was once a technology for developers will have become a technology for integrators.

If we're to make Plone's installation story as good as possible for integrators, this is going to require some adjustments by add-on product developers.

  • It's time to eggify your products and upload them to PyPI. It's amazingly easy to do so, and there are several examples in the collective that you may use as models. Look in particular for the Products.* products like Products.Clouseau, Products.PloneSoftwareCenter, Products.PloneHelpCenter and Products.PloneSoftwareCenter. Most of these are simple updates of existing products. You may still (and for some time, should) create old-style tarball distributions from the same codebase without much extra work.
  • Strongly consider putting your eggified product in the Products.* namespace to simplify installation. That's currently the easiest way to avoid the need for ZCML slugs, which are incomprehensible to many integrators. If you're converting an existing product, it really belongs in the Products.* namespace so that code that imports it doesn't break.
  • Once that's done, update your installation instructions to document installation with buildout. It's a lot simpler than the old method.
  • Don't tell folks to use your buildout. That's a fine idea while a product is in development and the development team needs to have the same environment. But, it's the wrong thing to tell an integrator. Tell them how to add your product to their buildout with as few side-effects as possible.

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: