I ran into similar problems when I tried to keep the version number in the zimlet zip file name. Turned out that zimlet structure is quite restricted.
* the zimlet's name is taken by stripping the .zip suffix from the zipfile name
* there *must* be a file <zimlet_name>+".xml" in the root directory of the zimlet archive.
* all other files which have to be deployed must be properly described in the xml file.
* additional jar files are copied to $ZIMBRA_ROOT/lib/jars/
The last point turns into a really, really tricky one. We must be *very careful* with zimlets including jar files:
a) if multiple zimlets include jars with same name, they will overwrite each other on deployment (i guess, the last one wins)
b) if multiple jars contain classes of same name, it's a game of luck which one will be loaded first and so which classes are actually linked in.
Conclusion: we need some real package management (including dependency handling) for Zimbra. |