Servicedeklarationsdatei
Die Servicedeklarationsdatei enthält das services- Element, das eine Reihe von einzelnen Servicedeklarationen darstellt. Eine Servicedeklaration ist ein Wörterbuch, das drei obligatorische Elemente mit dem Namen, systemId, serviceName und factoryClass und ein optionales Element mit dem Namen paramsenthält. Einzelheiten zu den Elementen sind nachstehend aufgeführt:
systemIdDieser Zeichenkettenwert identifiziert ein Ziel-Inhaltsrepository eindeutig. Dieser Bezeichner sollte vorzugsweise nur englische alphanumerische Zeichen enthalten. Punkte, Striche und Unterstriche können zur Verbesserung der Lesbarkeit verwendet werden. Vermeiden Sie alle anderen Sonderzeichen und Unicode- Zeichen. Der einmal für das Zielsystem gewählte Bezeichner muss in allen Servicedeklarationen für dasselbe System konsistent bleiben. Dieser Bezeichner wird auch in der Konfiguration von Unica Platform für das Onboarding des jeweiligen Systems verwendet.
Im Folgenden finden Sie einige Beispiele für gültige Systembezeichner:
WCM AEM Example WCM_1.0 AEM_1_1 DX-CORE DXSie können verschiedene Plug-ins für verschiedene Versionen desselben Systems schreiben. In einem solchen Fall müssen unterschiedliche Bezeichner verwendet werden, um jede Version eindeutig zu identifizieren. Alternativ kann dasselbe Plug-in verschiedene Versionen von Serviceimplementierungen enthalten, die für verschiedene Versionen des entsprechenden Systems spezifisch sind. In diesem Fall müssen den jeweiligen Servicedeklarationen sorgfältig unterschiedliche System-Ids zugeordnet werden. Beispielsweise können zwei verschiedene Versionen von WCM, nämlich 1.0 und 2.0, unterschiedliche APIs für den Inhaltssuchservice enthalten, was zu folgenden Serviceeinträgen für die jeweiligen Versionen führt:
- systemId: WCM_1.0 serviceName: simple-search factoryClass: com.hcl.wcm.service_1_0.WcmSimpleSearchService - systemId: WCM_2.0 serviceName: simple-search factoryClass: com.hcl.wcm.service_2_0.WcmSimpleSearchServiceDie beiden Einträge können zum selben Plug-in gehören oder aus Gründen der Übersichtlichkeit der Implementierung in zwei verschiedenen Plug-ins platziert werden. Content Integration Frameworkerlegt keine Einschränkungen auf.
serviceNameDieser Zeichenkettenwert identifiziert den gegebenen Service für das entsprechende System eindeutig. Es kann entweder ein Name für den Standardservice oder ein entsprechend gewählter Name für den benutzerdefinierten Service sein. Im Folgenden finden Sie die Liste der Standard-Servicenamen:simple-searchresource-loader
factoryClassDies ist ein voll qualifizierter Pfad zur Implementierung von Services in der Java-Klasse.
paramsBietet eine Möglichkeit zur Bereitstellung von statischen Parametern an den Service, um das Serviceverhalten entsprechend den Parameterwerten zu steuern oder zu ändern. Kurz gesagt,
paramskann verwendet werden, um die statische Schlüsselwertkonfiguration für Dienstimplementierungen zu speichern. Dies kann bestimmte Standardserviceparameter sowie alle benutzerdefinierten Parameter enthalten, die ein Service möglicherweise verwenden möchte. Parameterwerte werden in die Objekt der nächsten übereinstimmenden primitiven Wrapperklassen konvertiert, z. B. Ganzzahl, Long, Double, String usw. Ein Parameterwert kann auch eine Karte, ein Array oder eine Auflistung anderer Werte sein (Plugins müssen den Laufzeittyp dieser Werte überprüfen, bevor sie verwendet werden).
Die Dienstdeklarationsdatei enthält auch bestimmte Eigenschaften, die sich auf das Zielinhalts-Repository beziehen. Diese Eigenschaften werden unter dem Stammelement des Systems behandelt. Es folgt ein Beispiel für einen solchen Eintrag, der alle unterstützten Eigenschaften enthält:
systems:
YOUR_SYSTEM_ID:
params:
param1: value1
param2:
k1: v1
k2: v2
param3: 100
additionalFeatures:
securityPolicy: false
content:
paginatedSearch: true
paginatedList: true
anonymousContent: true
Dieser Beispieleintrag zeigt die Standardwerte, die für jede hier erwähnte Eigenschaft berücksichtigt werden, falls für das angegebene Ziel-Repository kein solcher Eintrag vorhanden ist. Daher ist dieser Eintrag optional, es sei denn, eine oder mehrere dieser Standardüberlegungen gelten nicht für das Zielinhalts-Repository. Im folgenden Abschnitt wird die Bedeutung der einzelnen Eigenschaften beschrieben:
params - Bietet eine Möglichkeit, dem jeweiligen Plugin statische Parameter bereitzustellen, um das Plugin-Verhalten gemäß den Parameterwerten zu steuern oder zu ändern. Kurz gesagt, Params kann verwendet werden, um die statische Schlüsselwertkonfiguration für Plugin-Implementierungen zu speichern. Dies kann vordefinierte Standardsystemparameter sowie alle benutzerdefinierten Parameter enthalten, die ein jeweiliges Plugin möglicherweise verwenden möchte. Parameterwerte werden in die Objekt der nächsten übereinstimmenden primitiven Wrapperklassen konvertiert, z. B. Ganzzahl, Long, Double, String usw. Ein Parameterwert kann auch eine Karte, ein Array oder eine Auflistung anderer Werte sein (Plugins müssen den Laufzeittyp dieser Werte überprüfen, bevor sie verwendet werden).
additionalFeatures | securityPolicy - Diese Einstellung muss auf 'true' gesetzt werden, wenn Inhalte innerhalb des jeweiligen Systems unter Verwendung der Sicherheitsrichtlinien von Unica geschützt werden.
additionalFeatures | content | paginatedSearch - Dieses Funktionsflag gibt an, ob Repository-Suchergebnisse für Seiteninhalte unterstützt werden oder nicht. Die Benutzererfahrung wird entsprechend geändert, um das Inhaltssuchergebnis anzuzeigen.
additionalFeatures | content | paginatedList - Dieses Funktionsflag gibt an, ob das Inhalts-Repository die Auflistung von paginierten Inhalten unterstützt oder nicht. Die Benutzererfahrung wird für das Anzeigen von Inhaltslisten entsprechend geändert.
additionalFeatures | content | anonymousContent - Mit diesem Funktionsflag wird angegeben, ob öffentlich zugängliche Inhalte vom Inhalts-Repository erwartet werden sollen oder nicht. Wenn es auf true gesetzt ist, muss das Plugin für jeden Inhalt eine öffentlich zugängliche URL zurückgeben. Wenn Inhalte nicht über die HTTP(S)-URL öffentlich zugänglich gemacht werden können, muss der Plugin-Entwickler diese Flag auf false setzen. In diesem Fall können Benutzer die aus dem Repository abgerufenen Inhalte nicht sehen oder herunterladen. Wenn das Zielsystem für den Inhalt keine anonym zugänglichen URL, müssen Sie den Service ausführen, um das Herunterladen geschützter resource-loader Inhalte zu ermöglichen.