Fichier de déclaration de service
Le fichier de déclaration de service contient l'élément services, qui est un tableau de déclarations de service individuelles. Une déclaration de service est un dictionnaire contenant trois éléments obligatoires nommés systemId, serviceName et factoryClass, et un élément facultatif nommé params. Les détails des éléments sont les suivants :
systemIdCette valeur de chaîne identifie de manière unique un référentiel de contenu cible. Cet identificateur doit contenir de préférence uniquement des caractères alphanumériques anglais. Utilisez des points, des tirets et des traits de soulignement pour plus de lisibilité. Evitez tout autre caractère spécial ou unicode. L'identificateur choisi à une reprise pour le système cible doit rester cohérent dans toutes les déclarations de service pour le même système. Cet identificateur est également utilisé dans la configuration d'Unica Platform pour l'intégration du système respectif.
Voici quelques exemples d'identificateurs de système valides :
WCM AEM Example WCM_1.0 AEM_1_1 DX-CORE DXVous pouvez créer différents plug-ins pour différentes versions du même système. Dans ce cas, il est nécessaire d'utiliser différents identificateurs pour identifier distinctement chaque version. Par ailleurs, le même plug-in peut contenir différentes versions d'implémentations de service spécifiques aux différentes versions du système correspondant. Dans ce cas, différents identificateurs système (systemIds) doivent être soigneusement attribués aux déclarations de service respectives. Par exemple, deux versions différentes de WCM, à savoir les versions 1.0 et 2.0, peuvent contenir des API différentes pour le service de recherche de contenu, pour ainsi donner lieu aux entrées de service suivantes pour les versions respectives :
- 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.WcmSimpleSearchServiceLes deux entrées peuvent appartenir au même plug-in ou peuvent être placées dans deux plug-ins différents pour des raisons de clarté d'implémentation. Content Integration Framework n'impose aucune restriction.
serviceNameCette valeur de chaîne identifie de manière unique le service donné pour le système correspondant. Il peut s'agir d'un nom de service standard ou d'un nom choisi de manière appropriée pour le service personnalisé. Voici la liste des noms de service standard :simple-searchresource-loader
factoryClassIl s'agit d'un chemin d'accès complet à la classe Java qui fournit une implémentation de service.
paramsOffre une manière de fournir des paramètres statiques au service pour contrôler ou modifier le comportement de service en fonction des valeurs de paramètre. En bref,
paramspeut être utilisé pour conserver la configuration clé-valeur statique pour les implémentations de service. Cela peut inclure certains paramètres de service standard, ainsi que les paramètres personnalisés qu’un service peut vouloir utiliser. Les valeurs de paramètre sont converties en objets ayant les classes d’encapsuleurs primitifs les plus proches, telles que Integer, Long, Double, String, etc. Une valeur de paramètre peut également être une mappe, un tableau ou une liste d’autres valeurs (les plug-ins doivent vérifier le type d’exécution de ces valeurs avant de les utiliser).
Le fichier de déclaration de service contient également certaines propriétés relatives au référentiel de contenu cible. Ces propriétés sont couvertes dans l'élément racine des systèmes. Voici un exemple d'une telle entrée contenant toutes les propriétés prise en charge :
systems:
YOUR_SYSTEM_ID:
params:
param1: value1
param2:
k1: v1
k2: v2
param3: 100
additionalFeatures:
securityPolicy: false
content:
paginatedSearch: true
paginatedList: true
anonymousContent: true
Cet exemple d'entrée montre les valeurs par défaut prises en compte pour chaque propriété mentionnée ici, dans le cas où aucune entrée de ce type n'est présente pour le référentiel cible donné. Par conséquent, cette entrée est facultative, sauf si une ou plusieurs de ces considérations par défaut ne sont pas vraies pour le référentiel de contenu cible. La section ci-dessous présente la signification de chaque propriété :
params - Offre une manière de fournir des paramètres statiques au plug-in respectif pour contrôler ou modifier le comportement du plug-in en fonction des valeurs de paramètre. En bref, params peut être utilisé pour conserver la configuration clé-valeur statique pour les implémentations de plug-in. Cela peut inclure des paramètres système standard prédéfinis, ainsi que tout paramètre personnalisé qu'un plug-in respectif peut vouloir utiliser. Les valeurs de paramètre sont converties en objets ayant les classes d’encapsuleurs primitifs les plus proches, telles que Integer, Long, Double, String, etc. Une valeur de paramètre peut également être une mappe, un tableau ou une liste d’autres valeurs (les plug-ins doivent vérifier le type d’exécution de ces valeurs avant de les utiliser).
additionalFeatures | securityPolicy - Ce paramètre doit être défini sur true lorsque le contenu est protégé au sein du système respectif à l'aide des stratégies de sécurité d'Unica.
additionalFeatures | content | paginatedSearch - Cet indicateur de fonctionnalité est utilisé pour communiquer si le référentiel de contenu prend en charge ou non les résultats de recherche de contenu paginés. L'expérience utilisateur est modifiée en conséquence pour afficher les résultats de la recherche de contenu.
additionalFeatures | content | paginatedList - Cet indicateur de fonctionnalité est utilisé pour communiquer si le référentiel de contenu prend en charge ou non les listes de contenu paginées. L'expérience utilisateur est modifiée en conséquence pour afficher la liste de contenu.
additionalFeatures | content | anonymousContent - Cet indicateur de fonctionnalité est utilisé pour communiquer si le contenu accessible publiquement doit être attendu ou non de la part du référentiel de contenu. S'il est défini sur true, le plug-in doit renvoyer l'URL accessible publiquement pour chaque contenu. Si le contenu ne peut pas être rendu accessible publiquement à l'aide de l'URL HTTP(S), le développeur de plug-ins doit définir cet indicateur sur false. Dans ce cas, les utilisateurs ne pourront pas voir ni télécharger le contenu extrait depuis le référentiel. Si le système cible ne fournit pas d'URL accessible de manière anonyme pour le contenu, vous devez exécuter le service resource-loader pour autoriser le téléchargement de contenu protégé.