ecm.dms
Der Namespace ecm.dms enthält alle Operationen rund um ECM-Objekte: Ordner, Register und Dokumente.
| Methode | Beschreibung |
|---|---|
Gibt einen HOL-Query-Builder zurück (mit Hierarchie, Varianten, Dateiinfos, Basisparametern). |
|
Gibt einen LOL-Query-Builder zurück (schneller für große, flache Ergebnismengen; ohne Hierarchie, Varianten und Dateiinformationen). |
|
Lädt ein einzelnes Objekt anhand seiner ID. |
|
Legt ein neues Objekt an und gibt die ID zurück. |
|
Legt ein neues Objekt an und gibt die vollständige Instanz zurück. |
|
Legt eine neue Variante eines bestehenden Dokuments an. |
|
Legt eine neue Variante an und gibt die vollständige Instanz zurück. |
|
Liest den Variantenbaum eines Dokuments, ohne Modellklasse. |
|
Gibt die aktuell aktive Variante eines Dokuments zurück. |
|
Schaltet die aktive Variante eines bestehenden Variantenbaums um. |
|
Aktualisiert ein bestehendes Objekt. |
|
Aktualisiert ein bestehendes Objekt und gibt die aktualisierte Instanz zurück. |
|
Gibt einen Upsert-Builder zurück (XMLImport). |
|
Löscht ein Objekt anhand seiner ID. |
|
Verschiebt ein Dokument oder Register an einen neuen Speicherort. |
|
Kopiert einen Ordner, ein Register oder ein Dokument an einen neuen Speicherort. |
|
Gibt die Dateien eines Dokuments zurück. |
|
Liest einen Byte-Bereich aus einer Dokument-Datei (Streaming/Chunking). |
|
Streamt die Dateien eines Dokuments chunk-weise ohne Zwischenspeicherung (Context Manager). |
|
Gibt den Digest eines Dokuments zur Integritätsprüfung zurück. |
|
Checkt ein Dokument aus und sperrt es für den aktuellen Benutzer. |
|
Checkt ein Dokument ein und ersetzt dessen Dateien. |
|
Macht das Auschecken eines Dokuments rückgängig und gibt die Sperre frei. |
|
Prüft, ob der aktuelle Benutzer die angeforderten Berechtigungen auf einem Objekt besitzt. |
|
Gibt die Änderungshistorie eines Objekts zurück. |
|
Fügt einem Objekt einen benutzerdefinierten Historieneintrag hinzu. |
|
Ermittelt die Objekttyp-ID für eine gegebene Objekt-ID. |
|
Löst einen internen Typnamen in eine dynamische Modellklasse (Folder/Register/Document) auf. |
1. ID-Parameter nehmen auch Strings
Jeder ID-Parameter des Namespace nimmt einen int oder einen String, der eine Zahl enthält,
und wandelt einen String vor dem Aufruf in int um. Das gilt für Objekt-IDs (object_id,
model, document, variant, parent_document_id, previously_active_id) ebenso wie für
Typ- und Ortsangaben (object_type_id, folder_id, register_id, register_type).
Der Grund ist der Weg, den eine ID im Anwendungscode nimmt: ein Flask- oder FastAPI-Routen-
parameter, eine CSV-Spalte, ein JSON-Body, eine als Text gelesene SQL-Spalte — überall kommt
sie als String an. Der Server nimmt sie in dieser Form nicht entgegen, ObjectID ist typisiert
und meldet einen String als -1024 "A job parameter is missing", also mit einer Meldung, die
in die Irre führt, und erst nach einer vollen Rundreise. Die Umwandlung gehört deshalb an den
Rand der Bibliothek statt in jeden Aufrufer.
folder = ecm.dms.get(InvoiceFolder, "12345") # wie get(InvoiceFolder, 12345)
doc_id, _ = ecm.dms.insert(doc, folder_id="12345") # ebenso für Ablageorte
Ein String ohne Zahl wirft sofort einen ValueError, der den Parameternamen und den Wert nennt,
bevor irgendein Job den Server erreicht. Ein float wirft einen TypeError statt still auf int
abgeschnitten zu werden.
|
|