Tous les travaux
Produits Oronts2025Ongoing

PimTx

Des modifications sûres et traçables pour Pimcore 11 et 12 lorsque de nombreuses personnes et des tâches automatisées changent les mêmes données en même temps. Verrous coopératifs, gardes de version, propriété des champs, idempotence et piste d'audit complète pour les installations à écriture concurrente.

Client: Oronts GmbH

En bref

5
Stratégies de résolution de conflits
30
Événements de cycle de vie gouvernés
35
Commandes d'exploitation CLI
0
Écrasements silencieux une fois les gardes de version actives

Le défi

Dans un grand catalogue Pimcore, de nombreuses personnes et des tâches automatisées enregistrent des modifications sur les mêmes produits au même moment. Sans protection, l'une écrase silencieusement le travail de l'autre, une seule sauvegarde peut déclencher une réaction en chaîne qui inonde le système d'historiques de versions et paralyse les files d'attente, et personne ne peut dire qui a changé quoi. Chaque projet finit par reconstruire à la main les mêmes garde-fous fragiles.

Notre approche

PimTx devient un point de passage obligatoire. Vous remplacez l'appel de sauvegarde standard par une transaction gouvernée, et chaque écriture suit un seul pipeline : contrôle préalable (politique, limites de sécurité, idempotence), gouvernance (propriété des champs, pare-feu de champs, portes d'approbation), verrou coopératif (Redis en primaire, base de données en secours, protégé par jeton), mutation (détection des opérations sans effet et contrôle de version optimiste), persistance (gardes de version et d'événements ciblées), et audit (journal des opérations, différentiels par champ, outbox, métriques, lignage). La résolution de conflits, la détection de différences, les backends de verrouillage et les notificateurs sont tous modulaires.

Architecture système

Chargement du diagramme...

Architecture système: Write call: governed transaction, Preflight: policy, safety, idempotency, Governance: ownership, field firewall, approval, Cooperative lock: Redis or DB, token-guarded, Mutation: no-op check, optimistic version check, Concurrent write, Conflict strategy: retry, skip, merge, Clean, Persist: scoped version and event guards, Audit: operation log, field diffs, outbox, lineage

Décisions d'ingénierie

Un point de passage obligé, pas des correctifs du cœur

Plutôt que de surcharger les mécanismes internes de Pimcore, PimTx enveloppe l'appel de sauvegarde afin que chaque écriture, depuis l'interface d'administration, les workers, les API et le code sur mesure, passe par un seul pipeline gouverné. La plateforme reste sûre à mettre à niveau et la gouvernance vit en un seul endroit.

Concurrence optimiste, pas de lectures bloquantes

Les lectures ne sont jamais bloquées. Les écritures prennent un court verrou coopératif et vérifient la version de l'élément avant de persister, si bien que les écritures concurrentes se disputent équitablement et qu'une écriture périmée est rejetée au lieu d'écraser des données fraîches.

La détection des opérations sans effet pour en finir avec l'explosion de versions

Une sauvegarde qui ne change rien est ignorée grâce à l'égalité des champs et à un hachage de contenu. Cette seule décision stoppe les cascades d'écouteurs qui, sinon, remplissent la table des versions et font s'effondrer les files d'attente.

Une surface de 30 événements pour contrôler sans surcharger le cœur

Chaque phase du pipeline émet un événement typé, si bien que les équipes peuvent observer une écriture ou y opposer un veto sans forker les services ni patcher le cœur.

Technologies

Backend
PHPSymfonyPimcore
Infrastructure
MySQLRedis
Frontend
ReactExtJS

Résultats clés

  • Les écritures concurrentes se résolvent équitablement au lieu de s'écraser mutuellement
  • La détection des opérations sans effet met fin à l'explosion de versions qui paralyse les files d'attente
  • Chaque écriture est auditée avec des différentiels au niveau des champs et un lignage causal
  • La gouvernance est visible via une API REST, une CLI et une double interface d'administration

Le résultat

Les modifications simultanées sont gérées en toute sécurité, sans écrasement silencieux, l'emballement de l'historique des versions est évité, et chaque changement est enregistré avec précisément ce qui a changé et qui en est à l'origine. Livré en version 1.0, produit propriétaire Oronts, avec une API REST, 35 outils en ligne de commande, une double interface d'administration (React sur Pimcore 12, ExtJS sur Pimcore 11) et un flux d'activité en direct.

Ce que donne PimTx sur un projet Pimcore d'entreprise

Sur une plateforme Pimcore à fort volume, PimTx est la couche d'écriture : les imports et les éditeurs cessent d'entrer en conflit.

  • Les imports SAP et fournisseurs tournent aux côtés des éditeurs humains sans écrasement silencieux
  • Les écritures de toutes les sources, administration, workers et API, sont gouvernées par la même politique
  • La propriété des champs et les portes d'approbation empêchent les changements système et éditeurs d'entrer en collision
  • Une piste d'audit complète répond à qui a changé quoi, et quand, pour chaque élément