Dokumentobjekte (objectX)
| Diese Seite wurde automatisch aus dem Datenbank-Schema-Dump generiert und kann unvollständig oder fehlerhaft sein. |
Pro konfiguriertem DMS-Objekttyp existiert eine objectX-Tabelle, die alle Objekte dieses Typs hält. X = haupttyp + 1: object1 enthält Objekte mit haupttyp = 0, object17 solche mit haupttyp = 16 etc. Die volle Objekttyp-ID setzt sich aus haupttyp und untertyp zusammen (siehe Objekttyp-ID).
Eine objectX-Tabelle hat den folgenden Spaltenaufbau:
-
Positionen 1–35: Die 35 gemeinsamen Systemfelder — identisch über alle
objectX-Tabellen (siehe unten). -
Positionen 36+: Typspezifische Indexfelder (
feld1,feld2, …,zahl1, …,datum1, …,real1, …) — jeXunterschiedlich konfiguriert.
1. Gemeinsame Systemfelder
Die folgenden 35 Systemfelder kommen in allen objectX-Tabellen vor (Positionen 1–35, in dieser Reihenfolge). Ab Position 36 folgen typspezifische Indexfelder (feld*, zahl*, datum*, real*) — diese unterscheiden sich je X und werden nicht hier dokumentiert.
| Name | Typ | Länge | Beschreibung |
|---|---|---|---|
|
— |
Interne Objekt-ID (Primärschlüssel). Entspricht dem DMS-Systemfeld |
|
|
— |
Zeitstempel der letzten Indexdatenänderung (UNIX-Time). Entspricht |
|
|
— |
Numerischer Haupttyp des Objektes — bestimmt die Tabellenzuordnung ( |
|
|
— |
Untertyp des Dokumentes. Entspricht |
|
|
— |
Anzahl der Dokumentdateien (Seiten). Entspricht |
|
|
— |
Erstellungsdatum des Objektes. Entspricht |
|
|
255 |
Benutzername des Erstellers. Entspricht |
|
|
— |
Datum der Archivierung. Entspricht |
|
|
255 |
Benutzername des Archivars. Entspricht |
|
|
— |
Statusflags des Dokumentes (Bitmaske, z. B. archivierbar/archiviert). Entspricht |
|
|
— |
Anzahl der Verknüpfungen des Objektes. Entspricht |
|
|
— |
ID des Archivierungsmediums der Dokumentdatei. Entspricht |
|
|
255 |
Mediumname der Dokumentdatei auf dem Archivierungsmedium. Entspricht |
|
|
— |
ID des Archivierungsmediums der Vorschaudatei (Dia). Entspricht |
|
|
24 |
Mediumname der Vorschaudatei (Dia). Entspricht |
|
|
— |
Versionsnummer des Dokumentes. Entspricht |
|
|
— |
ID des sperrenden Benutzers ( |
|
|
248 |
Fremd-ID eines Verweisdokumentes. Entspricht |
|
|
— |
System-ID des Objektes (Zuordnung zu einem externen System). Entspricht |
|
|
255 |
Benutzername des letzten Bearbeiters. Entspricht |
|
|
— |
Zeitstempel der letzten Änderung am Objekt (UNIX-Time). Entspricht |
|
|
— |
Markierung für in den Papierkorb verschobene Objekte. Entspricht |
|
|
32 |
GUID des Eigentümers des Objektes. Entspricht |
|
|
32 |
ID des Security Descriptors des Objektes. Entspricht |
|
|
— |
Flags zur Steuerung der Dokumentdatei-Historisierung. Entspricht |
|
|
— |
Flags zur Steuerung der Indexdaten-Historisierung. Entspricht |
|
|
— |
Größe der Dokumentdatei in Bytes. Entspricht |
|
|
— |
MIME-Typ-ID der Dokumentdatei. Entspricht |
|
|
— |
Property-Flags des Objektes (interne Bitmaske). |
|
|
— |
Signaturzustand des Dokumentes. Entspricht |
|
|
— |
Geplantes Aufbewahrungsenddatum (vor Bestätigung). Entspricht |
|
|
— |
Verbindliches Aufbewahrungsenddatum. Entspricht |
|
|
— |
Anzahl der realen Dokumentseiten. Entspricht |
|
|
— |
Anzahl der Textnotizen am Dokument. |
|
|
— |
Anzahl der PDF-Annotationen am Dokument. Verweist auf dms.GetPDFAnnotations. |
2. Typspezifische Indexfelder
Ab Spalte 36 folgen die Indexfelder, die in der DMS-Objektdefinition (osobjdef / osobjfields) für den jeweiligen Objekttyp X konfiguriert sind. Die Spaltennamen folgen einer typabhängig-positionellen Notation; das Suffix-Schema ist über alle DMS-Objekttabellen (objectX, stammX, registerX) hinweg identisch:
| Suffix-Schema | DB-Datentyp | DMS-Datentyp (siehe dms.GetResultList) | XML-Zugriff in DMSData |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Die Zuordnung „DB-Spaltenname → semantisches Indexfeld (Anzeigename, Maskenposition, Validierung, Werteliste)" ist pro Objekttyp unterschiedlich konfiguriert und über dms.GetObjDef abrufbar. In Server-API-Aufrufen kann ein Feld wahlweise über dbname (DB-Spalte), internal_name (interner Feldname aus der Objektdefinition), osguid (GUID des Feldes) oder name (Anzeigename) adressiert werden — siehe dms.GetResultList.
Anzahl, Reihenfolge und Datentypen der typspezifischen Felder unterscheiden sich pro X:
-
Beispiel
object10: 39 typspezifische Felder (Mischung ausfeld*,zahl*,datum*,real*). -
Beispiel
object11: 1 typspezifisches Feld (feld1). -
Beispiel
object17: 2 typspezifische Felder (datum1,feld1).
| Lücken in der Nummerierung sind normal — wird ein Indexfeld aus der Objektdefinition entfernt, bleibt seine DB-Spalte ungenutzt erhalten, neue Felder erhalten dann die nächste freie Nummer. |
3. Rights-Tabelle (objectXr)
Zu jeder objectX-Tabelle existiert eine Rights-Tabelle objectXr (X = Objekttyp-ID). Sie hält die Berechtigungseinträge, die für jedes einzelne Objekt gelten (komplementär zum globalen Sicherheitssystem via ossd und Security Descriptors).
Alle objectXr-Tabellen haben identisch genau 4 Felder (alle NOT NULL):
| Name | Typ | Länge | Beschreibung |
|---|---|---|---|
|
— |
Objekt-ID. Verweist auf |
|
|
— |
Berechtigungstyp (z. B. Benutzer, Gruppe, Rolle) — interne Bitmaske zur Unterscheidung des Trägers. |
|
|
255 |
Berechtigungswert: GUID des Benutzers/der Gruppe ( |
|
|
— |
Feld- oder Aktions-Bitmaske, die regelt, welche Operationen (Lesen, Ändern, Löschen, …) auf welchen Indexfeldern erlaubt sind. |
Weiterführend: Das systemweite Sicherheitskonzept (Security Descriptors, Zugriffssteuerungs-Jobs) ist in Sicherheitssystem beschrieben.
4. Shadow-Tabelle (objectXs) — Indexdaten-Historie
Zu jeder objectX-Tabelle existiert eine Shadow-Tabelle objectXs. Sie hält die Indexdaten-Historie: bei jeder durch dms.XMLUpdate (oder vergleichbare Jobs) bewirkten Indexdatenänderung wird der vorherige Zustand der typspezifischen Indexfelder in objectXs historisiert, sofern das Flag objectX.indexhistflags aktiviert ist.
Struktur:
-
Erste Spalte (immer):
osguid(nvarchar(32)) — GUID des Snapshots. Identifiziert eine konkrete Historieversion. Der Job dms.RestoreIndexdataVersion referenziert Versionen über diese GUID. -
Danach: alle typspezifischen Indexfelder der zugehörigen
objectX-Tabelle (z. B.feld1,zahl1,datum1, …) — mit identischen Datentypen und Längen. -
Die 35 gemeinsamen Systemfelder aus
objectX(id,zeitstempel, …) sind inobjectXsnicht enthalten — Shadow-Tabellen historisieren ausschließlich Indexdaten, nicht Systemfelder.
Querverweise:
-
dms.GetShadowData — Auslesen der Historie eines Objektes.
-
dms.GetObjectHistory — Übersicht aller Historieneinträge.
-
dms.RestoreIndexdataVersion — Wiederherstellen einer Historieversion.
5. Tabellenfelder (objectXlistY, objectXlistYs)
Tabellenfelder (Grid-Felder) auf einem Objekttyp X werden in eigenen Tabellen objectXlistY gespeichert. Y ist die laufende Nummer des Tabellenfelds in der Objektdefinition (list1, list2, list3, …); jedes Tabellenfeld bekommt eine eigene objectXlistY-Tabelle. Pro Zeile des Grids existiert ein Datensatz.
Gemeinsame Spalten aller objectXlistY-Tabellen:
| Name | Typ | Länge | Beschreibung |
|---|---|---|---|
|
|
— |
Verweis auf |
|
|
— |
Zeilennummer im Grid (1-basiert, fortlaufend). |
Danach folgen die typspezifischen Spalten des jeweiligen Tabellenfelds (z. B. feld1, feld2, datum1, …) — analog zu den Indexfeldern auf der Hauptobjekttabelle.
Zu jedem Tabellenfeld existiert eine Shadow-Variante objectXlistYs mit der Indexdaten-Historie. Gemeinsame Spalten: osguid (Snapshot-Identifikator) und line; danach die typspezifischen Spalten.
6. Verwandte Server-API-Jobs
-
dms.XMLInsert — neue Objekte anlegen.
-
dms.XMLUpdate — Indexdaten/Systemfelder aktualisieren (löst Shadow-Eintrag aus, wenn
indexhistflagsaktiv). -
dms.XMLImport — Insert/Update über Such-Match (kombiniert Suche + Insert/Update auf denselben Tabellen).
-
dms.XMLDelete — Objekt löschen oder in Papierkorb verschieben.
-
dms.GetObjectDetails — Systemfelder eines Objektes auslesen.
-
dms.GetObjectHistory — Historien-Übersicht.
-
dms.GetShadowData — Inhalt einer Shadow-Version lesen.
-
dms.RestoreIndexdataVersion — Indexdaten aus Shadow wiederherstellen.
-
dms.GetObjDef — Mapping der typspezifischen Indexfelder.
-
Objekttyp-ID — Aufbau der Objekttyp-ID X.