100 lines
8.2 KiB
Plaintext
100 lines
8.2 KiB
Plaintext
<mxfile host="app.diagrams.net" version="24.0.0">
|
||
<diagram name="cpq-geko Abgrenzung" id="geko76-abgrenzung">
|
||
<mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1400" pageHeight="850" math="0" shadow="0">
|
||
<root>
|
||
<mxCell id="0" />
|
||
<mxCell id="1" parent="0" />
|
||
|
||
<!-- cpq Container -->
|
||
<mxCell id="cpq" value="cpq (universell)" style="swimlane;startSize=32;fontSize=14;fontStyle=1;fillColor=#dae8fc;strokeColor=#6c8ebf;swimlaneFillColor=#f5f9ff;rounded=1;" vertex="1" parent="1">
|
||
<mxGeometry x="40" y="40" width="540" height="640" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-graph" value="<b>Szenegraph &amp; PMI-Einbau</b><br>Gruppe = Weltkoordinaten-Anker<br>PMI-Snap / Placement-Mode" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="50" width="500" height="70" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-registry" value="<b>Modul-Registry</b><br>Anmeldung pro Produktfamilie" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="140" width="500" height="55" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-events" value="<b>Domain-Events</b> (nach abgeschlossener Topologie-Änderung)<br>element_platziert (Mouse-Up) · pmi_belegt / pmi_frei · element_geloescht" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="215" width="500" height="70" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-query" value="<b>Query-API</b><br>belegte PMIs eines Nodes (+ Winkel) · Nachbarn + Metadaten" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="305" width="500" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-commands" value="<b>Kommandos</b><br>split_in_gruppe · inplace_modelltausch (Node-Identität bleibt) · loeschen" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="385" width="500" height="65" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-cascade" value="<b>Lösch-Kaskade mit Hook</b><br>registrierte Projektregel darf Löschmenge ändern" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="470" width="500" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="cpq-ui" value="<b>Detailmenü-Rahmen</b><br>rendert projektspezifische Felder aus Konfiguration" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#6c8ebf;" vertex="1" parent="cpq">
|
||
<mxGeometry x="20" y="550" width="500" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<!-- geko Container -->
|
||
<mxCell id="geko" value="geko: Schutzzaun-Modul (projektspezifisch)" style="swimlane;startSize=32;fontSize=14;fontStyle=1;fillColor=#d5e8d4;strokeColor=#82b366;swimlaneFillColor=#f7fcf5;rounded=1;" vertex="1" parent="1">
|
||
<mxGeometry x="820" y="40" width="520" height="510" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="geko-split" value="<b>Zerlegungsvorschrift</b><br>Allround → Steher / Zaun / Steher (in Gruppe)" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
|
||
<mxGeometry x="20" y="50" width="480" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="geko-matrix" value="<b>Bauform-Matrix</b> (Datentabelle)<br>(Anbau-Seite, belegte Winkel) → Bauform · Artikel-Mapping A–G" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
|
||
<mxGeometry x="20" y="130" width="480" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="geko-height" value="<b>Höhenformel</b><br>max(2200, max(Zaunhöhe + Fußfreiheit)) · Sondersteher-Regel" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
|
||
<mxGeometry x="20" y="210" width="480" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="geko-delete" value="<b>Lösch-Sonderregel</b><br>Steher → Zäune mit · Zaun → alleinstehende Steher mit · Kettenabbruch" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
|
||
<mxGeometry x="20" y="290" width="480" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="geko-ui" value="<b>Detailmenü-Konfiguration</b><br>Bauform-Dropdown gefiltert nach Matrix · Höhen-Untergrenze" style="rounded=1;whiteSpace=wrap;html=1;align=left;spacingLeft=10;fillColor=#ffffff;strokeColor=#82b366;" vertex="1" parent="geko">
|
||
<mxGeometry x="20" y="370" width="480" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
<!-- Kanten -->
|
||
<mxCell id="e0" value="(0) registriert sich einmalig für Allround-Produktfamilie" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#82b366;fontSize=11;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="geko-split" target="cpq-registry">
|
||
<mxGeometry relative="1" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="e1" value="(1) Domain-Event" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#6c8ebf;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="cpq-events" target="geko-matrix">
|
||
<mxGeometry relative="1" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="e2" value="(2) Abfrage: belegte PMIs + Winkel, Nachbarn, Zaun-Metadaten" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#82b366;fontSize=11;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="geko-height" target="cpq-query">
|
||
<mxGeometry relative="1" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="e3" value="(3) Kommando: In-Place-Tausch, Höhe setzen, löschen" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#82b366;fontSize=11;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="geko-delete" target="cpq-commands">
|
||
<mxGeometry relative="1" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="e4" value="Hook: Löschmenge anpassen, Heal auslösen" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;startArrow=block;strokeColor=#b85450;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.75;dashed=1;" edge="1" parent="1" source="cpq-cascade" target="geko-delete">
|
||
<mxGeometry relative="1" as="geometry" />
|
||
</mxCell>
|
||
|
||
<mxCell id="e5" value="liest Konfiguration" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;strokeColor=#9673a6;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.75;dashed=1;" edge="1" parent="1" source="cpq-ui" target="geko-ui">
|
||
<mxGeometry relative="1" as="geometry" />
|
||
</mxCell>
|
||
|
||
<!-- Legende -->
|
||
<mxCell id="legend" value="Zyklus pro Topologie-Änderung: (1) Event → (2) Abfrage → (3) Kommando Abgrenzungsregel: wortgleich wiederverwendbar = cpq · kennt Artikelnummern / Winkel-Matrix / Zaun-Begriffe = geko" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=1;fillColor=#fff2cc;strokeColor=#d6b656;spacingLeft=10;fontSize=12;" vertex="1" parent="1">
|
||
<mxGeometry x="40" y="710" width="900" height="60" as="geometry" />
|
||
</mxCell>
|
||
|
||
</root>
|
||
</mxGraphModel>
|
||
</diagram>
|
||
</mxfile>
|