Bundles

Akeneo or Pim, Bundle or Component?

Since version 1.3, Akeneo PIM introduced components, that contain business logic or technical logic not coupled with Symfony Framework or Doctrine ORM / MongoDBODM, although Bundles contain the glue to assemble components together.

We use different namespaces, Akeneo for the technical parts not coupled with the PIM, Pim for the Community Edition parts and Enterprise suffix for the Enterprise Edition parts.

We organise the code as above in any new development and try to update legagy code as much as we can in each minor version to make the stack more and more understandable.

../../_images/component-or-bundle.png

Akeneo bundles

Bundle Scope
BatchBundle (introduced v1.0) Doctrine and Symfony implementations for the Batch component
ClassificationBundle (introduced v1.4) Doctrine generic implementations for classification trees
FileStorageBundle (introduced v1.4) Doctrine and Symfony implementations for files storage
MeasureBundle (introduced v1.0) Symfony bundle to provide measure families, units and conversion capabilities
StorageUtilsBundle (introduced v1.3) Default doctrine implementations for storage access (remover, saver, updater, repositories, etc)

PIM bundles

Bundle Scope
AnalyticsBundle (introduced v1.5) Implementations of data collectors to provide PIM statistics
BaseConnectorBundle (introduced v1.0) Legacy import system and still in use export system (will be removed)
CatalogBundle (introduced v1.0) PIM business classes (models, model updaters, storage access, validation, etc)
CommentBundle (introduced v1.3) Generic comment implementations, used by products
ConnectorBundle (introduced v1.4) classes to integrate import system with Symfony and Doctrine
DashboardBundle (introduced v1.0) Dashboard and widgets system
DataGridBundle (introduced v1.0) Override the OroDataGridBundle to add the multi storage capability and product oriented services
EnrichBundle (introduced v1.0) Symfony and Doctrine glue classes to provide User Interface
FilterBundle (introduced v1.0) Override the OroFilterBundle to add the multi storage capability and product oriented services
ImportExportBundle (introduced v1.0) UI for import/export
InstallerBundle (introduced v1.0) Installation system of the PIM
JsFormValidationBundle (introduced v1.0) Override of APY/JsFormValidationBundle to provide javascript validation for dynamic models
LocalizationBundle (introduced v1.5) Symfony implementation of localization features
NavigationBundle (introduced v1.0) Override OroNavigationBundle
NotificationBundle (introduced v1.3) Implementation of a centralized PIM notifications system
PdfGeneratorBundle (introduced v1.3) Classes to generate a PDF datasheet for a product
ReferenceDataBundle (introduced v1.4) Classes to provide reference data support for PIM features
TransformBundle (introduced v1.0) Handles normalization and denormalization of PIM models
UIBundle (introduced v1.0) CSS and JS Assets for the PIM
UserBundle (introduced v1.0) Override OroUserBundle
VersioningBundle (introduced v1.0) Versioning implementation for the PIM domain models
WebServiceBundle (introduced v1.0) Very light Web Rest API (json format)

Akeneo Enterprise bundles

Bundle Scope
FileMetadataBundle (introduced v1.4) Generic file metadata extractor (used by ProductAssetBundle)
FileTransformerBundle (introduced v1.4) Generic file transformation system (used by ProductAssetBundle)
RuleEngineBundle (introduced v1.3) Generic rule engine (implemented for products in CatalogRuleBundlebut usable for others models)

PIM Enterprise bundles

Bundle Scope
CatalogRuleBundle (introduced v1.3) Implementation of the base rule engine to products
ProductAssetBundle (introduced v1.4) Product assets management
SecurityBundle (introduced v1.0) Delivers advanced permissions system
WorkflowBundle (introduced v1.0) Provides workflow capabilities

Akeneo Labs bundles

Bundle Scope
CustomEntityBundle (Optional) Eases the creation of custom entity and related views in the PIM

Note

You can also use our “AkeneoLabs” bundles, they could be integrated later in the core of the PIM, we do experiments here