Alle Arbeiten
Oronts-Produkte2025Ongoing

PimTx

Sichere, nachvollziehbare Änderungen für Pimcore 11 und 12, wenn viele Menschen und automatisierte Jobs gleichzeitig dieselben Daten ändern. Kooperative Sperren, Versions-Guards, Feld-Ownership, Idempotenz und ein vollständiger Audit-Trail für Installationen mit vielen gleichzeitigen Schreibern.

Kunde: Oronts GmbH

Auf einen Blick

5
Strategien zur Konfliktauflösung
30
Kontrollierte Lifecycle-Events
35
CLI-Befehle für den Betrieb
0
Unbemerkte Überschreibungen bei aktiven Versions-Guards

Die Herausforderung

In einem großen Pimcore-Katalog speichern viele Menschen und automatisierte Jobs gleichzeitig Änderungen an denselben Produkten. Ohne Schutz überschreibt einer unbemerkt die Arbeit des anderen, ein einzelner Speichervorgang kann eine Kettenreaktion auslösen, die das System mit Versionshistorie flutet und die Queues lahmlegt, und niemand kann sagen, wer was geändert hat. Am Ende baut jedes Projekt dieselben fragilen Schutzmechanismen von Hand nach.

Unser Ansatz

PimTx wird zum verpflichtenden Kontrollpunkt. Der Standard-Speicheraufruf wird durch eine kontrollierte Transaktion ersetzt, und jeder Schreibvorgang fließt durch eine Pipeline: Preflight (Richtlinien, Sicherheitslimits, Idempotenz), Governance (Feld-Ownership, Feld-Firewall, Freigabe-Gates), eine kooperative Sperre (Redis primär, Datenbank als Fallback, token-gesichert), Mutation (No-Op-Erkennung und optimistische Versionsprüfung), Persistenz (gescopte Versions- und Event-Guards) und Audit (Operationslog, Feld-Diffs, Outbox, Metriken, Lineage). Konfliktauflösung, Diff-Erkennung, Locking-Backends und Notifier sind durchgängig austauschbar.

Systemarchitektur

Diagramm wird geladen...

Systemarchitektur: 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

Engineering-Entscheidungen

Ein Kontrollpunkt, keine Core-Patches

Statt Pimcore-Interna zu überschreiben, kapselt PimTx den Speicheraufruf, sodass jeder Schreibvorgang, aus der Admin-Oberfläche, von Workern, APIs und eigenem Code, durch eine kontrollierte Pipeline läuft. Die Plattform bleibt upgrade-sicher, und die Governance lebt an einer Stelle.

Optimistische Nebenläufigkeit statt blockierender Lesezugriffe

Lesezugriffe werden nie blockiert. Schreibzugriffe nehmen eine kurze kooperative Sperre und prüfen die Elementversion vor dem Persistieren. So konkurrieren gleichzeitige Schreiber fair, und ein veralteter Schreibvorgang wird abgelehnt, statt frische Daten zu überschreiben.

No-Op-Erkennung gegen die Versionsexplosion

Ein Speichervorgang, der nichts ändert, wird über Feldgleichheit und einen Content-Hash übersprungen. Diese eine Entscheidung stoppt die Listener-Kaskaden, die sonst die Versionstabelle füllen und Queues zum Absturz bringen.

Eine Schnittstelle aus 30 Events für Kontrolle ohne Overrides

Jede Phase der Pipeline sendet ein typisiertes Event. Teams können so einen Schreibvorgang beobachten oder per Veto stoppen, ohne Services zu forken oder den Core zu patchen.

Technologie

Backend
PHPSymfonyPimcore
Infrastruktur
MySQLRedis
Frontend
ReactExtJS

Kernergebnisse

  • Gleichzeitige Schreibzugriffe werden fair aufgelöst, statt einander zu überschreiben
  • No-Op-Erkennung beendet die Versionsexplosion, die Queues lahmlegt
  • Jeder Schreibvorgang wird auditiert, mit Diffs auf Feldebene und kausaler Lineage
  • Governance ist sichtbar über REST-API, CLI und eine doppelte Admin-Oberfläche

Das Ergebnis

Gleichzeitige Änderungen werden sicher verarbeitet, ohne unbemerkte Überschreibungen, die ausufernde Versionshistorie wird verhindert, und jede Änderung wird mit genau dem festgehalten, was sich geändert hat und wer sie ausgelöst hat. Ausgeliefert als Version 1.0, ein proprietäres Oronts-Produkt, mit REST-API, 35 Kommandozeilen-Tools, einer doppelten Admin-Oberfläche (React auf Pimcore 12, ExtJS auf Pimcore 11) und einem Live-Aktivitätsstream.

Wie PimTx in einem Enterprise-Pimcore-Projekt aussieht

Auf einer Pimcore-Plattform mit hohem Volumen ist PimTx die Schreibschicht, sodass Importe und Redakteure aufhören, sich gegenseitig in die Quere zu kommen.

  • SAP- und Lieferantenimporte laufen neben menschlichen Redakteuren, ohne unbemerkte Überschreibungen
  • Schreibzugriffe aus jeder Quelle, Admin, Worker und API, unterliegen derselben Richtlinie
  • Feld-Ownership und Freigabe-Gates verhindern, dass System- und Redakteursänderungen kollidieren
  • Ein vollständiger Audit-Trail beantwortet für jedes Element, wer was wann geändert hat