Message-ID: <282639364.4250.1485862013648.JavaMail.confluence@ip-10-127-227-164> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_4249_411254882.1485862013647" ------=_Part_4249_411254882.1485862013647 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
In eZ Publish 4.4 and higher, there is a mechanism that enables extensio= ns to define in which order they should be loaded in regards to other, rela= ted, extensions. The function automates the extension load ordering to help= avoid situations where extensions does not work properly in case= of wrong order.
For the extension load ordering mechanism to be active, extensions shoul=
d be recent enough to contain the needed metadata stored in the "exte=
nsion.xml
" file, so make sure you use the extensions certified for y=
our eZ Publish version (see: Technical manual / <version> / Inst=
allation / Requirements ).
To activate the extension load ordering, the following configuration set=
ting should be enabled in "site.ini.append.php
" in setting/ove=
rride:
[ExtensionSettings] ExtensionOrdering=3Denabled=20
The order in which active extensions appear in the "site.ini
" under
"<eZ_Publish_root_folder>/ezpublish_legacy
=
/settings/override/site.ini[ExtensionSettings]
=
ActiveExtensions=3D
" 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 e=
xtensions. For example eZ Find must be activated before eZ Webin. The same =
rule applies for the eZ Teamroom extension: eZ Teamroom and all its depende=
nt extensions, such as eZ Lightbox and eZ Event, need to be activated befor=
e 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 exten= sions, manually or automatically. This implies that the order can only be d= efined in site.ini.
Defining the correct order can sometimes be tricky when many extensions = need to be considered. By providing metadata to the extension loading, manu= al extension load ordering is now a thing of the past.
By providing metadata for the extension load ordering we enable eZ Publi=
sh to correctly determine the correct order itself. The metadata about exte=
nsion ordering is optional. These metadata are now declared using an XML fi=
le, that can also be used to replace what is currently in "ezinfo.php=
". This file is named "extension.xml
", located at the r=
oot of the extension. It has the following content:
<?xml version=3D"1.0" encoding=3D"utf-8" ?> <software> <metadata> <name>Extension name</name> <description>Extension description</description> <version>X.Y.Z</version> <copyright>Copyright text</copyright> <license>License type</license> <info_url>http://url/to/extension/site</info_url> <author>Extension author</author> =20 <software> <uses> <name>Used library/software 1</name> <license>Used library/software 1 license</licens= e> <copyright>Used library/software 1 copyright</co= pyright> <info_url>Used library/software 1 URL</info_url&= gt;s <version>Used library/software 1 version</versio= n> </uses> <uses> <name>Used library/software 2</name> <license>Used library/software 2 license</license= > <copyright>Used library/software 2 copyright</cop= yright> <info_url>Used library/software 2 URL</info_url&g= t;s <version>Used library/software 2 version</version= > </uses> =20 </software> =20 </metadata> =20 <dependencies> <uses> <extension name=3D"usedExtension" /> </uses> <requires> <extension name=3D"requiredExtension" /> </requires> <extends> <extension name=3D"extendedExtension" /> </extends> </dependencies> =20 </software>=20
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 3rdpa=
rty_libraries entry. One software/metadata/software/uses node must be used =
for each library.
The second block (software/dependencies) contains 3 sub-nodes:
Note: 'uses' and 'requires' currently have the same eff= ect, but their behavior will change when real dependencies checking is deve= loped in the future.
file.ini
) settings for siteaccess and extensions as the functi=
onality loads cluster before extension and siteaccess settings are loaded.
In both cases work around is to disable extension load ordering.