Advanced Extensions
#Getting started
In this section, you will learn how to create your first Custom Component in under a minute. By following this quick guide, you'll gain the skills needed to effectively use the UI for creating and managing UI Extensions.
#Prerequisites
Before building custom component extensions, you'll need:
- JavaScript/TypeScript Knowledge: Familiarity with modern JavaScript
- Node.js and npm: For dependency management
- Akeneo Extension SDK: The official SDK for building extensions
- Development Environment: A code editor and terminal
- PIM Access: A connection, an app or the proper permissions to create and manage UI Extensions in the PIM
#Development Workflow
Building a Custom Component extension follows a streamlined three-step process:
#1. Clone the SDK Repository and Setup
Start by cloning the Akeneo Extension SDK repository which provides ready-to-use example projects. Navigate to one
of the example directories (e.g., examples/quickstart for beginners or examples/stock_data_on_panel for advanced usage) and follow the setup instructions
in its README.md. These examples serve as templates for building your own JavaScript application with access to PIM APIs, user context, and secure external
API calls.
#2. Build and Prepare Your Script
The SDK repository provides a ready-to-use build configuration based on Vite and npm, with convenient Makefile commands to streamline your development workflow. Once you've developed your custom component, use the provided build tools to transpile and minify your code:
# Build your extension for production
make build
# or
npm run build
This will:
- Transpile modern JavaScript/TypeScript to browser-compatible code
- Bundle all dependencies into a single file
- Minify the code for optimal performance
- Output a deployable JavaScript file in the dist/ directory
The resulting bundle is optimized to run directly within the PIM's secure sandbox environment.
- Upload Your Extension
Via PIM UI (Recommended):
-
Navigate to the UI-extensions list, in the
PIM System > Ui Extensions -
Click Create and select Custom Component
-
Fill in the form:
- Choose a name for your extension, the name is a technical field and should not contain spaces or specials characters
- Enter a default label, this label will be displayed in the ui. You can name your extension in referebnce to its purpose (e.g., "link to ERP")
- Leave the position to the default value Product Tab
There is 8 positions available for the type Custom Component:
- Product Tab
- Product Model Tab
- Sub-Product Model Tab
- Product panel
- Product Model panel
- Sub-Product Model panel
- Category Tab
- Activity Tab
- Upload your built JavaScript file from the dist/ folder
- Save to create a new extension
Note that once created, it is possible to partialy update an extension and load a new script fiel for example.
Via API:
You can also deploy extensions programmatically using the REST API. This is particularly useful for CI/CD workflows and automated deployments. See the #api-deployment section for detailed examples.
#Test the component
Find your newly created UI-extension in the UI:
- Product Tab → On the left section of a product enrichment page (also a variant product), an extensions section should appears
You might need to refresh the page to see the button appear
- Click on the extension label in the extension section
- The quickstart example open and display information from the PIM api.
Congratulation, you have created your first custom component