Paramètres pris en charge par le collecteur de données XML génériques
Le récepteur de données HCL Digital Data Connector (DDC) for HCL Portal XML générique prend en charge les paramètres ci-dessous.
- ddc.method
- Ce paramètre permet d'identifier la méthode HTTP à utiliser pour envoyer des données à la cible sortante. Les valeurs prises en charge sont
put,postetdelete. - ddc.uri.target
- Ce paramètre permet d'indiquer un URI identifiant la cible de la demande sortante. La cible peut être une adresse URL HTTP ou HTTP, par exemple, vers un service REST distant.
- ddc.uri.template
- Ce paramètre permet d'indiquer un identificateur URI identifiant le document XML modèle requis pour les actions
set,addChild,addPredecessoretaddSuccessor. Ce document sert de point de départ à la création du document XML final qui est envoyé au service cible. Vous pouvez modifier le modèle afin de démarrer une opération particulière à l'aide de paramètres POST de formulaire. L'URI utilisé dans ce paramètre doit identifier un document XML syntaxiquement correct. - ddc.profile.in
- Ce paramètre permet de définir le nom du profil de rendu de liste que vous voulez appliquer au modèle de document XML. Vous pouvez utiliser les définitions d'attribut d'élément et les instructions XPath correspondantes de ce profil pour modifier des fragments particuliers du modèle de document XML. Cette modification est effectuée avant l'envoi du document XML obtenu au service cible.
- ddc.profile.out
- Ce paramètre permet de définir le nom du profil de rendu de liste que vous voulez appliquer aux données renvoyées par le service cible. Vous pouvez utiliser les définitions d'attribut d'élément et les instructions XPath correspondantes de ce profil pour extraire des fragments spécifiques de documents XML reçus en réponse à l'opération de mise à jour. Si vous ne définissez pas ce paramètre, le collecteur de données utilise le même profil que celui référencé au paramètre
ddc.profile.in. - ddc.itemattribute.value.suffix
- Ce paramètre permet d'indiquer la valeur que vous souhaitez utiliser pour modifier le modèle de document XML requis pour les actions
set,addChild,addPredecessoretaddSuccessor. La valeur peut être saisie par l'utilisateur ou indiquée via une zone d'entrée de formulaire masquée remplie par des balises HCL Web Content Manager. Il peut s'agir, par exemple, de la balise[AttributeResource].En fonction de la valeur de la définitionvalueTypede l'opération connexe, spécifiez l'une des valeurs suivantes :- URI identifiant la valeur d'attribut d'élément de l'opération. Il doit s'agir d'un URI pouvant être résolu par la structure du programme de résolution POC.
- Texte en clair représentant la valeur d'attribut d'élément de l'opération.
suffixn'implique aucune sémantique. Utilisez-la pour mettre en corrélation cette spécification de valeur d'attribut avec une spécification d'opération d'attribut d'élément. Les deux spécifications doivent être représentées respectivement par les paramètresddc.itemattribute.value.suffixetddc.itemattribute.operation.suffix. Par exemple, la spécification de valeur d'attribut suivante est mise en corrélation avec la spécification d'opération d'attribut d'élément suivante à l'aide du suffixe communxyz:addc.itemattribute.value.xyzetddc.itemattribute.operation.xyz. - ddc.itemattribute.template.suffix
- Utilisez ce paramètre pour spécifier un modèle facultatif de valeur d'attribut d'élément. Le collecteur de données DDC XML génériques remplace toutes les occurrences de la chaîne
${value}dans le modèle par la valeur du paramètreddc.itemattribute.value.suffixassocié. Cette étape crée la valeur finale à utiliser pour modifier le modèle de document XML utilisé pour les actionsset,addChild,addPredecessoretaddSuccessor.Si la valeur associée
ddc.itemattribute.value.suffixdéfinit plusieurs valeurs à l'aide d'un séparateur spécifié par le paramètrevalueSeparator, le collecteur de données générique applique chaque valeur individuelle au modèle.En fonction de la valeur de la définitiontemplateTypede l'opération connexe, spécifiez l'une des valeurs suivantes :- URI identifiant le modèle de la valeur d'attribut d'élément de l'opération. Il doit s'agir d'un URI pouvant être résolu par la structure du programme de résolution POC.
- Texte en clair représentant le modèle de l'opération.
suffixn'implique aucune sémantique. Utilisez-la pour mettre en corrélation cette valeur d'attribut avec une spécification de valeur d'attribut d'élément correspondante et une spécification d'opération d'attribut d'élément. Les deux spécifications doivent être représentées respectivement par les paramètresddc.itemattribute.value.suffixetddc.itemattribute.operation.suffix. Par exemple, la spécification de valeur d'attribut suivante est mise en corrélation avec la spécification d'opération d'attribut d'élément suivante à l'aide du suffixe communxyz:addc.itemattribute.value.xyzandddc.itemattribute.operation.xyz. - ddc.itemattribute.operation.suffix
- Ce paramètre permet d'indiquer une modification du modèle de document. La valeur de ce paramètre est une liste séparée par des virgules de paires nom-valeur. Vous pouvez définir les clés suivantes :
- action
- Cette clé permet d'identifier l'action que vous voulez effectuer sur le modèle de document. Le collecteur de données effectue les actions suivantes sur le modèle de document XML. La sélection du nœud est basée sur la valeur
itemAttribtueNameet le profil de rendu de liste associé via le paramètreddc.profile.in. Vous pouvez définir les valeurs suivantes :- set
- Cette valeur permet de modifier le noeud sélectionné par la valeur
itemAttributeName. - addChild
- Cette valeur permet d'ajouter un noeud sélectionné par la valeur
itemAttributeName. - addPredecessor
- Cette valeur permet d'ajouter un élément apparenté prédécesseur au noeud sélectionné par la valeur
itemAttributeName. - addSuccessor
- Cette valeur permet d'ajouter un élément apparenté successeur au noeud sélectionné par la valeur
itemAttributeName. - remove
- Cette valeur permet de supprimer le noeud sélectionné.
getn'est pas exécutée sur le modèle de document mais sur le document XML généré renvoyé par le service sollicité. Si vous utilisez cette action, la sélection du nœud est basée sur la valeuritemAttribtueNameet le profil de rendu de liste associé via le paramètreddc.profile.out.- get
- Cette valeur permet d'ajouter une entrée correspondante à l'objet JSON de résultat généré par le récepteur de données. L'entrée renferme la valeur de chaîne du noeud sélectionné dans le document XML de résultat.
- itemAttributeName
- Cette clé permet de faire référence à une définition d'attribut d'élément particulière dans le profil de rendu de liste associé. L'instruction XPath associée à cette définition d'attribut d'élément est utilisée en vue de sélectionner le noeud cible pour cette opération. Dans ce contexte, vous pouvez utiliser uniquement des définitions
ItemAttribute. Les définitions suivantes ne sont pas prises en charge :AssociatedItemAttribute,ComputeItemAttribute,ConstructedItemAttributes. - templateType
- Cette clé permet d'indiquer le type de la valeur du paramètre
ddc.uri.templaterépertorié précédemment. Vous pouvez indiquer les valeurs suivantes :- text
- Si vous indiquez la valeur
text, la valeur du paramètreddc.itemattribute.template.suffixest utilisée comme chaîne normale représentant le modèle d'attribut d'élément. Il s'agit du type de modèle par défaut. - uri
- Si vous indiquez la valeur
uri, le collecteur de données analyse la valeur du paramètreddc.itemattribute.template.suffixen tant qu'URI. Le collecteur de données détermine la valeur réelle en lisant les données reçues de cet URI. Il doit s'agir d'un URI pouvant être résolu par la structure du résolveur POC.
- valueType
- Utilisez cette clé pour spécifier le type de valeur du paramètre
ddc.itemattribute.value.suffixassocié à l'opération. Vous pouvez indiquer l'une des valeurs suivantes :- text
- Si vous indiquez la texte de la valeur, la valeur du paramètre
ddc.itemattribute.value.suffixest utilisée comme chaîne normale. Il s'agit du type de valeur par défaut. - uri
- Si vous indiquez la valeur
uri, le collecteur de données analyse la valeur du paramètreddc.itemattribute.value.suffixen tant qu'URI. Le collecteur de données détermine la valeur réelle en lisant les données reçues de cet URI. Il doit s'agir d'un URI pouvant être résolu par la structure du programme de résolution POC.
- valueSeparator
- Cette clé permet d'activer l'opération de prise en charge de valeurs multiples. Le collecteur de données génériques calcule les valeurs individuelles en fractionnant la valeur de paramètre corrélée à l'aide du séparateur spécifié par cette clé. Si le séparateur est constitué de plusieurs caractères, chacun d'eux est considéré comme un séparateur distinct. Exemple : pour diviser une valeur d'entrée sur toutes les occurrences des virgules (
,) et points-virgule (;), les deux séparateurs sont combinés dans la valeur pour ce paramètre comme suit :;,. Le collecteur de données achève l'opération pour chaque fragment de la valeur divisée. L'utilisation de ce paramètre est réservée aux actions suivantes :addChild,addPredecessor,addSuccessor.
- ddc.state.operation.suffix
- Ce paramètre permet d'indiquer une modification de l'état de rendu de portlet. La valeur de ce paramètre est une liste séparée par des virgules de paires nom-valeur. Vous pouvez définir les clés suivantes :
- action
- Cette clé permet d'identifier l'action que vous voulez effectuer sur l'état de rendu de portlet. Vous pouvez utiliser les valeurs suivantes :
- set
- Utilisez cette valeur pour définir un paramètre de rendu privé.
- add
- Utilisez cette valeur pour ajouter un paramètre de rendu privé.
- remove
- Utilisez cette valeur pour supprimer un paramètre de rendu privé.
- renderParameterName
- Utilisez cette clé pour spécifier le nom du paramètre de rendu privé que vous souhaitez modifier.
- condition
- Utilisez cette clé pour spécifier la condition dans laquelle vous souhaitez que cette opération soit effectuée. Vous pouvez utiliser les valeurs suivantes :
- success
- Si vous spécifiez cette valeur, la modification de l'état de rendu de portlet n'est effectuée que si le fonctionnement global du collecteur de données a réussi.
- error
- Si vous spécifiez cette valeur, la modification de l'état de rendu de portlet n'est effectuée que si le fonctionnement global du collecteur de données a renvoyé une erreur.
- always
- Si vous spécifiez cette valeur, la modification de l'état de rendu de portlet est effectuée indépendamment du fait que le fonctionnement global du collecteur de données réussit ou renvoie une erreur.
- ddc.state.value.suffix
- Utilisez ce paramètre pour spécifier la valeur de l'opération d'état comme indiqué dans le paramètre correspondant
ddc.state.operation. - ddc.passback.name
- Utilisez ce paramètre pour spécifier des paramètres de retour personnalisés. Le collecteur de données DDC XML génériques n'analyse pas ces paramètres. Il les ajoute seulement à l'objet JSON de résultat d'interaction en tant que membre
passbackDataà l'aide denameen tant qu'identificateur. Ce paramètre peut s'avérer utile pour la conservation d'informations d'état spécifiques une fois l'opération achevée, par exemple, lorsque vous créez une ressource. - ddc.resultheaders
- Ce paramètre permet de spécifier les noms des zones d'en-tête de réponse HTTP que vous souhaitez inclure dans l'objet du résultat. Les zones d'en-tête de réponse HTTP font référence à l'appel sortant du collecteur de données DDC XML génériques. Pour spécifier plusieurs zones d'en-tête, utiliser plusieurs paramètres
ddc.resultheaders. Après le traitement de la réponse du service REST distant, le collecteur de données ajoute les zones d'en-tête spécifiées à partir de la réponse à l'objet JSON de résultat de l'interaction en tant que membreresultHeaderData. Vous pouvez utiliser ce paramètre pour accéder aux informations de l'appel sortant que le collecteur de données effectue.
Exemple : Création d'une ressource
Les services REST XML standard prennent en charge la création de nouvelles ressources par l'envoi d'un document XML de ressource correspondant au service. Pour cela, le client utilise généralement une requête POST HTTP. Le fragment HTML ci-dessous montre un formulaire HTML que vous pouvez utiliser pour créer un commentaire dans un article de blogue HCL Connections :
<form id="[AttributeResource attributeName='id']CreateBlogPostComment"
method="POST" enctype="multipart/form-data"
action="[Plugin:ActionURL copyCurrentParams="true"
param="resultSessionAttribute=myResult" compute="always"]">
<input type="hidden" name="_charset_" value="[Plugin:EvaluateEL
value="${pageContext.response.characterEncoding}" compute="once"]"/>
<input type="hidden" name="action.uri" value="ddc:operation:blp:ibm.portal.ddc.xml"/>
<input type="hidden" name="ddc.uri.template"
value="wcmrest:LibraryHTMLComponent/[Component
name="yourLibrary/interaction
templates/create comment" format="id"]"/>
<input type="hidden" name="ddc.profile.in"
value="ibm.portal.sr.blogs.post.comments"/>
<input type="hidden" name="ddc.itemattribute.operation.addComment"
value="action=set,itemAttributeName=body"/>
<textarea title="Content" name="ddc.itemattribute.value.addComment"
placeholder=" "></textarea>
<input type="hidden" name="ddc.uri.target" value="[AttributeResource
attributeName="rawCommentsEditLink"]"/>
<input type="hidden" name="ddc.method" value="post"/>
<input type="submit" class="lotusBtn" value="Submit" name="submitButton"/>
</form>Le formulaire définit les paramètres action, method et enctype. Le formulaire indique également les zones d'entrée _charset_ et action.uri. Pour plus d'informations sur ces zones, voir Création du formulaire HTML. Le formulaire indique également le comportement suivant :- Le formulaire définit le paramètre
action.urisur la valeurddc:operation:blp:ibm.portal.ddc.xml, et le collecteur de données Digital Data Connector XML générique traite le formulaire. - Le modèle de document représente l'entrée XML de commentaire de l'article de blogue référencée à l'aide du paramètre
ddc.uri.template. Dans cet exemple, le modèle de document est fourni à partir d'un composant HTML Web Content Manager référencé par un URIwcmrestcorrespondant. Pour plus d'informations sur le format d'URI REST Web Content Manager, reportez-vous à la rubrique Service REST pour Web Content Manager dans la documentation Web Content Manager. Dans cet exemple, le composant HTML référencé contient le fragment XML suivant :<?xml version='1.0' encoding='UTF-8'?> <entry xmlns='http://www.w3.org/2005/Atom' xmlns:thr="http://purl.org/syndication/thread/1.0"> <content type='html'> </content> </entry> - Le profil relatif à ce modèle de document est identifié à l'aide du paramètre
ddc.profile.in. Dans l'exemple, un document de commentaire d'article de blogue est publié et le profilibm.portal.sr.blogs.post.commentsest utilisé. - Les paramètres
ddc.itemattribute.operation.addCommentetddc.itemattribute.value.addCommentdéfinissent la mise à jour de l'élément<content>dans le modèle de document. Le paramètre d'opération est défini sur la valeuraction=set,itemAttributeName=body. Par conséquent, la valeur entrée par l'utilisateur dans la zone de texteddc.itemattribute.value.addCommentest utilisée pour mettre à jour le noeud XML qui a été sélectionné par l'attribut d'élément sélectionné appelébody. Le profil référencé contient les informations sur l'endroit où localiser l'élément<content>dans le modèle. - Pour créer le commentaire d'article de blogue, le modèle de document modifié doit être envoyé au lien de modification d'un article de blogue. Pour cela, définissez le paramètre
ddc.methodsur la valeurpost. Pour extraire le lien de modification d'un article de blogue du contexte de rendu de liste DDC utilisez la balise[AttributeResource attributeName="rawCommentsEditLink"].
Exemple : Suppression d'une ressource existante
Les services REST XML standard prennent en charge la suppression de ressources existantes par l'envoi d'une demande DELETE HTTP correspondante à l'adresse URL de la ressource. Le fragment HTML suivant montre un formulaire HTML que vous pouvez utiliser pour supprimer un commentaire d'un article de blogue HCL Connections :
<form id="[AttributeResource attributeName="id"
separator=","]DeleteBlogComment" method="POST"
enctype="multipart/form-data" action="[Plugin:ActionURL
action="post" copyCurrentParams="true"
param="resultSessionAttribute=myResult" compute="always"]">
<input type="hidden" name="_charset_" value="[Plugin:EvaluateEL
value="${pageContext.response.characterEncoding}" compute="once"]"/>
<input type="hidden" name="action.uri"
value="ddc:operation:blp:ibm.portal.ddc.xml"/>
<input type="hidden" name="ddc.method" value="delete"/>
<input type="hidden" name="ddc.uri.target"
value="[AttributeResource attributeName="rawEditLink"
separator=","]" />
</form>Le formulaire indique le comportement suivant :- Le formulaire définit le paramètre
urisur la valeurddc:operation:blp:ibm.portal.ddc.xml, et le collecteur de données HCL Digital Data Connector (DDC) for HCL Portal XML générique traite le formulaire. - Pour supprimer la ressource, il n'est pas nécessaire d'envoyer des données XML au collecteur de données. Par conséquent, le formulaire n'indique pas les paramètres
ddc.uri.templateouddc.profile.inni aucun des paramètresddc.itemattribute. - Pour supprimer le commentaire d'article de blogue vous devez envoyer une demande DELETE HTTP au lien de modification d'un article de blogue. Pour cela, définissez le paramètre
ddc.methodsur la valeurdelete. Pour extraire le lien de modification d'un article de blogue du contexte de rendu de liste DDC utilisez la balise[AttributeResource attributeName="rawCommentsEditLink"].