Unter Schema versteht man die Struktur der Daten. In LEXolution.DMS kann ein Anwender sich sein Schema selber anpassen.
Listen
Auswahllisten können distinkte Werte aus einer Datenbankspalte anbieten oder auch eine feste Liste, welche vom Anwender konfiguriert werden kann.
Laden der Listendefinitionen
var listdata = await dms.Schema.LoadListData();Das Ergebnisobjekt enthält eine Liste mit den konfigurierten festen Auswahllisten (Lists) und die Zuordnung, welches Feld mit welcher Auswahlliste verknüpft ist (FieldListRelations).
Es gibt spezielle Listen, welche Systemrelevant sind. Diese enthalten
einen Wert in der ListKey-Eigenschaft. Zurzeit ist das lediglich die
Dokumentkategorie. Um diese Liste zu finden, kann man das ListKey-Feld
mit dem Wert ListKeys.DocumentCategory vergleichen.
var documentCategoryList = listdata.Lists
.FirstOrDefault(l => l.ListKey == ListKeys.DocumentCategory);Das Feld ColorName in der Liste kann den .Net-Namen
einer Farbe enthalten, aber in der Regel ist es ein String in folgendem
Format: r=255,g=0,b=0.
Themendefinitionen
Es gibt verschiedene und vom Anwender auch in Grenzen konfigurierbare Akten-/Ordnertypen. Diese werden Themen (engl. Topics) bezeichnet. Der Anwender kann die ausgelieferten Themen modifizieren und sich eigene zusätzlich erstellen. Die Liste der beim Anwender eingestellten Themen kann über den folgenden Aufruf abgefragt werden.
var topics = await dms.Schema.LoadTopicVisualLayers();Das Ergebnis ist eine Liste mit Definitionen. Zuerst werden die
Basistypen geliefert, also Document, Dossier
und Folder. Danach kommen die eigentlichen Themen. Die
Klassen der Liste haben 4 ItemDtos-Listen Eigenschaften, welche aber nur
je nach Art der Definition befüllt sind. Bei dem Basistyp
Document ist die Eigenschaft DocumentItemsDto
gesetzt und enthält die Felder, welche jedes Dokument besitzt.
Bei den beiden Basistypen Dossier und Folder
ist jeweils das ContainerItemsDto gesetzt und enthält
analog dazu die allgemeine Akten-/Ordnerfelder.
Bei den restlichen Definitionen ist in der Regel sowohl
ContainerIndexItemsDto, als auch
DocumentIndexItemsDto gesetzt. Die einzige Ausnahme sollte
das Thema Mail sein, welcher nur Dokumentfelder
enthält.
Verknüpfung mit