Plug-in d'URL de rendu

Le plug-in de rendu RenderURL permet de créer des adresses URL en vue de définir ou de supprimer des paramètres de rendu.

La syntaxe de ce plug-in est la suivante :
[Plugin:RenderURL copyCurrentParams="" escape="" uri="" uriMode="" 
prefix.key="" prefix.value="" prefix.mode="" prefix.type=""]
Ce plug-in utilise les attributs suivants :
copyCurrentParams
Cet attribut permet de déterminer si vous voulez que l'état du portail courant et les paramètres codés dans l'état soient copiés dans la nouvelle adresse URL. Les valeurs admises sont true et false. La valeur par défaut est false.
Echap
Cet attribut permet de définir la séquence d'échappement utilisée pour écrire l'adresse URL. Indiquez l'une des valeurs suivantes : xml, json, javascript ou none. La valeur par défaut est xml.
Pour définir, ajouter ou supprimer des paramètres de rendu publics ou privés, utilisez les attributs suivants. Utilisez le prefix devant les attributs en vue de corréler les attributs de clé, de valeur, de type et de mode qui font référence au même paramètre de rendu. Le préfixe ne doit pas renfermer de point ( . ).
prefix.key
Cet attribut permet de définir le nom du paramètre. Pour la valeur, indiquez l'identificateur simple d'un paramètre privé ou public.

Prise en charge limitée pour des paramètres de rendu publics non déclarés : HCL Digital Data Connector (DDC) for HCL Portal fournit également une prise en charge limitée pour des paramètres publics non déclarés dans le descripteur de déploiement de l'Afficheur de contenu Web. Vous pouvez identifier ces paramètres au moyen du nom complet au format {ns}localname. Les paramètres de rendu public non déclarés ne fonctionnent pas lorsque vous les utilisez avec WSRP. Ils ne sont pas inclus par défaut dans la clé de cache de fragment de portlet si la mise en cache de fragment de portlet est activée.

prefix.value
Cet attribut permet de définir, ajouter ou supprimer des valeurs pour un paramètre. Le prefix doit correspondre à celui défini pour l'élément key indiqué précédemment. Pour définir des paramètres avec des valeurs multiples, ajoutez plusieurs attributs prefix.value à la balise de plug-in de rendu.
prefix.type
Cet attribut permet de déterminer le type de paramètre à définir. Les valeurs admises sont private et public.
prefix.mode
Cet attribut permet de décider ce que vous voulez faire avec les valeurs de paramètre. Les valeurs valides pour cet attribut sont les suivantes :
set
Il s'agit du mode par défaut. Utilisez ce mode en vue de définir la valeur pour le paramètre. Lorsque vous utilisez ce mode la valeur de paramètre que vous définissez remplace une valeur existante.
ajouter
Utilisez ce mode afin d'ajouter une valeur pour le paramètre. Lorsque vous utilisez ce mode, la valeur de paramètre que vous définissez est ajoutée aux valeurs existantes. Si vous utilisez ce mode mais qu'il n'existe aucune valeur de paramètre, un nouveau paramètre est défini.
remove
Ce mode permet de supprimer le paramètre ou ses valeurs. Utilisez ce mode uniquement pour des paramètres de rendu privés avec copyCurrentParams="true" ou pour des paramètres de rendu publics. Vous pouvez utiliser ce mode de l'une des deux manières suivantes :
  • Pour supprimer complètement le paramètre ne transmettez aucune valeur.
  • Pour supprimer uniquement des valeurs spécifiques d'un paramètre de rendu, transmettez uniquement les valeurs à supprimer.
Pour cibler un plug-in de résolution de portail, utilisez les attributs suivants. Si vous indiquez également des paramètres de rendu publics ces derniers sont appliqués une fois la résolution achevée.
uri
Cet attribut permet d'indiquer un URI valide identifiant la ressource à résoudre.
uriMode
Cet attribut permet d'indiquer le mode de résolution. Les valeurs admises sont view et download. Le plug-in évalue l'attribut uriMode uniquement si aucun paramètre de rendu public n'est défini dans la même balise de plug-in de rendu.
Afin d'inclure en outre des paramètres pour le programme de résolution uniquement, utilisez un des attributs suivants :
prefix.type="uri"
Indiquez le type de paramètre afin de l'identifier en tant que paramètre de résolution.
prefix.key
Définissez le nom du paramètre pour le programme de résolution. Le préfixe peut être n'importe quelle chaîne.
prefix.value
Définissez la valeur du paramètre pour le programme de résolution. Pour définir des paramètres avec des valeurs multiples, ajoutez les différents attributs de valeur à la balise de plug-in de rendu.

Exemples

Tous ces attributs peuvent être combinés. Exemples :
  • La balise de plug-in suivante crée une adresse URL qui complète les deux actions suivante :
    • Définit un paramètre de rendu privé private1.
    • Ajoute des valeurs multiples [pv1, pv2], pour le paramètre de rendu public public1.
    [Plugin:RenderURL copyCurrentParams="true" 
        pr1.key="private1" pr1.value="v1"                  
        pr1.type="private" pr1.mode="set"
        pr2.key="public1"  pr2.value="pv1" pr2.value="pv2" 
        pr2.type="public"  pr2.mode="add"] 
  • La balise de plug-in suivante crée une adresse URL qui complète les deux actions suivante :
    • Définit un paramètre de rendu public avec valeurs multiples à l'aide du nom complet (QName) {http://ibm.com}prp1 du paramètre.
    • Supprime le paramètre de rendu avec le nom private1.
    [Plugin1:RenderURL copyCurrentParams="true" 
        pr1.key="private1" pr1.type="private" pr1.mode="remove"
        pr2.key="{http://ibm.com}prp1" pr2.value="pv1" pr2.value="pv2" 
        pr2.type="public"  pr2.mode="set"]
  • La balise de plug-in suivante crée une adresse URL qui complète les deux actions suivante :
    • Résout l'URI sur une page identifiée par le paramètre d'URI.
    • Ajoute la valeur pour le paramètre de rendu public à l'aide du nom complet (QName) {http://ibm.com}prp1 du paramètre sur la page résolue à l'étape précédente. Définit la valeur sur pv1.
    [Plugin:RenderURL copyCurrentParams="true" uri="nm:oid:pageid" 
        pr2.key="{http://ibm.com}prp1" pr2.value="pv1" 
        pr2.type="public" pr2.mode="add"] 
Les exemples suivants montrent comment définir des paramètres de rendu lorsque le formulaire est soumis, de sorte que ces paramètres puissent être lus par les portlets qui sont affichés sur la page de résultat de formulaire.
  • L'exemple suivant définit un paramètre de rendu privé, autrement dit, un paramètre qui ne peut être vu que par la même instance de portlet sur la page qui définit le paramètre. Pour définir la valeur de paramètre, indiquez ce qui suit :
    <form method="get" action="[Plugin:RenderURL copyCurrentParams="true"]">
        <!-- This sets a private render parameter with the name param1: -->
        <input type="text" name="param1">
        <input type="submit" value="Submit">
    </form>
    Pour lire la valeur de paramètre, utilisez la balise suivante sur la page à laquelle le formulaire est soumis : [Plugin:RenderParam key="param1"]
  • L'exemple suivant définit un paramètre de rendu public. Il s'agit du paramètre que toutes les instances de portlet peuvent voir. L'exemple utilise le paramètre CUSTOM_CONTEXT qui est réservé et déclaré dans le fichier portlet.xml par le portlet de rendu. Pour définir la valeur de paramètre, indiquez ce qui suit :
    <form method="get" action="[Plugin:RenderURL copyCurrentParams="true"]">
        <!-- This sets a public render parameter with the name CUSTOM_CONTEXT: -->
        <input type="text" name="CUSTOM_CONTEXT">
        <input type="submit" value="Submit">
    </form>
    Pour lire la valeur de paramètre, utilisez la balise suivante sur la page à laquelle le formulaire est soumis : [Plugin:RenderParam key="CUSTOM_CONTEXT"]