======================== Installing Kupu on Zope2 ======================== Requirements ------------- o Zope 2.5 or higher, Zope 2.7 recommended. o FileSystemSite product, version 1.3 or higher, available at http://zope.org/Members/philikon/FileSystemSite. o An XSLT processor with XInclude support, such as xsltproc from Gnome's libxml/libxslt (only required for SVN checkouts, not for plain release tarballs). Installation ------------ Drop the 'kupu' directory into your instance home's Products directory. Kupu provides a sample integration in the 'zope2' directory based on ZPT macros. In order to use it, you need to generate the ZPT template called 'kupumacros.html' by typing: $ make zope2macros Note: this is only required if you use a Subversion checkout of Kupu, the template will be available pre-built in the release tarballs. Now restart your Zope instance Overview -------- Kupu mainly consists of several directories representing integration implementations. It is most convenient, to simply use the 'default' implementation as a filesystem-based layer in Zope. The editor application itself is a combination of ECMAScripts and markup necessary for certain features. In order to use Kupu in your custom Zope2 application, you will have to make these filesystem-based ZPT macros available to your ZODB-based Page Templates. The easiest way is to use the zope2 integration package using the FileSystemSite product. It can be downloaded at http://zope.org/Members/philikon/FileSystemSite. Once you have installed FileSystemSite and Kupu in your Products directory, you will see a new addable meta type called 'kupu editor'. Add this one to the top-most folder of your Zope2 application. A common id would be 'kupu'. If you look inside the object you just created, you will see that it provides all filesystem-based page templates and ECMAScript files to the ZODB. You can now create a page template and use the macro defined in 'kupumacros.html'. Using the kupu editor macro --------------------------- To use Kupu on your own Zope objects, create a page template and make use of the macros and slots provided by kupumacros.html. Depending on whether you have further customized the provided implementation or not, these are: - macro 'head' provides the necessary markup for the HTML header, such as links to CSS and JavaScript includes. - macro 'fulleditor' provides Kupu's full editor, including toolbar and toolboxes. The slot 'editorframe' can be filled with the iframe element in case its 'src' attribute needs to change. Differences to Epoz ------------------- Kupu has a totally different approach than Epoz. While Epoz provides a global python function called 'Epoz' that was callable from Python Script, DTML and ZPT, we have done away with the triple-code generation in Kupu.