Instance manager (1.0)
- Instance manager download link: http://plone.org/products/instance-manager/releases
- Homepage of Instance manager: http://plone.org/products/instance-manager/
- Instance manager repository: https://svn.plone.org/svn/collective/instancemanager
- Description source: https://svn.plone.org/svn/collective/instancemanager/trunk/README.txt
Quick intro
- Install as described in INSTALL.txt
- Run instancemanager once to create a .instancemanager directory in ~
- Edit userdefaults.py in ~ for only the common basis for all your sites (example, Zope path, default admin and password for new sites)
- Copy userdefaults.py in ~ to <project>.py (typically "customername.py") and customize (override) for that project (port, plone site name, products, etc.)
- Now this will do the full setup for your site. ONLY do it when you want a TOTALLY fresh start::
instancemanager fresh <project> # NOT <project>.py -
- to stop zope::
instancemanager -z stop <project> - to start in foreground::
instancemanager -z fg <project> - to reinstall products::
instancemanager --products <project>
or, if you want to make sure everything's OK::
instancemanager --products --manifest <project>
The last gets you a (wide) manifest that can help diagnose product version issues and collisions from bundles.
More details below.
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 desirec.
- 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 it's
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.