Hinzufügen von Kontextaktionen zu Listen
Freigegeben: Erweiterungspunkt
Wenn Sie Kontextaktionen zu Listen mit Elementen (z.B. Dokumenten und Akten) hinzufügen, werden diese in folgenden Sektionen angezeigt:
Ergebnisse im Feature Suche
Inhalt einer Akte
Ihre Favoritenlisten und die Liste der beobachteten Elemente im Feature Persönlicher Bereich
Klickt der Anwender auf eine Kontextaktion einer Liste, wechselt die Liste immer zunächst in den Auswahlmodus. Im Auswahlmodus kann der Anwender die gewünschten Elemente auswählen und die Kontextaktion ausführen.
Die App, die solche Erweiterungen bereitstellen möchte, muss unter der Linkrelation dmsobjectextensions
eine HTTP-Antwort (Response) im JSON-Format zurückgeben, in der zu jeder Kontextaktion folgende Informationen bereitgestellt werden:
Kontext des Erweiterungspunkts:
DmsObjectListContextAction
Aktivierungsbedingungen zum Anzeigen der Kontextaktion.
Anzeigename der Kontextaktion in den verfügbaren Übersetzungen.
Link zum Symbol der Kontextaktion.
Die Aktion, die ausgeführt werden soll, wenn die Auswahl vom Anwender abgeschlossen wurde. Geben Sie einen relativen Link an, der per
HTTP GET
von der DMSApp aufgerufen wird.
Jede Kontextaktion kann auch per HTTP POST
-Anforderung für die URL /dms/extensions
in der DMSApp erstellt werden. Die Anforderung darf nur von einem Benutzer mit Administrationsrechten gestellt werden. Wenn die Antwort der Anforderung erfolgreich ist, wird die Erweiterung in der DMSApp gespeichert und Sie erhalten eine Location
-URL im Header der Antwort. Ü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.
Beispiel
Das Beispiel zeigt, wie Sie die HTTP-Antwort der Linkrelation dmsobjectextensions
gestalten, um eine Kontextaktion mithilfe eines Erweiterungspunkts DmsObjectListContextAction
hinzuzufügen. Je Kontextaktion definieren Sie verschiedene Eigenschaften.
{ "extensions": [ { "id": "myapp.exportList", "activationConditions": [{ "propertyId": "repository.id", "operator": "or", "values": ["e632f767-5cfa-538d-ab55-6756c36a74c9"] }], "captions": [{ "culture": "de", "caption": "Exportieren" }, { "culture": "en", "caption": "Export" }, { "culture": "en-GB", "caption": "Exportin Great Britain" }], "descriptions": [{ "culture": "de", "description": "Liste als CSV exportieren" }, { "culture": "en", "description": "Export list as CSV" }, { "culture": "en-GB", "description": "Export list as CSV in Great Britain" }], "context": "DmsObjectListContextAction", "uriTemplate": "/myapp/dosomething?url={dmsobjectlist.url}", "iconUri": "/myapp/images/export-list.svg", "target": "dapi_navigate" }] }
Eigenschaft | Eigenschaften eines enthaltenen Objekts | Beschreibung |
---|---|---|
| - | Legt den eindeutigen technischen Namen fest, der verwendet wird, um die Erweiterung von anderen Erweiterungen zu unterscheiden. |
| Pro Erweiterung teilt die Anwendung mit, unter welchen Aktivierungsbedingungen die Kontextaktion angezeigt werden soll. Diese Aktivierungsbedingungen werden vorab von der Anwendung mitgeteilt. Würden die Aktivierungsbedingungen nicht vorab mitgeteilt, müsste die DMSApp zu einem späteren Zeitpunkt, an dem der Anwender sich ein Element ansieht, andere Apps mit einer Netzwerkanforderung (Request) abfragen. Die Wartezeit für den Anwender würde dann stark steigen, wenn eine App nur verzögert auf diese Anfrage reagiert. Eine Kontextaktion wird dann angezeigt, wenn alle Einzelbedingungen zutreffen. Enthält die Liste der Aktivierungsbedingungen keinen Eintrag, ist die Erweiterung generell aktiv. Sie geben die Aktivierungsbedingungen als Array an. | |
| Gibt die ID der Eigenschaft an, die für die Aktivierungsbedingung geprüft wird. Mögliche Werte werden weiter unten beschrieben. | |
| Der Operator gibt an, auf welche Art und Weise eine Einzelbedingung ausgewertet wird. Folgender Operator steht zur Verfügung: or: Eine notOr: Eine | |
| Gibt die Werte in Form eines Arrays an, die mit dem Wert der | |
| Jede Kontextaktion teilt mit, unter welchem Namen sie angezeigt wird. Sie können auch verschiedene Sprachen berücksichtigen, wobei Sie die sprachabhängigen Namen als Array angeben. Für eine vollständige Kompatibilität von Sprachpaketen geben Sie die Sprachen für folgende
Wird vom Anwender eine Sprache angefordert, für die die erweiternde App keine Angabe zum lokalisierten (sprachspezifischen) Namen angegeben hat, wird nach folgenden Regeln eine alternative Sprache für die Anzeige bestimmt:
| |
| Gibt die Sprachkennung an, zu der der Name der Kontextaktion definiert wird. Die Angabe enthält den Sprachcode (z.B. en) und optional einen zusätzlichen Regionscode (z.B. en-GB). | |
| Gibt den sprachabhängigen Namen der Kontextaktion an. | |
| (Optional) Jede Kontextaktion kann mitteilen, welche Beschreibung für die jeweilige Kontextaktion angezeigt wird. Diese Beschreibung wird als Tooltipp bei der Kontextaktion angezeigt. Verschiedene Sprachen werden wie in der Eigenschaft captions angegeben. | |
| Gibt die Sprachkennung an, zu der die Beschreibung der Kontextaktion definiert wird. Die Angabe enthält den Sprachcode (z.B. en) und optional einen zusätzlichen Regionscode (z.B. en-GB). | |
| Gibt die sprachabhängige Beschreibung der Kontextaktion an. | |
| - | Gibt den gewünschten Erweiterungspunkt an, zu dem die Kontextaktion hinzugefügt werden soll. Geben Sie für Kontextaktionen zur Detailansicht folgenden Wert an:
|
| - | Sie definieren in der Eigenschaft AnmerkungDas Verwenden eines Platzhalters im Host-Teil der URL ist aus Sicherheitsgründen nicht erlaubt und führt zu einem Fehler. |
| - | Gibt den Link zum Symbol an, das für die Kontextaktion angezeigt wird. Die Datei für das Symbol muss im SVG-Format vorhanden sein. Die Füllfarbe des SVGs darf nicht festgelegt sein, damit die Füllfarbe über das Theming angepasst werden kann. Wenn Sie eine eigene SVG-Datei als Symbol verwenden möchten, ist es empfehlenswert, die SVG-Datei im Ordner des Installationsverzeichnisses |
| - | (Optional) Gibt an, wo der Inhalt der Kontextaktion angezeigt werden soll. Mögliche Werte:
|
Verwenden Sie beim Definieren von Aktivierungsbedingungen bei Kontextaktionen zu Listen folgende Werte für die propertyId
-Eigenschaft:
Bedingungskontext | propertyId | Beschreibung |
---|---|---|
Repository |
| ID des Repositorys, wie in der d.ecs repo-App angegeben. Die Repository-ID finden Sie in der Detailsektion des Features d.3 Repositorys ( Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die ID zu einem Repository programmatisch ermitteln. |
Benutzer |
| Aktivierungsbedingung: ID einer d.3-Benutzergruppe (maximal acht Zeichen), in der der aktuell angemeldete Anwender Mitglied ist. |
| Aktivierungsbedingung: GUID einer Benutzergruppe der identity provider-App, in der der aktuell angemeldete Anwender Mitglied ist. |
Für eine Kontextaktion vom Typ DmsObjectListContextAction
können Sie folgende Eigenschaften als Platzhalter in der uriTemplate
-Eigenschaft verwenden:
Eigenschaft | Beschreibung |
---|---|
| Eine URL-codierte URL, unter der die Liste der vom Anwender ausgewählten Elemente (Dokumente und Akten) abgefragt werden kann. Als HTTP-Antwort erhalten Sie diese URL als JSON-Array
Beispiel: selectionList { "selectionList": [{ "_links": { "self": { "href": "/dms/r/e632f767-5cfa-538d-ab55-6756c36a74c9/o2/A0000000001" } }, "id": "A0000000001", "caption": "Title of the item" }, ... ] } |
| ID des Repositorys, wie in der d.ecs repo-App angegeben. Die Repository-ID finden Sie in der Detailsektion des Features d.3 Repositorys ( Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die ID zu einem Repository programmatisch ermitteln. |
| Platzhalter |
| Platzhalter |