Bereitstellen einer Konfigurationsoption
Mit dieser Funktion kannst du Konfigurationsoptionen bereitstellen, die durch die Config-App gesammelt dargestellt werden.
Damit du Konfigurationsoptionen bereitstellen kannst, musst du eine Linkrelation configfeatures bereitstellen.
Ermitteln der Konfigurationsoptionen:
Die Config-App fragt alle registrierten Apps ab. Anschließend wird jede registrierte App mit dem Aufruf /<app name>/ auf der Basisadresse (also: https://<your base address>/<app name>/) und dem Anforderungsheader "Accept: application/hal+json" abgefragt. Es wird nach der Linkrelation configfeatures gesucht. Damit die Linkrelation gefunden werden kann, muss das JSON wie folgt aufgebaut sein:
JSON Response
{ "_links" : { ... "configfeatures" : { "href" : "/<app name>/configfeatures" }, ... }, ... }
Wenn eine solche Linkrelation vorhanden ist, wird die darunter angegebene URI im Benutzerkontext mit der Anforderungsmethode GET und dem Anforderungsheader "Accept: application/hal+json" aufgerufen und das erhaltene JSON ausgewertet. Das JSON, welche Apps bereitstellen müssen, um eine oder mehrere Konfigurationsoptionen anzubieten, muss entsprechend dem nachfolgenden Schema aufgebaut sein:
JSON Response
{ "appName": "<app name>", "customHeadlines":[ { "caption": "<caption of your configuration option>", "description": "<description of your configuration option>", "menuItems":[ { "caption": "<caption of your first menu item>", "description": "<description of your first menu item>", "href": "<link to your configuration>", "keywords":["<first key word>", "<second key word>", ...], "configurationState": <state of your configuration> }, <second menu item>, ... ], "categories":[{ "id": "<id of your category>" } ] }, <second configuration option>, ... ] }
Parameter | Beschreibung |
---|---|
appName | Name der App, welche die Konfigurationsoptionen bereitstellt |
customHeadlines | Liste aller Konfigurationsoptionen, die eine App bereitstellt Parameter und Beschreibung caption: Überschrift der Konfigurationsoption, unter der die Menüpunkte aufgelistet werden. Diese Option beschreibt, worauf sich die Konfiguration auswirkt. In der Regel entspricht dies der Fachlichkeit der App als Substantiv, etwa "Dokument", "Postkorbnachricht", "Outlook-Mail" etc. description: Beschreibung der Konfigurationsoption. Dieser Text wird aktuell nicht angezeigt, jedoch für die Suche verwendet. menuItems: Liste aller Menüpunkte unter einer Konfigurationsoption. caption: Überschrift des Menüpunktes. Die Überschrift beschreibt, was konfiguriert wird, etwa "Datenbank", "Benutzer und Gruppen", "Filterregeln" etc. description: Beschreibung des Menüpunktes. href: Link zu der Konfiguration hinter dem Menüpunkt. Keywords: Liste von Schlüsselwörtern, die den Menüpunkt beschreiben, um eine Suche nach dem Menüpunkt zu ermöglichen. configurationState: Status der Konfiguration. 0: Die Konfiguration ist vollständig. 1: Die Konfiguration ist unvollständig und sollte vervollständigt werden. categories: Liste mit der Kategorie der Konfigurationsoption. Die Kategorie wird für die Filterung der Apps verwendet. Es kann eine Kategorie aus der nachfolgenden Tabelle gewählt werden. id: ID der Kategorie. Gib die ID der Kategorie aus der nachfolgenden Tabelle an. |
Die folgende Tabelle beschreibt die Kategorien, die einer App zugeordnet werden können.
ID | Kategorie - Ebene 1 (EN) | Kategorie - Ebene 2 (EN) | Kategorie - Ebene 1 (DE) | Kategorie - Ebene 2 (DE) |
---|---|---|---|---|
| Document management | Administration | Dokumentenmanagement | Verwaltung |
| Document management | Import | Dokumentenmanagement | Import |
| Document management | E-mails | Dokumentenmanagement | E-Mails |
| Document management | Search | Dokumentenmanagement | Suche |
| Document management | Export | Dokumentenmanagement | Export |
| Invoice processing | Rechnungsverarbeitung | ||
| Tasks and processes | Aufgaben und Prozesse | ||
| Cases and contracts | Vorgänge und Verträge | ||
| Notifications | Benachrichtigungen | ||
| Integrations and interfaces | Integrationen und Schnittstellen | ||
| Digital signing | Digitales Unterschreiben | ||
| Infrastructure and security | Infrastruktur und Sicherheit | ||
| Appearance | Erscheinungsbild | ||
| Miscellaneous | Sonstiges |
Im Folgenden sind Beispiele für die verschiedenen DTOs aufgelistet, die den Aufbau eines configfeatures beschreiben. Die Beispiele sind in C# geschrieben.
ConfigFeatureDtos
public class ConfigFeatureDto { public string AppName { get; set; } public IList<CustomHeadlineDto> CustomHeadlines { get; set; } public ConfigFeatureDto() { CustomHeadlines = new List<CustomHeadlineDto>(); } } public class CustomHeadlineDto { public string Caption { get; set; } public string Description { get; set; } public IList<MenuItemDto> MenuItems { get; set; } public IList<CategoryDto> Categories { get; set; } public CustomHeadlineDto() { MenuItems = new List<MenuItemDto>(); Categories = new List<CategoryDto>(); } } public class MenuItemDto { public string Caption { get; set; } public string Description { get; set; } public string Href { get; set; } public IList<string> Keywords { get; set; } public ConfigurationStateDto ConfigurationState { get; set; } public MenuItemDto() { Keywords = new List<string>(); } } public class CategoryDto { public string Id { get; set; } public string Caption { get; set; } } public enum ConfigurationStateDto { Complete = 0, Incomplete = 1 }