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, post et delete.
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, addPredecessor et addSuccessor. 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, addPredecessor et addSuccessor. 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éfinition valueType de 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.
La valeur suffix n'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ètres ddc.itemattribute.value.suffix et ddc.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 commun xyz : addc.itemattribute.value.xyz et ddc.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ètre ddc.itemattribute.value.suffix associé. Cette étape crée la valeur finale à utiliser pour modifier le modèle de document XML utilisé pour les actions set, addChild, addPredecessor et addSuccessor.

Si la valeur associée ddc.itemattribute.value.suffix définit plusieurs valeurs à l'aide d'un séparateur spécifié par le paramètre valueSeparator, le collecteur de données générique applique chaque valeur individuelle au modèle.

En fonction de la valeur de la définition templateType de 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.
La valeur suffix n'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ètres ddc.itemattribute.value.suffix et ddc.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 commun xyz : addc.itemattribute.value.xyz and ddc.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 itemAttribtueName et le profil de rendu de liste associé via le paramètre ddc.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é.
Contrairement aux actions précédentes, l'action get n'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 valeur itemAttribtueName et le profil de rendu de liste associé via le paramètre ddc.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.template répertorié précédemment. Vous pouvez indiquer les valeurs suivantes :
text
Si vous indiquez la valeur text, la valeur du paramètre ddc.itemattribute.template.suffix est 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ètre ddc.itemattribute.template.suffix en 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.suffix associé à 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.suffix est 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ètre ddc.itemattribute.value.suffix en 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 de name en 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 membre resultHeaderData. 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.uri sur la valeur ddc: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 URI wcmrest correspondant. 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 profil ibm.portal.sr.blogs.post.comments est utilisé.
  • Les paramètres ddc.itemattribute.operation.addComment et ddc.itemattribute.value.addComment dé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 valeur action=set,itemAttributeName=body. Par conséquent, la valeur entrée par l'utilisateur dans la zone de texte ddc.itemattribute.value.addComment est 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.method sur la valeur post. 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 uri sur la valeur ddc: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.template ou ddc.profile.in ni aucun des paramètres ddc.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.method sur la valeur delete. Pour extraire le lien de modification d'un article de blogue du contexte de rendu de liste DDC utilisez la balise [AttributeResource attributeName="rawCommentsEditLink"].