Choosing an In-App Extension Method: Iframe (Embedded View) vs. Custom Component vs. Custom Apps
Akeneo provides two distinct methods for rendering custom interfaces within reserved extension spaces in the PIM: Iframe (Embedded View) and Custom Component.
Akeneo also provides a method to connect external system using the API, Custom Apps.
Your choice of method depends on your hosting requirements, desired level of integration with the PIM's native systems, and use case.
Quick Guide:
→ Use an Iframe (Embedded View) to embed an existing, self-hosted application with minimal changes.
→ Use a Custom Component to build new, deeply integrated features that use Akeneo's UI and permissions.
→ Use a Custom App to handle heavy tasks such as data synchronization, automation, and large-scale operations.
Iframe (Embedded View)
An Iframe renders an externally hosted web application within a designated area of the Akeneo UI. This method is best suited for integrating existing, standalone applications into the PIM with minimal modification.
Key Characteristics
- Hosting: The application is self-hosted. You are responsible for the infrastructure, deployment, and choice of technology stack (framework, language, etc.).
- Integration: This method is ideal for displaying an existing external application or service. It requires few to no adjustments to your existing codebase.
- Autonomy: You have full control over the application's codebase and release cycle, independent of the PIM.
- Security: Your application is responsible for its own authentication and security. All embedded content must still adhere to Akeneo's security policies.
Custom Component
A Custom Component is a natively rendered extension built using the Akeneo SDK. The component's assets are hosted by Akeneo, and it integrates directly with PIM functionalities like user permissions. This approach is best for building features that feel like a seamless part of the Akeneo PIM.
Key Characteristics
- Hosting: The component's JavaScript is hosted by Akeneo.
- Permissions: The component natively respects Akeneo's user permissions system. You can control access on a per-user or per-role basis directly within the PIM's access rights settings.
- SDK Integration: The Akeneo SDK provides access to the PIM's UI component library and development utilities, enabling faster development of natively-styled interfaces.
- Secure API Calls: You can make authenticated calls to external systems through a secure backend proxy provided by Akeneo. This prevents client-side exposure of credentials and simplifies data fetching.
Custom Apps
A Custom App is an external application that connects to Akeneo through its API and event system, rather than being rendered directly within the PIM user interface.
Custom Apps are best suited for advanced, large-scale, or automated use cases that require deep backend integrations, data synchronization, or long-running operations.
A Custom App can run independently, or it can be embedded in an iframe to provide a visual interface directly within the PIM.
While it’s technically possible to use a Custom App together with a Custom Component, we don’t recommend this approach. You’ll need to maintain two separate systems and codebases at the same time.
If you already have an existing system with APIs to fetch or send data, a Custom Component is usually a better fit. If your goal is to build a standalone application, use a Custom App instead and embed it.
Key Characteristics
- Hosting: Fully self-hosted, you deploy and manage it on your own infrastructure or preferred cloud provider.
- Integration: Connects to Akeneo via REST and Events APIs, enabling the app to read, write, and synchronize PIM data such as products, attributes, assets, and categories.
- Authentication: Uses a secure OAuth 2.0 flow. Once installed, the app operates with the permissions and scopes approved by the Akeneo user.
-
UI Options:
- Can have it’s own frontend interfaces.
- Can run headlessly, as a pure backend process.
- Can be rendered via an Iframe in Akeneo to provide a visual control panel, dashboard, or configuration screen.
- Automation & Scalability: Ideal for long-running or asynchronous tasks like importing/exporting large data volumes, processing media, or integrating multiple systems.
Comparison Summary
Use the table below to determine the best method for your specific requirements.
| Feature | Iframe (Embedded View) | Custom Component | Custom Apps |
| Rendering | Embeds an external page/can display a Custom App’s UI | Rendered natively inside PIM using Akeneo SDK | Runs externally (optionally rendered in the PIM via Iframe) |
| Hosting | Self-hosted (your infrastructure) | Hosted by Akeneo | Self-hosted |
| UI/UX | Independent of Akeneo's design system | Natively integrates with Akeneo's UI components | Independent of Akeneo's design system |
| Performance | Limited to browser runtime and capacities | Limited to browser runtime and capacities | Unbounded |
| Permissions | Managed by your external application | Integrates with Akeneo's user and role permissions | Managed through OAuth 2.0 scopes and user consent |
| External API Calls | Handled directly by your application (client-side) | Proxied securely through the Akeneo backend | Uses Akeneo REST & Events APIs directly (server-to-server) |
| Technology Stack | Any stack (e.g., PHP, Python, Ruby, Node.js) | JavaScript/TypeScript, built on the Akeneo SDK | Any backend technology |
| Primary Use Case | Embedding existing, standalone applications | Building deeply integrated, native-feeling features | Extending Akeneo with automation, large-scale synchronization, or long-running background processes |