Menü der Dokumentation

Anbinden von externen Systemen (DMSApp)

In diesem Kapitel erfahren Sie, wie Sie externe Systeme (Drittanbieteranwendungen) an die DMSApp anbinden können, um Zuordnungen (Mappings) in der DMSApp zu erstellen. Ein externes System stellt aus Sicht der DMSApp ein Quellsystem dar. Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

Definieren eines Quellsystems

Freigegeben: Erweiterungspunkt

Wenn Sie ein System haben, das Ausgangsdaten bereitstellt (z.B. eine E-Mail-Anwendung oder ein ERP-System), müssen Sie für das Erstellen einer Zuordnung (Mapping) die Elemente des Quellsystems für ein d.3-Repository vorbereiten. Ein Element eines Quellsystems wird Quelle genannt. Eine Quelle enthält Quelleigenschaften und Quellkategorien. Indem Sie eine Quelle definieren, geben Sie der DMSApp die Möglichkeit, die Bezeichner für die Metadaten der Quelle mit den Bezeichnern für die Metadaten des d.3-Repositorys zu verbinden.

Vorbereiten Ihrer App

Damit Quellsysteme von der DMSApp gefunden werden, muss Ihre App diese Schnittstelle bereitstellen. Die DMSApp nutzt zum Auffinden von Apps, die als Quellsysteme dienen, das Konzept einer HTTP GET-Anforderung für die Rootressource (systemBaseUri-Pfad mit dem App-Namen) der Apps. Es werden alle Apps abgefragt, die an d.ecs http gateway registriert sind. Stellen Sie sicher, dass der Administrator Ihre App nicht aktiv ausgeschlossen hat.

Bereitstellen der URL zu den Quellen

Die Rootressourcen der Apps werden zyklisch abgerufen (Request). Die Antwort (Response) einer App wird daraufhin geprüft, ob eine Linkrelation namens sources enthalten ist. Diese Linkrelation gilt als Signal, dass die App als Quellsystem mindestens eine Quelle für die DMSApp anbietet. Die DMSApp führt eine HTTP GET-Anforderung auf den angegeben Link aus und erwartet von der antwortenden App ein genormtes JSON-Objekt mit dem HTTP-Statuscode 200.

Request

GET https://host/myapp/ HTTP/1.1
Accept: application/hal+json

Response

HTTP/1.1 200 OK
Content-Type: application/hal+json

{
    "_links" : {
        "sources" : {
            "href" : "/myapp/sources"
        }
    }
}

Anmerkung

Die Abfrage der Rootressourcen erfolgt anonym (ohne Authentifizierung) und wird als asynchroner Hintergrundprozess innerhalb der DMSApp ausgeführt.

Bereitstellen der Quellen

Nachdem die URLs der Quellen (sources) ermittelt wurden, werden die Quellen der Apps mit HTTP GET von der DMSApp abgerufen.

Das Beispiel zeigt, wie Sie die HTTP-Antwort der Linkrelation sources gestalten, um Quellen der DMSApp bekannt zu machen.

Request

GET https://host/myapp/sources HTTP/1.1
Accept: application/hal+json

Response

HTTP/1.1 200 OK
Content-Type: application/hal+json

{
        "sources" : [{
                "id" : "/myapp/sources/mysource",
                "displayName" : "My Source",
                "categories": [{
                        "key": "mycategory1_ID", 
                        "displayName": "My category 1"
                }, 
                {
                        "key": "mycategory2_ID", 
                        "displayName": "My category 2"
                }],
                "properties" : [{
                        "key" : "myprop1_ID",
                        "displayName" : "My property 1"
                }, 
                {
                        "key" : "myprop2_ID",
                        "displayName" : "My property 2"
                },
                {
                        "key" : "myprop3_ID",
                        "displayName" : "My property 3"
                }]
        }]
}

Struktur einer Quelle

Eigenschaft

Eigenschaft eines enthaltenen Objekts

Beschreibung

sources

-

Das Quellsystem kann in diesem Array mehrere Quellen ausliefern (z.B. E-Mail, Anlagen etc.), um verschiedene Zuordnungsarten zu unterscheiden.

id

Gibt den eindeutigen Bezeichner der Quelle an.

Die ID muss eine relative URI sein. Die relative URI sollte mit dem Namen der App beginnen, die das Quellsystem bereitstellt, damit eine Eindeutigkeit gewährleistet ist (z.B. /myapp/sources/mysource).

displayName

Gibt den Anzeigenamen an, wie er in der Administrationsoberfläche Zuordnungen im Feld Quelle angezeigt wird.

Mit Blick auf die Internationalisierung arbeitet die DMSApp mit dem HTTP-Header Accept-Language. Dieser HTTP-Header muss vom Quellsystem ausgewertet und der Anzeigename der Quelle sprachspezifisch ausgegeben werden.

categories

Gibt das Array der Kategorien der Quelle an, die für die Zuordnungsverwaltung und Zuordnungsverarbeitung zur Verfügung gestellt werden.

properties

Gibt das Array der Eigenschaften der Quelle an, die für die Zuordnungsverwaltung und Zuordnungsverarbeitung zur Verfügung gestellt werden.

Struktur einer Quellkategorie

Eigenschaft

Beschreibung

key

Gibt den eindeutigen Bezeichner der Kategorie der Quelle an.

displayName

Gibt den Anzeigenamen an, wie er in der Administrationsoberfläche Zuordnungen im Bereich Kategorien im Feld Quelle angezeigt wird.

Mit Blick auf die Internationalisierung arbeitet die DMSApp mit dem HTTP-Header Accept-Language. Dieser HTTP-Header muss vom Quellsystem ausgewertet und der Anzeigename der Kategorie sprachspezifisch ausgegeben werden.

Struktur einer Quelleigenschaft

Eigenschaft

Beschreibung

key

Gibt den eindeutigen Bezeichner der Eigenschaft der Quelle an.

displayName

Gibt den Anzeigenamen an, wie er in der Administrationsoberfläche Zuordnungen im Bereich Eigenschaften im Feld Quelle angezeigt wird.

Die DMSApp arbeitet zur Internationalisierung mit dem HTTP-Header Accept-Language. Dieser HTTP-Header muss vom Quellsystem ausgewertet und der Anzeigename der Eigenschaft sprachspezifisch ausgegeben werden.

Anmerkung

Stellen Sie Folgendes sicher: Die Quellen müssen performant abgerufen werden können, damit die Antwortzeit des Features Zuordnungen nicht negativ beeinflusst wird.

Abrufen des Standardquellsystems zu einem d.3-Repository

Freigegeben: JSON-Repräsentation

Das Standardquellsystem ist ein vordefiniertes Quellsystem pro d.3-Repository, das standardmäßig von der DMSApp bereitgestellt wird. Wenn Sie eine Erweiterung zu DMS-Funktionalitäten bereitstellen und kein eigenes Quellsystem definieren möchten, können Sie mit dem Standardquellsystem die Eigenschaften und Kategorien des d.3-Repositorys verwenden.

Die Definition eines Standardquellsystems und die zugehörigen Zuordnungen werden von der DMSApp festgelegt. Sie können Zuordnungen zu einem Standardquellsystem nicht ändern.

In diesem Kapitel erfahren Sie, wie Sie die Quellsystemdefinition je d.3-Repository abrufen können.

Um die Quellsystemdefinition eines d.3-Repositorys abzurufen, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelation zum Abrufen der Quellsystemdefinition eines d.3-Repositorys

  • Aufrufen der URL für die Quellsystemdefinition eines d.3-Repositorys

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelation zum Abrufen der Quellsystemdefinition eines d.3-Repositorys

Das JSON-Objekt zu einem d.3-Repository enthält die Linkrelation source, mit deren Hilfe Sie die Quellsystemdefinition des d.3-Repositorys abrufen können.

Response

{
        "_links": {
                "source": {
                        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/source"
                }
        },
        "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Aufrufen der URL für die Quellsystemdefinition eines d.3-Repositorys

Sie müssen sicherstellen, dass Sie sich für das d.3-Repository authentifizieren können. Nur dann können Sie die URL abrufen. Das Standardquellsystem enthält alle Kategorien und Eigenschaften des d.3-Repositorys unabhängig von den Berechtigungen des Benutzers.

Rufen Sie die Quellsystemdefinition des d.3-Repositorys mit der zuvor ermittelten URL wie folgt ab:

Request

GET https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/source HTTP/1.1
Accept: application/hal+json

Response

HTTP/1.1 200 OK
Content-Type: application/hal+json

{
        "id": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/source",
        "displayName": "D3RepositoryName",
        "properties": [
                {
                        "key": "Key0",
                        "type": "String",
                        "displayName": "Sample property1"
                }
        ],
        "categories":[
                {
                        "key": "mycategory1_ID",
                        "displayName": "Sample category1"
                }
        ]
}

Struktur einer Quelle

Eigenschaft

Beschreibung

id

Gibt den eindeutigen Bezeichner des Standardquellsystems an. Diese ID verwenden Sie als Wert zum Parameter sourceId bei weiteren API-Funktionen.

displayName

Gibt den Anzeigenamen eines d.3-Repositorys an.

categories

Gibt das Array der Kategorien des abgefragten Quellsystems an.

properties

Gibt das Array der Eigenschaften des abgefragten Quellsystems an.

Struktur einer Kategorie

Eigenschaft

Beschreibung

key

Gibt den eindeutigen Bezeichner der Kategorie im Quellsystem an.

displayName

Gibt den Anzeigenamen der Kategorie an.

Mit Blick auf die Internationalisierung arbeitet die DMSApp mit dem HTTP-Header Accept-Language. Dieser HTTP-Header sorgt dafür, dass der Anzeigename der Kategorie sprachspezifisch ausgegeben wird.

Struktur einer Eigenschaft

Eigenschaft

Beschreibung

key

Gibt den eindeutigen Bezeichner der Eigenschaft im Quellsystem an.

type

Gibt den Typ der Eigenschaft zurück.

Der Typ der Eigenschaft wird vom Administrator beim Erstellen der Eigenschaft definiert. Mögliche Werte sind: String, ColorCode, Date, DateTime, Double, Money.

displayName

Gibt den Anzeigenamen der Eigenschaft an.

Die DMSApp arbeitet zur Internationalisierung mit dem HTTP-Header Accept-Language. Dieser HTTP-Header sorgt dafür, dass der Anzeigename der Eigenschaft sprachspezifisch ausgegeben wird.

Abrufen und Anzeigen der Ergebnisse eines Suchvorgangs

Freigegeben: JSON-Repräsentation, HTML-Seite 

Sie können beim Abrufen oder Anzeigen von Ergebnissen eines Suchvorgangs durch Angeben einer bestimmten Quelle sowie zugehörigen Quellkategorien und Quelleigenschaften die Ergebnismenge eingrenzen. Auch ein Volltextsuchbegriff kann zur Einschränkung des Suchergebnisses angegeben werden. Im Kapitel Definition eines Quellsystems erfahren Sie, wie Sie eine Quelle für eine Zuordnung bereitstellen können.

Um die Ergebnisse eines Suchvorgangs abzurufen oder anzuzeigen, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelation zum Abrufen der Ergebnisse eines Suchvorgangs

  • Angeben von verhaltenssteuernden Parametern

  • Aufrufen der URL für die Ergebnisse eines Suchvorgangs

Ermitteln der URL zu einem Repository 

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelation zum Abrufen oder Anzeigen der Ergebnisse eines Suchvorgangs 

Rufen Sie die URL zu einem Repository wie folgt auf:

Request 

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation searchresultwithmapping mit Platzhaltern für die Werte, mit deren Hilfe das Abrufen oder Anzeigen der Ergebnisse eines Suchvorgangs durchgeführt wird.

Response 

{
        _links: {
                searchresultwithmapping: {
                        href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/srm{?sourceid,sourceproperties,sourcecategories,sourcepropertysort,ascending,fulltext,page,pagesize}",
                        templated: true
                }
        },
        id: "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Angeben von verhaltenssteuernden Parametern 

Das Verhalten beim Abrufen oder Anzeigen von Suchergebnissen zu einem Suchvorgang steuern Sie mit folgenden Parametern. Sie müssen die Parameter der URL encodieren (z.B. Leerzeichen in %20). Die Länge des encodierten Abfrageparameters darf 2000 Zeichen nicht überschreiten.

Parameter

Beschreibung

sourceid 

Legt fest, zu welcher Quelle die Zuordnung gehört, die für das Abrufen der Ergebnisse eines Suchvorgangs angewendet werden soll. Für die einzelnen Elemente des Ergebnisses werden nur die Eigenschaften und Kategorien der Quelle verwendet, die zu d.3-Eigenschaften und d.3-Kategorien zugeordnet wurden. Wird keine Quelle angegeben, werden für die einzelnen Elemente des Ergebnisses nur die ID und die Linkrelationen des DMS-Objektes zurückgegeben.

sourceproperties 

Gibt eine Sucheinschränkung nach Eigenschaften der Dokumente und Akten aus Sicht der Quelle an. Geben Sie die ID der zugeordneten Quelleigenschaften an, um einen Suchvorgang auf bestimmte Kriterien zu beschränken. Der Suchvorgang wird basierend auf der Zuordnung ausgeführt.

Reguläre Ausdrücke, die vom Administrator bei einer Zuordnung angegeben wurden, werden nicht berücksichtigt.

Die Sucheinschränkungen geben Sie als JSON-Objekt an. Sie können je Eigenschaft mindestens einen Wert definieren.

Beispiele (nicht encodiert):

  • sourceproperties={"myprop1_ID":["Test E-Mail 1"]}: für die Suche nach Elementen mit der d.3-Eigenschaft mit dem Wert "Test E-Mail 1", die der Quelleigenschaft mit der ID "myprop1_ID" zugeordnet wurde.

  • sourceproperties={"myprop1_ID":["Test E-Mail 1", "Test E-Mail 2"]}: für die Suche nach Elementen mit der d.3-Eigenschaft mit dem Wert "Test E-Mail 1" oder "Test E-Mail 2", die der Quelleigenschaft mit der ID "myprop1_ID" zugeordnet wurde.

Einschränkung in Bezug auf die Definition eines Suchvorgangs: Sie können zu einem Parameter mehrere Werte definieren, sofern für die zugeordnete d.3-Eigenschaft Facetten konfiguriert wurden. Falls keine Facetten für die d.3-Eigenschaft zum Anzeigen konfiguriert wurden, wird immer der letzte Wert für den Suchvorgang übernommen.

Quelleigenschaften, die den allgemeinen Eigenschaften für die Bemerkungsfelder (Bemerkung 1 - 4) zugeordnet sind, können Sie nicht für die Suche verwenden, da eine Suche nach einzelnen Bemerkungsfeldern im d.3-Repository nicht unterstützt wird.

Sie können auch mehrere Eigenschaften gleichzeitig als Sucheinschränkung verwenden:

Beispiel (nicht encodiert):

  • sourceproperties={"myprop1_ID":["Test E-Mail 1"],"myprop2_ID":["Max Mustermann"]}: für die Suche nach Elementen mit der d.3-Eigenschaft mit dem Wert "Test E-Mail 1", die der Quelleigenschaft mit der ID "myprop1_ID" zugeordnet wurde und der d.3-Eigenschaft mit dem Wert "Max Mustermann", die der Quelleigenschaft mit der ID "myprop2_ID" zugeordnet wurde.

sourcecategories 

Legt fest, auf welche Kategorien sich die Suche bezieht. Sie können mindestens eine Kategorie definieren. Geben Sie die ID der Quellkategorie an, andernfalls erfolgt die Suche in allen Kategorien eines d.3-Repositorys.

Legt fest, auf welche Quellkategorien sich die Suche bezieht. Geben Sie die ID der Quellkategorie an. Der Suchvorgang wird basierend auf der Zuordnung ausgeführt.

Sie geben die Sucheinschränkungen als JSON-Array an. Sie können eine Quellkategorie oder mehrere Quellkategorien angeben. Geben Sie keine Quellkategorie an, erfolgt die Suche in allen Kategorien eines d.3-Repositorys.

Beispiele (nicht encodiert):

  • sourcecategories=["mycategory1_ID"]: für die Suche in der d.3-Kategorie, die der Quellkategorie mit der ID "mycategory1_ID" zugeordnet wurde.

  • sourcecategories=["mycategory1_ID","mycategory2_ID"]: für die Suche in den d.3-Kategorien, die der Quellkategorie mit der ID "mycategory1_ID" oder "mycategory2_ID" zugeordnet wurden.

sourcepropertysort 

Gibt die ID der zugeordneten Quelleigenschaft an, nach der sortiert wird. Ist keine Sortiereigenschaft angegeben, erfolgt die Sortierung gemäß Standardsortierung anhand des Sortierkriteriums Geändert am.

ascending 

Gibt die Richtung der Sortierreihenfolge an.

  • ascending=true: führt zu einer aufsteigenden Sortierung (von klein nach groß (A-Z) und von alt nach jung).

  • ascending=false: führt zu absteigenden Sortierung (von groß nach klein (Z-A) und von jung nach alt).

Wird der ascending-Parameter nicht explizit angegeben, wird eine aufsteigende Sortierung vorgenommen. Davon ausgenommen ist die Standardsortierung: Wird nach dem Kriterium Geändert am sortiert und ist die Sortierreihenfolge nicht angegeben, wird in diesem Fall absteigend sortiert.

Außerdem werden in der Ergebnisliste zunächst die Akten und dann die Dokumente angezeigt. Innerhalb von Dokumenten und Akten wird nach dem angegebenen Sortierkriterium sortiert.

fulltext 

Gibt einen Volltextsuchbegriff an.

page 

Gibt an, welche Seite der Ergebnisliste angefordert werden.

Wird der Parameter nicht übergeben, wird die Seite 1 angefordert.

pagesize 

Gibt an, wie viele Elemente pro Seite angezeigt werden.

Wird der Parameter nicht übergeben, werden 25 Elemente pro Seite angefordert.

Anmerkung

Spezielle Angaben für den sourceproperties-Parameter in Bezug auf verschiedene Einschränkungsmöglichkeiten, um gezielt zum Ergebnis zu gelangen:

  1. Suche nach einem numerischen Wert oder einem Geldwert:

    Geben Sie den Wert ohne Tausendertrennzeichen an. Als Dezimaltrennzeichen gilt der Punkt (.). Beispiel: Für den Wert 1.000,20 EUR geben Sie 1000.20 an.

  2. Suche nach einem Datum und Uhrzeit:

    Geben Sie das Datum im Format YYYY-MM-DD an. Beispiel: Für den 05.12.2014 (DD.MM.YYYY) geben Sie 2014-12-05 an.

    Zeitangaben werden nach dem Format YYYY-MM-DDTHH:mm:ss+01:00 durchführt. Das Pluszeichen (+) müssen Sie mit %2b encodieren. Beispiel: 2015-02-18T23:59:59%2b01:00 für den 18.02.2015 um 23:59 Uhr und 59 Sekunden in der Zeitzone UTC+1 für Winterzeit in Deutschland.

  3. Suche nach Elementen, die sich in einem bestimmten Bereich befinden:

    Für die Bereichssuche verwenden Sie als Trennzeichen eine Kombination aus einem Pipe- und Minuszeichen (|-). Beispiele für ein numerisches Feld mit der ID "231":

  • Werte größer oder gleich 100: {"231":["100|-"]}

  • Werte kleiner oder gleich 100: {"231":["|-100"]}

  • Werte zwischen 100 und 200: {"231":["100|-200"]}

Aufrufen der URL für die Ergebnisse eines Suchvorgangs (JSON-Repräsentation) 

Wenn Sie eine URL erzeugt haben, dann können Sie die Ergebnisse des Suchvorgangs wie folgt abrufen:

Request 

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/srm?sourceid=/myapp/sources/mysource&sourceproperties={"myprop1_ID":["Test E-Mail 1"]}&sourcecategories=["mycategory1_ID"]&sourcepropertysort=myprop1_ID&ascending=true&fulltext=test&page=1&pagesize=50
Accept: application/json

Als Ergebnis wird dann folgendes JSON-Objekt zurückgegeben:

Response 

{
  "_links": {
    "next": {
      "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/srm?...page=2"
    },
    "self": {
      "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/srm?...page=1"
    }
  },
  "page": 1,
  "items": [
    {
      "_links": {
        "self": { "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123" },
                "previewReadonly": { href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/preview?isReadonly=true" }
      },
      "id": "D000000123",
      "sourceProperties": [
        {
          "key": "myprop1_ID",
          "value": "Test E-Mail 1",
          "isMultiValue": false
        },
        {
          "key": "myprop2_ID",
          "value": "Max Mustermann",
          "isMultiValue": true
        },
        "..."
      ],
      "sourceCategories": [ "mycategory1_ID" ]
    },
    "..."
  ]
}

Eigenschaft

Beschreibung

_links 

Enthält die Linkrelationen zum Element.

self: Self-Link.

previewReadonly: Relative URL zum Abrufen der Vorschau im Lesemodus. Verwenden Sie die Linkrelation, wenn die Vorschau im Inner Supply ( InnerSupply ) des Bedienkonzepts angezeigt wird.

next: Relative URL zum Abrufen der nächsten Seite der Ergebnisliste. Wird nur angegeben, wenn es weitere Ergebnisse gibt.

prev: Relative URL zum Abrufen der vorherigen Seite der Ergebnisliste. Wird nur angegeben, wenn es vorherige Ergebnisse gibt.

page 

Gibt die Seitennummer der Ergebnisliste an.

items 

Gibt das Array mit Elementen der Ergebnisse für den Suchvorgang für die angeforderte Seite an.

Struktur eines Elementes der Ergebnisliste 

Eigenschaft

Beschreibung

_links 

Enthält die Linkrelationen zu dem Element.

self: Self-Link.

delete oder deleteWithReason: Falls vorhanden, kann das Element mit einem HTTP DELETE-Anforderung (Request) gelöscht werden. Weitere Informationen finden Sie unter  Löschen der aktuellen Version eines DMS-Objektes ohne Benutzerinteraktion. 

update oder updateWithContent: Falls vorhanden, kann das Element mit einem HTTP PUT-Anforderung (Request) aktualisiert werden. Weitere Informationen finden Sie unter  Speichern einer neuen Version ohne Benutzerinterkation. 

id 

Gibt die Dokument-ID des Elements an.

sourceProperties 

Gibt das Array mit Quelleigenschaften an, die für das Element vorhanden sind.

Wurde dieselbe Quelleigenschaft mehreren d.3-Eigenschaften zugeordnet, die das Element besitzt, wird die Quelleigenschaft mehrfach mit den jeweiligen Werten der d.3-Eigenschaft zurückgegeben.

Reguläre Ausdrücke, die vom Administrator bei einer Zuordnung angegeben wurden, werden nicht berücksichtigt.

sourceCategories 

Gibt das Array mit den IDs der Quellkategorien an, die für das Element zur Verfügung stehen.

Es werden nur dann mehrere Kategorien zurückgegeben, wenn mehrere Quellkategorien der d.3-Kategorie zugeordnet wurden, in der sich das Element befindet.

Struktur einer Quelleigenschaft 

Eigenschaft

Beschreibung

key 

Gibt den eindeutigen Bezeichner der Quelleigenschaft an.

value 

Gibt den Wert der zugeordneten d.3-Eigenschaft an.

displayValue 

Gibt den Anzeigewert der zugeordneten d.3-Eigenschaft an. Wird nur zurückgegeben, wenn der Wert ( value ) und der Anzeigewert ( displayValue ) unterschiedlich sind.

isMultiValue 

Gibt an, ob die zugeordnete d.3-Eigenschaft eine Mehrfacheigenschaft ist.

Handelt es sich bei der d.3-Eigenschaft um eine Mehrfacheigenschaft, wird bei value der erste oder der erste gefüllte Wert der Eigenschaft zurückgegeben (abhängig von der d.3-Repositorykonfiguration). Um alle Mehrfachwerte abzurufen, verwenden Sie die Anforderung (Request) zum  Abrufen der Details eines DMS-Objektes.

Aufrufen der URL für die Ergebnisse eines Suchvorgangs (HTML-Seite) 

Wenn Sie die HTML-Darstellung der Ergebnisse aufrufen möchten, erzeugen Sie die URL in derselben Weise, wie beim Abfragen der JSON-Repräsentation beschrieben. Geben Sie die URL im Browser ein, um die HTML-Seite anzuzeigen. Diese HTML-Seite enthält die Bezeichner der d.3-Eigenschaften und d.3-Kategorien.

Beispiel (nicht encodiert):

Request 

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/srm?sourceid=/myapp/sources/mysource&sourceproperties={"myprop1_ID":["Test E-Mail 1"]}&sourcecategories=["mycategory1_ID"]&sourcepropertysort=myprop1_ID&ascending=true&fulltext=test&page=1&pagesize=50
Accept: text/html
Abrufen und Anzeigen von Details eines DMS-Objektes

Freigegeben: JSON-Repräsentation, HTML-Seite 

Sie können die Details zu einem DMS-Objekt als JSON-Repräsentation abrufen oder die Detailansicht zu einem DMS-Objekt anzeigen. Beim Abrufen der Details als JSON-Repräsentation können Sie durch Angeben einer bestimmten Quelle eines Quellsystems festlegen, welche Quelleigenschaften und Quellkategorien ermittelt werden. Geben Sie keine Quelle an, werden nur die ID und die Linkrelationen zu dem DMS-Objekt zurückgegeben. Im Kapitel Definieren eines Quellsystems erfahren Sie, wie Sie eine Quelle anlegen können.

Um die Details eines DMS-Objektes abzurufen oder anzuzeigen, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelation zum Abrufen der Details eines DMS-Objektes

  • Angeben von verhaltenssteuernden Parametern

  • Aufrufen der URL für die Details eines DMS-Objektes

Ermitteln der URL zu einem Repository 

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelation zum Abrufen oder Anzeigen der Details eines DMS-Objektes 

Rufen Sie die URL zu einem Repository wie folgt auf:

Request 

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation dmsobjectwithmapping mit Platzhaltern für die Werte, mit deren Hilfe das Abrufen oder Anzeigen der Details eines DMS-Objektes durchgeführt wird.

Response 

{
        _links: {
                dmsobjectwithmapping: {
                        href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/{dmsobjectid}{?sourceid}",
                        templated: true
                }
        },
        id: "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Angeben von verhaltenssteuernden Parametern 

Das Verhalten beim Abrufen oder Anzeigen von Details eines DMS-Objektes steuern Sie mit folgenden Parametern:

Parameter

Beschreibung

dmsobjectid 

Gibt die Dokument-ID des DMS-Objektes an, dessen Details abgerufen (Request) oder angezeigt werden sollen.

sourceid 

Legt fest, zu welcher Quelle die Zuordnung gehört, die für das Abrufen der Details des DMS-Objektes verwendet wird.

Wie Sie ein Quellsystem für Zuordnungen bereitstellen, erfahren Sie unter Definieren eines Quellsystems.

Wenn Sie das Standardquellsystem verwenden möchten, finden Sie weitere Informationen unter Abrufen des Standardquellsystems zu einem d.3-Repository.

Abrufen (JSON-Repräsentation):

Es werden nur die Eigenschaften der Quelle zurückgegeben, die den d.3-Eigenschaften zugeordnet wurden. Wird keine Quelle angegeben, werden nur die ID und die Linkrelationen zum DMS-Objekt zurückgegeben.

Anzeigen (HTML-Seite):

Wenn Sie die Details eines DMS-Objektes anzeigen möchten, ist das Angeben dieses Parameters nicht erforderlich. Der Parameter wird nicht ausgewertet.

Aufrufen der URL für die Details eines DMS-Objektes (JSON-Repräsentation) 

Wenn Sie eine URL erzeugt haben, dann können Sie die Details des DMS-Objektes wie folgt abrufen:

Request 

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123?sourceid=/myapp/sources/mysource
Accept: application/json

Als Ergebnis wird dann folgendes JSON-Objekt zurückgegeben:

Response 

{
  "_links": {
    "self": { 
                "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123"
     },
    "mainblobcontent": {
        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/current/b/main/c"
     },
     "editinoffice": {
           "href": "{ms-word:ofe|u|{+clientOrigin}/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/dav/D000000123%20(D000000123).DOCX}",
       "templated": true
     },
         "pdfblobcontent": {
       "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/current/b/p1/c"
     },
         "notes":{
           "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/n"
         },
         "children":{
           "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/srm/?children_of=D000000123"
         },
         "versions":{
           "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/"
         }
  },
  "id": "D000000123",
  "sourceProperties": [
    {
      "key": "myprop1_ID",
      "value": "value of property 1"
    },
    {
      "key": "myprop2_ID",
      "value": "value of property 2 in row 2",
      "values": {                                                 
            "2": "value of property 2 in row 2",
        "4": "value of property 2 in row 4"
          }
    }
  ],
  "sourceCategories": ["mycategory2_ID"]
}

Eigenschaft

Beschreibung

_links 

Enthält die Linkrelationen zum DMS-Objekt.

mainblobcontent: Relative Download-URL für das Hauptdokument der aktuellen Version des DMS-Objektes.

editinoffice: URL mit Platzhaltern, um das Dokument in Microsoft Office zu bearbeiten. Diese URL erhalten Sie nur, wenn der Administrator die Funktion zum Bearbeiten von Microsoft Office-Dokumenten aktiviert hat. Die URL existiert nicht, wenn Sie mit Microsoft Office 365 in der Cloud arbeiten.

pdfblobcontent: Relative Download-URL für das generierte ("abhängige") PDF-Dokument der aktuellen Version des DMS-Objektes. Diese URL erhalten Sie nur, wenn ein generiertes PDF-Dokument für das DMS-Objekt erzeugt wurde.

notes: Relative URL zum Abrufen der Notizen des DMS-Objektes. Diese URL erhalten Sie nur, wenn zum DMS-Objekt bereits Notizen gespeichert wurden.

children: Relative URL für die untergeordneten DMS-Objekte. Diese URL erhalten Sie nur, wenn das DMS-Objekt untergeordnete Elemente hat.

versions: Relative URL zum Abrufen und Anzeigen der Versionen eines DMS-Objektes.

self: Self-Link.

id 

Gibt die Dokument-ID des DMS-Objektes an.

sourceProperties 

Gibt das Array mit Quelleigenschaften an, die für das angeforderte DMS-Objekt vorhanden sind.

Wurde dieselbe Quelleigenschaft verschiedenen d.3-Eigenschaften zugeordnet, die das angeforderte DMS-Objekt besitzt, wird diese Quelleigenschaft mehrfach mit den jeweiligen Werten der d.3-Eigenschaft zurückgegeben.

sourceCategories 

Gibt das Array mit den IDs der Quellkategorien an, die für das angeforderte DMS-Objekt in Frage kommen.

Es werden nur dann mehrere Kategorien zurückgegeben, wenn mehrere Quellkategorien der d.3-Kategorie zugeordnet wurden, in der sich das angeforderte DMS-Objekt befindet.

Struktur einer Quelleigenschaft 

Eigenschaft

Beschreibung

key 

Gibt den eindeutigen Bezeichner der Quelleigenschaft an.

value 

Gibt den Wert der zugeordneten d.3-Eigenschaft an.

Handelt es sich bei der d.3-Eigenschaft um eine Mehrfacheigenschaft, wird bei value der erste oder der erste gefüllte Wert der Eigenschaft zurückgegeben (abhängig von der d.3-Repositorykonfiguration).

values 

Gibt die Werte der zugeordneten d.3-Eigenschaft an. Wird nur zurückgegeben, wenn die d.3-Eigenschaft eine Mehrfacheigenschaft ist.

values ist ein Objekt, das aus Name-Wert-Paaren (Key-Value) besteht:

Name: Zeilennummer (beginnend bei 1).

Wert: Wert der Eigenschaft in der entsprechenden Zeile.

displayValue 

Gibt den Anzeigewert der zugeordneten d.3-Eigenschaft an. Wird nur zurückgegeben, wenn der Wert (value) und der Anzeigewert (displayValue) unterschiedlich sind.

Aufrufen der URL für die Details eines DMS-Objektes (HTML-Seite) 

Wenn Sie die HTML-Darstellung der Ergebnisse aufrufen möchten, erzeugen Sie die URL in derselben Weise wie beim Abfragen der JSON-Repräsentation beschrieben. Geben Sie die URL im Browser ein, um die HTML-Seite anzuzeigen. Diese HTML-Seite enthält die Bezeichner der d.3-Eigenschaften und d.3-Kategorien.

Beispiel:

Request 

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123
Accept: text/html
Speichern von DMS-Objekten

Sie können beim Speichern von DMS-Objekten durch Angeben einer bestimmten Quelle sowie zugehörigen Quellkategorien und Quelleigenschaften die Metadaten der Ablage bestimmen. Im Kapitel Definieren eines Quellsystems erfahren Sie, wie Sie eine Quelle für eine Zuordnung bereitstellen können. Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

In diesem Thema erfahren Sie, wie Sie Daten aus einer Quelle mithilfe der DMSApp speichern können.

Beachten Sie folgende Begrenzungen (betrifft nur das Cloudangebot d.velop documents):

  • max. 3000 Aktualisierungen von DMS-Objekten je Mandant (Client-IP) im Zeitraum von 5 Minuten

  • max. 8000 Speicherungen neuer DMS-Objekte je Mandant (Client-IP) im Zeitraum von 5 Minuten

Speichern eines neuen DMS-Objektes ohne Benutzerinteraktion

Sie können ein neues DMS-Objekt automatisiert im d.3-Repository speichern, ohne dass ein Anwender eine Aktion durchführen muss. Beim Speichern ohne Benutzerinteraktion werden keine Validate-Hooks in d.3 server ausgeführt. Grundvoraussetzung für das Durchführen der Aktion sind die Zuordnungen (Mappings). Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

Um ein neues DMS-Objekt zu speichern, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelation für die Ablage eines neuen eines DMS-Objektes

  • Bereitstellen der zu speichernden Datei (optional)

  • Aufrufen der URL zur Ablage eines neuen DMS-Objektes

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelation für die Ablage eines neuen DMS-Objektes

Rufen Sie die URL zu einem Repository wie folgt auf:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation dmsobjectwithmapping.

Response

{
        "_links": {
                "dmsobjectwithmapping": {
                        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/{dmsobjectid}{?sourceid}",
                        "templated":true
                }
        },
        "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Die Werte dmsobjectid und sourceid sind für das Speichern nicht relevant. Daher füllen Sie diese beim Ausführen des Templates nicht aus.

Bereitstellen der zu speichernden Datei (optional)

Im Kapitel Bereitstellen von Dateien erfahren Sie, wie Sie contentUri oder contentLocationUri erhalten. Diese Parameter benötigen Sie zum Speichern eines neuen DMS-Objektes.

Wenn Sie eine Akte erstellen möchten, ist das Bereitstellen der Datei nicht erforderlich.

Aufrufen der URL zur Ablage eines neuen DMS-Objektes

Führen Sie eine HTTP POST-Anforderung mit den benötigten Eigenschaften als Body auf diese URL aus.

Request

POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
        "filename": "myfile.txt",
        "sourceCategory": "mycategory1_ID",
        "sourceId": "/myapp/sources/mysource",
        "contentLocationUri": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43",
        "sourceProperties": {
                "properties": [{
                                "key": "myprop1_ID",
                                "values": ["Please verify the XYZ invoice"]
                        },
                        {
                                "key": "myprop2_ID",
                                "values": ["Name1@contoso.com","Name2@samplecompany.de"]
                        }
                ],
        }
}

Informationen zu den Parametern des JSON-Objektes finden Sie unter Definieren der Parameter zum Speichern.

Ist für den d.3-Dokumentstatus keine Zuordnung konfiguriert, wird für das DMS-Objekt standardmäßig der Dokumentstatus Freigabe (Release) verwendet. Möchten Sie einen anderen Dokumentstatus beim Speichern anwenden, muss der Administrator die Eigenschaft Status zugeordnet haben.

Ist der Aufruf erfolgreich, wird die URL zum DMS-Objekt im Header Location zurückgegeben.

Wenn Sie ein Element mit einer Akte (parentId) verknüpfen möchten und diese Aktion fehlschlägt, erhalten Sie als Antwort (Response) die URL zum DMS-Objekt im Header Location und eine zusätzliche Meldung, dass die Verknüpfung nicht erfolgreich war.

Response

HTTP/1.1 201 Created
Location: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D0001234?sourceId=%2Fmyapp%2Fsources%2Fmysourc

{
        "reason": "You do not have the right to link the document with the dossier manually.
Nevertheless, the document was successfully saved. The document may be automatically linked on the server."
        "severity": 1
}

Wenn der Aufruf erfolgreich war und es Detailinformationen zum Verarbeitungsergebnis des Ablagevorgangs gibt, werden die Detailinformationen in der Antwort (Response) zurückgeliefert. Mithilfe der Informationen können Sie entscheiden, ob weitere Verarbeitungsschritte zum DMS-Objekt notwendig sind. Weitere Informationen finden Sie unter Format der Antwort für erfolgreiche Anforderungen (Requests) mit Detailinformationen.

Schlägt das Speichern des DMS-Objektes fehl, wird eine entsprechende Antwort (Response) zurückgegeben. Weitere Informationen finden Sie unter Format der Antwort bei Fehlern.

Aktualisieren eines DMS-Objektes ohne Benutzerinteraktion

Sie können ein bestehendes DMS-Objekt in einem d.3-Repository aktualisieren, ohne dass ein Anwender eine Aktion ausführen muss. Beim Aktualisieren eines DMS-Objektes ohne Benutzerinteraktion werden keine Validate-Hooks in d.3 server ausgeführt. Grundvoraussetzung für das Durchführen der Aktion sind die Zuordnungen (Mappings). Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

Um ein DMS-Objekt zu aktualisieren, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelationen zum bestehenden DMS-Objekt

  • Bereitstellen der zu speichernden Datei (optional)

  • Aufrufen der URL zum Aktualisieren des DMS-Objektes

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelationen zum bestehenden DMS-Objekt

Um eine URL zu einem bestehendem DMS-Objekt zu ermitteln, führen Sie eine Suche aus und werten Sie die Linkrelation update oder updateWithContent zu einem Element der Ergebnisliste aus. Im Kapitel Abrufen und Anzeigen der Ergebnisse eines Suchvorgangs finden Sie weitere Informationen zum Ausführen einer Suche und die Beschreibung eines Elements der Ergebnisliste. Hat das bereits vorhandene DMS-Objekt den d.3-Dokumentstatus Processing muss der authentifizierte Benutzer der Bearbeiter des DMS-Objektes sein.

Bereitstellen der zu speichernden Datei (optional)

Haben Sie eine Linkrelation updateWithContent ermittelt, dann können Sie eine Datei mit den Parametern contentUri oder contentLocationUri bereitstellen. Im Kapitel Bereitstellen von Dateien können Sie nachlesen, wie Sie eine Datei bereitstellen können.

Wenn Sie nur Eigenschaften mit der Linkrelation update aktualisieren möchten, ist die Bereitstellung einer Datei nicht notwendig.

Haben Sie ausschließlich eine Linkrelation update erhalten, dann ist keine Aktualisierung mit Datei möglich.

Aufrufen der URL zum Aktualisieren des DMS-Objektes

Führen Sie eine HTTP PUT-Anforderung mit den benötigten Eigenschaften als Body auf die URL des bestehenden DMS-Objektes aus, die Sie in der Linkrelation update oder updateWithContent erhalten haben. Wenn Sie nur Eigenschaften ändern möchten, geben Sie die Parameter contentLocationUri und filename nicht an.

Request

PUT /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
        "filename": "myfile.txt",
        "alterationText": "updated file",
        "sourceCategory": "mycategory1_ID",
        "sourceId": "/myapp/sources/mysource",
        "contentLocationUri": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43",
        "sourceProperties": {
                "properties": [{
                                "key": "myprop1_ID",
                                "values": ["Please verify the XYZ invoice"]
                        },
                        {
                                "key": "myprop2_ID",
                                "values": ["Name1@contoso.com","Name2@samplecompany.de"]
                        }
                ]
        }
}

Informationen zu den Parametern des JSON-Objektes finden Sie unter Definieren der Parameter zum Speichern.

Ist der Aufruf erfolgreich, wird HTTP 200 OK zurückgegeben:

Response

HTTP/1.1 200 OK

Wenn der Aufruf erfolgreich war und es Detailinformationen zum Verarbeitungsergebnis des Ablagevorgangs gibt, werden die Detailinformationen in der Antwort (Response) zurückgeliefert. Mithilfe der Informationen können Sie entscheiden, ob weitere Verarbeitungsschritte zum DMS-Objekt notwendig sind. Weitere Informationen finden Sie unter Format der Antwort für erfolgreiche Anforderungen (Requests) mit Detailinformationen.

Schlägt das Speichern der Version fehl, wird eine entsprechende Antwort (Response) zurückgegeben. Weitere Informationen finden Sie unter Format der Antwort bei Fehlern.

Wenn der Aufruf erfolgreich war und es Detailinformationen zum Verarbeitungsergebnis des Ablagevorgangs gibt, so werden diese Detailinformationen in der Antwort (Response) zurückgeliefert. Diese Informationen können Sie z.B. dazu verwenden, um Entscheidungen darüber zu treffen, ob weitere Verarbeitungsschritte zu dem DMS-Objekt nötig sind. Weitere Informationen finden Sie unter dem Kapitel Format der Antwort für erfolgreiche Anforderungen.

Speichern neuer DMS-Objekte mit Benutzerinteraktion

Freigegeben: HTML-Seite

Sie können das Feature Ablage zum Speichern von neuen DMS-Objekten mit Eigenschaften und Dateien aufrufen. Grundvoraussetzung für das Durchführen der Aktion sind die Zuordnungen (Mappings). Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

Um neue DMS-Objekte zu speichern, müssen Sie folgende Schritte durchführen:

  • Ermitteln der Linkrelation für den Ablagedialog

  • Bereitstellen der zu speichernden Datei (optional)

  • Erstellen eines Ablagedialogs mit definierten Eigenschaften und Dateien

  • Anzeigen des Ablagedialogs mit definierten Eigenschaften und Dateien

  • Ausführen weiterer Aktionen nach dem Speichern (optional)

Ermitteln der Linkrelation für den Ablagedialog

Für das Feature Ablage gibt es zwei Linkrelationen:

  • Linkrelation ohne Bezug zu einem d.3-Repository: Beim Ablegen ohne Bezug zu einem d.3-Repository kann der Anwender das d.3-Repository auswählen. Jedoch können Sie in diesem Fall die Datei nicht temporär hochladen. Weitere Informationen zum Bereitstellen finden Sie unter Bereitstellen von Dateien.

  • Linkrelation mit Bezug zu einem d.3-Repository: Beim Ablegen mit Bezug zu einem d.3-Repository kann der Anwender das d.3-Repository nicht mehr ändern.

Um die Linkrelation ohne Bezug zu einem d.3-Repository zu ermitteln, führen Sie eine HTTP GET-Anforderung für die REST-Ressource /dms aus.

Request

GET /dms
Accept: application/hal+json

Das JSON-Objekt enthält die Linkrelation new.

Response

{
    "_links": {
        "new": {
            "href": "/dms/new/"
        }
    }
}

Um die Linkrelation mit Bezug zu einem d.3-Repository zu ermitteln, müssen Sie zunächst die URL zu einem Repository kennen. Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln. Führen Sie dann eine HTTP Get-Anforderung auf die URL zu einem Repository wie folgt aus:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation new.

Response

{
        "_links": {
                "new": {
                        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/new/"
                }
        },
        "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Bereitstellen der zu speichernden Datei (optional)

Im Kapitel Bereitstellen von Dateien erfahren Sie, wie Sie contentUri oder contentLocationUri erhalten. Diese Parameter benötigen Sie zum Erstellen eines Ablagedialogs für ein neues DMS-Objekt.

Wenn Sie eine Akte erstellen möchten, ist das Bereitstellen der Datei nicht erforderlich.

Erstellen eines Ablagedialogs mit definierten Eigenschaften und Dateien

Führen Sie eine HTTP POST-Anforderung mit den benötigten Eigenschaften als Body auf die URL aus, die Sie in der Linkrelation new erhalten haben.

Request

POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/new
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
    "storeObjects": [{
        "displayValue": "Please verify the XYZ invoice",
        "filename": "myfile.txt",
        "contentLocationUri": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43",
        "sourceId": "/myapp/sources/mysourcel",
                "sourceCategory": "mycategory1",
                "sourcePropertiesUri": "/myapp/sources/mysourcel/properties/myfile.haljson",
                "successCallbackUri": "/myapp/sources/mysourcel/success/myfile"
    },
    {
        ...
    }]
}

Das JSON-Objekt, das beim POST übergeben wird, ist wie folgt beschrieben:

Eigenschaft

Beschreibung

storeObjects

Gibt das Array der Elementeigenschaften und Dateien an, mit denen der Ablagedialog definiert werden soll. Informationen zu einem Element des Arrays finden Sie unter Definieren der Parameter zum Speichern.

Wenn Sie nur ein einzelnes DMS-Objekt speichern möchten, dann können Sie das JSON-Objekt der Elementeigenschaften auch ohne übergeordnetes Array storeObjects angeben.

Ist der Aufruf erfolgreich, wird die URL zum Ablagedialog im Header Location zurückgegeben:

Response

HTTP/1.1 201 Created
Location: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/new/a09dd457-5a21-4b90-8134-e562092b50ea

Schlägt das Erstellen des Ablagedialogs fehl, wird eine entsprechende Antwort (Response) zurückgegeben. Weitere Informationen finden Sie unter Format der Antwort bei Fehlern.

Anzeigen des Ablagedialogs mit definierten Eigenschaften und Dateien

Rufen Sie die URL, die Sie im Header Location erhalten haben, im Browser auf, um dem Anwender den erstellten Ablagedialog anzuzeigen. Der Anwender kann die Eigenschaften bearbeiten und das Speichern der DMS-Objekte abschließen.

Ausführen weiterer Aktionen nach dem Speichern (optional)

Wenn Sie beim Erstellen des Ablagedialogs den Parameter successCallbackUri angeben und der Anwender das Speichern erfolgreich abgeschlossen hat, wird die URL aufgerufen. Sie können nach dieser Aktion weitere Schritte ausführen. Weitere Informationen finden Sie unter Feedback mithilfe von "SuccessCallback" und "Userdata".

Aktualisieren von DMS-Objekten mit Benutzerinteraktion

Freigegeben: HTML-Seite

Sie können das Feature Ablage zum Aktualisieren der Eigenschaften und der Datei eines DMS-Objektes aufrufen. Grundvoraussetzung für das Durchführen der Aktion sind die Zuordnungen (Mappings). Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

Um ein DMS-Objekt zu aktualisieren, müssen Sie folgende Schritte durchführen:

  • Ermitteln der ID zum bestehenden DMS-Objekt

  • Bereitstellen der zu speichernden Datei (optional)

  • Ermitteln der Linkrelation für den Ablagedialog

  • Erstellen eines Ablagedialogs mit definierten Eigenschaften und Dateien

  • Anzeigen des Ablagedialogs mit definierten Eigenschaften und Dateien

  • Ausführen weiterer Aktionen nach dem Speichern (optional)

Ermitteln der ID zum bestehenden DMS-Objekt

Im Kapitel Suchen von DMS-Objekten wird beschrieben, wie Sie die ID zu einem bestehenden DMS-Objekt ermitteln können. Hat das bereits vorhandene DMS-Objekt den d.3-Dokumentstatus Processing muss der authentifizierte Benutzer der Bearbeiter des DMS-Objektes sein.

Bereitstellen der zu speichernden Datei (optional)

Im Kapitel Bereitstellen von Dateien können Sie nachlesen, wie Sie eine Datei bereitstellen können.

Ermitteln der Linkrelation für den Ablagedialog

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln. Danach führen Sie eine HTTP Get-Anforderung auf die URL zu einem Repository wie folgt aus:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation new .

Response

{
        "_links": {
                "new": {
                        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/new/"
                }
        },
        "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Erstellen eines Ablagedialogs mit definierten Eigenschaften und Dateien

Führen Sie eine HTTP POST-Anforderung mit den benötigten Eigenschaften als Body auf die URL aus, die Sie in der Linkrelation new erhalten haben.

Request

POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/new
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
    "storeObjects": [{
        "dmsObjectId": "D123456789",
        "displayValue": "Please verify the XYZ invoice",
        "filename": "myfile.txt",
        "contentLocationUri": "/dms/blob/chunk/2016-May-24-14-20-26-393-1720.part",
        "sourceId": "/myapp/sources/mysourcel",
        "sourcePropertiesUri": "/myapp/sources/mysourcel/properties/myfile.haljson",
        "successCallbackUri": "/myapp/sources/mysourcel/success/myfile"
    },
    {
        ...
    }]
}

Das JSON-Objekt, das beim POST übergeben wird, ist wie folgt beschrieben:

Eigenschaft

Beschreibung

storeObjects

Gibt das Array der Elementeigenschaften und Dateien an, mit denen der Ablagedialog definiert werden soll. Informationen zu einem Element des Arrays finden Sie unter Definieren der Parameter zum Speichern.

Wenn Sie nur ein einzelnes DMS-Objekt aktualisieren möchten, dann können Sie das JSON-Objekt der Elementeigenschaften ohne das übergeordnete Array storeObjects angeben.

Ist der Aufruf erfolgreich, wird die URL zum Ablagedialog im Header Location zurückgegeben:

Response

HTTP/1.1 201 Created
Location: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/new/a09dd457-5a21-4b90-8134-e562092b50ea

Schlägt das Erstellen des Ablagedialogs fehl, wird eine entsprechende Antwort (Response) zurückgegeben. Weitere Informationen finden Sie unter Format der Antwort bei Fehlern.

Anzeigen des Ablagedialogs mit definierten Eigenschaften und Dateien

Rufen Sie die URL zum Ablagedialog, die Sie im Header Location erhalten haben, im Browser auf, um dem Anwender den Ablagedialog anzuzeigen. Der Anwender kann die Eigenschaften bearbeiten und das Aktualisieren der DMS-Objekte abschließen.

Ausführen weiterer Aktionen nach dem Speichern (optional)

Wenn Sie beim Erstellen des Ablagedialogs den Parameter successCallbackUri angeben und der Anwender das Speichern erfolgreich abgeschlossen hat, wird die URL aufgerufen. Sie können nach dieser Aktion weitere Schritte ausführen. Weitere Informationen finden Sie unter Feedback mithilfe von "SuccessCallback" und "Userdata".

Ändern des aktuellen Bearbeiters und Dokumentenstatus

Sie können den Bearbeiter und den Dokumentstatus eines bestehenden DMS-Objekts in einem d.3-Repository aktualisieren, ohne dass ein Anwender eine Aktion ausführen muss. Voraussetzung für das Durchführen der Aktion sind die Zuordnungen (Mappings). Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern.

Um den Bearbeiter oder den Dokumentstatus eines DMS-Objekts zu ändern, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelationen zum bestehenden DMS-Objekt

  • Aufrufen der URL zum Ändern des Bearbeiters oder Dokumentstatus eines DMS-Objekts

Ermitteln der URL zu einem Repository 

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelationen zum bestehenden DMS-Objekt 

Um eine URL zu einem bestehendem DMS-Objekt zu ermitteln, führen Sie eine Suche aus und werten Sie die Linkrelation displayVersion zu einem Element der Ergebnisliste aus. Im Kapitel  Abrufen und Anzeigen der Ergebnisse eines Suchvorgangs finden Sie weitere Informationen zum Ausführen einer Suche und die Beschreibung eines Elements der Ergebnisliste.

Aufrufen der URL zum Ändern des DMS-Objektstatus und des Bearbeiters 

Führen Sie eine HTTP PUT-Anforderung mit den benötigten Eigenschaften als Body auf die URL der bestehenden aktuellen Version des DMS-Objekts aus , die Sie in der Linkrelation displayVersion erhalten haben.

Im Folgenden finden Sie Beschreibungen zum JSON-Objekt, das bei der PUT -Anforderung übergeben wird:

Eigenschaft

Beschreibung

property_state 

Zielstatus des Dokuments. Mögliche Werte:

  • Processing 

  • Verification 

  • Release 

  • Archive

property_editor 

Pflichtfeld beim Zielstatus Bearbeitung (Processing) und optional beim Zielstatus Prüfung (Verification). In anderen Zielstatus wird der Parameter ignoriert. Mögliche Werte:

  • Zielstatus Bearbeitung: Benutzer- oder Gruppen-ID, zu dem oder der das Dokument zugeordnet werden soll.

  • Zielstatus Prüfung: Gruppen-ID, der das Dokument zugeordnet werden soll.

Sie können sowohl die IDs von d.ecs identity provider als auch vom DMS-System verwenden.

alterationText 

Pflichtfeld beim Zielstatus Freigabe (Release).

Text (maximal 120 Bytes), der bei der Statusänderung zur Dokumentversion gespeichert wird. Sie können z.B. einen Hinweis zum Änderungsgrad bereitstellen.

Beispiel 1: Dokument in Status "Bearbeitung" überführen oder den Bearbeiter ändern mit eigener Zuordnung 

Stellen Sie sicher, dass eine Zuordnung existiert, in der die Werte myprop1_ID auf property_state und myprop2_ID auf property_editor festgelegt sind.

Request 

PUT/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001/v/current
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json  

{
   "sourceId": "/myapp/sources/mysource",
   "sourceProperties": {
      "properties": [
         {
            "key": "myprop1_ID",
            "values": [
               "Processing"
            ]
         },
         {
            "key": "myprop2_ID",
            "values": [
               "97273358-d124-497c-97ce-977f72b32a33"
            ]
         }
      ]
   }
}

Wenn der Aufruf erfolgreich ist, wird HTTP 200 OK zurückgegeben:

Response 

HTTP/1.1 200 OK

Beispiel 2: Dokument in Status "Bearbeitung" überführen oder den Bearbeiter ändern mit Standardzuordnung 

Request 

PUT/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001/v/current
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
   "sourceId": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/source",
   "sourceProperties": {
      "properties": [
         {
            "key": "property_state",
            "values": [
               "Processing"
            ]
         },
         {
            "key": " property_editor",
            "values": [
               "97273358-d124-497c-97ce-977f72b32a33"
            ]
         }
      ]
   }
}

Wenn der Aufruf erfolgreich ist, wird HTTP 200 OK zurückgegeben:

Response 

HTTP/1.1 200 OK

Beispiel 3: Dokument in Status "Freigabe" überführen mit Standardzuordnung 

Request 

PUT/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001/v/current
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json 

{
   "sourceId": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/source",
   "alterationText": "updated file",
   "sourceProperties": {
      "properties": [
         {
            "key": "property_state",
            "values": [
               "Release"
            ]
         }
      ]
   }
}

Wenn der Aufruf erfolgreich ist, wird HTTP 200 OK zurückgegeben:

Response 

HTTP/1.1 200 OK

Wenn das Ändern des Bearbeiters oder Dokumentstatus fehlschlägt, wird eine entsprechende Antwort (Response) zurückgegeben. Weitere Informationen finden Sie unter Format der Antwort bei Fehlern .

Allgemeines zum Ablagevorgang

In diesem Thema erfahren Sie mehr zu den Details zum Speichern von DMS-Objekten. Bevor Sie jedoch mit diesem Thema beginnen, ist es erforderlich, sich mit den Kapiteln zum Speichern und Aktualisieren von DMS-Objekten auseinanderzusetzen.

Definieren der Parameter zum Speichern

In diesem Kapitel erfahren Sie mehr zu den Parametern, die Sie zum Speichern von DMS-Objekten angeben können. Die Parameter gelten wahlweise für das Speichern mit oder ohne Benutzeraktion.

Festlegen eines JSON-Objektes zum Speichern

Das JSON-Objekt, das mit den HTTP-Anforderungen zum Speichern eines DMS-Objektes gesendet wird, enthält folgende Parameter:

Eigenschaft

Beschreibung

displayValue

Gibt den Anzeigenamen des Elements an, das gespeichert wird. Der Anzeigename wird im Ablagedialog für den Anwender sichtbar. Dieser Parameter ist optional.

filename

Gibt den Namen der zu speichernden Datei mit der Dateierweiterung an.

Wenn Sie diesen Parameter festlegen, dann müssen Sie die unter sourceCategory angegebene Kategorie in der Zuordnungsverarbeitung einer Dokumentart zuordnen. Geben Sie diese Eigenschaft nicht an, dann müssen Sie die unter sourceCategory angegebene Kategorie in der Zuordnungsverarbeitung einer Aktenart zuordnen.

  • Die Eigenschaft ist verpflichtend, wenn Sie ein Dokument neu speichern.

  • Die Eigenschaft ist optional, wenn Sie ein Dokument aktualisieren. Wenn der Parameter nicht gesetzt ist, dann wird der alte Dateiname übernommen.

  • Die Eigenschaft wird ignoriert, wenn Sie ein Dokument ohne contentLocationUri oder contentUri aktualisieren.

  • Die Eigenschaft darf nicht gesetzt sein, wenn Sie eine Akte neu erzeugen oder aktualisieren.

dmsObjectId

Gibt die ID des zu aktualisierenden DMS-Objektes an. Dieser Parameter wird nur beim Aktualisieren eines DMS-Objektes mit Benutzerinteraktion berücksichtigt.

alterationText

Gibt den Änderungsgrund für die Aktualisierung eines DMS-Objektes an. In d.3 admin legen Sie fest, ob das Angeben des Parameters verpflichtend ist. Dieser Parameter wird nur beim Aktualisieren eines DMS-Objektes berücksichtigt.

sourceCategory

Gibt an, welche Kategorie für die Zuordnungsverarbeitung beim Speichern verwendet werden soll. Geben Sie die ID der Quellkategorie an.

Das Angeben dieser Eigenschaft ist verpflichtend, außer unter folgenden Bedingungen:

  • Die Eigenschaft wird ignoriert, wenn der Parameter parentId festgelegt ist und eine zugehörige Standardkategorie in d.3 admin definiert wurde.

  • Die Eigenschaft wird ignoriert, wenn sie ein DMS-Objekt aktualisieren.

  • Die Eigenschaft ist optional, wenn das Speichern eines Elements mit Benutzeraktion erfolgt.

Wenn Sie mehrere DMS-Objekte mit Benutzerinteraktion speichern, dann wird nur die Quellkategorie des ersten Elements im Array storeObjects im Ablagedialog berücksichtigt. Diese Quellkategorie wird für alle weiteren Dateien, die Sie ablegen möchten, dem Anwender angezeigt.

sourceId

Legt fest, zu welcher Quelle die Zuordnung gehört, die zum Speichern verwendet werden soll. Die Quelle muss existieren und das Quellsystem muss bei d.ecs http gateway registriert sein, damit die Eigenschaften unter sourcePropertiesUri oder sourceProperties angewendet werden.

Weitere Informationen zum Bereitstellen einer Quelle finden Sie unter Definieren eines Quellsystems.

Wenn Sie kein eigenes Quellsystem haben, können Sie auch das Standardquellsystem des d.3-Repositorys verwenden. Informationen über das Standardquellsystem finden sie unter Abrufen des Standardquellsystems zu einem d.3-Repository.

sourcePropertiesUri

Gibt die URL an, unter der die DMSApp die Elementeigenschaften für die Zuordnungsverarbeitung und Duplikatsprüfung herunterladen soll. Vor dem Speichern des DMS-Objektes sendet die DMSApp eine HTTP GET-Anforderung an die URL, um die Quelleigenschaften für den Ablagevorgang zu ermitteln. Wenn es sich bei sourcePropertiesUri um eine relative URL handelt, werden die Benutzerinformationen des angemeldeten Benutzers in der HTTP-Anforderung ebenfalls übertragen (AuthSessionID). Dadurch haben Sie die Möglichkeit, z.B. eine Berechtigungsprüfung durchzuführen oder den aktuellen Benutzernamen zu berücksichtigen. Bei einer absoluten URL werden die Quelleigenschaften anonym angefordert (request). Unter "Festlegen der Quelleigenschaften" ist das bereitzustellende JSON-Objekt beschrieben.

Alternativ zu dieser Eigenschaft können Sie die Eigenschaft sourceProperties verwenden.

sourceProperties

Gibt ein JSON-Array mit Quelleigenschaften an, die für die Zuordnungsverarbeitung und Duplikatsprüfung verwendet werden. Unter "Festlegen der Quelleigenschaften" ist das bereitzustellende JSON-Objekt beschrieben.

Alternativ zu dieser Eigenschaft können Sie die Eigenschaft sourcePropertiesUri verwenden.

contentLocationUri

Gibt die URL zur temporär hochgeladenen Datei an. Weitere Informationen finden Sie unter Bereitstellung über temporäres Hochladen.

Alternativ können Sie die Eigenschaft contentUri verwenden.

Legen Sie diesen Parameter fest, dann müssen Sie die unter sourceCategory angegebene Kategorie in der Zuordnungsverarbeitung einer Dokumentart zuordnen. Geben Sie weder die contentLocationUri- noch die contentUri-Eigenschaft an, dann müssen Sie die unter sourceCategory angegebene Kategorie in der Zuordnungsverarbeitung einer Aktenart zuordnen.

Diese Eigenschaft ist optional, wenn Sie ein DMS-Objekt aktualisieren oder eine Akte erstellen möchten.

contentUri

Gibt die relative URL an, unter der die DMSApp die abzulegende Datei herunterlädt. Weitere Informationen finden Sie unter Bereitstellung über temporäres Hochladen.

Alternativ können Sie die Eigenschaft contentLocationUri verwenden.

Legen Sie diesen Parameter fest, dann müssen Sie die unter sourceCategory angegebene Kategorie in der Zuordnungsverarbeitung einer Dokumentart zuordnen. Geben Sie weder die contentLocationUri- noch die contentUri-Eigenschaft an, dann müssen Sie die unter sourceCategory angegebene Kategorie in der Zuordnungsverarbeitung einer Aktenart zuordnen.

Diese Eigenschaft ist optional, wenn Sie ein DMS-Objekt aktualisieren oder eine Akte erstellen möchten.

parentId

Gibt die DMS-Objekt-ID der Akte an, mit der das abzulegende Element verknüpft werden soll. Ist der Ablagevorgang erfolgreich, wird das abgelegte Element mit der entsprechenden Akte verknüpft. Wurde das abzulegende Element als Duplikat erkannt, wird das bereits vorhandene Element mit der Akte verknüpft.

Wenn Sie eine Akte mit einer anderen Akte verknüpfen möchten, wird jedoch keine Duplikatsprüfung vorgenommen.

Diese Eigenschaft wird ignoriert, wenn Sie ein DMS-Objekt aktualisieren.

successCallbackUri

Gibt die URL an, die über HTTP POST aufgerufen wird, wenn der Ablagevorgang erfolgreich durchgeführt wurde. Die URL muss relativ sein. Weitere Informationen finden Sie unter Feedback mithilfe von "SuccessCallback" und "Userdata".

Diese Eigenschaft ist optional. Sie können die Eigenschaft nur beim Speichern mit Benutzerinteraktion verwenden.

Festlegen der Quelleigenschaften

Sie können die Quelleigenschaften direkt mithilfe des Parameters sourceProperties definieren oder mit der URL in sourcePropertiesUri bereitstellen.

Das JSON-Objekt ist wie folgt beschrieben:

Eigenschaft

Beschreibung

properties

Gibt ein Array der Quelleigenschaften an, die für die Zuordnungsverarbeitung bereitgestellt werden. Es werden nur diejenigen Eigenschaften beim Speichern berücksichtigt, die vom Administrator in der Zuordnung konfiguriert wurden.

uniqueTag

Gibt einen eindeutigen Hashcode an, der von der Quelle für das abzulegende Element festgelegt und von d.3 server zur Duplikatserkennung verwendet wird. Das Festlegen dieser Eigenschaft ist optional.

userdata

Gibt ein Array von Optionen an, die zusätzlich im Ablagedialog angezeigt werden sollen. Das Angeben dieser Eigenschaft ist optional. Sie können die Eigenschaft nur beim Speichern mit Benutzerinteraktion verwenden.

Weitere Informationen finden Sie unter Feedback mithilfe von "SuccessCallback" und "Userdata".

checkHash

Gibt den Hash der zu speichernden Datei an. Der Hash der zu speichernden Datei hilft Ihnen sicherzustellen, dass Sie das Speichern einer Datei in einem d.3-Repository überprüfen können. Sobald die Hashes nicht übereinstimmen, wird das Speichern des Dokuments mit einer Fehlermeldung abgebrochen.

Während des Speicherns wird serverseitig ein Hash von der zu speichernden Datei gebildet und mit dem Hash, den Sie generieren, verglichen und überprüft. Der Parameter muss dabei dem folgenden Aufbau entsprechen:

HASHALGORITHM:base64encode(hashfunction(PAYLOAD))

Beispiel für eine Datei mit dem Inhalt "Example":

SHA512:xrCRnH/mKK6QVpksSpF+XcA1qWFdSX9usr0UBj6q0+ZQjvyGgv7IKCPKPz3jEYaKcpkJRhZkKfAbOPnzPZymEA==

Folgende Hashalgorithmen werden unterstützt:

  • RIPEMD256

  • SHA256

  • SHA384

  • SHA512

  • MD5

Dieser Parameter ist optional.

Führen Sie die Base64-Encodierung immer auf Byte-Ebene aus. Die Encodierung einer textuellen Repräsentation führt zu invaliden Hashwerten.

Beispiele für das Erzeugen eines checkHash-Wertes unter Verwendung der Klassen aus System.Security.Cryptography in C#:

private string CreateM5Hash(string filename)
{
   using (var md5 = MD5.Create())
   {
       using (var stream = File.OpenRead(filename))
       {
             var retVal = md5.ComputeHash(stream);
                         //Bytes in retVal für eine Datei mit dem Inhalt "Example": 
                 //45 155 209 108 21 173 26 160 179 111 217 119 62 110 20 172

             return $"MD5:{Convert.ToBase64String(retVal)}"; 
                 //Hash base64-encodiert:   
                         //MD5:ClJzBZf7T/oB/BF9nnHjqQ==        
                }
   }
}

private string CreateSHA256Hash(string filename)
{
    using (var sha256 = SHA256.Create())
    {
        using (var stream = File.OpenRead(filename))
        {
            var retVal = sha256.ComputeHash(stream);
                    //Bytes in retVal für eine Datei mit dem Inhalt "Example":  
                        //53 239 154 101 221 213 246 176 70 65 37 206 150 167 54 152 
                        //63 65 154 140 96 227 200 169 71 112 149 213 153 156 17 27

            return $"SHA256:{Convert.ToBase64String(retVal)}";
                    //Hash base64-encodiert: 
                        //SHA256:0Cn4fj2A+P2bG+Z8dCa0zB/0e0qdCoRhyCalnYxets0= 
        }
    }
}

private string CreateSHA512Hash(string filename)
{
    using (var sha512 = SHA512.Create())
    {
        using (var stream = File.OpenRead(filename))
        {
            var retVal = sha512.ComputeHash(stream);
                        //Bytes in retVal für eine Datei mit dem Inhalt "Example":   
                        //72 237 177 122 242 252 39 57 63 98 44 167 119 228 162 20 106 
                        //147 201 76 246 223 209 126 97 224 198 30 40 137 121 216 147 
                        //21 15 16 1 103 84 101 60 241 95 82 14 126 211 137 170 235 180 
                        //206 18 112 247 228 229 185 208 62 192 244 131 41

            return $"SHA512:{Convert.ToBase64String(retVal)}";
                //Hash base64-encodiert:  
                        //SHA512:xrCRnH/mKK6QVpksSpF+XcA1qWFdSX9usr0UBj6q0+ZQjvyGgv7IKCPKPz3jEYaKcpkJRhZkKfAbOPnzPZymEA== 
        }
    }
}

Struktur eines Objekts im Array "properties"

Eigenschaft

Beschreibung

key

Gibt die ID der Quelleigenschaft an. Es werden nur diejenigen Eigenschaften berücksichtigt, die von Ihnen angegeben und die vom Administrator in der Zuordnung konfiguriert wurden.

Beim Aktualisieren eines DMS-Objektes werden nur die von Ihnen angegebenen Eigenschaften aktualisiert. Alle weiteren Werte der Eigenschaften des bereits vorhandenen DMS-Objektes bleiben bestehen.

Wenn Sie das Erstellungsdatum (property_creation_date) des DMS-Objektes festlegen möchten, dann wird das Festlegen der Eigenschaft nur beim Speichern eines neuen DMS-Objektes ohne Benutzerinteraktion berücksichtigt. Weitere Informationen finden Sie unter  Speichern eines neuen DMS-Objektes ohne Benutzerinteraktion.

values

Gibt ein Array mit den zugehörigen Werten der Elementeigenschaft an. Auch wenn Sie nur einen Wert übergeben möchten, müssen Sie diesen Wert als JSON-Array übergeben.

Sie können den d.3-Dokumentstatus für ein DMS-Objekt beim Speichern eines neuen DMS-Objektes festlegen. Mögliche Werte sind Processing, Verification und Release.

Beim Aktualisieren eines DMS-Objektes werden Zuordnungen zu d.3-Dokumentstatus, d.3-Variantennummer, d.3-Dokument-ID und d.3-Dokumentnummer ignoriert.

Eigenschaften mit der Kennzeichnung "nur lesend" werden beim Speichern nicht berücksichtigt.

Beim Aktualisieren ohne Benutzerinteraktion muss der authentifizierte Benutzer der Bearbeiter des DMS-Objektes sein, wenn das bestehende DMS-Objekt den d.3-Dokumentstatus Processing hat.

Geben Sie numerische Werte ohne Tausendertrennzeichen an. Als Dezimaltrennzeichen gilt der Punkt (.). Beispiel: Für den Wert 1.000,20 EUR geben Sie 1000.20 an.

Geben Sie Datumswerte im Format YYYY-MM-DD an. Beispiel: Für den 05.12.2014 (DD.MM.YYYY) geben Sie 2014-12-05 an.

Geben Sie Datumszeitwerte im Format YYYY-MM-DDTHH:mm:ss+01:00. Beispiel: 2015-02-18T23:59:59+01:00 für den 18.02.2015 um 23:59 Uhr und 59 Sekunden in der Zeitzone UTC+1 für Winterzeit in Deutschland.

Beispiel 1: Bereitstellen der Datei und der Eigenschaften durch eine URL 

Ein einfaches JSON-Objekt könnte wie folgt aussehen:

{
    "filename": "myfile.txt",
        "alterationText": "updated file",
    "sourceCategory": "mycategory1_ID",
    "sourceId": "/myapp/sources/mysource",  
    "contentUri": "/myapp/sources/mysource/myfile.txt",
    "sourcePropertiesUri": "/myapp/sources/mysource/myfile.haljson"    
}

Beispiel 2: Direktes Angeben der Eigenschaften, inklusive der Parameter "userdata" und "successCallbackUri"

Das folgende JSON-Objekt enthält userdata und die Eigenschaften (properties). Zugleich wird uniqueTag für die Duplikatsprüfung festgelegt. Die ID der Akte wird in dem Parameter parentId festgelegt, um das neu zu erstellende DMS-Objekt zu verlinken:

{
    "displayValue": "Please verify the XYZ invoice",
    "filename": "myfile.txt",
        "alterationText": "updated file",
    "sourceCategory": "mycategory1_ID",
    "sourceId": "/myapp/sources/mysource",
    "parentId": "P123456789",
    "contentLocationUri": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43",
    "successCallbackUri": "/myapp/sources/mysource/myfile/success",
    "sourceProperties": {
        "properties": [{
                "key": "myprop1_ID",
                "values": ["Please verify the XYZ invoice"]
            },
            {
                "key": "myprop2_ID",
                "values": ["Name1@contoso.com","Name2@samplecompany.de"]
            }
        ],
                "userdata": [{
                    "key": "postProcessingOption",
                        "display": "My post processing options",
                "values": [
                        {"value":"1", "display": "Action 1", "default":"false"},
                        {"value":"2", "display": "Default action 2", "default":"true"},
                        {"value":"3", "display": "Action 3", "default":"false"}
                ]
                }
        ],
                "uniqueTag": "123456789",
                "checkHash": "MD5:ClJzBZf7T/oB/BF9nnHjqQ=="
    }
}
Bereitstellen von Dateien

Beim Speichern von DMS-Objekten werden deren Eigenschaften und Kategorien gespeichert. Um Dateien speichern zu können, müssen diese der DMSApp bereitgestellt werden und die Quellkategorie muss in der Zuordnungsverarbeitung einer Dokumentart zugeordnet werden. Sie haben zwei Möglichkeiten für die Bereitstellung der Dateien:

Bereitstellen einer Datei mit einer URL

In diesem Kapitel erfahren Sie, wie Sie eine Datei mithilfe einer URL bereitstellen. Beim Speichern von DMS-Objekten geben Sie die URL zu einer Datei in der Eigenschaft contentUri an. Vor dem Speichern des DMS-Objekts lädt die DMSApp die Datei von der angegebenen URL (contentUri) herunter. Bei der URL muss es sich um eine relative URL handeln. Beim Herunterladen werden die Benutzerinformationen des angemeldeten Anwenders in der HTTP-Anforderung ebenfalls übertragen (AuthSessionID). Mithilfe von AuthSessionID haben Sie die Möglichkeit, den Anwender zu identifizieren, um z.B. eine Berechtigungsprüfung durchzuführen.

Da die Datei in einer Anforderung (Request) heruntergeladen wird, eignet sich dieses Verfahren nicht für größere Dateien. Für größere Dateien verwenden Sie das Verfahren zum temporären Hochladen von Dateien. Weitere Informationen finden Sie unter Bereitstellen einer Datei durch temporäres Hochladen.

Downloaden der bereitgestellten Datei

Die DMSApp führt eine HTTP GET-Anforderung auf die im Parameter contentUri angegebene URL aus. Ein Beispiel für die HTTP GET-Anforderung der DMSApp für Ihr Quellsystem sieht wie folgt aus, wenn contentUri folgender URL /myapp/sources/mysource/myfile.txt entspricht:

Request

GET /myapp/sources/mysource/myfile.txt
Accept: application/octet-stream, */*
AuthSessionID: SampleAuthsessionId

Die Antwort Ihres Quellsystems muss wie folgt aussehen:

Response

HTTP/1.1 200 OK
Content-Length: 3495

<binary content>
Bereitstellen einer Datei durch temporäres Hochladen

In diesem Kapitel erfahren Sie, wie Sie eine Datei vorläufig bereitstellen, indem Sie die Datei temporär hochladen. Das temporäre Hochladen ist besonders bei großen Dateien sinnvoll. Mit der URL (contentLocationUri) zur temporär hochgeladenen Datei können Sie anschließend das DMS-Objekt speichern.

Um eine Datei temporär hochzuladen, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelation zum temporären Hochladen der Datei

  • Aufrufen der URL zum temporären Hochladen der Datei

  • Weitere Aufrufe der URL zum temporären Hochladen der Datei (optional)

Ein temporäres Hochladen einer Datei ohne die Angabe einer ID zu einem Repository ist nicht möglich.

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelation zum temporären Hochladen der Datei

Rufen Sie die URL zu einem Repository wie folgt auf:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation chunkedupload.

Response

{
        "_links": {
                "chunkedupload": {
                        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/"
                }
        },
        "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Aufrufen der URL zum temporären Hochladen der Datei

Führen Sie eine HTTP POST-Anforderung mit den Binärdaten als Body auf die URL aus, die Sie in der Linkrelation chunkedupload erhalten haben. Wenn der Vorgang erfolgreich war, erhalten Sie den HTTP-Statuscode 201 und die URL (contentLocationUri) im HTTP-Header Location.

Request

POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/
Origin: https://baseuri
Content-Type: application/octet-stream

<binary content>

Response

HTTP/1.1 201 Created
Location: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43

Bei der HTTP Post-Anforderung wird der komplette Body als Binärdaten der hochzuladenden Datei behandelt. Ein Upload mittels multipart/form-data ist derzeit nicht möglich.

Die maximale Größe des Bodys ist auf 100 MB begrenzt. Wir empfehlen eine Bodygröße von 25 MB. Wenn Sie größere Dateien hochladen möchten, können Sie die Datei in verschiedene Teilstücke (Chunks) unterteilen. Weitere Informationen finden Sie im folgenden Abschnitt.

Weitere Aufrufe der URL zum temporären Hochladen der Datei (optional)

Sie haben die Möglichkeit, das Hochladen auf mehrere HTTP-Anforderungen aufzuteilen, um bei größeren Dateien einen Timeout zu vermeiden.

Gehen Sie dazu wie folgt vor:

  • Teilen Sie die hochzuladende Datei in verschiedene Teilstücke (Chunks).

  • Laden Sie das erste Teilstück hoch, so wie es unter "Aufrufen der URL zum temporären Hochladen der Datei" beschrieben ist.

  • Laden Sie das nächste Teilstück hoch, indem Sie eine HTTP POST-Anforderung auf die URL ausführen, die Sie im Header der Antwort zum ersten Teilstück unter Location erhalten haben.

  • Wiederholen Sie den vorherigen Schritt nacheinander für alle Teilstücke in der richtigen Reihenfolge.

Request

POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43
Content-Type: application/octet-stream

<binary content for chunk>

Response

HTTP/1.1 200 OK

Beachten Sie beim Hochladen mehrerer Teilstücke Folgendes:

  • Die Teilstücke dürfen nur sequenziell hochgeladen werden.

  • Die Reihenfolge der HTTP POST-Anforderung der Teilstücke ist strikt einzuhalten.

  • Sollte es bei einer HTTP POST-Anforderung zu einem Fehler kommen (z.B. HTTP-Statuscode ist nicht 200), müssen Sie die Datei in allen Teilstücken erneut hochladen. Das erneute Hochladen einzelner Teilstücke ist nicht möglich.

Sie erhalten auf die Anforderungen folgende mögliche Antworten:

Statuscode

Beschreibung

200 OK

Ein Teilstück wurde erfolgreich hochgeladen.

201 Created

Das erste Teilstück wurde erfolgreich hochgeladen.

404 Not Found

Die Ressource wurde nicht gefunden. Es wurde z.B. eine unbekannte Repository-ID angegeben.

500 Internal Server Error

Es trat ein interner Fehler bei der Verarbeitung auf.

Format der Antwort bei Fehlern

Freigegeben: JSON-Repräsentation

In diesem Kapitel erfahren Sie, in welchem Format Fehler ausgegeben werden. Abhängig vom Verarbeitungsergebnis des Ablagevorgangs wird die HTTP-Anforderung mit verschiedenen HTTP-Statuscodes beantwortet. Optional werden beschreibende Informationen zurückgeliefert.

Beispiel für eine Antwort für eine fehlgeschlagene Anforderung (Request):

Response

HTTP/1.1 400 BadRequest
  
{
    "reason": "10019: Missing value for a mandatory property.",
    "severity": 1,
    "errorCode": 10019
}

Beschreibung der Parameter zu der Antwort auf die fehlerhafte Anforderung:

Eigenschaft

Beschreibung

reason

Ein optionaler kurzer Beschreibungstext, weshalb der Fehler aufgetreten ist. Dieser Text wird als Titel der Fehlermeldung verwendet.

hint

Ein optionaler Hinweistext für den Anwender mit Tipps für die Fehlerbehebung.

details

Optionale Detailinformationen zum Fehler.

severity

Optionaler Schweregrad des Fehlers. Folgende Werte sind möglich:

Success = 0,
Information = 1,
Warning = 2,
Error = 3

errorCode

Ein optionaler Fehlercode, den d.3 server zurückgegeben hat.

requestId

ID der zugehörigen Anforderung. Die ID wird bei weiteren Anforderungen an andere Apps übergeben und dient der Nachverfolgung bei der Verarbeitung einer Aktion.

Zusätzliche Parameter, wenn das abzulegende DMS-Objekt als Duplikat erkannt wird:

Eigenschaft

Beschreibung

dmsObjectId

Enthält die ID des bereits existierenden DMS-Objektes.

_links

Enthält die Linkrelation dmsobject, die auf das bereits existierende DMS-Objekt verweist.

Die Bearbeitung eines Elements durch Anwender in Microsoft Office 365 erfordert die exklusive Bearbeitung eines DMS-Objektes. Falls die Verarbeitung durch Office 365 noch nicht abgeschlossen ist, schlägt die Anforderung fehl und Sie erhalten als Antwort den Statuscode 403 Forbidden mit entsprechenden Fehlerinformation. Bitte wiederholen Sie die Anforderung zu einem späteren Zeitpunkt.

Format der Antwort für erfolgreiche Anforderungen (Requests) mit Detailinformationen

Freigegeben: JSON-Repräsentation

In diesem Kapitel erfahren Sie, in welchem Format Detailinformationen zu erfolgreichen Anforderungen (Requests) ausgegeben werden. Abhängig vom Verarbeitungsergebnis wird die HTTP-Anforderung mit beschreibenden Detailinformationen zurückgeliefert.

Beschreibung der Parameter zur Antwort auf die erfolgreiche Anforderung mit Detailinformationen:

Eigenschaft

Beschreibung

responseDetails

Array mit Detailinformationen zur Anforderung

Beschreibung der Parameter eines responseDetails-Objekts:

Eigenschaft

Beschreibung

code

Code vom Typ String, der definiert, um welche Detailinformation es sich handelt:

  • DmsApp-Mapping-IgnoredDestinationSystemPropertyDueToUpdateMode

  • DmsApp-Mapping-IgnoredNotModifiableDestinationProperty

  • DmsApp-Mapping-MappingForSourceNotFound

  • DmsApp-Mapping-NoDestinationCategoryFoundWithDestinationProperty

  • DmsApp-Mapping-NoMappingFoundForSourceCategory

  • DmsApp-Mapping-NoMappingFoundForSourceProperty

  • DmsApp-Mapping-NoSourceProperties

  • DmsApp-Mapping-NoValuesGivenForSourceProperty

  • DmsApp-Mapping-PropertyStatusIgnored

  • DmsApp-Mapping-UnknownDestinationCategory

title

Titel, der kurz benennt, um welche Detailinformation es sich handelt.

detail

Detaillierte Beschreibung zur Detailinformation.

hint

Optionaler weiterführender Hinweis mit möglichen Handlungsinformationen.

data

Optionaler Parameter, der weitere Daten zu der Detailinformation enthält, um die Daten z.B. programmatisch auszuwerten.

Beschreibung der Parameter eines ResponseDetailData-Objekts:

Eigenschaft

Beschreibung

destinationItemValue

Aktueller Wert des Zielelements.

sourceItemId

ID des Quellelements, auf das sich die Detailinformationen bezieht (z.B. Quelle, Quelleigenschaft, Quellkategorie).

destinationItemId

ID des Zielelements, das dem Quellelement zugeordnet ist (z.B. Zieleigenschaft, Zielkategorie).

sourceItemValue

Wert des Quellelements, der in das Zielelement geschrieben werden soll.

Beispiele für eine Antwort für eine erfolgreiche Anforderung (Request) mit Detailinformationen zu den jeweiligen ResponseDetail-Codes:

Beispiel 1: DmsApp-Mapping-IgnoredNotModifiableDestinationProperty

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-IgnoredNotModifiableDestinationProperty",
            "title": "Ignored source property",
            "detail": "The source property with the ID 'myprop1_ID' was ignored because the mapped destination property with the ID '5' ('Name') is not modifiable. The current value for the property is 'Value of Name' and is not overwritten by the given value 'Value for myprop1'.",
            "hint": "Please adjust the d.3 configuration if you still want to write the values or contact your administrator.",
            "data": {
                "sourceItemId": "myprop1_ID",
                "sourceItemValue": "Value for myprop1",
                "destinationItemId": "5",
                "destinationItemValue": "Value of Name"
            }
        }
    ]
}

Beispiel 2: DmsApp-Mapping-NoMappingFoundForSourceCategory

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-NoMappingFoundForSourceCategory",
            "title": "Ignored source category",
            "detail": "The source category with the ID 'CAT1' was ignored because no mapping to a destination category was found.",
            "hint": "Please configure a mapping for the given source category or contact your administrator.",
            "data": {
                "sourceItemId": "CAT1"
            }
        }
    ]
}

Beispiel 3: DmsApp-Mapping-IgnoredDestinationSystemPropertyDueToUpdateMode

HTTP/1.1 200 OK
 
{
    "responseDetails": [     
        {
            "code": "DmsApp-Mapping-IgnoredDestinationSystemPropertyDueToUpdateMode",
            "title": "Ignored source property",
            "detail": "The source property with the ID 'PROP2' was ignored because the mapped destination property with the ID 'property_document_number', which is a system property, cannot be changed in update mode.",
            "data": {
                "sourceItemId": "PROP2",
                "destinationItemId": "property_document_number"
            }
        }
    ]
}

Beispiel 4: DmsApp-Mapping-MappingForSourceNotFound

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-MappingForSourceNotFound",
            "title": "Mapping configuration not found",
            "detail": "No mapping configuration was found for the source with the ID '/myapp/sources/mysourcex'. For this reason, no mapping is applied and any given values for properties or categories are ignored.",
            "hint": "Please configure a mapping for the given source or contact your administrator.",
            "data": {
                "sourceItemId": "/myapp/sources/mysourcex"
            }
        }
    ]
}

Beispiel 5: DmsApp-Mapping-NoDestinationCategoryFoundWithDestinationProperty

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-NoDestinationCategoryFoundWithDestinationProperty",
            "title": "Ignored source property",
            "detail": "The source property with the ID 'myprop1_ID' was ignored because the mapped destination property with the ID '5' was not found in any destination category.",
            "data": {
                "sourceItemId": "myprop1_ID",
                "destinationItemId": "5"
            }
        }
    ]
}

Beispiel 6: DmsApp-Mapping-NoMappingFoundForSourceProperty

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-NoMappingFoundForSourceProperty",
            "title": "Ignored source property",
            "detail": "The source property with the ID 'PROP3' was ignored because no mapping to a destination property was found.",
            "hint": "Please configure a mapping for the given source property or contact your administrator.",
            "data": {
                "sourceItemId": "PROP3"
            }
        }
    ]
}

Beispiel 7: DmsApp-Mapping-NoSourceProperties

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-NoSourceProperties",
            "title": "No source properties given",
            "detail": "No source properties were given that could be mapped."
        }
    ]
}

Beispiel 8: DmsApp-Mapping-NoValuesGivenForSourceProperty

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-NoValuesGivenForSourceProperty",
            "title": "Ignored source property",
            "detail": "The source property with the ID 'myprop1_ID' was ignored because no values were given.",
            "data": {
                "sourceItemId": "myprop1_ID"
            }
        }
    ]
}

Beispiel 9: DmsApp-Mapping-PropertyStatusIgnored

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-PropertyStatusIgnored",
            "title": "Ignored source property",
            "detail": "The source property with the ID 'myprop1_ID' was ignored because it is mapped to the destination property 'status' (ID: 'property_state') and other source properties were given. A status transfer is only possible if no other properties are changed.",
            "hint": "For a status transfer please send only the property ‘status’. Change the other properties in another request.",
            "data": {
                "sourceItemId": "myprop1_ID",
                "destinationItemId": "property_state"
            }
        }
    ]
}

Beispiel 10: DmsApp-Mapping-UnknownDestinationCategory

HTTP/1.1 200 OK
 
{
    "responseDetails": [
        {
            "code": "DmsApp-Mapping-UnknownDestinationCategory",
            "title": "Ignored source category",
            "detail": "The source category with the ID 'mycat1_ID' was ignored because the mapped destination category with the id 'destcat1_ID' is unknown or the user does not have permission for the category.",          
            "data": {
                "sourceItemId": "mycat1_ID",
                "destinationItemId": "destcat1_ID"
            }
        }
    ]
}
Feedback mithilfe von "SuccessCallback" und "Userdata"

In diesem Kapitel erfahren Sie, wie Sie Feedback zum Speichervorgang erhalten. Zusätzlich können Sie dem Anwender eigene Optionen im Ablagedialog bereitstellen. Die Optionen, die ein Anwender ausgewählt hat, können Sie in Ihrem Quellsystem auswerten, wenn der Speichervorgang erfolgreich war. Sie können aber auch Feedback erhalten, ohne dem Anwender eigene Optionen zur Verfügung zu stellen.

Bereitstellen von Optionen für den Anwender im Ablagedialog

Neben den Daten zur Zuordnungsverarbeitung können Sie in dem Ablagedialog Ihren Anwendern eigene Optionen anzeigen. Der Anwender kann eine der Optionen auswählen. Um diese Optionen bereitzustellen, fügen Sie dem JSON-Objekt sourceProperties das Array userdata hinzu. Weitere Informationen finden Sie unter Definieren der Parameter zum Speichern.

Sie können dem Anwender eine Auswahlmöglichkeit vorschlagen. Falls Sie keine Option vorschlagen, muss der Anwender selbst vor dem Speichern des DMS-Objektes eine Option auswählen. Nach dem erfolgreichen Speichern wird die vom Anwender ausgewählte Option an die URL (successCallbackUri) übergeben.

Das JSON-Objekt sourceProperties mit dem Array userdata sieht wie folgt aus:

{
    "properties": [ 
       ...
    ],
        "userdata": [{
       "key": "postProcessingOption",
       "display": "My post processing options",
       "values": [
                    {"value":"1", "display": "Action 1", "default":"false"},
                    {"value":"2", "display": "Default action 2", "default":"true"},
                    {"value":"3", "display": "Action 3", "default":"false"}
                 ]
    }]
}

Feedback nach erfolgreichem Speichern

Möchten Sie Feedback erhalten, sobald das DMS-Objekt erfolgreich gespeichert wurde, geben Sie den Parameter successCallbackUri an. Sie erhalten eine HTTP POST-Anforderung für diese URL mit einem JSON-Objekt in der Anforderung.

Die Anforderung, die die DMSApp sendet, könnte wie folgt aussehen:

Request

POST /myapp/sources/mysource/myfile/success
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
    "_links": {
        "dmsobjectwithmapping": { 
            "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000001234?sourceId=%2Fmyapp%2Fsources%2Fmysourc" 
        }
    },
        "userdata": [
        {
            "postProcessingOption": ["2"]
        }
    ]
}

Beschreibung des JSON-Objektes, das beim POST übergeben wird:

Eigenschaft

Beschreibung

_links

Enthält die Linkrelation dmsobjectwithmapping. Die Linkrelation ist eine relative URL zu den Details des gespeicherten DMS-Objektes.

userdata

Gibt das Array mit den Ergebnissen, welche Optionen ein Anwender ausgewählt hat, als Name-Wert-Paare (Key-Value) an. Die Eigenschaft userdata existiert nur, wenn Sie dem Anwender Optionen bereitgestellt haben.

Geben Sie als Antwort auf die Anforderung der DMSApp einen entsprechenden HTTP-Statuscode zurück. Anhand Ihres Statuscodes zeigt der Ablagedialog eine entsprechende Erfolgs- oder Fehlermeldung an. Sie können weitere Informationen in Ihrer Antwort als JSON-Objekt übergeben.

Beispiel für Ihre Antwort für eine Anforderung (Request):

Response

HTTP/1.1 400 BadRequest
  
{
    "reason": "My error message",
    "severity": 3
}

Beschreibung der Parameter zu der Antwort auf die Anforderung:

Eigenschaft

Beschreibung

reason

Ein optionaler kurzer Beschreibungstext, weshalb der Fehler aufgetreten ist. Dieser Text wird als Titel der Fehlermeldung verwendet.

hint

Ein optionaler Hinweistext für den Anwender mit Tipps für die Fehlerbehebung.

details

Optionale Detailinformationen zum Fehler.

severity

Optionaler Schweregrad des Fehlers. Folgende Werte sind möglich:

Success = 0,
Information = 1,
Warning = 2,
Error = 3
Löschen der aktuellen Version eines DMS-Objektes ohne Benutzerinteraktion

Freigegeben: JSON-Repräsentation

Sie können die aktuelle Version eines bestehenden DMS-Objektes in einem d.3-Repository löschen, ohne dass ein Anwender eine Aktion ausführen muss.

Um die aktuelle Version eines DMS-Objektes zu löschen, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln der Linkrelation zum bestehenden DMS-Objekt

  • Ermitteln der Linkrelation zum Löschen der aktuellen Version eines bestehenden DMS-Objektes

  • Aufrufen der URL zum Löschen der aktuellen Version des DMS-Objektes

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln der Linkrelation zum bestehenden DMS-Objekt

Um eine URL zu einem bestehendem DMS-Objekt zu ermitteln, führen Sie eine Suche aus und werten Sie die Linkrelation self zu einem Element der Ergebnisliste aus. Im Kapitel Abrufen und Anzeigen der Ergebnisse eines Suchvorgangs finden Sie weitere Informationen zum Ausführen einer Suche und die Beschreibung eines Elements der Ergebnisliste.

Ermitteln der Linkrelation zum Löschen der aktuellen Version des bestehenden DMS-Objektes

Um die URL zum Löschen der aktuellen Version des DMS-Objektes zu ermitteln, werten Sie die Linkrelationen delete und deleteWithReason zu einem Element der Ergebnisliste aus. Wenn ein Löschgrund z.B. beim Löschen einer bereits freigegebenen Version zwingend angegeben werden muss, ist die Linkrelelation deleteWithReason vorhanden. Ansonsten enthält die Linkrelation delete die URL zum Löschen. Fehlen beide Linkrelationen, überprüfen Sie bitte die Berechtigungen zum Löschen der Version des DMS-Objektes. Wenn das vorhandene DMS-Objekt sich in Bearbeitung befindet, muss der authentifizierte Benutzer der Bearbeiter des DMS-Objektes sein.

Aufrufen der URL zum Löschen der aktuellen Version des DMS-Objektes

Führen Sie eine HTTP DELETE-Anforderung auf die ermittelten Linkrelationen delete oder deleteWithReason zum bestehenden DMS-Objektes aus. Wenn Sie einen Löschgrund übermittelt möchten, muss dieser im Body der Anforderung angegeben werden. Der Löschgrund muss mindestens 3 Zeichen und darf maximal 80 Zeichen umfassen.

Request

DELETE /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{"reason":"Created accidentally."}

Ist der Aufruf erfolgreich, wird HTTP 200 OK zurückgegeben. Ist der Body leer, wurde das komplette DMS-Objekt gelöscht. Enthält das DMS-Objekt weitere Versionen, enthält der Body weitere Linkrelationen. Ist die Linkrelation self enthalten, existieren weitere Versionen zum DMS-Objekt und Sie können mit dieser URL weitere Details zum DMS-Objekt abrufen. Mit den Linkrelationen delete oder deleteWithReason können Sie die nächste Version des DMS-Objektes löschen. Sind diese Linkrelationen nicht vorhanden, fehlen dem Benutzer die Berechtigungen, die nächste Version zu löschen.

Response

HTTP/1.1 200 OK

{
        "_links": {
        "self": {
                "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001"
        },
                "delete": {
                "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/A00000001"
        }
        }
}

Schlägt das Löschen der Version fehl, wird eine entsprechende Antwort (Response) zurückgegeben. Weitere Informationen finden Sie unter Übersicht über Formate bei Fehlern.

Die Bearbeitung eines Elements durch Anwender in Microsoft Office 365 erfordert die exklusive Bearbeitung eines DMS-Objektes. Falls die Verarbeitung durch Office 365 noch nicht abgeschlossen ist, schlägt die Anforderung fehl und Sie erhalten als Antwort den Statuscode 403 Forbidden mit entsprechenden Fehlerinformation. Bitte wiederholen Sie die Anforderung zu einem späteren Zeitpunkt.

Abrufen, Speichern und Bearbeiten von Zuordnungen

Freigegeben: JSON-Repräsentation

In diesem Kapitel erfahren Sie, wie Sie Zuordnungen sowohl für Eigenschaften als auch für Kategorien von einem Quellsystem (z.B. einer E-Mail-Anwendung) zu einem d.3-Repository erstellen und verwalten können. Diese Zuordnungen werden bei der Ablage, beim Abrufen von Details eines Elementes und beim Abrufen und Anzeigen von Ergebnissen eines Suchvorgangs innerhalb von d.3one-Integrationen verwendet. Beim Speichern von Zuordnungen legen Sie fest, welche externen Daten (z.B. die Eigenschaften einer E-Mail) welcher d.3-Dokumenteigenschaft zugewiesen werden.

Pro Quelle eines Quellsystems kann es ausschließlich eine einzige Zuordnung geben.

Im Kapitel Definieren eines Quellsystems erfahren Sie, wie Sie eine Quelle für eine Zuordnung bereitstellen können. Im Kapitel Grundlegendes zu Zuordnungen (Mappings) finden Sie Basisinformationen, die Ihnen das Erstellen von Zuordnungen erleichtern. Wissenswertes zu schreibenden Zugriffen finden Sie unter Grundlegendes zu schreibenden Zugriffen.

Ermitteln der Linkrelation für das Verwalten von Zuordnungen

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln. Danach führen Sie eine HTTP Get-Anforderung für die REST-Ressource zu einem Repository wie folgt aus:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

Das JSON-Objekt zu einem Repository enthält die Linkrelation mappingconfig.

Response

{
        "_links": {
                "mappingconfig": {
                        "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/m/"
                }
        },
        "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Speichern von Zuordnungen

Führen Sie eine HTTP POST-Anforderung mit den Zuordnungen für Ihr Quellsystem als Body für die URL aus, die Sie in der Linkrelation mappingconfig erhalten haben. Nach dem erfolgreichen Speichern erhalten Sie den HTTP-Statuscode 201 Created.

Request

POST https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/m HTTP/1.1
Origin: https://host
Accept: application/hal+json
Content-Type: application/hal+json

{
        name: "My Source",
        sourceId: "/myapp/sources/mysource",
        mappingItems: [{
                destination: "RECH",
                source: "mycategory1_ID",
                type: 1
        },
        {
                destination: "3",
                source: "myprop1_ID",
                type: 0
        },
        {
                destination: "property_caption",
                source: "myprop2_ID",
                type: 0
        }]
}

Das JSON-Objekt, das beim POST übergeben wird, ist wie folgt beschrieben:

Eigenschaft

Eigenschaft eines enthaltenen Objekts

Beschreibung

name

-

Gibt den Namen der Zuordnung an.

sourceId

-

Gibt den eindeutigen Bezeichner der Quelle an.

Die ID muss eine relative URI sein. Die relative URI sollte mit dem Namen der App beginnen, die das Quellsystem bereitstellt, damit eine Eindeutigkeit gewährleistet ist (z.B. /myapp/sources/mysource).

mappingItems

-

Gibt das Array mit den Elementen der Zuordnung an. Dieses Array ordnet die Eigenschaften und Kategorien des Quellsystems zu den Eigenschaften und Kategorien des d.3-Repositorys zu.

type

Gibt den Typ des Zuordnungselements an. Folgende Werte sind möglich:

Bei Wert 0 bezieht sich das Zuordnungselement auf eine Eigenschaft.

Bei Wert 1 bezieht sich das Zuordnungselement auf eine Kategorie.

source

Gibt die ID der Eigenschaft im Quellsystem an.

destination

Wenn Sie eine Kategorie zuordnen, dann gibt destination die ID der Kategorie im d.3-Repository an.

Wenn Sie eine Eigenschaft zuordnen, dann kann destination einen der folgenden Werte enthalten:

  • Die ID der erweiterten Eigenschaft, wie sie im d.3-Repository definiert ist.

  • property_last_modified_date

  • property_last_alteration_date

  • property_editor

  • property_remark1

  • property_remark2

  • property_remark3

  • property_remark4

  • property_owner

  • property_caption

  • property_filename

  • property_filetype

  • property_document_number

  • property_variant_number

  • property_creation_date

  • property_size

  • property_state

  • property_access_date

  • property_colorcode

Wenn Sie das Erstellungsdatum (property_creation_date) des DMS-Objektes festlegen möchten, dann wird das Festlegen der Eigenschaft nur beim Speichern eines neuen DMS-Objektes ohne Benutzerinteraktion berücksichtigt. Weitere Informationen finden Sie unter Speichern eines neuen DMS-Objektes ohne Benutzerinteraktion.

Bitte beachten Sie, dass Sie nur d.3-Eigenschaften als Ziel angeben können, die mindestens einer d.3-Kategorie als Eigenschaft zugewiesen sind.

Abrufen der gespeicherten Zuordnungen

Führen Sie eine HTTP GET-Anforderung für die URL /dms/r/<RepositoryID>/m?sourceId=<SourceID> aus, um die Zuordnungen abzurufen. Der Wert der Eigenschaft sourceID gibt den eindeutigen Bezeichner der Quelle an (z.B. /myapp/sources/mysource).

Request

GET https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/m?sourceId=%2Fmyapp%2Fsources%2Fmysource HTTP/1.1
Accept: application/hal+json

Sie erhalten als Antwort das Objekt mit den gespeicherten Zuordnungen.

Response

HTTP/1.1 200 OK
Content-Type: application/hal+json

{
        mappings: [{
                _links: {
                        self: {
                                href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/m/<MappingContainerID>"
                        }
                }
                name: "My Source",
                sourceId: "/myapp/sources/mysource",
                mappingItems: [{
                        destination: "RECH",
                        source: "mycategory1_ID",
                        type: 1
                },
                {
                        destination: "3",
                        source: "myprop1_ID",
                        type: 0
                },
                {
                        destination: "property_caption",
                        source: "myprop2_ID",
                        type: 0
                }]
        }]
}

Die Eigenschaften der Objekte sind die gleichen Eigenschaften wie beim Speichern von Zuordnungen.

Löschen einer gespeicherten Zuordnung

Wenn Sie die Zuordnungen für Ihre Quelle abrufen, erhalten Sie pro Zuordnung eine Linkrelation zu dieser gespeicherten Zuordnung (_links.self.href). Für diese URL können Sie eine HTTP Delete-Anforderung ausführen, um die Zuordnung zu löschen.

Request

DELETE https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/m/<MappingContainerID> HTTP/1.1
Origin: https://host
Accept: application/hal+json

Bearbeiten einer gespeicherten Zuordnung

Wenn Sie die Zuordnungen für Ihre Quelle abrufen, erhalten Sie pro Zuordnung eine Linkrelation zu dieser gespeicherten Zuordnung (_links.self.href). Für diese URL können Sie eine HTTP PUT-Anforderung zum Aktualisieren der Zuordnung ausführen. Das Objekt, das Sie übergeben, entspricht dem Objekt zum Speichern einer Zuordnung.

Request

PUT https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/m/<MappingContainerID> HTTP/1.1
Origin: https://host
Accept: application/hal+json
Content-Type: application/hal+json

{
        name: "My Source",
        sourceId: "/myapp/sources/mysource",
        mappingItems: [{
                destination: "RECH",
                source: "mycategory1_ID",
                type: 1
        },
        {
                destination: "3",
                source: "myprop1_ID",
                type: 0
        },
        {
                destination: "property_caption",
                source: "myprop2_ID",
                type: 0
        }]
}
Abrufen und Speichern der Notizen eines DMS-Objektes

Freigegeben: JSON-Repräsentation

In diesem Kapitel erfahren Sie, wie Sie die Notizen eines DMS-Objektes abrufen und speichern können.

Um die Notizen eines DMS-Objektes abzurufen oder zu speichern, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln und Aufrufen der Linkrelation zum Abrufen der Details eines DMS-Objektes

  • Ermitteln der Linkrelation zum Abrufen der Notizen eines DMS-Objektes

  • Aufrufen der URL für die Notizen eines DMS-Objektes

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln und Aufrufen der Linkrelation zum Abrufen der Details eines DMS-Objektes

Im Kapitel Abrufen und Anzeigen von Details eines DMS-Objektes können Sie nachlesen, wie Sie die URL zum Abrufen der Details eines DMS-Objektes ermitteln und aufrufen.

Ermitteln der Linkrelation zum Abrufen der Notizen eines DMS-Objektes

Das JSON-Objekt zu den Details eines DMS-Objektes enthält die Linkrelation notes , mit deren Hilfe Sie die Notizen des DMS-Objektes abrufen können.

Response

{
  "_links": {    
         "notes":{
           "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/n"
         }
  },
  "id": "D000000123"  
}

Abrufen der Notizen eines DMS-Objektes

Rufen Sie die Notizen des DMS-Objektes mit der zuvor ermittelten URL wie folgt ab:

Request

GET https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/n HTTP/1.1
Accept: application/hal+json

Sie erhalten als Antwort das Objekt mit den Notizen des DMS-Objektes:

Response

HTTP/1.1 200 OK
Content-Type: application/hal+json

{
    "_links": {
        "self": {
            "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/n"
        }
    },
    "notes":[{
            "creator" : {
                "id": "MargaS"
                "displayName": "Marga Schilling"
            },
            "text": "This is a sample text."
            "created": "2019-09-03T09:09:09.453+02:00"
        }
    ]
}

Eigenschaft

Beschreibung

_links

self: selbstverweisender Link (Self-Link)

notes

Gibt das Array mit den Notizelementen des DMS-Objektes an.

Struktur eines Notizelementes

Eigenschaft

Beschreibung

creator

Gibt ein Objekt mit den Informationen zum Benutzer zurück, der die Notiz verfasst hat.

text

Enthält den Inhalt der Notiz.

created

Gibt den eindeutigen Zeitstempel des Verfassungszeitpunkts der Notiz an. Der Zeitstempel wird im ISO-Format zurückgegeben.

Struktur eines Erstellerobjektes

Eigenschaft

Beschreibung

id

Gibt die eindeutige ID des d.3-Benutzers zurück.

displayName

Gibt den Anzeigenamen des d.3-Benutzers zurück.

Speichern der Notizen eines DMS-Objektes

Mit einer HTTP POST -Anforderung für die zuvor ermittelte URL können Sie eine Notiz zu einem DMS-Objekt erstellen. Wenn Sie mehrere Notizen erstellen möchten, wiederholen Sie den Vorgang. Speichern Sie eine Notiz wie folgt ab:

Request

POST https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/n HTTP/1.1
Content-Type: application/json
Content-Length: 42

{
    "text": "This is a sample text."
}

Response

HTTP/1.1 200 OK

Struktur des Notizelementes

Eigenschaft

Beschreibung

text

Enthält den Inhalt der Notiz.

Abrufen und Anzeigen der Versionen eines DMS-Objektes

Freigegeben: JSON-Repräsentation, HTML-Seite

Sie können die Versionen zu einem DMS-Objekt als JSON-Repräsentation abrufen oder die Versionen zu einem DMS-Objekt anzeigen.

Um die Versionen eines DMS-Objektes abzurufen oder anzuzeigen, müssen Sie die folgenden Schritte durchführen:

  • Ermitteln der Linkrelation zum Abrufen und Anzeigen der Versionen eines DMS-Objektes

  • Aufrufen der URL für die Versionen eines DMS-Objektes

Ermitteln der Linkrelation zum Abrufen und Anzeigen der Versionen eines DMS-Objektes

Im Kapitel Abrufen und Anzeigen von Details eines DMS-Objektes können Sie nachlesen, wie Sie die Linkrelation für die Versionen eines DMS-Objektes ermitteln.

Abrufen und Anzeigen der Versionen eines DMS-Objektes (JSON-Repräsentation)

Wenn Sie die URL zu den Versionen aus der Linkrelation haben, dann können Sie die Versionen eines DMS-Objektes wie folgt aufrufen:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/
Accept: application/json
Accept-Language: en

Als Ergebnis wird dann folgendes JSON-Objekt zurückgegeben:

Response

{
  "_links": {
    "self": {
      "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/"
    }
  },
  "versions": [{ 
      "_links": { 
        "mainblobcontent": { 
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/6_3/b/main/c" 
        },
        "pdfblobcontent": {
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/6_3/b/p1/c"
        },
        "self": { 
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/6_3"
        }
      },
      "alterationText": "",
      "caption": "3 Processing",
      "creationDate":"2019-10-25T12:22:56.000+02:00",
      "id": "6_3",
      "mimeType":"application/msword",
      "state":"Processing"
    },
    {
      "_links": { 
        "mainblobcontent": { 
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/3_2/b/main/c" 
        },
        "pdfblobcontent": {
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/3_2/b/p1/c"
        },
        "self": { 
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/3_2"
        }
      },
      "alterationText": "Reasons for changes",
      "caption": "2 Release",
      "creationDate":"2019-10-22T16:29:32.000+02:00",
      "id": "3_2",
      "mimeType":"application/msword",
      "state":"Released"
    },
    {
      "_links": { 
        "mainblobcontent": { 
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/1_1/b/main/c" 
        },
        "pdfblobcontent": {
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/D000000123/v/1_1/b/p1/c"
        },
        "self": { 
          "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/1_1"
        }
      },
      "alterationText": "Reasons for changes",
      "caption": "1 Archive",
      "creationDate":"2019-10-12T11:49:41.000+02:00",
      "id": "1_1",
      "mimeType":"application/msword",
      "state":"Archived"
    }
  ]
}

Eigenschaft

Beschreibung

_links

Enthält die Linkrelationen:

self: Self-Link

versions

Gibt das Array mit Versionen an.

Struktur einer Version

Eigenschaft

Beschreibung

_links

Enthält die Linkrelationen zu der Version eines DMS-Objektes.

mainblobcontent: Relative Download-URL für das Hauptdokument der Version des DMS-Objektes.

pdfblobcontent: Relative Download-URL für das abhängige PDF-Dokument der Version des DMS-Objektes. Diese URL erhalten Sie nur, wenn ein abhängiges PDF-Dokument für das DMS-Objekt erzeugt wurde.

self: Self-Link.

alterationText

Gibt den Änderungtext bei der Freigabe der Version an.

caption

Gibt den Anzeigenamen der Version an. Dieser Wert wird sprachspezifisch ausgegeben, indem der HTTP-Header Accept-Language ausgewertet wird.

creationDate

Gibt das Erzeugungsdatum der Version an.

id

Gibt die ID der Version an.

mimeType

Gibt den Typ des Hauptdokumentes an.

state

Gibt den Status der Version an. Mögliche Werte sind Processing, Verification, Released und Archived.

Abrufen und Anzeigen der Versionen eines DMS-Objektes (HTML-Seite)

Wenn Sie die HTML-Darstellung der Versionen aufrufen möchten, ermitteln Sie die Linkrelation zu den Versionen eines DMS-Objektes. Geben Sie die URL im Browser ein, um die HTML-Seite anzuzeigen. Diese HTML-Seite enthält die Liste der Versionen eines DMS-Objektes.

Beispiel:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/v/
Accept: text/html
Verknüpfen von DMS-Objekten

Freigegeben: JSON-Repräsentation

In diesem Kapitel erfahren Sie, wie Sie DMS-Objekte mit anderen DMS-Objekten unabhängig vom Typ hierarchisch verknüpfen können.

Um DMS-Objekte miteinander zu verknüpfen, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln und Aufrufen der Linkrelation zum Abrufen der Details eines DMS-Objektes

  • Ermitteln der Linkrelation zum Verknüpfen von DMS-Objekten

  • Verknüpfen von DMS-Objekten

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln und Aufrufen der Linkrelation zum Abrufen der Details eines DMS-Objektes

Im Kapitel Abrufen und Anzeigen von Details eines DMS-Objektes können Sie nachlesen, wie Sie die URL zum Abrufen der Details eines DMS-Objektes ermitteln und aufrufen.

Ermitteln der Linkrelation zum Verknüpfen von DMS-Objekten

Das JSON-Objekt zu den Details eines DMS-Objektes enthält die Linkrelation linkDmsObjects, mit deren Hilfe Sie DMS-Objekte verknüpfen können.

Response

{ 
    "_links": {   
        "linkDmsObjects":{
            "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/children"
        }
    },
    "id": "D000000123" 
}

Verknüpfen von DMS-Objekten

Führen Sie eine HTTP POST-Anforderung mit der Liste der IDs der zu verknüpfenden DMS-Objekte als Body auf die zuvor ermittelte URL wie folgt aus, um ein DMS-Objekt mit den übergebenen DMS-Objekten zu verknüpfen:

Request

POST https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/children HTTP/1.1
Accept: application/hal+json

Content-Type: application/hal+json

{
    "dmsObjectIds": [
        "D000000089",
        "D000000127",
        "D000004567",
    ]
}

Das JSON-Objekt, das beim POST übergeben wird, ist wie folgt beschrieben:

Eigenschaft

Beschreibung

dmsObjectIds

Gibt das Array mit den IDs der DMS-Objekte (vom Typ String) an, die mit dem DMS-Objekt verknüpft werden sollen.

Sie erhalten als Antwort den HTTP-Statuscode 200 (OK), wenn das Verknüpfen erfolgreich war. War das Verknüpfen nicht erfolgreich oder nur für einzelne DMS-Objekte erfolgreich, erhalten Sie den HTTP-Statuscode 207 (Multi-Status) und eine Liste mit detaillierten Informationen zu den einzelnen Verknüpfungsvorgängen.

Beispiel für eine Antwort für eine teilweise fehlgeschlagene Anforderung (Request):

Response

HTTP/1.1 207 Multi-Status
Content-Type: application/hal+json
 
{
 "requestId": "XyErwIKPhyGaMg9dxcGksgAAA@A",
 "linkDocumentErrorPageModels": [
   {
     "dmsObjectId": "D000000089",
     "errorPageModel": {
       "reason": "These documents are already linked to each other! [0000071] ",
       "severity": 1,
       "errorCode": 71
     }
   },
   {
     "dmsObjectId": "D000000127",
     "errorPageModel": {
       "reason": "These documents are already linked to each other! [0000071] ",
       "severity": 1,
       "errorCode": 71
     }
   },
   {
     "dmsObjectId": "D000004567",
     "errorPageModel": {
       "reason": "These documents are already linked to each other! [0000071] ",
       "severity": 1,
       "errorCode": 71
     }
   }
 ]
}

Beschreibung der Parameter zu der Antwort auf die fehlerhafte Anforderung:

Eigenschaft

Beschreibung

requestId

ID der zugehörigen Anforderung. Die ID wird bei weiteren Anforderungen an andere Apps übergeben und dient der Nachverfolgung bei der Verarbeitung einer Aktion.

linkDocumentErrorPageModels

Ein Array mit Fehlermeldungen zu einem Verknüpfungsvorgang.

Struktur eines Antwortobjektes zu einem Verknüpfungsvorgang

Eigenschaft

Beschreibung

dmsObjectId

Die ID des DMS-Objektes, das verknüpft werden soll.

errorPageModel

Ein Objekt mit einer Beschreibung, ob die Verknüpfung erfolgreich war.

Format der Antwort bei Fehlern

Eigenschaft

Beschreibung

errorCode

Ein optionaler Fehlercode, den d.3 server zurückgegeben hat.

reason

Ein optionaler kurzer Beschreibungstext, weshalb der Fehler aufgetreten ist. Dieser Text wird als Titel der Fehlermeldung verwendet.

severity

Optionaler Schweregrad des Fehlers. Folgende Werte sind möglich:

Success = 0,
Information = 1,
Warning = 2,
Error = 3
Aufheben der Verknüpfung eines DMS-Objektes

Diese Funktion steht Ihnen aktuell nur für On-Premises-Installationen zur Verfügung.

Freigegeben: JSON-Repräsentation

In diesem Kapitel erfahren Sie, wie Sie die Verknüpfung zwischen zwei DMS-Objekten aufheben können. Sie können Verknüpfungen von DMS-Objekten nur einzeln aufheben.

Um die Verknüpfung zwischen zwei DMS-Objekten aufzuheben, müssen Sie folgende Schritte durchführen:

  • Ermitteln der URL zu einem Repository

  • Ermitteln und Aufrufen der Linkrelation zum Abrufen der Details eines DMS-Objektes

  • Ermitteln der Linkrelation zum Aufheben der Verknüpfung zwischen zwei DMS-Objekten

  • Aufrufen der URL zum Aufheben der Verknüpfung zwischen zwei DMS-Objekten

Ermitteln der URL zu einem Repository

Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.

Ermitteln und Aufrufen der Linkrelation zum Abrufen der Details eines DMS-Objektes

Im Kapitel Abrufen und Anzeigen von Details eines DMS-Objektes können Sie nachlesen, wie Sie die URL zum Abrufen der Details eines DMS-Objektes ermitteln und aufrufen.

Ermitteln der Linkrelation zum Aufheben der Verknüpfung zwischen zwei DMS-Objekten

Das JSON-Objekt zu den Details eines DMS-Objektes enthält die Linkrelation unlinkDmsObject mit einem Platzhalter für die ID des übergeordneten DMS-Objektes, für das Sie die Verknüpfung aufheben möchten.

Response

{ 
    "_links": {    
        "unlinkDmsObject": { 
            "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/{parentDmsObjectId}/children/D000004567" 
        } 
    }, 
    "id": "D000000123" 
}

Aufrufen der URL zum Aufheben der Verknüpfung zwischen zwei DMS-Objekten

Führen Sie eine HTTP DELETE-Anforderung mit der ID des DMS-Objektes als Parameter in der zuvor ermittelten URL wie folgt aus, um die Verknüpfung für das DMS-Objekt aufzuheben:

Request

DELETE https://host/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000000123/children/D000004567 HTTP/1.1 
Accept: application/hal+json

Sie erhalten als Antwort den HTTP-Statuscode 200 (OK), wenn das Aufheben der Verknüpfung erfolgreich war. War das Aufheben der Verknüpfung nicht erfolgreich, erhalten Sie den HTTP-Statuscode 400 (Bad Request) und eine detaillierte Information zu dem Fehler.

Beispiel für eine Antwort für eine fehlgeschlagene Anforderung (Request):

Response

HTTP/1.1 400 Bad Request 
Content-Type: application/hal+json 

{
  "reason": "These two documents are not linked with each other. [0000073] ",
  "severity": 1,
  "errorCode": 73,
  "requestId": "XyEWT4KPhyGaMg9dxcGNiAAAA@c"
}

Falls Sie mehrere DMS-Objekte lösen möchten, wiederholen Sie diesen Schritt.

Beschreibung der Parameter zu der Antwort auf die fehlerhafte Anforderung:

Format der Antwort bei Fehlern

Eigenschaft

Beschreibung

reason

Ein optionaler kurzer Beschreibungstext, weshalb der Fehler aufgetreten ist. Dieser Text wird als Titel der Fehlermeldung verwendet.

severity

Optionaler Schweregrad des Fehlers. Folgende Werte sind möglich:

Success = 0,
Information = 1,
Warning = 2,
Error = 3

errorCode

Ein optionaler Fehlercode, den d.3 server zurückgegeben hat.

requestId

ID der zugehörigen Anforderung. Die ID wird bei weiteren Anforderungen an andere Apps übergeben und dient der Nachverfolgung bei der Verarbeitung einer Aktion.