You are not logged in Log in Join
You are here: Home » Members » adytumsolutions » Documentation » ZMICustomization

Log in
Name

Password

 
 
FrontPage »

ZMICustomization

Introduction

While working on AdytumSolutions projects as well as working on projects for PBS, I came up with a convenient way to beautify the otherwise rather unattracive default ZMI. All that is required is a .zexp import and un'tar'ing a dtml directory.

Process

Here's what we had to do:

  • create a location in Zope to hold property information for the ZMI
  • figure out what all the properties were, should be, and name them
  • unify all the different but related properties spread across multiple files
  • find all the color and style (including spacing/widths/heights) references that we wanted to customize
  • replace current hard code with dtml references using the following:
       <dtml-with expr="zmi.properties">
       <dtml-var property_name>
       ...
       </dtml-with>
    
       <dtml-var expr="zmi.properties.property_name">
    
  • export the GUI changes with the ZMI as a .zexp and tar up the dtml directory

Here's all you have to do:

  • gunzip/WinZip? the dtml.tar.gz and zmi.zexp.gz files
  • move the ZOPE_INSTALL/lib/python/App/dtml to a backup location
  • move dtml.tar to ZOPE_INSTALL/lib/python/App
  • un tar dtml.tar (thus creating a new dtml directory)
  • move zmi.zexp to ZOPE_INSTALL/import
  • in your ZMI web interface, go the the main frame at the root folder, scroll to the bottom, hit the "import/export" button, in the "import" section, enter zmi.zexp - this will create a folder called zmi at the root location (this folder holds the images and properties for the ZMI customization)

Screenshots

AdytumSolutions' ZMI

PBS Interactive's ZMI (Note: the screenshot shows an image that just says "PBS" - this is a borrowed image that the PBS Interactive team (a small part of PBS) is using. Also, AdytumSolutions is not implmenting this for PBS Interactive; one of our developers is currently employed there and thus we are showcasing his work here.)

Caveats

  • this code is hackish and not pretty; ideally, "someone" would take out all the html-ish crud and move everything that should be in CSS to CSS... but we were in a hurry ;-)
  • the table cell counts for the tabs is fixed; there is logic in the ZMI DTML for determining this number generally, and we need to use that
  • the changes are only partially commented
  • we made changes to suite our needs; your mileage may vary
  • there is an incompatibility will this customization and certain views (like External Method views in the ZMI); we haven't taken the time to pinpoint this yet

Downloads

Here's where you can get the stuff:

ZMI Properties and images (a gzip ped Zope export)

ZMI DTML files (tarball)