Objekttyp-ID

Die numerische Objekttyp-ID identifiziert in enaio® jeden Objekttyp eindeutig (Ordner, Register, Dokumente, Mappen, Notizen). Sie taucht in der API u. a. als Parameter objecttypeid (z. B. mng.ExportSecuritySystem), als XML-Attribut id auf <ObjectType> (DMSContent-, DMSData-Dokumente), als Rückgabewert ObjectType aus dms.GetObjectTypeByID und als Attribut object_type in Sicherheitssystem-XML-Strukturen auf.

1. Berechnung

Die Objekttyp-ID setzt sich aus zwei 16-Bit-Anteilen zusammen:

objecttypeid = (maintype << 16) | cotype
  • maintype — Highword (obere 16 Bit): klassifiziert die grobe Art des Objekttyps.

  • cotype — Lowword (untere 16 Bit): laufender Untertyp-Index innerhalb der Klasse, beginnend bei 0.

Aus einer gegebenen Objekttyp-ID lassen sich beide Anteile zurückgewinnen:

maintype = (objecttypeid >> 16) & 0xFFFF
cotype   =  objecttypeid        & 0xFFFF

2. Haupttypen (maintype)

Objekttyp maintype (dez) maintype (hex) cotype-Bereich

Ordner

0

0x0000

>= 0

Dokument — Graustufen

1

0x0001

>= 0

Dokument — Schwarz/Weiß

2

0x0002

>= 0

Dokument — Farbe

3

0x0003

>= 0

Dokument — Windows

4

0x0004

>= 0

Dokument — Multimedia

5

0x0005

>= 0

Dokument — E-Mail

6

0x0006

>= 0

Dokument — XML

7

0x0007

>= 0

Dokument — Container

8

0x0008

>= 0

Register

99

0x0063

>= 0

Typenloses Dokument in der Benutzerablage

200

0x00C8

17 (Dokument-Haupttyp)

Typenloses Dokument in der Workflowablage

300

0x012C

17 (Dokument-Haupttyp)

Mappe (Portfolio)

203

0x00CB

0

Notiz

32767

0x7FFF

14

3. Beispiele

objecttypeid maintype cotype Bedeutung

0

0

0

Erster Cabinet-Folder (Schrank-Ordner)

1

0

1

Zweiter Cabinet-Folder

262144 (0x040000)

4

0

Erstes Windows-Dokument

262145 (0x040001)

4

1

Zweites Windows-Dokument

6488064 (0x630000)

99

0

Erstes Register

6488067 (0x630003)

99

3

Viertes Register / Subregister

4. Auflösung zur Laufzeit

Zur Laufzeit lässt sich eine Objekttyp-ID gegen die Objektdefinition auflösen:

  • dms.GetObjectTypeByID liefert den ObjectType direkt zu einer Objekt-ID.

  • dms.GetObjDef liefert die vollständige Objektdefinition mit Cabinets, Objekttypen und Feldern. Aus dieser lässt sich anhand der Objekttyp-ID der interne Name, der Anzeigename und die zugrundeliegende Datenbanktabelle ermitteln.

Die XSD-Schemata in DMSObjDef und DMSContent beschreiben die maintype/cotype-Attribute auf XML-Ebene.