BasicJSONSelection Clés de profil de rendu de liste

La liste suivante répertorie l'ensemble de clés d'entrée de profil de rendu de liste disponibles dans la structure HCL Digital Data Connector (DDC) for HCL Portal.

Name
Cette valeur indique le nom de ce profil de rendu de liste. Le nom doit être obligatoirement indiqué pour chaque profil de rendu. Vous pouvez faire référence à cette valeur via l'attribut de profil de la balise [Plugin:ListRenderingContext] et via l'entrée de profil de rendu de liste Extends d'autres profils de rendu de liste. L'entrée de profil de rendu de liste Extends est décrit plus avant dans la liste. Si ce profil ne fait pas référence à un regroupement de ressources via la clé ResourceBundleBaseName, ce nom apparaît également dans la boîte de dialogue Insérer une balise de l'interface utilisateur d'HCL Web Content Manager. Le nom doit être unique parmi tous les profils de rendu de liste dans le système.

Exemple : Pour définir le nom du profil identifié par l'ID profil xyz sur yourCo.ProductList, indiquez xyz.name=yourCo.ProductList.

BeanListProviderID
L'indication de l'ID pour le plug-in DDC est obligatoire pour chaque profil de rendu de liste. Il indique l'ID d'extension du plug-in DDC utilisé avec ce profil. Le plug-in DDC obtient également les appels pour le calcul de tous les attributs d'élément calculés. Les attributs d'élément calculés sont décrits plus avant dans cette liste.

Exemple : Pour utiliser le plug-in DDC JSON générique, indiquez xyz.BeanListProviderID=ibm.portal.ddc.json.

ResourceBundleBaseName
Le nom de base du regroupement de ressources est facultatif. Il indique le nom de base du regroupement de ressources Java qui fournit les chaînes traduites pour le nom de ce profil et tous les attributs d'élément définis dans ce profil. Les chaînes traduites incluent les attributs d'élément associés, calculés et construits. Le nom du regroupement de ressources doit identifier un regroupement de ressources Java disponible dans le chemin d'accès aux classes de portail.

Exemple : afin d'utiliser le regroupement de ressources yourCo.Bundle pour le profil identifié par l'ID de profil xyz, indiquez xyz.ResourceBundleBaseName=yourCo.Bundle

ShowInAuthoringUI
Les valeurs admises sont true et false. Si vous définissez cet attribut sur false, les profils de rendu de liste n'apparaissent pas dans la liste de sélection Sélectionnez le composant cible de cette balise de la boîte de dialogue Insérer une balise de l'interface utilisateur de créateur Web Content Manager.
ListItemSelection
La sélection d'élément de liste définit l'instruction BasicJSONSelection utilisée pour diviser le document JSON source en une liste d'objets JSON individuels. Chaque objet sert les données pour un élément correspondant dans la liste de beans obtenue. Le plug-in DDC évalue l'instruction BasicJSONSelection en fonction de l'élément racine de l'objet JSON source. Pour la valeur, indiquez une instruction BasicJSONSelection valide. L'indication de la sélection d'éléments de liste est obligatoire pour les profils de type BasicJSONSelection.

Exemple : Pour transformer toutes les entrées d'un tableau JSON nommé children qui sont contenus dans un membre JSON nommé data dans un flux JSON en éléments de liste dans le profil identifié par l'ID profil xyz, indiquez xyz.ListItemSelection=data.children.

ItemAttribute
Cette clé déclare un attribut disponible dans tous les éléments de la liste. Pour que les valeurs d'attribut soient accessibles dans vos composants de conception Web Content Manager à l'aide de la balise [AttributeResource attributeName=""], définissez attributeName sur la valeur de nom de la déclaration ItemAttribute correspondante. Par exemple, pour accéder à la valeur d'un attribut d'élément déclaré avec la clé xyz.ItemAttribute.myTitle, vous pouvez utiliser la balise Web Content Manager [AttributeResource attributeName="myTitle"]. De plus, la liste des attributs déclarés est affichée dans la zone de sélection Sélectionnez le type de balise ressource d'attribut de la boîte de dialogue Insérer une balise de l'interface utilisateur de création Web Content Manager lorsque vous sélectionnez le profil contenant dans la zone de sélection Sélectionnez le composant cible de cette balise.
Important : Chaque profil doit définir au moins un attribut ItemAttribute nommé id. Cet ID sert à identifier de manière unique un élément individuel dans la liste.

Dans les profils de type BasicJSONSelection, la valeur d'une déclaration d'attribut d'élément est une instruction BasicJSONSelection utilisée pour extraire la valeur d'attribut déclaré à partir du document source JSON. Le plug-in DDC évalue l'instruction BasicJSONSelection pour chaque élément des listes relatives aux fragments JSON correspondants qui sont identifiés via la spécification ListItemSelection.

Exemple : Pour extraire le courrier électronique de l'auteur des entrées dans un flux JSON, indiquez xyz.ItemAttribute.authorEmail=author.email.

AssociatedItemAttribute
Cette clé déclare un attribut disponible dans tous les éléments de la liste. Vous pouvez accéder aux valeurs d'attribut accessibles dans vos composants de conception Web Content Manager de la même manière que pour les attributs d'élément. Ils apparaissent également aux mêmes endroits dans l'interface utilisateur de création Web Content Manager. La différence réside dans le fait que, dans les profils basés sur BasicJSONSelection, vous pouvez utiliser des déclarations d'attribut d'élément associées en vue d'extraire des données de manière indirecte à partir du document JSON source. A la place, vous pouvez extraire des données à partir d'un document source JSON lié référencé par le document JSON source. En vue de définir un attribut d'élément associé, vous devez créer la valeur pour une telle entrée en combinant une adresse URL source avec une instruction BasicJSONSelection afin de sélectionner la valeur d'attribut à partir du document lié. Indiquez l'adresse URL source à l'aide du nom de l'attribut qui sélectionne cette dernière à partir de la liste de beans courante. Indiquez la référence ItemAttribute qui fournit l'adresse URL du document à l'aide du pattern {$item-attribute-name}
Exemple : pour obtenir la description complète du produit à partir d'une liste de produits, indiquez ce qui suit :
xyz.ItemAttribute.detailsLink=entry.link[rel=details] 
xyz.AssociatedItemAttribute.productFullDescription={$detailsLink}details.description
Le plug-in DDC calcule les valeurs pour cet attribut dans l'ordre suivant :
  1. Le plug-in DDC évalue la valeur de l'attribut d'élément detailsLink.
  2. Le plug-in DDC charge le document JSON à partir de cette adresse URL.
  3. Le plug-in DDC évalue l'instruction BasicJSONSelection detailsLink sur ce document.
ConstructedItemAttribute
Cette clé déclare un attribut disponible dans tous les éléments de la liste. Si vous définissez un tel attribut, vous pouvez accéder aux valeurs d'attribut dans vos composants de conception Web Content Manager de la même manière que pour les attributs d'élément. Les valeurs d'attribut apparaissent également aux mêmes endroits que les attributs d'élément dans l'interface utilisateur de création Web Content Manager. La différence entre les deux types d'attribut est la suivante : vous pouvez créer des valeurs pour les attributs d'élément créés en combinant les valeurs d'un ou plusieurs autres attributs d'élément qui ont une chaîne statique. Pour définir un attribut d'élément créé, vous devez fournir une chaîne de modèle qui est utilisée pour générer les valeurs d'attribut réelles. La chaîne de modèle peut contenir du texte arbitraire mélangé avec des références d'attribut d'élément. Pour indiquer les références ItemAttribute fournissez l'adresse URL à l'aide du pattern {$item-attribute-name}. Exemple : pour construire une adresse URL d'image à partir d'un emplacement d'image et d'un attribut d'élément de nom de fichier d'image, indiquez ce qui suit :
xyz.ItemAttribute.imageLocation=entry.image.location 
xyz.ItemAttribute.imageFileName=entry.image.name 
xyz.ConstructedItemAttribute.imageURL={$imageLocation}/{$imageName}
ComputedItemAttribute

Cette clé déclare un attribut disponible dans tous les éléments de la liste. Vous pouvez accéder à ces valeurs d'attribut dans vos composants de conception Web Content Manager de la même manière que pour les attributs d'élément. Les valeurs d'attribut apparaissent également aux mêmes endroits que les attributs d'élément dans l'interface utilisateur de création Web Content Manager. La différence entre les deux types d'attribut est la suivante : les valeurs des attributs d'élément calculés ne sont pas extraites à partir d'objets JSON, mais calculées en fonction des valeurs d'attribut d'élément et d'autres informations de contexte. Le plug-in DDC associé au profil de rendu de liste via la clé BeanListProviderID calcule les valeurs d'attribut. Pour servir de telles données le plug-in DDC doit implémenter l'interface Java com.ibm.portal.wcm.plr.ComputedAttributeValueProvider facultative. Cette interface est définie dans les API publiques HCL Digital Data Connector (DDC) for HCL Portal. Le calcul est généralement effectué en fonction des valeurs d'attribut non calculées associées à des données de configuration ou à d'autres informations de contexte.

Remarque : Le plug-in DDC JSON ne prend en charge aucun attribut d'élément calculé.
Pour définir un attribut d'élément calculé vous devez déclarer de quelles données dépend le calcul de la valeur d'attribut :
  • La valeur d'attribut d'élément calculée dépend uniquement des autres valeurs d'attribut d'élément. Dans ce cas vous devez définir la valeur {$lazy}.
  • La valeur d'attribut d'élément calculée dépend d'autres valeurs d'attribut d'élément et du contexte de rendu courant, c'est-à-dire des objets de demande et de réponse de portlet. Ces objets ne sont pas mise en cache dans le cache de liste de beans, mais ils sont recalculés pour chaque demande de rendu. Si la valeur d'attribut d'élément calculé dépend du contexte de demande en cours, vous devez définir la valeur de cet attribut d'élément calculé sur la chaîne {$default}.
Exemple : pour définir un attribut représentant une adresse URL de ressource de portail avec état qui pointe sur l'élément courant, vous pouvez déclarer un attribut d'élément calculé semblable au suivant : xyz.ComputedItemAttribute.portalLink={default}.
Au moment de l'exécution, le framework DDC demande ensuite les valeurs réelles pour cet attribut. Pour cela il démarre la méthode suivante sur le plug-in DDC concerné qui est associé à ce profil de rendu de liste :
com.ibm.portal.wcm.plr.ComputedAttributeValueProvider.getComputedItemAttributeValue()
ListProperty
Cette clé déclare une propriété de liste. Vous pouvez accéder à ces valeurs d'attribut dans vos composants de conception Web Content Manager. Pour ce faire, utilisez la balise [Plugin:ListRenderingContext action="getListProperty" key=""] en définissant key sur la valeur de nom de la déclaration ListProperty correspondante. Par exemple, pour accéder à la valeur d'une propriété de liste déclarée avec la clé xyz.ListProperty.myProperty, vous pouvez utiliser la balise Web Content Manager : [Plugin:ListRenderingContext action="getListProperty" key="myProperty"] La valeur d'une déclaration de propriété de liste est une instruction BasicJSONSelection utilisée pour extraire la valeur d'attribut déclarée du document source JSON. Le plug-in évalue l'instruction BasicJSONSelection relative à la racine du document JSON source.
Exemple : pour obtenir le lien vers la page suivante d'un flux JSON, indiquez
xyz.ListProperty.nextLink=links.[rel=next]
ComputedListProperty
Cette clé déclare une propriété de la liste. Vous pouvez accéder à ces valeurs d'attribut dans vos composants de conception Web Content Manager de la même manière que pour des propriétés de liste. La différence entre des propriétés de liste et des propriétés de liste calculée est la suivante : les valeurs des propriétés de liste calculée ne sont pas extraites de documents JSON mais calculées en fonction des valeurs d'attribut d'élément et d'autres informations de contexte. Le plug-in DDC associé au profil de rendu de liste via la clé theBeanListProviderID calcule les valeurs de propriété. Pour servir de telles données le plug-in DDC doit implémenter l'interface Java com.ibm.portal.wcm.plr.ComputedAttributeValueProvider facultative. Cette interface est définie par les API Digital Data Connector publiques. Le calcul est généralement effectué en fonction des valeurs de propriété de liste non calculées associées à des données de configuration ou à d'autres informations de contexte.
Remarque : Le plug-in DDC JSON générique ne prend pas en charge les propriétés de liste calculée. Pour définir une propriété de liste calculée, vous devez déclarer duquel des deux types de données suivants dépend le calcul de la valeur de la propriété :
  • La valeur d'attribut d'élément calculée dépend uniquement des autres valeurs de propriété de liste. Dans ce cas vous devez définir la valeur {$lazy}.
  • La valeur de propriété de liste calculée dépend des autres valeurs de propriété de liste ainsi que du contexte de rendu en cours, c'est-à-dire des objets de demande et de réponse de portlet en cours. Ces objets ne sont pas mise en cache dans le cache de liste de beans, mais ils sont recalculés pour chaque demande de rendu. Si la valeur de propriété de liste calculée dépend du contexte de demande courant vous devez définir la valeur de cette propriété de liste calculée sur la valeur {$default}.
Agrandit
Cette clé permet de définir un profil dérivé. Un profil dérivé inclut l'attribut d'élément et les déclarations de propriété de liste d'autres profils de rendu de liste en faisant référence à ces profils. Pour plus d'informations, voir Création de profils de rendu de liste.