29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Extensions / eZ Publish : Présentation et installation des extensions / Extension load ordering - Ordre de chargement des extensions





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

eZ Publish : Présentation et installation des extensions

Table des matières

  1. Présentation et installation des extensions
  2. Ordre de chargement des extensions
  3. Extraction des fichiers
  4. Activer les extensions

Extension load ordering - Ordre de chargement des extensions

Date de publication: le lundi 28 novembre 2011 à 10h24
Dernière modification: par Pascal BOYER le vendredi 2 décembre 2011 à 20h16

12/11/2010 9:24

Introduction

In eZ Publish Fuji, there is a mechanism that enables extensions to define in which order they should be loaded in regards to other, related, extensions. The function automates the extension load ordering and improves the extension loading so that each request is quicker, as such eZ Publish scales better with many extensions. This is done either by adding cache in the processing of extensions, or move non-critical parts out of the code-path which is run on each request.
La version Fuji d'eZ Publish est pourvue d'un mécanisme d'activation des extensions qui définit l'ordre dans lequel celles-ci doivent être chargées les unes par rapport aux autres tout en tenant compte de leur relation les une aux autres. Cette fonctionnalité automatise l'ordre de chargement des extensions et améliore le chargement afin que chaque requête soit plus rapide et qu'eZ Publish fonctionne mieux (???) avec de nombreuses extensions. Pour cela il est possible soit d'ajouter du cache dans le traitement des extensions soit de déplacer/sortir du code-path qui est exécuté dans chaque requête les parties non critiques.

Requirements

For the extension load ordering mechanism to be active, extensions should be recent enough to contain the needed metadata stored in the "extension.xml" file, located at the root directory of the extension. The following is a list of extensions and versions that contain the necessary metadata:
Pour que ce mécanisme définissant l'ordre de chargement des extensions soit activé, ces dernières doivent être suffisamment récentes pour contenir les métadonnées nécessaires dans le fichier extension.xml situé à la racine du répertoire d'installation de l'extension. Voici la liste des extensions et des versions contenant ces indispensables métadonnées:

Extensions Versions
eZ Comments 1.1
eZ Find 2.3
eZ Flow 2.2
eZ Image Editor 1.1
eZ SI 1.3
eZ Style Editor 1.1
eZ Survey 2.1
eZ Teamroom 1.1
eZ XML Export 1.3
eZ ODF 1.1
eZ Online Editor 5.x
eZ Website Interface 1.7
eZ GMAP Location 1.1
eZ JS Core 1.1
eZ Multiupload 1.1
   

Configuration

To activate the extension load ordering, the following configuration setting should be enabled in "site.ini.append.php" in setting/override:
Pour activer le classement des extensions lors de leur chargement, le paramètre de configuration ci-dessous doit être activé dans le fichier settings/override/site.ini.append.php:

[ExtensionSettings]
ExtensionOrdering=enabled

Extension ordering / Classement des extensions

The order in which active extensions appear in the "site.ini" under /settings/override/site.ini "[ExtensionSettings] ActiveExtensions=" is important for the selection of templates and, possibly, configuration settings. For this reason, users must insure that the correct order is used for extensions that have dependencies on other extensions. For example eZ Find must be activated before eZ Webin. The same rule applies for the eZ Teamroom extension: eZ Teamroom and all its dependent extensions, such as eZ Lightbox and eZ Event, need to be activated before eZ Webin.
L'ordre dans lequel les extensions activées apparaît dans le tableau ActiveExtensions= de la section [ExtensionSettings] du fichier setting/override/site.ini.append.php: est important pour la sélection des templates et possiblement pour celle des paramètres de configuration. C'est pourquoi les utilisateurs doivent s'assurer qu'un ordre correcte est défini pour les extensions ayant des dépendances avec d'autres extensions. eZ Find doit par exemple être activée avant eZ Webin et la même règle s'applique à l'extension eZ Teamroom qui, tout comme l'ensemble des extensions qui lui sont liées, doit être également chargée avant eZ Webin.

Although extensions can be activated using the Administrator Interface, as for now the admin interface does not provide a way to re-order the extensions, manually or automatically. This implies that the order can only be defined in site.ini.
Bien que les extensions puissent être activées via l'interface d'administration, celle-ci ne propose pas encore la possibilité de classer manuellement ou automatiquement les extensions. Ceci implique que l'ordre de chargement soit réalisé dans le fichier site.ini.

Defining the correct order can sometimes be tricky when many extensions need to be considered. By providing metadata to the extension loading, manual extension load ordering is now a thing of the past.
Définir l'ordre correcte de chargement peut parfois s'avérer délicat lorsque de nombreuses extensions sont à considérer. En fournissant des métadonnées pour le chargement de l'extension, définir manuellement l'ordre de chargement des extensions appartient maintenant au passé.

Metadata / Métadonnées

By providing metadata for the extension load ordering we enable eZ Publish to correctly determine the correct order itself. The metadata about extension ordering is optional. These metadata are now declared using an XML file, that can also be used to replace what is currently in "ezinfo.php". This file is named "extension.xml", located at the root of the extension. It has the following content:
En fournissant des métadonnées pour le classement de l'ordre de chargement des extensions nous permettons à eZ Publish de déterminer lui-même correctement le bon ordre de chargement. Les métadonnées relatives au classement des extensions sont optionnelles. Ces métadonnées sont maintenant déclarées dans un fichier XML pouvant être également utilisé pour remplacer le contenu du fichier ezinfo.php. Ce fichier nommé extension.xml est placé à la racine du répertoire d'installation de l'extension et son contenu est le suivant:

<?xml version="1.0" encoding="utf-8" ?>
 <software>
     <metadata>
         <name>Extension name</name>
         <version>X.Y.Z</version>
         <copyright>Copyright text</copyright>
         <license>License type</license>
         <info_url>http://url/to/extension/site</info_url>
 
         <software>
             <uses>
                 <name>Used library/software 1</name>
                 <license>Used library/software 1  license</license>
                 <copyright>Used library/software 1  copyright</copyright>
                 <info_url>Used library/software 1  URL</info_url>s
                 <version>Used library/software 1  version</version>
             </uses>
            <uses>
                <name>Used library/software 2</name>
                <license>Used library/software 2  license</license>
                <copyright>Used library/software 2  copyright</copyright>
                <info_url>Used library/software 2  URL</info_url>s
                <version>Used library/software 2  version</version>
            </uses>
 
         </software>
 
     </metadata>
 
     <dependencies>
         <uses>
             <extension name="usedExtension" />
         </uses>
        <requires>
            <extension name="requiredExtension" />
        </requires>
         <extends>
             <extension name="extendedExtension" />
         </extends>
     </dependencies>
 
 </software>

The first block (software/metadata) replaces "ezinfo.php". The fields are equivalent to those found in the info() method of the 'old' ezinfo. The sub-node software/metadata/software replaces the previous 3rdparty_libraries entry. One software/metadata/software/uses node must be used for each library.
Le premier bloc (software/metadata) remplace ezinfo.php . Les champs sont équivalents à ceux que l'on trouve dans la méthode info() de l'ancien fichier ezinfo.php. Le sous-nœud software/metadata/software remplace la précédente entrée de (???). Un nœud software/metadata/software/uses doit être utilisé pour chaque bibliothèque.

The second block (software/dependencies) contains 3 sub-nodes:
Le second bloc (software/dependencies) contient 3 sous-nœuds:

  •  uses: indicates that the referenced extension is used by this extension.
     indique que l'extension référencée est utilisée par cette extension.
  •  requires: indicates that the referenced extension is required by this extension.
     indique que l'extension référencée est requise par cette extension.
  •  extends: indicates that the referenced extension is overloaded by this extension.
     indique que l'extension référencée est surchargée par cette extension.

Note: 'uses' and 'requires' currently have the same effect, but their behavior will change when real dependencies checking is developed in the future.  
 Note: uses et requires ont actuellement le même effet mais leur comportement évoluera lorsqu'un vrai contrôle des dépendances sera développé.

Commentaires