eZCMFDeveloper - a Firefox extension by Paul Forsyth
----------------------------------------------------

This extension allows you to control some debug settings of eZPublish
with your browser, clearing cache automatically. A toolbar is installed 
for access to this functionality.

This is licensed under the GPL, as specified in the supplied license.txt file.

The ez logo is the trademark and is copyrighted by eZ systems. It is used with permission from eZ systems.

***THIS EXTENSION IS FOR DEVELOPERS. PLEASE DO USE THIS ON A LIVE SITE***

Main Features
-----------
Supported commands:

- Show debug output
- Show debug templates
- Show debug SQL
- Activate debug redirection

- Cache can cleared on every page reload
- Template compiling can be switched off

- Local debug settings can be overriden

Additionally:

- Partial support for auto-sensing an eZ publish site
- Links to useful eZ publish sites open in new tabs

Getting started
---------------
This first public release is rudimentary. All options are off when you
start a new browser sessions. 

If you are unsure about the extension working try
setting 'Always clear cache' with 'Override local settings' and finally 'Debug output'. You
should now see the debug output at the bottom of your page. 

Please read on for more information.

Debugging
--------
Please note that some debugging information can only be seen if debug
output is enabled.

The output for debug templates has been improved. The supplied patch
changes the html and css to make the output more readable.

Overriding local settings
-------------------------

If you enable local override the settings in the extension will
overrides your local settings. For example, if your local setting has
debug enabled you can switch it off by enabling this setting.

Cache
-----
If your local ini files have caching enabled you will very likely see no debug information
unless you choose the option 'Always clear cache'. 

If your local ini files have template compiling enabled page reloads can be very slow. By disabling this
the page reload speed increases.

Auto-sensing an eZ publish site
-------------------------------

This partially works now. If your site contains a meta tag with the name "copyright" and
the content "eZ systems" the label 'eZ site' will show. There needs to be a better way to
handle this for this tag does not exist in many deployed eZ sites.

Additionally, this method does not support Firefox tabs properly. If your site has this tag and you
switch to it from another tab you may need to reload your page to have this work correctly. This will
be fixed in a future release.

Menus
-----
The functions in the toolbar are duplicated with the 'Tools' menu. You can also access this when right-clicking
on a web page. 

Support
-------
This extension only supports:

eZ publish 3.4.1
eZ publish 3.4.2 (not released but in SVN)
Mozilla Firefox 0.9 and above (Please use the default theme)

Install
-------
1. Use latest firefox > 0.9, with the default 'pinstripe' theme.
2. Patch files with supplied patch (Backup first). See 'Patching'
3. Copy extension 'ezcmfdeveloper' to the extension directory of your
eZ install. See 'Copying extension files'
4. Install the Firefox extension 'ezcmfdeveloper.xpi' by choosing 'Open file' from the File menu,
and browsing to the XPI. You may need to change the type of files box to all to see the xpi. Firefox
should ask you to confirm the install of the extension. Restart your browser to see it.
5. Play!

Patching
--------
You must patch some eZ publish files. These are

index.php
lib/ezutils/classes/ezini.php
lib/eztemplate/classes/eztemplatefileresource.php

For eZ publish 3.4.1 the file:

kernel/classes/ezcache.php

must be patched.

Please back these files up before proceeding.

To patch either use the supplied .patch file for your eZ publish
version. Run the patch file within the eZ3 root directory on this file
with the -p1 parameter. For example

'patch -p1 < ezcmfdeveloper/patch/3.4.2/patch3_4_1.patch'

Alternatively copy the php files to your install, overwriting the present files.

Copying extension files
-----------------------

Ensure there is a directory named 'extension' withing the eZ root directory. Copy the extension directory from
ezcmfdeveloper to this dictory. For example.

mkdir <your eZ root dir>/extension (if it does not already exist)
cp -r ezcmfdeveloper/extension/ezcmfdeveloper <your eZ root dir>/extension

Once complete check that the file 'extension/ezcmfdeveloper/lib/ezcmfdeveloper.php' exists 
from your eZ root directory.

Uninstalling
------------

To uninstall simple remove the extension/ezcmfdeveloper and restore your backed up files over the patched files.

In a future release there will likely be a better utility to do this.

Known problems
--------------

The duplicated menus available via the 'Tools' menu and right-clicking do not update when the main eZCMFDeveloper
toolbar is updated. No propogation of settings occurs. 

Auto sensing does not work properly with tabs.

Themes other than the default theme make the toolbar settings unstable. Arrows and menus dont appear to set correctly.

Credits
-------

Thank you to Tony Wood and Brendan Pike for their generous help, ideas and suggestions.
Thanks to Helen Wood for the VisionWT images.

This extension was based upon the work of Chris Pederick and his Web Developer extension - a great piece of work.
