Conception

Rappel de réponses

CallWeb peut rappeler trois types d'information dans le texte des questions, dans les notes et dans les catégories de réponses :

SyntaxeActionNotes
&questionRappel du texte de l'étiquette de la réponse choisieRappeler une question RELATION de cette façon insère un tableau des enfants là où le rappel est effectué.
&@questionRappel du code de réponse choisi (le code de réponse associé à une question ordinaire)Rappeler une question RELATION de cette façon insère le nombre d'enfants là où le rappel est effectué.
&&AquestionRappel de la réponse dans la partie ouverte fournie (tant pour les parties ouvertes numériques qu'alphanumériques qu'autres) 
&question#nRappel de l'ALIAS « n » du code de réponse choisi. Référez-vous à la page portant sur les catégories de réponses pour une présentation du concept d'alias.Si aucun alias n'existe pour la catégorie de réponse choisie, l'étiquette principale est affichée. Cette syntaxe est utile pour adapter le rappel d'une réponse au contexte d'une question (par exemple, pour ajouter un article ou changer la capitalisation.)

Le rappel de réponses peut être effectué sur tout type de question, que ce soit des questions ordinaires posées au cours du question, des questions BLANK, des questions CALCUL, ou autres.

Exemple de rappel de réponse de la question Q1 :

    % Texte de la question
    [EN]Earlier, you mentioned that you are generally considered a &Q1? Was it always the case?
    [FR]Vous avez mentionné plus tôt que vous êtes généralement vu(e) comme un(e) &Q1? Est-ce que cela a toujours été le cas?

Instruction dièse de rappel

Des valeurs de rappel particulières peuvent être créées grâce aux instructions « # Recall » ou « # Rappel ». Voici la syntaxe de cette instruction :

    # Rappel etiquette = [EN]recalled_text[FR]texte_rappelé

Ces valeurs sont rappelées en utilisant la syntaxe suivante : &#ETIQUETTE. Par exemple, tous les icônes « Nouveau » dans cette documentation apparaissent grâce au rappel &#NEW qui est défini par l'instruction dièse suivante :

    # Rappel NEW = [EN]<img src="cwdoc/new_en.gif" style="vertical-align:middle">[FR]<img src="cwdoc/new_fr.gif" style="vertical-align:middle">.

Pour éviter les collisions avec les symboles HTML, etiquette doit être rappelée en majuscules et doit débuter par une lettre. L'étiquette peut contenir des lettres, des chiffres et le trait souligné.

# RAPPEL (ou # RECALL) peut utiliser des conditions d'affichage de sorte que différentes substitutions peuvent avoir lieu dans différentes circonstances. Les conditions d'affichage sont placées immédiatement avant le texte de la valeur rappelée, comme ceci :

    # Rappel WORD = [AQ1.LE.1][EN]word[FR]mot[AQ1.GT.1][EN]words[FR]mots

Dans cet exemple, &#WORD rappelle « mot » (au singulier) si AQ1 est plus petit ou égal à 1 et « mots » (au pluriel) si AQ1 est plus grand que 1.

La condition d'affichage est exprimée en syntaxe xBase à moins qu'elle ne soit à l'intérieur d'accolades auquel cas elle est exprimée en syntaxe Perl. Si la condition d'affichage contient un crochet fermé (comme une expression régulière Perl qui inclut des classes de caractères), utilisez des crochets ouverts et fermés doubles pour délimiter la condition (comme dans [[{condition}]]). CallWeb utilise le texte rappelé de la première condition d'affichage qui correspond au contexte. La condition [AUTREMENT] est toujours vraie; elle peut donc avantageusement compléter une liste de conditions.

Si le rappel est suivi d'un tilde (p.ex. &#WORD~), ce caractère sert de délimiteur pour le nom du rappel et il n'est PAS transmis à la page de questionnaire ce qui permet de ne pas avoir d'espace entre le rappel et le texte qui suit le rappel.

Caractéristiques avancées

Les valeurs rappelées sont insérées dans une borne HTML <SPAN> pour leur attribuer le style SUBSTITUT. Ceci peut entrer en conflit avec l'affichage de certaines valeurs rappelées — particulièrement si les valeurs en question sont placées dans des hyperliens. Pour éviter l'ajout du style SUBSTITUT, insérez un tilde (~) entre les symboles de rappel et le nom de la variable, comme ceci :

    % Texte de la question
    [EN]Earlier, you mentioned that you are generally considered a &~Q1? Was it always the case?
    [FR]Vous avez mentionné plus tôt que vous êtes généralement vu(e) comme un(e) &~Q1? Est-ce que cela a toujours été le cas?

Dans un script CallWeb, on peut rappeler n'importe quelle variable disponible dans l'environnement Perl (voir l'annexe portant sur les données de contexte, en particulier). La syntaxe de rappel est alors {$variable}. Par exemple, l'en-tête de page suivante afficherait le numéro du dossier :

    # ENTETE FR = Votre code d'accès est {$_telkey}

Les valeurs rappelées peuvent contenir des rappels de valeurs. Par exemple, l'instruction suivante est valide et rappelle la valeur _telkey en utilisant &#TELKEY :

    # Rappel TELKEY = {$_telkey}

Il y a un autre type de rappel (bien qu'il s'agisse de plus que d'un simple rappel). Toute expression Perl (ici, on n'est pas limité aux noms de variables) peut être affichée, là où des substitutions sont permises, en utilisant la syntaxe suivante :

    <EXECUTE>expression Perl</EXECUTE>

Grâce à cette syntaxe, on peut afficher le résultat d'un calcul complexe sans avoir à l'enregistrer au préalable dans un champ de question.

Il est aussi possible de calculer le résultat d'un rappel dans une question ou dans une borne EXECUTE. Référez-vous à la fonction « substitue » dans la page portant sur les questions calculées.

Finalement, voici une forme spécialisée de substitution : <crypt>texte</crypt>. Le texte entre les bornes est chiffré en utilisant la fonction obscurcir. Il y a une application particulière de ce type de substitution. Les options accompagnant une adresse de questionnaier CallWeb peuvent être camouflées en utilisant une syntaxe comme celle-ci :

    http://quelquedomaine.com/cwx.cgi?_crypt=<crypt>_proj=CEPROJET&_telkey=QUELQUETELKEY</crypt>

qui produit

    http://quelquedomaine.com/cwx.cgi?_crypt=0648090e370615051124242c671d137e0a060535173b4c271476110c2116016c1f322319

Utilisé dans une invitation par courriel, par exemple, CallWeb chiffre la valeur entre les bornes <crypt></crypt> et associe le résultat à l'option d'URL _crypt. Cette option est décompressée par CallWeb pour recouvrer les options et valeurs initiales que le texte chiffré contient. Il est possible de ne chiffrer qu'une partie des options d'URL s'il y a un avantage à ce faire.

Conception

Rappel de réponses

CallWeb peut rappeler trois types d'information dans le texte des questions, dans les notes et dans les catégories de réponses :

SyntaxeActionNotes
&questionRappel du texte de l'étiquette de la réponse choisieRappeler une question RELATION de cette façon insère un tableau des enfants là où le rappel est effectué.
&@questionRappel du code de réponse choisi (le code de réponse associé à une question ordinaire)Rappeler une question RELATION de cette façon insère le nombre d'enfants là où le rappel est effectué.
&&AquestionRappel de la réponse dans la partie ouverte fournie (tant pour les parties ouvertes numériques qu'alphanumériques qu'autres) 
&question#nRappel de l'ALIAS « n » du code de réponse choisi. Référez-vous à la page portant sur les catégories de réponses pour une présentation du concept d'alias.Si aucun alias n'existe pour la catégorie de réponse choisie, l'étiquette principale est affichée. Cette syntaxe est utile pour adapter le rappel d'une réponse au contexte d'une question (par exemple, pour ajouter un article ou changer la capitalisation.)

Le rappel de réponses peut être effectué sur tout type de question, que ce soit des questions ordinaires posées au cours du question, des questions BLANK, des questions CALCUL, ou autres.

Exemple de rappel de réponse de la question Q1 :

    % Texte de la question
    [EN]Earlier, you mentioned that you are generally considered a &Q1? Was it always the case?
    [FR]Vous avez mentionné plus tôt que vous êtes généralement vu(e) comme un(e) &Q1? Est-ce que cela a toujours été le cas?

Instruction dièse de rappel

Des valeurs de rappel particulières peuvent être créées grâce aux instructions « # Recall » ou « # Rappel ». Voici la syntaxe de cette instruction :

    # Rappel etiquette = [EN]recalled_text[FR]texte_rappelé

Ces valeurs sont rappelées en utilisant la syntaxe suivante : &#ETIQUETTE. Par exemple, tous les icônes « Nouveau » dans cette documentation apparaissent grâce au rappel &#NEW qui est défini par l'instruction dièse suivante :

    # Rappel NEW = [EN]<img src="cwdoc/new_en.gif" style="vertical-align:middle">[FR]<img src="cwdoc/new_fr.gif" style="vertical-align:middle">.

Pour éviter les collisions avec les symboles HTML, etiquette doit être rappelée en majuscules et doit débuter par une lettre. L'étiquette peut contenir des lettres, des chiffres et le trait souligné.

# RAPPEL (ou # RECALL) peut utiliser des conditions d'affichage de sorte que différentes substitutions peuvent avoir lieu dans différentes circonstances. Les conditions d'affichage sont placées immédiatement avant le texte de la valeur rappelée, comme ceci :

    # Rappel WORD = [AQ1.LE.1][EN]word[FR]mot[AQ1.GT.1][EN]words[FR]mots

Dans cet exemple, &#WORD rappelle « mot » (au singulier) si AQ1 est plus petit ou égal à 1 et « mots » (au pluriel) si AQ1 est plus grand que 1.

La condition d'affichage est exprimée en syntaxe xBase à moins qu'elle ne soit à l'intérieur d'accolades auquel cas elle est exprimée en syntaxe Perl. Si la condition d'affichage contient un crochet fermé (comme une expression régulière Perl qui inclut des classes de caractères), utilisez des crochets ouverts et fermés doubles pour délimiter la condition (comme dans [[{condition}]]). CallWeb utilise le texte rappelé de la première condition d'affichage qui correspond au contexte. La condition [AUTREMENT] est toujours vraie; elle peut donc avantageusement compléter une liste de conditions.

Si le rappel est suivi d'un tilde (p.ex. &#WORD~), ce caractère sert de délimiteur pour le nom du rappel et il n'est PAS transmis à la page de questionnaire ce qui permet de ne pas avoir d'espace entre le rappel et le texte qui suit le rappel.

Caractéristiques avancées

Les valeurs rappelées sont insérées dans une borne HTML <SPAN> pour leur attribuer le style SUBSTITUT. Ceci peut entrer en conflit avec l'affichage de certaines valeurs rappelées — particulièrement si les valeurs en question sont placées dans des hyperliens. Pour éviter l'ajout du style SUBSTITUT, insérez un tilde (~) entre les symboles de rappel et le nom de la variable, comme ceci :

    % Texte de la question
    [EN]Earlier, you mentioned that you are generally considered a &~Q1? Was it always the case?
    [FR]Vous avez mentionné plus tôt que vous êtes généralement vu(e) comme un(e) &~Q1? Est-ce que cela a toujours été le cas?

Dans un script CallWeb, on peut rappeler n'importe quelle variable disponible dans l'environnement Perl (voir l'annexe portant sur les données de contexte, en particulier). La syntaxe de rappel est alors {$variable}. Par exemple, l'en-tête de page suivante afficherait le numéro du dossier :

    # ENTETE FR = Votre code d'accès est {$_telkey}

Les valeurs rappelées peuvent contenir des rappels de valeurs. Par exemple, l'instruction suivante est valide et rappelle la valeur _telkey en utilisant &#TELKEY :

    # Rappel TELKEY = {$_telkey}

Il y a un autre type de rappel (bien qu'il s'agisse de plus que d'un simple rappel). Toute expression Perl (ici, on n'est pas limité aux noms de variables) peut être affichée, là où des substitutions sont permises, en utilisant la syntaxe suivante :

    <EXECUTE>expression Perl</EXECUTE>

Grâce à cette syntaxe, on peut afficher le résultat d'un calcul complexe sans avoir à l'enregistrer au préalable dans un champ de question.

Il est aussi possible de calculer le résultat d'un rappel dans une question ou dans une borne EXECUTE. Référez-vous à la fonction « substitue » dans la page portant sur les questions calculées.

Finalement, voici une forme spécialisée de substitution : <crypt>texte</crypt>. Le texte entre les bornes est chiffré en utilisant la fonction obscurcir. Il y a une application particulière de ce type de substitution. Les options accompagnant une adresse de questionnaier CallWeb peuvent être camouflées en utilisant une syntaxe comme celle-ci :

    http://quelquedomaine.com/cwx.cgi?_crypt=<crypt>_proj=CEPROJET&_telkey=QUELQUETELKEY</crypt>

qui produit

    http://quelquedomaine.com/cwx.cgi?_crypt=0648090e370615051124242c671d137e0a060535173b4c271476110c2116016c1f322319

Utilisé dans une invitation par courriel, par exemple, CallWeb chiffre la valeur entre les bornes <crypt></crypt> et associe le résultat à l'option d'URL _crypt. Cette option est décompressée par CallWeb pour recouvrer les options et valeurs initiales que le texte chiffré contient. Il est possible de ne chiffrer qu'une partie des options d'URL s'il y a un avantage à ce faire.