Extensions
An extension adds features, designs or settings to Exponential without changing the kernel. A new Exponential 6 installation already brings many: composer.json requires them, Composer installs them into extension/, and the site package activates the ones it uses. This section covers adding one more.
| Fact | Where it is decided |
|---|---|
| An extension is a folder named after it, for example extension/ezflow. | site.ini [ExtensionSettings] ExtensionDirectory (default extension) |
| It does nothing until it is switched on. | ActiveExtensions[] (the whole installation) or ActiveAccessExtensions[] (one siteaccess) |
| The order of the list is the order of priority for settings and templates. | ExtensionOrdering=enabled lets the dependencies in extension.xml decide first |
| Its classes are found through an autoload array. | php bin/php/ezpgenerateautoloads.php -e |
The three steps
- Extracting the files: get the extension into extension/, with Composer, Git or a package.
- Activating the extension: switch it on, regenerate the autoloads and clear the caches.
- Extension load ordering: check which extension wins when two provide the same thing.
See which extensions are switched on:
./console exp:ini list site.ini/ExtensionSettings
In the administration, Setup > Extensions lists every extension with its state, loading position and metadata. More: Extensions: find, install, configure, build and release and the extension catalogue.
In this section
- Extension load ordering The loading order of extensions in Exponential 6: ActiveExtensions, ExtensionOrdering and the Extensions page.
- Extracting the files Getting an extension into extension/ in Exponential 6: with Composer, by copying the folder or from a package.
- Activating the extension Activating an extension in Exponential 6: in Setup > Extensions or with exp:ini, then autoloads and caches.
Contributors
- Sandro Groganz
- Geir Arne Waaler
- Graham Brookins Updated Maintainer
Comments
Add a comment