ecm.portfolio

Der Namespace ecm.portfolio verwaltet Mappen. Eine Mappe ist eine benutzerübergreifende Sammlung von DMS-Objekten, vergleichbar mit einer Favoritenliste oder einer Arbeitsmappe. Sie kann an einen Empfänger übergeben und auf einen einzelnen Objekttyp beschränkt werden.

Methode Beschreibung

search()

Mappen anhand von Ersteller, Empfänger, Betreff, Anlagezeit oder Objekttyp suchen.

get()

Eine einzelne Mappe über ihre ID lesen.

user_favorites()

Die Favoritenmappe eines Benutzers ermitteln.

create()

Eine Mappe anlegen, optional mit Startinhalt.

delete()

Eine Mappe über ihre ID löschen.

delete_for()

Eine Mappe über Empfänger und Betreff löschen.

add_objects()

Objekte in eine Mappe legen, wahlweise unter Ersetzen des bisherigen Inhalts.

remove_objects()

Einzelne Objekte aus einer Mappe entfernen.

clear_objects()

Alle Objekte einer Mappe entfernen, die Mappe selbst bleibt bestehen.

1. Rückgabetypen

ECMPortfolio beschreibt eine Mappe, ECMPortfolioObject ein enthaltenes Objekt.

Feld Typ Beschreibung

id

int

Vom Server vergebene Mappen-ID.

created

datetime | None

Anlagezeitpunkt in der Wandzeit der Installation, siehe Zeitzone der Installation.

creator

str

Anmeldename des Erstellers.

recipient

str

Anmeldename des Empfängers, leer bei einer nicht übergebenen Mappe.

subject

str

Titel der Mappe. Die Datenbankspalte fasst 32 Zeichen.

object_type_id

int | None

Objekttyp, auf den die Mappe beschränkt ist, sonst None.

objects

list[ECMPortfolioObject]

Enthaltene Objekte, je mit id und type_id.

2. Objekte übergeben

Überall, wo Mappeninhalte erwartet werden, sind drei Schreibweisen zulässig: ein ECMPortfolioObject, ein Paar (id, type_id) und eine typisierte Modellinstanz, aus der system.id und system.type_id gelesen werden.

from ecmind_blue_client.ecm import ECMPortfolioObject

doc = ecm.dms.get(Unittest_DMS_Document, 83)

ecm.portfolio.add_objects(mappe, [doc])                            # Modellinstanz
ecm.portfolio.add_objects(mappe, [(83, 262144)])                   # Paar
ecm.portfolio.add_objects(mappe, [ECMPortfolioObject(83, 262144)]) # Datenklasse

3. Grenzen der Server-API

  • Betreff, Empfänger und Objekttyp einer bestehenden Mappe lassen sich nicht ändern. dms.ModPortfolio fasst ausschliesslich die Objektliste an. Umbenennen heisst also löschen und neu anlegen.

  • Es gibt keinen Job, der genau eine Mappe liest; get() ist eine auf eine ID eingeschränkte Suche.

  • Die fünf Jobs kennen kein Rechtemodell für Mappen.

4. Alternative über Systemfelder

Die Zuordnung von Objekten zu Mappen liegt in der Tabelle mdrel und ist zusätzlich über die Systemfelder MDMAP_ID, MDOBJ_ID und MDOBJTYPE sichtbar. Wer nur wissen will, in welchen Mappen ein Dokument liegt, kommt darüber unter Umständen schneller ans Ziel als über eine Suche mit anschliessendem Durchsehen der Objektlisten.