## Documentation

### Requirements

To use the full power of PHPEdit extension for eZ publish, you need to install an eZ publish extension called soapadmin. Latest version of this extension is available here: http://www.waterproof.fr/products/PHPEdit/extensions/ez/soapadmin-1.0.tgz. This extension contains SOAP services used by the IDE to communicate with the running instance of eZ publish.

CAUTION: This extension only work with eZ publish 3.6 and upper.

## Installation

This document explain how to install and configure PHPEdit to work with eZ publish installed using eZ publish window installer. Installation procedure is the same for linux based version.

1. Install eZ publish

   Download the installation application and install eZ publish on your computer. We assume that you have installed it in the default location, so that eZ publish files are located inside C:\eZ publish\ezpublish

2. Install soapadmin extension
   1. Download it from http://www.waterproof.fr/products/PHPEdit/extensions/ez/soapadmin-1.0.tgz
   2. Uncompress the archive content inside the eZ publish extension folder C:\\eZpublish\\ezpublish\\extension\\. You should now have

          C:\eZpublish\
              \-- ezpublish\
                   \-- extension\
                        \-- soapadmin\
                             \-- readme.txt
                             \-- soap\
                                   \-- cache.php
                                   \-- initialize.php
                                   \-- settings.php

   3. Create a soap.ini override file C:\\eZpublish\\ezpublish\\settings\siteaccess\\XXX\\override\\soap.ini.append.php (where XXX is the name of the siteaccess you want to develop on) containing:

          <?php /* #?ini charset="iso-8859-1"?

          [GeneralSettings]
          EnableSOAP=true

          [ExtensionSettings]
          SOAPExtensions[]=soapadmin

          */ ?>

   4. Enable the extension in eZ publish administration (Setup / Extensions) and clear cache to be sure all is now taken into consideration.
3. Tweak apache configuration to make SOAP server available

   Apache configuration needs to be tweaked in 2 locations, ezpublish.conf and in eZ publish's htaccess.

   1. Here is the content of C:eZpublishapacheconfezpublish.conf, changed part are marked in bold

          # Enable rewrite rules
          LoadModule rewrite_module modules/mod_rewrite.so
          AddModule mod_rewrite.c

          <VirtualHost *>
          	<Directory "c:\eZpublish\ezpublish">

          		Options FollowSymLinks Indexes ExecCGI
          		AllowOverride All
          	</Directory>

          	DocumentRoot "c:\eZpublish\ezpublish"

          	RewriteEngine On

          	# Added for SOAP access
          	Rewriterule ^/soap.*                                                    /soap.php [L]

          	# For all known data directories we let Apache serve it directly
          	Rewriterule ^/var/storage/.*                                                    - [L]
          	Rewriterule ^/var/[^/]+/storage/.*                                              - [L]
          	RewriteRule ^/var/cache/texttoimage/.*                                          - [L]
          	RewriteRule ^/var/[^/]+/cache/texttoimage/.*                                    - [L]
          	Rewriterule ^/design/[^/]+/(stylesheets|images|javascript)/.*                   - [L]
          	Rewriterule ^/share/icons/.*                                                    - [L]
          	Rewriterule ^/extension/[^/]+/design/[^/]+/(stylesheets|images|javascripts?)/.* - [L]
          	Rewriterule ^/packages/styles/.*                                                - [L]

          	# Compatability with 3.3 and lower

          	RewriteRule ^/kernel/setup/packages/.*                                          - [L]

          	# If not PHP should serve the page
          	Rewriterule .* /index.php

          	ServerName localhost
          </VirtualHost>

   2. Here is the content of C:eZpublishezpublish.htaccess, changed part are marked in bold.

          # Copy this file to a new file called .htaccess in your eZ publish root
          # to make the site more secure in non-virtualhost mode (index.php used in urls).
          #

          # Copy this file to a new file called .htaccess in your eZ publish root
          # to make the site more secure in non-virtualhost mode (index.php used in urls).
          #

          php_value allow_call_time_pass_reference 0

          <FilesMatch ".">
          	order allow,deny
          	deny from all
          </FilesMatch>

          <FilesMatch "(index\.php|\.(gif|jpe?g|png|css|js|html)|var(.+)storage.pdf(.+)\.pdf)$|soap\.php">
          	order allow,deny
          	allow from all
          </FilesMatch>

          RewriteEngine On

          RewriteRule /soap(.+) soap.php

          RewriteRule !\.(gif|jpe?g|png|css|js|html)|soap|var(.+)storage.pdf(.+)\.pdf$ index.php

          DirectoryIndex index.php

4. Configure PHPEdit extension for eZ publish

   You have 4 parameters to configure:

   - eZ publish root location: Where your eZ publish files are located. C:eZpublishezpublish in your case.

   - Default soap url: How to access to the soapadmin SOAP services inside eZ publish. http://localhost/soap/soapadmin in your case. If you are not using mod_rewrite, it may looks like http://localhost/soap.php/soapadmin.

   - Login: Administration login (a user that can trigger clean cache and similar requests). admin in your case.

   - Password: Administration password.

   You can check that all works fine by pressing the "Test" button. see a message box telling "The soap service is functionnal".

Congratulations, you're over this installation. If you have a problem to make this work, check our support page to learn how to obtain help.