Das Modul Puzzle verwendet intern ein objektorientiertes Modell zur Datenspeicherung. Dieses Datenmodell, IKX genannt, befindet sich im Kern einer jeden cardo-Installation. Das Ikx-Modul dient dabei „lediglich“ der Speicherung der Dokumentinhalte. Die Datensatzstruktur muss von einem anderen Modul bereitgestellt werden.
Der Dokumentinhalt wird im IKX über die Definition einer Datenklasse (mit dem Klasseneditor) beschrieben. Diese Datenklasse besteht aus Datenfeldern von einem integrierten Datentyp (Ganzzahl, Gleitkommazahl, Text, Ja/Nein, Datum/Uhrzeit, Geometrie, Binärdaten) oder enthält Datenfelder vom Typ einer anderen definierten komplexen Klasse (Nachschlageklasse). Auf diesem Weg ist die Erstellung von Datenstrukturen mit beliebiger Komplexität möglich.
-> START mit IKX
Ein integrierter Dateneditor liest die Struktur zur Laufzeit aus und generiert eine Eingabeoberfläche unter Berücksichtigung der Klassenstruktur und der auf Feldebene vergebenen Berechtigungen.
-> Dateneditor
cardo.Puzzle-Datenkonzept
Puzzle besteht aus den Elementen Kategorie, Dokument sowie Klassen und Entitäten. Die oberste Ebene im cardo.Puzzle ist eine Kategorie. Diese kann ganz themenspezifisch definiert sein. In dieser Kategorie richten Sie ihre Klassen und Entitäten ein (mit dem Klasseneditor - Management Center). Der Nutzer kann nun wiederum in der Kategorie Dokumente definieren die die Entitäten zum Inhalt haben (im Dateneditor). Folgende Abbildung soll dies veranschaulichen:
Dokument
Ein Dokument stellt die Instanz einer Datenklasse dar.
Puzzle organisiert die Datensätze in Form einer Baumstruktur. Dabei kann ein Dokumentinhalt sowohl an Ordnern als auch an „Blättern“ gespeichert werden.
Durch die Baumstruktur können die Daten besser organisiert werden, Berechtigungen können einfacher abgebildet werden und das durch Ikx bereitgestellte Feature der Vererbung von Inhalten kann verwendet werden. Jedes Element in dieser Baumstruktur kann über eine Knoten-ID referenziert (PuzzleNodeId) werden.
An jedem Datensatz/Dokument werden immer folgende Informationen gespeichert:
- Anzeigetitel
- Datum der Erstellung (automatisch)
- Datum der letzten Änderungen (automatisch)
- Anmeldename des Erstellers (automatisch)
- Anmeldename des Ändernden (automatisch)
Kategorien
Die Datenspeicherung erfolgt in der Tabelle pzl_nodes.
Um verschiedene Sachverhalte in einer cardo-Installation abzubilden werden Kategorien (man könnte es auch Fachschale nennen) definiert.
Eine Kategorie wird immer durch eine .NET-Datenklasse repräsentiert. D. h. zum Einrichten einer Kategorie muss ein wenig Programmcode geschrieben werden. Bereits vorhandene Kategorien müssen im Management Center registriert werden.
Dabei sind alle Datensätze innerhalb einer Kategorie Instanzen genau einer für diese konkrete Kategorie definierten Datenklasse.
Kategorieübergreifende Zugriffe
Um in komplexen Systemen (mit mehreren Kategorien) Kategorie übergreifende Datenzugriffe zu ermöglichen, wird eine Basisklasse vom System bereitgestellt. Der Inhalt dieser Basisklasse steht für alle Dokumente in allen Kategorien zur Verfügung. Die interne ID der Basisklasse ist vom System vorgegeben (PUZZLE$ROOTBASECLASS).
In dieser Basisklasse, welche bereits zwei feste Elemente enthält, können Sie nun weitere Entitäten einrichten.