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 :
Il s'agit des champs de type : texte, entier, décimal, devise, date.
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..).
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 :
Mapping avec un paramètre de type BLOB X3
Le serveur effectue le traitement suivant pour le mapping :
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 :
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 :
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 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
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'.
Un champ de type menu local est contient une valeur de type entier.
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.
Pour pouvoir faire fonctionner les composants flash avec XTEND il faut, au préalable, que le sous programme SUBAPSMON/MONITEUR :
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é :
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 :
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 :
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.
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.
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>
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>
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 |
xnotempty | Valeur affichée | Ajoute la valeur passée en paramètre à la valeur du token ; |
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 :
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 selectedvalue="">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);">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>
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 |
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">
Code | Paramètre | Effet |
xcrit | Aucun | Sauvegarde la valeur et restaure la dernière valeur automatiquement. |
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 |
Le tag textarea permet de saisir un commentaire.
<textarea cols="100" rows="5" adx="CMT:xrc">Commentaire...</textarea>
Idem tag <input>
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.
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.
<span adx="LIBMENULOCAL:xcaption=1" style="color:#FF0099"></span><br>
<span adx="LIBMENULOCAL:xcaption=2" style="color:#FF0099"></span><br>
<span adx="LIBMENUXTD:xcaption=DOC" style="color:#FF0099"></span><br>
<span adx="LIBMENUXTD:xcaption=NEW" style="color:#FF0099"></span><br>
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>
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>
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>
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.
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.
Vous pouvez aussi utiliser le paramètre HTML si vous utilisez déjà un token field pour valoriser le contenu du tag HTML.
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>
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 |
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 |
Champs
Les champs suivants sont présents dans cet onglet :
| Code du token champ. |
| Site Web courant. |
|   |
| Type de token champ spécial. Cet élément n'a aucune propriété. Il est géré directement par le serveur X3WEB. |
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
Type de champ
| Type du champ : Texte, Entier, Décimal, Devise, Date, Acces image, Acces piece jointe, Menu local, Flash. Cf description des types de champs. |
| Identifiant du menu local X3 qui donne la liste des valeurs pour ce champ et le libellé associé à la valeur (index). Ce champ est saisissable si le type du champ est "Menu local". |
| Titre menu local. |
Liste de valeurs
| Permet d'associer une liste de valeur XTEND pour ce champ. Le champ équivaut à un menu local mais avec une liste de valeurs définie par l'utilisateur via la fonction Liste de valeurs. Par exemple on peut associer une liste de valeurs issue d'une table diverse X3. La liste de valeurs prend aussi en compte les structures arborescentes et permet d'associer une catégorie hiérarchique à un champ. Ce champ est saisissable si le type du champ est "texte". |
Utilisation
| Type d'utilisation du champ Standard : La valeur du champ est calculée dynamiquement lors de la construction de la page. L'utilisation Libellé et Constante permet d'attribuer une valeur fixe à un champ et de préciser le type d'utilisation (pour information). Constante : si le champ est utilisé comme une constante pour passer des paramètres à des traitements X3. Libellé : si le champ est utilisé comme un libellé dans une page HTML. Le type libellé est généralement utilisé avec les champs de type menu local pour prendre en compte le multi-langues La liste gauche permet de trier les champs par utilisation et facilite la recherche des champs par type d'utilisation. Le fait d'utiliser un menu local ou une liste de valeurs pour un Libellé 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. Pour un menu local |
| Valeur de la constante ou du libellé. La valeur des champs de type constante ou libellé est calculée au chargement de la page ce qui a pour effet d'améliorer les temps de réponse du site. |
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
Flash
| (Composant Flash) Code de l'interface XTEND à appeler pour faire communiquer le composant flash avec X3. La requête appelle le sous-programme SUBAPSMON/MONITEUR avec les paramètres fournis par le composant flash. Pour pouvoir faire fonctionner les composants flash avec XTEND il faut au préalable que le sous programme SUBAPSMON/MONITEUR :
|
| (Composant Flash. Sélectionnez 'Oui' pour afficher les titre des graphiques. |
| Composant Flash. Sélection de la 'vue portail' utilisant une source de données de type Requête ou Statistique et utilisant des 'composants visuels' de type Flash. |
| Type de vue portail |
| Il s'agit du composant Flash. Certains composants flash permettent d'ouvrir une fonction X3 sur clic utilisateur. La clé de l'objet X3 est passée en paramètre. Cela permet d'afficher le contenu de l'objet X3 sélectionné via un token bloc. |
| (Composant Flash) Taille du paramètre du web service (clob) qui contient les données XML à destination du composant Flash inséré dans la page HTML. 10 par défaut. |
Images et Piéces jointes
| Répertoire racine choisi parmi les répertoires définis par XTEND. Nous avons défini quatre répertoires racine pour stocker des fichiers XTEND.
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 |
| Défini le sous-répertoire qui contient la ressource. Le chemin relatif peut être calculé en fonction de la valeur d'un champ en utilisant la syntaxe suivante: Si le path contient le dossier /X_PROTECT/ l'accès aux sous-répertoires et aux fichiers est protégé et seul l'utilisateur (identifié par son cookie jsessionid) pourra lire les fichiers. |
| Permet de surcharger l'extension du fichier lors de la création de l'URL pour accéder à la pièce jointe ou à l'image. |
| Permet de forcer l'extension du fichier lors de la création de l'URL pour accéder à la pièce jointe ou à l'image. |
Tableau Formats
| Un projet HTML est toujours associé à une langue. Le code langue utilisateur est précisé dans l'URL via le paramètre LANG (&LANG=FRA). Si ce paramètre n'est pas présent, XTEND choisit le paramètre de configurationxtend.server.gensetup.deflang. L'action ASESSSWITCHLANG permet de changer de langue. |
| Format du site par défaut. |
| Permet de surcharger le format pour ce champ. Ce tableau liste les formats d'affichage par langue. |
Fermer
Par défaut, les états suivants sont associés à la fonction :
PRTSCR : Impression écran
Mais ceci peut être modifié par paramétrage.
Ce bouton permet de copier un token champ. |
Cette fonction est accessible via le menu outils des fiches de paramètrage
Elle permet de créer les tokens champs à partir:
Colonne | Description |
Paramètre | Code du champ de la table ou paramètre du web service lié à une interface |
Intitulé | Intitulé champ |
Token champ | Code du token champ à créer. Par défaut, le code champ est égal au code paramètre. |
Existe | Cochée si le champ existe déjà dans le dictionnaire |
Type | Type de champ (XTEND) |
Menu | Identifiant du menu pour le type MenuLocal |
Dimension | Nombre maximum de valeurs du paramètre ou champ |
Génération | Pour les champs de dimension supérieure à 1, indique s'il faut générer un indice (NOMCHAMP + INDICE). |
Indice | Indice du champ pour calcul du nom |
Il faut valider les champs après génération pour qu'ils soient pris en compte par le serveur XTEND.
La validation génère un nouveau dictionnaire XML des paramètres XTEND.
Le nouveau dictionnaire n'est pris en compte automatiquement sur reload/F5 de la page HTML dans le navigateur que si l'option de la fiche de paramétrage du site'Technique\Vérifier mises à jour\Dictionnaire web' est cochée.
Sinon il faut forcer le rechargement du dictionnaire avec l'url :
'http://hostname:port/xtend/svc/SolutionX3/DossierX3/SiteXtend/admin/reposit/reload'
Validation avec une vérification de la cohérence des données du dictionnaire XTEND.