Integration of Statamic into a multi-tenant Laravel e-commerce application with API Data Exchange to MS Azure AD and Akeneo PIM

Tags: Laravel Varnish Cache SAP API Statamic E-Commerce Performance

This project aimed to integrate the Statamic content management system into a multi-tenant Laravel e-commerce platform and extend it to meet the specific requirements of a multi-tenant environment. By connecting with Microsoft Entra ID (formerly Azure Active Directory) and Akeneo PIM, the solution provides seamless integration of product information and user management via single sign-on (SSO). The architecture ensures that clients can work in different languages, use completely isolated databases and receive individual authorizations and customization options. The solution combines the flexibility of Statamic with the comprehensive functions of the e-commerce platform and integrates reliable data storage and authentication.

 

Functionalities in detail

  1. Extension of Statamic for multi-tenant functionality:
    • Statamic, as a Laravel-based CMS, has been specifically extended to support multiple clients. Data structures and authorizations have been adapted so that each client has an isolated environment with its own data, authorizations and functionalities.
    • Each client instance can use different languages and manage its own layouts and design elements. An inheritance principle ensures that global layouts and designs can be adopted, with the option of overwriting specific elements for each client individually.
  2. Flat file configuration and content storage:
    • Statamic's configuration files are managed via a Git repository, allowing for flexible versioning and rollback options.
    • Content is sourced via a Microsoft Azure network drive, which simplifies centralized management and storage. The customization of this hybrid setup provides clients with a stable and efficient solution for content management and delivery.
  3. Special caching strategies for network drive content:
    • Since the content is stored on a Microsoft Azure network drive, a caching solution has been implemented to ensure fast access to frequently accessed content while minimizing network load.
    • This special caching strategy ensures fast loading times and an optimized user experience, especially with large data volumes and high access frequency.
  4. Integration of Microsoft Entra ID and Akeneo PIM:
    • The application is connected to Microsoft Entra ID (Azure AD) and Akeneo PIM via special components.
    • Single Sign-On (SSO) authentication is performed via Microsoft Entra ID, which provides a secure and user-friendly authentication method for the platform.
    • Akeneo PIM enables the automatic synchronization and management of product information for the various clients. This means that product data is maintained centrally and can be easily integrated into the multi-tenant environment.
  5. Client-specific authorizations and functionalities:
    • Each client can access Statamic functions and content via a dedicated authorization model, tailoring control over content and access rights to the specific needs of each client.
    • This granular authorization structure allows precise control over who can access which areas and enables clients to manage content and designs individually.