## Documentation

### Prérequis

Pour utiliser les pleines capacités de l'extension eZ publish PHPEdit, vous avez besoin d'installer une extension dans eZ publish appellée soapadmin. La dernière version de cette extension est disponible ici : http://www.waterproof.fr/products/PHPEdit/extensions/ez/soapadmin-1.0.tgz. Cette extension comprend les services SAOP utilisés par l'EDI pour communiquer avec eZ publish.

AVERTISSEMENT : Cette extension ne fonctionne qu'avec les versions 3.6 et supérieures d'eZ publish.

## Installation

Ce document explique comment installer et configurer PHPEdit pour travailler avec eZ publish installé avec l'installation windows. La procédure d'installation est la même pour une version basée sur Linux.

1. Installez eZ publish

   Téléchargez le programme d'installation d'eZ publish sur votre ordinateur. Nous partons du principe que vous l'avez installé dans l'emplacement par défaut, donc que les fichiers d'eZ publish sont installés au sein de C:\eZ publish\ezpublish

2. Installez l'extension soapadmin
   1. Téléchargez là depuis 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\\. Vous devriez maintenant avoir

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

   3. Surchargez le fichier soap.ini C:\\eZpublish\\ezpublish\\settings\siteaccess\\XXX\\override\\soap.ini.append.php (où XXX est le nom du siteaccess que vous développez) contenant:

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

          [GeneralSettings]
          EnableSOAP=true

          [ExtensionSettings]
          SOAPExtensions[]=soapadmin

          */ ?>

   4. Activer l'extension dans l'administration d'eZ publish (Setup / Extensions) et videz cache pour être sûr que vos changements sont pris en considération.
3. Ajustez la configuration d'apache pour rendre disponible le serveur soap.

   La configuration d'Apache a besoin d'être modifiée à 2 emplacements, ezpublish.conf et le htaccess d'eZ publish.

   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. Configurez l'extension PHPEdit pour eZ publish

   Vous avez 4 paramètres à configurer:

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

   - URL SOAP par défaut: Comment accéder au service SOAP soapadmin au sein d'eZ publish. http://localhost/soap/soapadmin dans votre cas. Si vous n'êtes pas en train d'utiliser mod_rewrite, cela devrait ressembler à http://localhost/soap.php/soapadmin.

   - Login: le nom d'utilisateur de l'administration (un utilisateur peut déclencher le nettoyage du cache et des demandes similaires). admin dans votre cas.

   - mot de passe : Mot de passe administrateur.

   Vous pouvez vérifier que tout fonctionne bien en pressant le bouton "Test" . La boîte de dialogue devrait annoncer que tout fonctionne correctement "The soap service is functionnal".

Félicitations, vous avez terminé l'installation. Si vous avez un problème pour faire tout faire fonctionner, consulter la page du support pour savoir comment obtenir de l'aide.