You are not logged in Log in Join
You are here: Home » Members » TheJester » My Product Manger

Log in
Name

Password

 
 

Folder icon My Product Manger

This is my first cut at building a Product Manager for Zope.

It is by no means complete, but, it is functional, it will definitely have bugs.

ONLY USE WITH A SCRATCH ZOPE INSTALL OR FROM AN INSTALL YOU'RE HAPPY TO RESTORE FROM BACKUP TAPES.

YOU HAVE BEEN WARNED

There are two modes of operation, only one of which is currently implemented.

Concrete Mode: This is where the package meta-data is inserted into an archive with the package. The package can then be directly imported by the Product Manager.

Virtual Mode: This is where a list of download sites for the data is supplied, and the Product Manager fetches the archive and unpacks it itself. This is the only mode currently supported.

  • Generating the metadata for the available products. It's possible to do this one product at a time, but, there's nowhere currently that generates the meta-data necessary. There's a demo xml in the root directory you can import.
  • There's no external dependency handling, I need to add that in, but, I'm not sure of the best way to go about that. I can simply list the external dependecies to the user, and make sure they know they have to install those things.
  • It needs a post-install script function to hook into distutils in case things need to be built.
  • It asks for database dependencies, but, doesn't check for installed DAs to prompt you to install one if you don't have a relevant one installed. It also asks for platform, cpu dependencies, but, doesn't check those either.
  • Zope should also be a dependency, and it should eliminate those products that don't work with this version of Zope. Python should also be a dependency as well I suppose.
  • It only really handles installing Products, it needs to be extended to deal with .zexp files, and Extensions. I'll probably need to gather some more meta-data to fix this up. Hotfixes need to be handled too.

It does do somethings though;

  • It handles specified dependencies, and all version of a product are stored, so you can specify an older dependency if something doesn't work with the latest and greatest version.
  • It handles listing multiple download sites for fetching the archives.
  • It handles .tgz, .tar, and .zip, I'm not sure if it'll work for windows or macs, I hope it does.
  • You can install or upgrade a product without restarting (although the mechanism by which it does this, is somewhat err dodgey, so be warned). In my tests it's worked fine for me, without any adverse effects.
  • You can import one product, or the whole tree (or a subset) including the fixed meta-data types.
  • You can export your whole tree, or a sub-set.
  • Importing/Exporting is done using xml_pickle, so objects are fairly simple to build by hand (if you really have to), or to create from a script.
  • You can ZODB or (Postgres) RDBMS backed. ZODB is quick, but, isn't as flexible in its implementation. SQL is slow, but, is more flexible in its implementation, which will allow better searching (when that gets done).
  • You can browse and install products by catgory.
  • You can see what products are installed, and what the Control Panel sees as installed.

TODO:

  • General clean-up -- the code is somewhat weird so that the same set of dtml files can be used by both ZODB and SQL interfaces.
  • ZODB mode re-written in a cleaner more flexible fashion o SQL mode re-written in a faster fashion o Product Search option. o Partial DB syncing (give me everything new or changed since yyyy-mm-dd) o Uninstalling. we can store the manifest when a product is installed. o Post Install scripts to allow setup or building of extensions o Partial Exports. o Bulk Install. o Concrete Package Creation, where the metadata is stored with the package, so you can simply upload the file into Zope and have it installed. o Hotfix, Extension, .zexp handing o Upgrading Zope source installs. o Proper dependency handling (minimum version, maximum version, recommended (version) o HTML Interface fixes esp. dependencies.

 Title   Type   Size   Modified   Status 
 Technology Preview NOT FOR PRODUCTION USE Edit object Software Release   2001-11-23 published
 Windows grumbles fixed Edit object Software Release   2001-11-29 published