SEEWARNING Avant de créer votre site , il préférable de lire la documentation :Avant de commencer.


Cette fonction permet de définir les Tokens champs du site XTEND.

Un champ peut être utilisé comme :

  • token dans une page HTML pour afficher une information,
  • champ d'une entité,
  • paramètre d'une action,
  • critère de sélection ou de tri,
  • critère de blocs conditionnés.

Prise en main

Types de champs

Types simples

Il s'agit des champs de type : texte, entier, décimal, devise, date.

Types URL

Il s'agit des champs utilisés comme tokens dans le tag <img> ou <a> pour générer des URL'S d'accès à des ressources de type image ou ficher (text, pdf, word..).

'Accès image'

Un champ de type accès image est utilisé dans les tag HTML <img>.

Ce champs est créé par 'mapping' (dans une action ou un 'accès données') avec un paramètre de web services qui contient :

  • soit une donnée de type texte,
  • soit une donnée de type BLOB.

Mapping avec un paramètre de type BLOB X3

Le serveur effectue le traitement suivant pour le mapping :

  • il lit le mime-type du paramètres blob X3 qui est calculé par le serveur de web service X3,
    • s'il s'agit d'un mime-type de type 'image', il stocke la donnée binaire en mémoire dans le cache des données X3.
    • s'il s'agit d'un mime-type de 'type text-plain', voir mapping avec paramètre de type 'Char'.
  • il calcule une URL qui permettra de retrouver l'image en mémoire et de la renvoyer vers le navigateur,
  • il valorise le champ avec la valeur de cette URL (texte).

Exemple:

L'URL ci-dessous est générée lors du traitement du résultat de l'appel d'un web service 'Accès données' pour lire une table qui contient un champ BLOB.

<img src="http://host:port/xtend/x3rsrc/X3SOLUTION/X3FOLDER/XTENDSITE/FRA/ITEMPCT30-112.gif">

Le nom de la ressource qui permet de retrouver la donnée en mémoire est constitué de :

  • CodeEntité + CodeChamp + ValeurDuChampClé + Extension,
  • ValeurDuChampClé est la valeur du champ clé ('Champ sélection) défini dans l'entité XTEND.

Dans notre exemple, nous avons défini pour l'entité ITEM un champ clé ITMREF.

L'URL obtenue est celle d'un article (entité ITEM) issue du paramètre BLOB (PCT) dont la clé (champ clé ITMREF) est 30-112.

L'extension est donnée :

  • soit par la fiche champ,
  • soit par la fiche site (défaut).

Les paramètres 'Répertoire racine' et 'Chemin relatif' ne sont pas pris en compte dans ce type de mapping.

Seul le paramètre Extension est pris en compte.

Mapping avec un paramètre de type Char ou Clob

Lorsque le serveur XTEND doit créer un champ 'Accès image' à partir d'un paramètre web service de type texte il suppose que le texte contient le nom de la ressource.

Le serveur génère donc une URL vers cette ressource en prenant en compte les paramètre 'Répertoire racine', 'Chemin relatif' et Extension pour calculer le chemin d'accès.

Répertoires XTEND

Nous avons défini quatre répertoires racine pour stocker des fichiers XTEND. Les ressources (fichiers, images...) de ces répertoires sont accessibles par le navigateur via des tokens 'image' ou 'pièces jointes'.

  • Design HTML : Répertoire du projet HTML qui tient compte de la langue utilisateur.

  • X_FILES :Répertoire qui est propre au dossier X3 est qui est localisés sous X3_PUB/X3FOLDER/X_TEND/X_FILES.

  • X_FILEAPP : Répertoire qui est propre au dossier X3 est qui est localisés sous
    X3_PUB/X3FOLDER/X_TEND/X_FILAPP.
    Il est utilisé pour stoker des fichiers issus de traitements batch comme des rapports générés par le serveur d'impression.

  • X_TEND : Répertoire utilisé pour stocker des fichiers communs à tous les dossiers
    Par exemple des images produits, des documents commerciaux...
    Il est localisé sous X3_PUB/X_TEND/.

Design HTML et X_FILES peuvent être localisés sur le serveur X3 (défaut) ou sur le serveur de web services.

X_FILEAPP et X_TEND sont toujours localisé sur le serveur X3

'Accès pièce jointe'

Le type 'accès pièce jointe' fonctionne comme le type 'Accès image' mais avec des ressources de tout type (fichier gif, jpg, pdf, word, Excel...).

Les tokens de type 'Accès pièce jointe' sont généralement utilisés dans les tags HTML <a></a> pour que l'utilisateur puisse ouvrir le fichier s'l clique sur la zone sensible.

<a src="http://host:port/xtend/data/remote/SOL/FLDR/X_TEND/X_HTML/SITE/FRA/FA.pdf">get Pdf</a>

Comme pour le type 'Accès image' XTEND traite le mapping entre le paramètre X3 et le champ Xtend en fonction du type du paramètre X3.

Mapping avec un paramètre de type BLOB X3

Le serveur stocke la donnée binaire en mémoire et calcule l'URL de la même manière que pour le token 'Accès image'.

Mapping avec un paramètre de type Char ou CLOB

Le serveur suppose que le champ contient le nom de la ressource et calcule l'URL de la même manière que pour le token 'Accès image'.

Types menu local

Un champ de type menu local est contient une valeur de type entier.

Types FLASH

Le champ de type flash est utilisé pour insérer des composants flash X3 dans les pages HTML via le tag <object>.

Le composant flash utilise une requête 'Ajax' XTEND pour communiquer avec le serveur X3.

La requête appelle le sous-programme SUBAPSMON/MONITEUR avec les paramètres fournis par le composant flash.

SEEWARNING Pour pouvoir faire fonctionner les composants flash avec XTEND il faut, au préalable, que le sous programme SUBAPSMON/MONITEUR :

  • soit publié comme un web service
  • et déclaré dans XTEND par une fiche interface.

Cas du type de champ FLASH

Vérifiez si le traitement SUBAPSMON/MONITEUR est bien publié comme web service avec le nom de publication AXTDFLASH.

Si le sous-programme n'est pas publié :

  • Créez la fiche sous programme en respectant le nom des paramètres et groupes de publication,
  • Publiez le sous programme avec l'alias AXTDFLASH.

Le sous-programme SUBAPSMON/MONITEUR utilise la variable X3 GUSER, qui doit être correctement positionnée.

En mode web service, la variable globale X3 GUSER contient le code utilisateur X3 passé en paramètre au moment de l'appel du web service.

XTEND valorise le code utilisateur X3 en fonction du fait que l'utilisateur soit signé ou non :

  • L'utilisateur XTEND non signé utilise le code utilisateur X3 défini par défaut dans le Pool web service.
  • L'utilisateur XTEND signé utilise le code utilisateur X3 qui est retourné par la fonction de login.
Création de l'interface

Si l'interface AXTDFLASH n'existe pas : créez la fiche de type 'Action sous-programme' et AXTDFLASH comme nom de publication.

Si le composant flash affiche des données d'une autre solution X3 : 

  • vérifiez que le web service SUBAPSMON/MONITEUR/AXTDFLASH est bien publié dans cette solution,
  • et utilisez (créer) un Pool Web Service spécifique qui est connecté à cette solution.
Création des champs Flash
  • Créez un champ de type flash par 'vue portail' à afficher en sélectionnant l'interface AXTDFLASH.
  • Insérez le token champs dans un tag HTML <object>.

SEEREFERTTO Voir la note technique TN-12701 d'Adobe sur la signification des paramètres.

<div>
    <object adx="MYFLASHFIELD" width="400" height="300">
        <!--Paramètres du tag object -->
        <param name="quality" value="high">
        <param name="scale" value="noscale">
        <param name="salign" value="lt">
        <param name="bgcolor" value="#FF0000">
    </object>
</div>

Le token adx accepte le paramètre HTML xcache (<object adx="MYFLASHFIELD:xcache">) si vous souhaitez que la réponse xml du web service soit stockée en mémoire du navigateur.

Lien détail

Le lien dynamique associé au champ flash permet de rediriger le clic dans le menu contextuel détail du composant flash vers une page XTEND.

Les paramètres du lien sont ceux fournis par le composant flash :

Code

Description

 AFLASHX3FUNC

 Code fonction X3

 AFLASHX3OBJ

 Code objet X3

 AFLASHX3KEY1

 Code clé N°1

 AFLASHX3KEY2

 Code clé N°2

 AFLASHX3KEY3

 Code clé N°3


Le bloc qui affiche le détail sélectionne l'entité sur la ou les champ(s)AFLASHX3KEY1, AFLASHX3KEY2, AFLASHX3KEY2 du bloc AHTMLFORM.

Utilisation Tokens Champs

Hors tag html

Utilisez la syntaxe suivante pour afficher la valeur d'un token champ sans passer par un tag html.
La syntaxe suivante est aussi utilisée pour valoriser des variables JavaScript.

<body>
<script>
    // Valorisation d'une variable JavaScript
    var myGlobal=<!adx="MyField"><!adx="MyField">;
</script>
<form>
    <!adx="MyField">xxxx<!adx="MyField"><br>
équivaut à
    <p adx="MyField">xxxx</p>
<form>
</body>

Tag div,span,td,th,p,b,small,big,i,label,li,pre,tt

L'utilisation d'un token champ dans ces tags HTML remplace le contenu entre <tag> et </tag> par la valeur du champ.

L'insertion d'un token adx préserve les attributs existants.

<div adx="MyField"></div>
<td adx="MyFieldDate:xempty=20090101&xfomat=Dz:DD[ ]MMMMMMMMMM[ ]YYYY></td>
<b adx="MyField"></b>

Paramètres HTML

 Code

Paramètre

Effet

xformat

 Format X3

Formate la valeur avec le format passé en paramètre

x3format

 Aucun 

Format la valeur au format X3

xempty

 Valeur ajoutée

Si la valeur du token est vide, valorise le contenu avec la valeur passée en paramètre
Si cette dernière est vide, affiche le contenu de la page HTML (Texte compris entre <tag>et</tag>)

 xnotempty

 Valeur affichée

Ajoute la valeur passée en paramètre à la valeur du token ;
Si cette dernière est vide, ajoute le contenu de la page HTML

Tag select

Le tag select permet de saisir une valeur parmi N. Son comportement dépend du type de token.
Si l'attribut 'name' n'est pas présent, XTEND génère cet attribut avec le nom du token.

Token menu local ou liste de valeurs XTEND  :

  • ajoute une option par élément du menu local,
  • et sélectionne l'option qui correspond à la valeur du champ.

Remarque : on appelera champ 'liste de valeurs XTEND', un champ de type texte avec une liste de valeurs renseignée.

Exemple 1 :

SELECTMENULOC pointe sur le menu 7803 et a pour valeur 4 :

<select adx="SELECTMENULOC" class="smallTxt">
        <option value="">Aucun</option>
</select>

Code HTML généré:

<select name="SELECTMENULOC" class="smallTxt">
<option selected value="">Aucun</option>
<option value="1">ID du processus</option>
 ...
<option selected="selected" value="4">Date de connexion</option>
...
<option value="13">Phys IO</option></select>
Token standard

Exemple 2 :

<select adx="SELECTMENULOC:xonchange=ADLKPOSTPAGE" class="smallTxt">
        <option value="">Aucun</option>
</select>

Code HTML généré:

<select name="SELECTMENULOC" class="smallTxt" onchange="xtdDoDlk(this,'ADLKPOSTPAGE',null,null,null,0,null,event,true,'',false,null,false);">
<option selected value="">Aucun</option>
<option value="1">ID du processus</option>
...
<option selected="selected" value="4">Date de connexion</option>
...
<option value="13">Phys IO</option></select>

XTEND sélectionne l'option qui correspond à la valeur du champ.
Dans l'exemple ci-dessous 'Allemagne' est sélectionné si la valeur de MYTOKENFIELD est DE :

<select name="MYTOKENFIELD">
    <option value="">Aucun</option>
    <option value="AT">Autriches</option>
    <option selected="selected" value="DE">Allemagne</option>
    <option value="ES">Danemark</option>
</select>

Paramètres HTML

Le tag select accèpte les paramètres suivants :

<select adx="MYFIELDMAIN:xonchange=MYDYNLINK&xfill=MYFIELDFILL&xrc">
</select>

 Code

Paramètre

Effet

xonchange

 Lien dynamique  

Appel du lien dynamique sur l'événement 'onChange'

xfill

 Champ menu local 

Remplit le tag select avec les valeurs du menu local

xrc

 Aucun

Rappelle la dernière valeur sélectionnée par l'utilisateur lors du réaffichage de la page, si l'action a retourné une erreur

Tag input text ou hidden

Le tag input permet de saisir une valeur.
Le token champ met à jour la valeur par défaut au chargement de la page (attribut value) avec la valeur du champ.

Si l'attribut 'name' n'est pas présent, XTEND génère cet attribut avec le nom du token.

<input type="text" SIZE="100" adx="MAICOD:xrc">

Paramètres HTML

 Code

Paramètre

Effet

xcrit

Aucun  

Sauvegarde la valeur et restaure la dernière valeur automatiquement.
Utilisé pour les critères de recherche

xrc

 Aucun

Rappelle la dernière valeur sélectionnée par l'utilisateur lors du réaffichage de la page, si l'action a retourné une erreur

Tag textarea

Le tag textarea permet de saisir un commentaire.

<textarea cols="100" rows="5" adx="CMT:xrc">Commentaire...</textarea>

Paramètres HTML

Idem tag <input>

Libellé

Les champs avec liste de valeurs ou de type menu local peuvent être utilisés comme libellé dans les pages HTML.
Vous pouvez aussi utiliser comme libellé un champ de type texte sans liste de valeur en renseignant le paramètre valeur.

L'utilisation d'un token libellé à la place d'un texte dans la page HTML permet au webmaster de modifier les libellés dans X3 sans avoir à modifier le HTML.

Les libellés peuvent aussi être utilisés pour gérer le multi-langues dans une même page HTML.

Sélection de la valeur

Le fait d'utiliser un menu local ou une liste de valeurs permet d'associer plusieurs valeurs au même champ ce qui minimise le nombre de tokens créés et facilite la gestion des libellés.

La sélection de la valeur dans le token est effectuée via le paramètre HTML 'xcaption'.

Le fait de typer le champ comme libellé indique au serveur XTEND que la valeur est statique et permet d'optimiser le traitement de génération de la page HTML.

Libellé menu local

<span adx="LIBMENULOCAL:xcaption=1" style="color:#FF0099"></span><br>
<span adx="LIBMENULOCAL:xcaption=2" style="color:#FF0099"></span><br>

Libellé avec liste de valeurs

<span adx="LIBMENUXTD:xcaption=DOC" style="color:#FF0099"></span><br>
<span adx="LIBMENUXTD:xcaption=NEW" style="color:#FF0099"></span><br>

Récupérer le libellé d'un menu local

Cas ou le champ ORDSTA est associé au menu local 1 (Oui/Non). Sa valeur est égale à 2

<td align="right" adx="ORDSTA_DESC">XXX</td>

Code HTML généré:

<td align="right">Oui</td>

Comment valoriser un attribut

La syntaxe ci-dessous permet de valoriser l'attribut monAttribut avec la valeur du token champ :

<div adx="MyField:xattr=monAttribut"></div>
Exemple si la valeur de Myfield est 'MyBeautifullClass'
<div adx="MyField:xattr=class"><div> Génère <div class="MyBeautifullClass"><div>
Pour les id's on peut ajouter un suffixe
<div adx="MyField:xattr=id&xnotempty=article"><div> Génère <div id="PUZ001article"><div>

Alterner le style des lignes dans les tableaux

Le champ spécial ALINESTYLE contient les classes des lignes paires et impaires définies dans le paramètre 'Style par ligne' du bloc.

Le code ci dessous permet d'alterner la classe css pour lignes paires et impaires.

<table>
<!adx="MonBloc">
    <tr adx="aLineStyle:xattr=Class"></tr>
<!adx="MonBloc">
</table>
Génère
<table>
    <tr Class="ClasseLignePaire">...</tr>
    <tr Class="ClasseLigneImpaire">...</tr>
    <tr Class="ClasseLignePaire">...</tr>
</table>

Générer un attribut ID automatiquement

Pour développer des interfaces utilisateur complexes, vous avez besoin d'adresser les éléments du DOM HTML par leur identifiant (attribut ID).

XTEND propose une syntaxe pour générer l'attribut ID particulièrement utile dans les blocs.

Le token champ spécial AAUTOID

Permet de générer des ID de type AAUTOID_X.
X est l'index de la ligne courante si le tag est placé dans un bloc XTEN.

AAUTOID prend en compte de multiples blocs imbriqués AAUTOID_X_Y_Z.

Le paramètre HTML xautoid

Vous pouvez aussi utiliser le paramètre HTML si vous utilisez déjà un token field pour valoriser le contenu du tag HTML.

  • Si le tag HTML a un attribut ID non vide, la valeur est utilisée comme préfixe de l'ID.
  • Sinon XTEND choisit le nom du token comme préfixe.

Exemple :

<table>
<!adx="MonBloc">
    <tr adx="AUTOID">
        <td adx="ITMREF&xautoid"></td>
    </tr>
<!adx="MonBloc">
</table>
Génère
<table>
    <tr id="AAUTOID_1">
        <td id="ITMREF_1">PUZOO1</td>
    </tr>
    <tr id="AAUTOID_2">
        <td id="ITMREF_2">PUZOO2</td>
    </tr>
</table>

Valoriser un attribut d'un tag

Tokens Champs prédéfinis

Le tableau ci-dessous présente la liste des tokens field calculés par XTEND :

Code

Type   

Description 

ABLKELMTIDX

Entier

Bloc - Index d'un élément dans un bloc (O->ABLKNBELMTS-1)

ABLKELMTRANK

Entier

Bloc - Rang d'un élément dans un bloc(1->ABLKNBELMTS)

ABLKLINEIDX

Entier

Bloc - Index d'une ligne dans un bloc(O->ABLKNBLINES-1)

ABLKLINERANK

Entier

Bloc - Rang d'une ligne dans un bloc(O->ABLKNBLINES)

ABLKNBELMTS

Entier

Bloc - Nombre d'éléments (enregistrements) total de la requête d'un bloc

ABLKNBLINES

Entier

Bloc - Nombre de ligne d'un bloc

ABLKSELECTEDLINE

Entier

Bloc - Rang de la ligne sélectionné d'un bloc via l'action ABLKSELECT

APAGENB

Entier

Bloc - Nombre de pages d'un bloc

APAGENUM

Entier

Bloc - Rang de la page courante d'un bloc

APAGEPOS

Entier

Bloc - APAGEPOS/APAGENUM

LINESTYLE

Texte

Bloc - Classe css dune ligne d'un bloc (paramètre du bloc)

AUSERCODE

Texte

Contexte - Code utilisateur XTEND courant
Contexte - Utilisé aussi comme paramètre et champ de saisie pour l'action de login

AUSERLANG 

Texte

Contexte - Langue utilisateur pour le HTML

AUSERPROFILE

Texte

Contexte - Profil de l'utilisateur si il est signé et si la gestion des profils est activée

AX3SOL

Texte

Contexte - Code solution X3 courant

AX3FOLDER

Texte

Contexte - Code dossier X3 courant

AXTENDSITE

Texte

Contexte - Site XTEND courant

APAGEALIAS

Texte

Contexte - Code de la page web courante

ATODAY

Date

Contexte - Date du serveur

AID

Texte

Divers - Identifiant unique d'une entité action (créé par programme)

APWD

Texte

Divers - Mot de passe utilisé comme paramètre et champ de saisie pour l'action de login

AWEBMASTERMAIL

Texte

Divers - Accès aux champs emails de la fiche site courante

AMSGUSER

Texte

Divers - Message d'erreur utilisateur

AMSGERR

Texte

Divers - Message d'erreur utilisé uniquement dans la page d'erreur

AMODSTAMP

Texte

Divers - TimeStamp d'un objet X3

AAUTOID

Texte

Divers - Génère un attribut id dans le tag HTML

AJSON

Texte

Divers - Utilisation interne

 AFLASHX3FUNC

Texte

Flash - Code objet X3

 AFLASHX3OBJ

Texte

Flash - Code fonction X3

 AFLASHX3KEY1

Texte

Flash - Code clé N°1

 AFLASHX3KEY2

Texte

Flash - Code clé N°2

 AFLASHX3KEY3

Texte

Flash - Code clé N°3

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Onglet Général

Onglet Avancé

Etats

Par défaut, les états suivants sont associés à la fonction :

  PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Validation

Ce bouton permet de mettre à jour le dictionnaire XTEND au format XML.

Le serveur X3WEB prend en compte uniquement le dictionnaire sous ce format.

Il existe un fichier xml par dictionnaire.

Par exemple le fichier ACT.xml correspondant à l'ensemble des actions web pour le site Web courant.

Copie

Ce bouton permet de copier un token champ.

Barre de menus

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre