PropertyExchangeFolder — die Ordnerstruktur #

Der zentrale Gedanke: Die Ordnerstruktur ist das Datenmodell. Kein System aus künstlichen Datenbank-IDs, sondern eine sprechende Hierarchie, in der der Ort einer Datei bereits sagt, worauf sie sich bezieht. Dokumente werden so hoch wie nötig, so genau wie möglich abgelegt.

Der Baum #

ROOT/
├── LIEGENSCHAFTEN/
│   └── <liegenschaft-slug>/                   ANKER: Flurstück
│       ├── stammdaten.xml
│       ├── <dokumente>.pdf
│       └── GEBAEUDE/
│           └── <gebaeude-slug>/               ANKER: Koordinaten
│               ├── stammdaten.xml
│               ├── <dokumente>.pdf
│               └── EINHEITEN/
│                   └── <einheit-slug>/        ANKER: Etage + Position
│                       ├── stammdaten.xml
│                       └── <dokumente>.pdf
├── PERSONEN/
│   └── <person-slug>/                         ANKER: Name + Geburtsdatum
│       ├── stammdaten.xml
│       └── <dokumente>.pdf
└── FIRMEN/
    └── <firma-slug>/                          ANKER: Handelsregister
        ├── stammdaten.xml
        └── <dokumente>.pdf

Ebenen und ihre Anker #

Jede Entität hat einen Anker — ein Merkmal, das sich nie ändert und die Identität stabil hält, auch wenn sich Namen, Eigentümer oder Nutzung wandeln.

EbeneOrdnerAnker (unveränderbar)Slug-Beispiel
LiegenschaftLIEGENSCHAFTEN/<slug>/Flurstück-Nummerwehrheim-3-42-1
GebäudeGEBAEUDE/<slug>/GPS-Koordinatenhauptstr-7
EinheitEINHEITEN/<slug>/Etage + Position3og-links
PersonPERSONEN/<slug>/Name + Geburtsdatummueller-max-1985
FirmaFIRMEN/<slug>/Handelsregistersanitaer-meier-hrb12345

Slug-Regeln #

Die Slugs sind bewusst streng, damit sie plattformübergreifend und maschinenlesbar bleiben:

  • nur [a-z0-9-] — Kleinbuchstaben, Ziffern, Bindestrich
  • keine Leerzeichen, keine Umlaute (ae/oe/ue/ss)
  • Bindestrich als Trennzeichen
  • so kurz wie eindeutig nötig
EbeneMusterBeispiel
Liegenschaftgemarkung-flur-flurstueckwehrheim-3-42-1
Gebäudestrasse-hausnummerhauptstr-7
Einheitetage-position3og-links, eg-rechts, keller-3
Personnachname-vorname-geburtsjahrmueller-max-1985
Firmakurzname-registersanitaer-meier-hrb12345

Ablage-Regeln #

Dokumente gehören dorthin, worauf sie sich beziehen — und zwar auf die genaueste Ebene, die zutrifft. Eine Heizkostenabrechnung für eine einzelne Wohnung liegt bei der Einheit, ein Wärmeliefervertrag fürs ganze Haus beim Gebäude, ein Grundbuchauszug bei der Liegenschaft.

Warum sprechende Ordner statt IDs? Weil die Struktur damit ohne Spezialsoftware verständlich bleibt — im Dateimanager, im Backup, in zehn Jahren. Genau das ist Datenhoheit in der Praxis: Man versteht seine Daten auch dann noch, wenn das Programm längst vergessen ist.

Internationalisierung #

Für den internationalen Einsatz können die Ebenen zusätzlich eine sprachunabhängige Nummer tragen (z. B. 2_1_LIEGENSCHAFTEN bzw. 2_1_PROPERTIES). Ein Parser findet den richtigen Ordner dann über die Nummer, unabhängig vom sprachlichen Namen — maschinenlesbar und menschlich lesbar zugleich.