Project: xajax
Table of contents:
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:
- xajax_classattributes enhances the class/edit view
- xajax_preferences lets you set user preferences
- xajax_roleedit enhances the role/edit view
- xajax_autosuggest transforms the search field in the administration interface to an autosuggest control.
- ezstringindexed
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:
- Firefox
- Mozilla
- probably other Mozilla based browsers
- Internet Explorer
- Safari
- Opera
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.