A bundle in Symfony (and Ibexa Platform) is a separate part of your application that implements a feature. You can create bundles yourself or make use of available open-source bundles. You can also reuse the bundles you create in other projects or share them with the community.
Many Ibexa Platform functionalities are provided through separate bundles included in the installation. You can see the bundles that are automatically installed with Ibexa Platform in composer.json.
Working with bundles¶
All bundles containing built-in Ibexa Platform functionalities are installed automatically. Additionally, you can install community-developed bundles from Ibexa Platform Packages.
To learn how to create your own bundles, see Symfony documentation on bundles.
Overriding third-party bundles¶
When you use an external bundle, you can override its parts, such as templates, controllers, etc. To do so, make use of Symfony's bundle override mechanism. Note that when overriding files, the path inside your application has to correspond to the path inside the bundle.
To remove a bundle (either one you created yourself, or an out-of-the-box one that you do not need), see the How to Remove a Bundle instruction in Symfony doc.
The following tables give an overview of the main Ibexa Platform bundles.
|ezplatform-kernel||contains the core of the whole Ibexa Platform application e.g. EzPublishCoreBundle|
|ezplatform-content-forms||provides form-based integration for the Symfony Forms into Content and User objects in kernel|
|ezplatform-solr-search-engine||Solr-powered search handler for Ibexa Platform|
|ez-support-tools||provides functionality for system information|
|ezplatform-http-cache||HTTP cache handling for Ibexa Platform, using multi tagging (incl Varnish xkey)|
|ezplatform-admin-ui||contains Back Office interface for Ibexa Platform v2+|
|ezplatform-admin-ui-assets||contains assets for AdminUI|
|ezplatform-design-engine||design fallback system for Ibexa Platform similar to legacy design fallback system|
|ezplatform-standard-design||defines standard Design and Theme to be handled by ezplatform-design-engine|
|ezplatform-cron||exposes cron/cron package for use in Ibexa Platform (or just plain Symfony) via a simple command
|ezplatform-graphql||defines GraphQL server for Ibexa Platform|
|ezplatform-matrix-fieldtype||dedicated to Matrix Field Type for Ibexa Platform, it replaces previous version found on
|ezplatform-query-fieldtype||Field Type that lists Content items based by querying the Repository|
|ezplatform-rest||contains REST API|
|ezplatform-richtext||Field Type for supporting rich formatted text stored in a structured XML format|
|ezplatform-user||dedicated to Ibexa Platform User management.|
|BehatBundle||common reusable sentence implementations and other common needs for Behat testing in bundles/projects|
|date-based-publisher||provides the date based publishing functionality for Ibexa DXP|
|ezplatform-workflow||implementation of a collaboration feature that lets you send content draft to any user for a review or rewriting|
|ezplatform-page-fieldtype||Page handling Field Type|
|ezplatform-page-builder||contains Ibexa DXP Page editor|
|ezplatform-http-cache-fastly||extends ezplatform-http-cache to support Fastly, for use on Platform.sh PE or standalone|
|ezplatform-calendar||extends the Back Office by adding the calendar tab with the calendar widget|
|ezplatform-version-comparison||allows comparing between two versions of the same Field|
|ezplatform-form-builder||enables creating Form Content items with multiple form fields|
|ezplatform-site-factory||enables configuration of sites from UI|
|ezplatform-elastic-search-engine||provides integration with Elasticsearch search engine|
|ezplatform-multi-file-upload||allows uploading multiple files as new content items at once|
|ezplatform-demo-assets||contains binary install data for ezsystems/ezplatform-demo|
|ezstudio-personalized-block||Ibexa Personalized Block Bundle|
|ezplatform-com||the Ibexa Developer Hub for Ibexa Platform (example site)|
|ezplatform-ee-beginner-tutorial||resources used in the Ibexa DXP Beginner Tutorial|
|docker-php||contains PHP docker image example|
Documentation - additional resources¶
|developer-documentation||source for the developer documentation for Ibexa Platform, an open source CMS based on the Symfony Full Stack Framework in PHP. https://doc.ezplatform.com|
|user-documentation||source for the user documentation for Ibexa Platform, an open source CMS based on the Symfony Full Stack Framework in PHP|