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


L'entité XTEND est la structure de données de type liste de champs, propre à XTEND, qui représente un objet fonctionnel du site web (comme un article, un utilisateur, une adresse, un en-tête ou ligne de commande...).

Prise en main

Création

Les données manipulées par le serveur XTEND proviennent exclusivement de l'appel d'interfaces (web services X3). Il existe deux façons de créer ces données ou entités :

Une entité est toujours le résultat d'un 'mapping' avec la structure de données renvoyée par le web service X3 à savoir :

  • Les champs d'un 'groupe de publication' pour un sous-programme L4G,
  • Les champs d'un 'bloc écran' pour un objet X3.
Entités créées par une action

Ces entités sont créées suite à l'appel, par l'utilisateur, d'une interface de type action via un bouton ou une ancre.

Pour optimiser les temps de réponse et la charge du serveur de web service :

  • Cumulez l'action utilisateur et la création d'entités en retour dans une même appel de web service plutôt que d'appeler deux web services.

Toutes les entités issues d'un 'mapping' avec une interface de type 'Action' sont stockées en mémoire et disponibles pendant la durée de la session utilisateur.

Dans le cas d'une action sur un objet (comme la validation d'une commande X3), les entités créées représentent généralement un sous-ensemble de la commande X3.

Ces entités (entête et lignes de commande) sont conservées en mémoire pour être :

  • affichées,
  • passées en paramètre d'une autre action (confirmation de la commande)
  • ou bien utilisées comme critères de sélection (détail des articles).

Dans le cas d'une action de login utilisateur le sous-programme L4G valide les informations de login, et renvoie généralement une structure de données qui contient les informations du compte utilisateur.

Ces données pourront être affichées ou utilisées comme paramètres d'actions (code représentant, code site pour la commande) ou de tokens blocs conditionnés pour gérer l'affichage des pages.

Entités créées par un accès aux données

Ces entités sont créées suite à l'appel, par un token bloc inséré dans une page HTML, d'une interface de type accès. Ces entités peuvent être considérées comme de simples enregistrements renvoyés par une requête SQL.

Toutes les entités issues d'un 'mapping' avec une interface de type 'Accès' sont stockées en mémoire et disponibles seulement pendant la durée de construction de la page HTML.

Les données de ces entités peuvent être utilisées comme paramètres d'action ou comme critères de sélection dans les blocs.

Dans ce cas, la valeur est conservée dans le contexte de données associé à la page HTML (et non pas dans le contexte de la session utilisateur).

Ce contexte est stocké dans la page HTML elle même (tag span spécifique) et manipulé par les fonctions JavaScript de la librairie XTEND.

Ce principe assure un bon fonctionnement des pages avec les touches retour (Back) et reload (F5).

Exemple :

Dans le cas d'un catalogue d'articles, le code de l'article, issu d'une requête sur une table X3, est conservé suivant ce principe. Il peut ainsi être passé :

  • en paramètre du bloc qui affiche le détail de l'article
  • ou bien en paramètre de l'action qui l'ajoute au panier.
Entité ASESSION

Cette entité est crée au démarrage de la session. Elle permet l'accès à toutes les données de la session utilisateur.

Paramétrage

Le paramétrage d'une entité consiste à :

  • associer une interface,
  • saisir la liste des champs.

Les champs ont généralement été créés au préalable via la fonction d'aide à la création des champs du menu 'outils' de l'interface.

Le menu Outils\Aide au remplissage propose une aide pour associer les champs à l'entité.

Entité de type session

Ce type est réservé et correspond aux entités internes du serveur XTEND.

ASESSION : représente les données de la session utlisateur.

AHTMLFORM : représente le contenu du formulaire HTML de la requête HTTP courante.

AHTTPCOOKIE : représente le contenu des cookies de la requête HTTP courante.

Entité de type action

Une entité de type action est créée par une 'action' utilisateur (mapping du résultat de l'appel du web service).

Les entités de type action ne sont rattachées à aucune interface car elle peuvent potentiellement être créées par plusieurs interfaces.

Exemple :

Une entité commande SOH peut être créée par les actions Créer/Modifier/Supprimer.

Ces trois actions feront référence à la même entité dans leur mapping.

Processus de création des entités action

1. Identifiez les entités dans la phase de spécification du projet,

2. Créez les web services et interfaces sans forcément développer le code associé,

3. Générez les champs via le menu 'outils' de la fiche interface,

4. Créez les entités et associer les champs.

SEEINFO Il n'existe pas d'outil de création automatique des entités de type action à partir d'une interface.

Identifiant

Lors de la création d'une entité action le moteur XTEND crée un champ 'AID' pour chaque entité qui contient un identifiant unique.

Ce champ peut être utilisé en Scripting serveur par les méthodes removeData et getData de l'interface IXtdJsActEntity.

Entité de type 'accès données'

Entité créée par l'appel d'une interface de type 'Accès données' qui est l'équivalent d'un requête SQL sur la base X3.

Le tableau 'Champs'est utilisé pour déclarer les champs de l'entité et pour effectuer le mapping entre le code du champs XTEND (colonne code) et le nom du paramètre sous-programme ou champ de l'objet X3 (colonne paramètre de l'interface).

On choisit généralement le même nom sauf si il y a conflit avec un autre champ de type différent.

Le groupe de publication de l'interface 'Accès données' qui contient les champs de la requête est fixé à 'RES'.

Processus de création des entités action

1.Générez l'interface à partir d'une table X3 ou de la liste gauche d'un objet,

 2. Générez les champs via le menu 'outils' de la fiche interface,

3. Créez les entités et associer les champs.

SEEINFO Il n'existe pas d'outil de création automatique des entités de type 'accès données' à partir d'une interface dans la version actuelle.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Champs

Les champs suivants sont présents dans cet onglet :

Code de l'entité

  • Site (champ FCYLIB)

Site Web courant.

  • Intitulé (champ INTIT)

Permet de définir un intitulé associé à chaque fiche.

 

Onglet Généralités

Champs

Les champs suivants sont présents dans cet onglet :

Caractéristiques

  • Type (champ TYP)

  • Entité de type session : ce type est réservé et correspond aux entités internes du serveur XTEND.

  • Entité de type 'accès données' : entité créée par l'appel d'une interface de type 'Accès données' qui est l'équivalent d'un requête SQL sur la base X3.

  • Entité de type action : entité créé par une 'action' utilisateur.

Code de l'interface

  • Type d'interface (champ INTTYP)

 

  • Nom de publication (champ INTWSRC)

 

Tableau Champs

Code du champ XTEND : on choisit généralement le même nom que celui du 'Paramètres dans l'interface' sauf si il y a conflit avec un autre champ de type différent.

  • Paramètre de l'interface (champ DSCCOD10)

Mapping entre le code du champ XTEND et le nom du paramètre de l'interface.

Il s'agit du code du paramètre du sous-programme (web service sous-programme) ou du code du champ de l'objet X3 (web service Objet X3).

On choisit généralement le même nom XTEND/X3, sauf si il y a conflit avec un autre champ de type différent.

  • Groupe (champ DSCGRP10)

Code du 'Groupe de publication' de l'interface 'Accès données' qui contient les champs des enregistrements de la requête (fixé à 'RES').

Tableau Champs (sélection)

Code du champ clé.

Liste des champs identifiants de l'entité.

SEEWARNING Une entité est identifiée par une clé dynamique et N clés fixes :

  • La première ligne contient la clé dynamique (code du champ).
  • Les autres lignes contiennent les clés fixes constituées du code et de la valeur.
  • Type (champ VALTYP30)

 

  • Valeur (champ VALEUR30)

Valeur de la clé fixes. Liste des champs identifiants de l'entité.

SEEWARNING Une entité est identifiée par une clé dynamique et N clés fixes.

  • La première ligne contient la clé dynamique (code du champ).
  • Les autres lignes contiennent les clés fixes constituées du code et de la valeur.

 

Icône Actions

Aide à la création

SEEREFERTTO Voir l'aide de l'outil 'Aide au remplissage'.

 

 

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

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.

Ce bouton permet de copier une entité.

Barre de menu

Outils / Aide au remplissage

Aide à la création des entités

SEEREFERTTO Voir la documentation de prise en main de la fonction.

Cette fonction permet de créer des entités à partir des paramètres d'une interface.

1. Ouvrir la fonction Entité,

2. Créer une nouvelle Entité,

3. Sélectionner le type d'interface,

4. Pour le type 'Accès table' sélectionner l'interface qui sera attachée à l'entité,

5. Activer le menu 'Outils/Aide au remplissage'.

Après avoir sélectionné l'interface, la liste des paramètres regroupés par groupes de publication est affichée :

 Colonne

Description

Paramètre de l'interface

Code du paramètre de l'interface

Groupe

Groupe de publication (sous-programme) ou code du bloc (objet)

Intitulé

Intitulé champ pour les objets X3

Token champs  

Code du token champ XTEND
Saisissable à la création

Intitulé

Intitulé champ XTEND


Une entité XTEND est généralement associée à un groupe de publication (colonne groupe) (qui représente un bloc écran pour un objet X3).

Processus de création :

  • sélectionnez les champs par double-clic sur la première colonne,
  • puis sélectionnez un token champ dans la colonne 'Token champ'.

SEEWARNING Il est conseillé de créer tous les champs XTEND au préalable via la fonction utilitaire 'Création des champs'.
Si le champ n'existe pas vous pouvez accéder à la fonction 'Token champ' par F12 pour le créer.

Outils / Validation avec vérification

Validation avec une vérification de la cohérence des données du dictionnaire XTEND. 

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