Project: xajax

The xajax extension integrates the xajax PHP class library ( http://www.xajaxproject.org/ ) into eZ publish. It allows you to easily create powerful, web-based, Ajax applications.

Features

The xajax extension only contains the base files needed to make your eZ publish installation ready for xajax. Specific xajax functions are placed in other extensions.

xajax extensions

Currently there are 4 eZ publish extensions publicly released which contain xajax plugins:

There's also an example Hello world! xajax extension.

License

xajax is copyright © 2005-2006 SCK•CEN and is distributed under the GNU LGPL.

It was written by Kristof Coomans. Other contributors include: Bruce Morisson

Requirements

In order to use this extension without any problems, you should meet the following requirements.

eZ publish

This extension should work on the following versions of eZ publish:

  • 3.6.x
  • 3.7.x
  • 3.8.x
  • 3.10.x

Rewrite rules

Make sure the rewrite rules of your Apache virtual host configuration allow direct access to JavaScript files inside extensions. Using the rewrite rules mentioned at http://ez.no/doc/ez_publish/technical_manual/3_7/installation/virtual_host_setup should work fine.

Supported user agents

You'll need a user agent that is supported by the xajax library:

Installation

Download

You can download the xajax extension from it's contribution page at ez.no or you can check it out right from the community subversion repository at pubsvn.

Install the extension

Follow the steps described in the eZ publish technical manual to extract and activate the extension.

Move settings file

Move or copy the xajax.ini file from the install directory of the xajax extension to the main settings directory in your eZ publish root directory.
Skipping this installation step won't harm, but it's better if the settings file is located at the right place so you can easily find it.

A warning on settings installation

Do not to copy the settings file 'extension/xajax/install/xajax.ini' into the root 'settings/override/' directory.

If you ignore this warning you will have serious problems with the extension simply not working.

If you wish to install the settings file 'extension/xajax/install/xajax.ini' you should do so into the root 'settings/' directory.

Note: " You may only ignore this settings installation step warning if you edit the setting file 'setting/override/xajax.ini' and remove the extensions directory setting from the settings file" even still this is strongly discouraged.

Insert xajax JavaScript

Insert the necessary xajax JavaScript between the opening and closing head tags in your pagelayouts. You can use the xajax_javascript template operator to do this. You won't register new functions with xajax regularly, so you can place it in a non-expiring cache block.

{cache-block ignore_content_expiry expiry=0}
{xajax_javascript()}
{/cache-block}

A warning on cache-block usage

If you encounter problems or conflicts using the extension for what ever reason and must clear all cache related to the cache-block templatate addition (above) with ezwebin, you may wish to clear all cache by hand as it seems some cache is not cleared via admin or cli. It was reported that this problem was solved by removing all ezwebin cache manually via 'rm -rf var/ezwebin_site/cache/*'. If you are doing development with this extension you may wish to omit the cache-block as optional and not required.

Add module policy

Add a policy for the xajax module to the desired roles. This step is not required for the 'admin' user which has full access through an existing open policy for all modules.

Clear caches

You will probably need to clear the INI and template caches.

External links