std.GetCPObjectInfo

Dieser Job liefert die kompakten Metadaten zu einem DMS-Objekt, die ein Worker-Service der Content-/Processing-Pipeline (Volltext-Indexer, Rendition-Cache, …​) für die weitere Verarbeitung benötigt — insbesondere Verarbeitbarkeits-Status, Mimetype, Hash, hierarchischen Pfad und das Vorhandensein eines Volltext-Inhalts.

Typischer Aufrufkontext ist der direkte Folgejob nach einem erfolgreichen std.GetNextCPMessage-Pickup; siehe Lebenszyklus einer Nachricht.

Der Job ist in der offiziellen enaio®-Standard-Engine-Übersicht (std) nicht gelistet.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

ObjectID

INT

Ja

Numerische ID des DMS-Objekts, dessen Metadaten geliefert werden sollen.

[ObjectType]

INT

Nein

Numerische ID des Objekttyps. Wenn nicht angegeben, ermittelt der Server den Typ selbst. Mitgegeben — falls bekannt — spart einen Datenbank-Lookup.

Flags

INT

Ja

Steuerung des Detailgrads der Ausgabe. Typischer Wert: 2 (vollständige Metadaten einschliesslich Hash, MimeTypeGroup und Pathes).

[Rights]

STRING

Nein

Zu prüfende Zugriffsrechte als Buchstaben-Kombination (z. B. RWXDU). Nur wenn dieser Parameter gesetzt ist, führt der Server eine Berechtigungsprüfung gegen das Objekt durch und liefert die effektiv gewährten Rechte im gleichnamigen Ausgabeparameter zurück. Ohne Rights findet keine Prüfung statt — Aufruf ist für interne Service-Kontexte ohne Benutzerprüfung gedacht.

[OutputUnicode]

INT

Nein

1 — String-Felder der Ausgabe werden als UTF-16 geliefert. Default: ANSI.

2. Ausgabeparameter

Der Server liefert nur die Felder zurück, die für das angegebene Objekt zutreffen. Für Container-Objekte (Mappen, Ordner, Register) sind dokumentbezogene Felder wie MimeType, PageCount, Hash und HasVolltextFile leer bzw. 0/false.

Name Typ Abhängigkeit Beschreibung

[ObjectType]

INT

Optional

Numerische ID des Objekttyps. Kann vom übergebenen Input-ObjectType abweichen, wenn z. B. eine Variante adressiert wurde.

[OriginalObjectType]

INT

Optional

Ursprüngliche Objekttyp-ID vor einer eventuellen Auflösung (z. B. Variante → Hauptobjekt).

[PageCount]

INT

Optional

Anzahl der Dokumentseiten. 0 für Nicht-Dokument-Objekte.

[Rights]

STRING

Wenn Rights im Input gesetzt war

Tatsächlich gewährte Rechte als Buchstaben-Kombination (Format wie im Input).

[Hash]

STRING

Optional

SHA-256-Hex-Hash des Dokumenten-Inhalts (64 Zeichen). Zur Änderungsdetektion gegenüber dem zuletzt indexierten Stand verwendbar.

[ForeignID]

INT

Optional

Externe Referenz-ID des Objekts (für Drittsystem-Anbindungen). 0, wenn keine vorhanden.

[SystemID]

INT

Optional

enaio®-System-ID des Objekts (relevant in Multi-System-Setups).

[MimeType]

STRING

Optional

MIME-Typ des Dokumentinhalts (z. B. application/pdf, message/rfc822, image/jpeg).

[MimeTypeID]

INT

Optional

Numerische MIME-Typ-ID.

[MimeTypeGroup]

STRING

Optional

Grobklassifikation des Mimetypes, die die zuständige Konverter- bzw. Rendition-Pipeline bestimmt. Bekannte Werte: PDF, MAIL, WORD, POWERPOINT, IMAGE.

[Extension]

STRING

Optional

Datei-Endung (z. B. pdf).

[Pathes]

STRING

Optional

Hierarchischer Pfad des Objekts durch die Ordner-/Register-Struktur als /-getrennte Kette von Objekt-IDs mit abschliessendem ;. Mehrere Pfade (Mehrfach-Ablage) werden untereinander durch ; getrennt. Beispiel: 2408495/2660649/2678228;.

[ObjectTypePathes]

STRING

Optional

Analog zu Pathes, jedoch mit Objekttyp-IDs statt Objekt-IDs. Korrespondiert positionsweise mit Pathes. Beispiel: 33/6488103/262248;.

[Deleted]

BOOL

Optional

true, wenn das Objekt als gelöscht markiert ist. Worker brechen die Verarbeitung in diesem Fall ab.

[Recycled]

BOOL

Optional

true, wenn das Objekt nach Wiederherstellung erneut gelöscht wurde.

[InactiveVariant]

BOOL

Optional

true, wenn das Objekt eine inaktive Dokumentvariante ist (nicht die aktuell aktive Version).

[HasAnnotations]

BOOL

Optional

true, wenn Annotationen (Notizen, Markierungen, Stempel) am Objekt vorliegen. Relevant für die Rendition: ob Annotationen in den Rendition-Output eingebrannt werden müssen.

[HasVolltextFile]

BOOL

Optional

true, wenn bereits ein extrahierter Volltext-Inhalt für das Objekt vorliegt — der Indexer kann ihn direkt aus dem Cache lesen statt eine neue Rendition anzufordern.

[ClientCrypted]

BOOL

Optional

true, wenn das Objekt clientseitig verschlüsselt ist.

3. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode.

4. Hinweise

  • Reiner Lesezugriff — Mehrfachaufrufe sind idempotent.

  • HasVolltextFile steuert den weiteren Pfad: Bei true kann der Volltext-Inhalt direkt über std.GetCPObjectIdxFulltext gelesen werden; bei false muss zuerst eine Rendition angefordert werden, z. B. über std.CreateCPMessages mit CreateRenditionMessages=true.

  • Hash kann gegen den zuletzt verarbeiteten Wert verglichen werden, um zu entscheiden, ob eine Neu-Indexierung tatsächlich nötig ist.

  • Pathes und ObjectTypePathes korrespondieren positionsweise: zu jeder Komponente in Pathes steht an derselben Position in ObjectTypePathes die zugehörige Objekttyp-ID.

5. Verwandte Jobs

  • std.GetNextCPMessage — liefert die ObjectID, mit der dieser Job direkt im Anschluss aufgerufen wird

  • std.GetCPObjectIdxFulltext — liefert den extrahierten Volltext-Inhalt des Objekts (sinnvoll bei HasVolltextFile=true)

  • std.CreateCPMessages — fordert eine fehlende Rendition nach (sinnvoll bei HasVolltextFile=false)

  • std.CPRenditionChanged — meldet, dass die Rendition zu einem Objekt aktualisiert wurde

  • std.GetDocumentDigest — liefert ausschliesslich den Hash; geeignet, wenn nur die Änderungsdetektion benötigt wird

  • dms.GetObjectDetails — vollständige Objektabfrage inklusive aller Indexfelder; deutlich aufwendiger als dieser Job