Instance manager

Warning
This product has not had a release in over 1 year and may no longer be maintained.
by Reinout van Rees last modified Feb 16, 2011 02:14 AM

Instancemanager manages your development zope instances. Instance creation, product installation, restarting, quick-reinstalling.

Project Description

Setting up a zope instance, symlinking to all the products, extracting product tarballs, copying over a snapshot Data.fs from the customer's website, restarting zope, clicking around in the quickinstaller: it can all be done by hand.

Instancemanager is a handy utility program that manages your development zope instances:

  • Creates clean, fresh instances in your standard location.
  • Copies over a prepared Data.fs if desired.
  • Makes products available in the Products/ directory from a variety of sources (.tgz, .tgz bundles, svn, symlinking).
  • Restarts your zope and reinstalls your products.
  • Does the Data.fs copy, the product availability and the reinstall in one step, giving you a real fresh instance without leftover junk.

If you're the kind of good developers that's also a lazy developer, you don't want to do this repetitive stuff by hand. That's where the instance manager jumps in. instancemanager yourproject create creates an instance in your default location. instancemanager yourproject fresh gives you a freshly prepared products directory, a freshly copied pre-made Data.fs (if you've got one) and it presses the quickinstaller buttons you want pressed.

For instance, individual product sources can be:

  • A .tgz file (like FCKeditor or qGoogleSitemaps).
  • A .tgz bundle (like plone or ploneformmailer).
  • A symlink (most probably to an svn directory, for instance your current customer development product).
  • A symlink to a bundle directory (most probably an svn bundle, for instance the latest plone 2.5).

Configuration is handled in a layered manner. Instancemanager has its own defaults. You can overwrite these global defaults locally ("I always store my instances in my homedir instead of ~/instances/ "). And there's an per-project config file where you can list exceptions. And of course the passwords and desired products and so.

If you specify the ID of your plone root (plone_site_name), the instancemanager attempts a quick-reinstall of your products when running the "fresh" or "soft" targets. Real handy during development. It even migrates plone to a newer version when needed. I'm able to migrate http://vanrees.org/ from a plone 2.1 website to plone 2.5, including migration, with just a call to instancemanager vanrees fresh. And it updates a couple of other products too, while it's at it. This removes the need for much by-hand action when testing migrations or when doing installer updates on your product.

Current Release
Instance manager 1.0

Released Jul 03, 2008

Loads of improvements. Multiple companies use it in production now.
More about this release…

Download file Get Instance manager for all platforms
Source .tgz for 1.0 RC
Download file Get Instance manager for all platforms
Final 1.0 source release
If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.

All Releases

Version Released Description Compatibility Status
1.1 Not yet released, placeholder for new development. And for assigning won't-fix-it-for-1.0 bugs. More about this release… pre-release
1.0 Jul 03, 2008 Loads of improvements. Multiple companies use it in production now. More about this release… final
0.3 Mainly server side support: zeo, more backup/restore. Also standard optparse options. More about this release… beta
0.2 python 2.3 support; working quickinstall-calling action that reinstalls your products (and possibly migrates your plone); printconfig action to show your projects's config; bugfixes; logfile doesn't get splattered into each and every directory anymore. More about this release… beta
0.1 First public version. Works For Me (tm). It might not support some setups (how to structure instances and so), if that's the case just submit a feature request in the issue tracker. More about this release… alpha

Comments (0)