Verwenden von Erweiterungspunkten
Mit Erweiterungspunkten haben Sie die Möglichkeit, die DMSApp um Ihre eigenen Funktionen zu erweitern. An folgenden Stellen bietet die DMSApp Erweiterungspunkte:
Es gibt zwei Arten, wie Sie die Erweiterungspunkte in der DMSApp erweitern können:
Bereitstellen per URL
Über die API in der DMSApp anlegen
Vorbereiten Ihrer App
Damit Erweiterungen zu Kontextaktionen oder der Anzeige von Dokumenten von der DMSApp gefunden werden, muss Ihre App diese Schnittstelle bereitstellen. Die DMSApp nutzt zum Auffinden von Apps, die Erweiterungen bereitstellen, 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 Erweiterungspunkten
Die Rootressourcen dieser Apps werden zyklisch abgefragt (Request). Die Antwort (Response) einer App wird daraufhin geprüft, ob eine Linkrelation namens dmsobjectextensions
enthalten ist. Diese Linkrelation gilt als Signal, dass die App Erweiterungen für die DMSApp anbietet. Die DMSApp führt ein HTTP GET
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" : { "dmsobjectextensions" : { "href" : "/myapp/dmsobjectextensions" } } }
Anmerkung
Die Abfrage der Rootressourcen erfolgt anonym (ohne Authentifizierung) und wird als asynchroner Hintergrundprozess innerhalb der DMSApp ausgeführt.
Über die API in der DMSApp erstellen
Mit einer HTTP POST
-Anforderung für die URL /dms/extensions
können Sie eine Erweiterung bei der DMSApp erstellen. Wenn Sie mehrere Erweiterungen erstellen möchten, wiederholen Sie den Vorgang. Die Anforderung darf nur von einem Benutzer mit Administrationsrechten gestellt werden. Ist die Antwort der Anforderung erfolgreich, wird die Erweiterung in der DMSApp gespeichert und Sie erhalten eine Location
-URL im Header der Antwort. Der Aufbau des genormten JSON-Objektes ist in den folgenden Seiten beschrieben.
Request
POST /dms/extensions Origin: https://baseuri Content-Type: application/json Content-Length: 619 { "id": "myapp.openExternalApp", "activationConditions": [{ "propertyId": "repository.id", "operator": "or", "values": ["e632f767-5cfa-538d-ab55-6756c36a74c9"] } ], "captions": [{ "culture": "de", "caption": "Externe Applikation öffnen" }, { "culture": "en", "caption": "Open external application" } ], "context": "DmsObjectDetailsContextAction", "uriTemplate": "/myapp/dosomething?id={dmsobject.property_document_id}", "iconUri": "/myapp/images/goto.svg" }
Response
HTTP/1.1 201 Created Location: /dms/extensions/dmsapp-custom-myapp.openExternalApp
Über die Location
-URL kann ein Benutzer mit Administrationsrechten die Erweiterung in der DMSApp auch wieder löschen. Dazu muss eine HTTP DELETE
-Anforderung an den Wert der Location
-URL gesendet werden.
Request
DELETE /dms/extensions/dmsapp-custom-myapp.openExternalApp Origin: https://baseuri
Response
HTTP/1.1 200 OK
Anzeigen von Erweiterungspunkten
Freigegeben: HTML-Seite
Sie können die bei der DMSApp registrierten Erweiterungspunkte anzeigen. Geben Sie einfach die URL /dms/extensions
im Browser ein.
Request
GET /dms/extensions Accept: text/html