Le projet HTML ASAMPLE est stocké sur le serveur X3 principal dans le répertoire X3_PUB/X3FOLDER/X_TEND/X_HTML/ASAMPLE/FRA en français et ../ENG en anglais.
X3_PUB
Répertoire de publication de tous les dossiers de la solution courante
X3FOLDER
Nom du dossier X3 courant
Si les fichiers du site ASAMPLE ne sont pas présents dans ce répertoire c'est que XTEND n'est pas disponible pour le dossier X3 courant.
Sous unix vérifiez que tous les fichiers du projet HTML ont les droits d'accès suivants:
Nous conseillons de ne jamais modifier le site ASAMPLE mais d'en faire des copie de travail locale en modifiant le nom du site.
Télécharger le contenu du site en local via un client FTP type FileZilla.
Si vous souhaitez réaliser un nouveau site à partir de ce modèle vous devez au préalable installer DreamWeaver. Créer ensuite un nouveau site qui pointe sur le le répertoire téléchargé en local.
Par contre si vous n'avez pas DreamWeaver et souhaitez effectuer des tests vous pouvez modifier les pages HTML avec un éditeur de texte type NotePad++ ou PSPad et effectuer la mise à jour distante (sur le serveur X3) via le client FTP. Dans ce cas vous pouvez supprimer les répertoires 'Library' et 'Templates'.
Le contenu des pages n'est pas stocké dans la page HTML mais dans la base de données X3 accessible via la fonction XTEND Contenu Html.
Le but est de montrer comment il est possible de gérer le contenu HTML du site dans X3.
Cette méthode n'est pas optimale du point de vue des temps de réponses car l'appel du web services de lecture du contenu HTML (CLOB) est moins performant que l'affichage direct d'une page HTML par le serveur HTTP.
Dans la pratique il s'agira de trouver un compromis entre performance qui dépend de nombreux facteurs (infrastructure réseau/machines, taille des documents, charge du serveur X3...) et la facilité d'administration du site XTEND.
Techniquement le contenu est affiché par un champ (TEXTE) dont la valeur est fournie par un bloc (ABLKDOCHTML).
Ce bloc sélectionne le contenu HTML de la page en fonction du nom de la page Web(champ DOCCOD) via l'appel d'une interface (ADOCHTML) qui est de type 'Accès généré table'.
home
Page d'accueil (Nom=AHOME)
about
Page 'A propos'(Nom=AABOUT)
contact
Page de saisie d'un formulaire HTML et enregistrement dans X3 (Alias=ACONTACT)
login
Page de login XTEND (Nom=ALOGIN)
account
Page d'affichage des information utilisateur après login (Nom=AACCOUNT)
countries
Page d'exemple d'un 'Accès données' et d'un lien liste/détail qui affiche la liste (paginée) des pays (table TABCOUNTRY) et permet de sélectionner un pays pour afficher les informations (détail) sur la devise et la langue (Nom=ACOUNTRIES)
Les pages suivantes sont des pages techniques définies au niveau du site XTEND.
error
Affichée lorsque qu'un erreur grave (Exception) se produit (Nom=AERROR)
notavail
Affichée lorsque le site n'est pas disponible (Nom=ANOTAVAIL)
reconnection
Affichée lorsque l'utilisateur retrouve sa session après fermeture de son navigateur (Nom=ARECONNECTION)
Le site fonctionne pour la langue ENG. Tous les pages ne sont pas disponibles dans cette langue.
Ce paragraphe présente la liste des interfaces et web services utilisés par le site ASAMPLE et indique comment les activer lors de la mise en oeuvre d'XTEND.
Les web services ne peuvent fonctionner qu'après avoir défini un pool web service XTEND par défaut.
Valider le pool après création pour qu'il soit pris en compte par le serveur XTEND.
Le dossier X3 courant doit être publié sur un serveur X3WEB via la console X3 et vous devez trouver une entrée sur ce dossier dans la liste des 'Pools de web services' accessible via la fonction X3 GESAYS(Menu Outils/Pools de Web services).
Si la liste est vide ou ne contient pas votre dossier X3 c'est que :
Ces 2 opérations doivent être effectuées via la console X3.
Cette opération consiste à définir un pool de connexions par défaut qui sera le 'point d'entrée' (URL) de tous les appels de web services utilisés par le site ASAMPLE.
Aller au Pool de web services.
Si le pool de nom 'ADEFAULT' est présent dans la liste, modifier les informations :
Si le pool n'existe pas, se référer à au document pool web service XTEND pour le créer avec le nom 'ADEFAULT'.
Ce paragraphe présente les opérations à effectuer pour activer les interfaces utilisées par le site ASAMPLE.
Le site ASAMPLE utilise les 3 interfaces suivantes qui sont accessibles via la fonction interface(GESAYI).
Code | Type | Paramètres | Nom de publication | Description |
ADOCHTML | Accès généré table | Table AYTDOC | AXTDHTML | Accès au contenu HTML des pages XTEND |
AXTDLOGIN | Action sous-programme | Traitement AYTXTLOGIN | AXTDLOGIN | Login des utilisateurs XTEND |
AXTDFORM | Action objet | Objet AYZ | AXTDAYZ | Formulaires HTML XTEND (utilisé pour les contacts) |
ACOUNTRY | Accès généré table | Table TABCOUNTRY | ACOUNTRY | Accès à la table des pays |
ACURRENCIES | Accès généré table | Table TABCUR | TABCUR | Accès au détail d'une devise |
ALANGUAGES | Accès généré table | Table TABLAN | TABLAN | Accès au détail d'une langue |
Pool par défaut:Oui
Accès protégé:Non
Affichage des messages:Cocher information, avertissement, erreur
1. Ouvrir la fiche interface ADOCHTML
2. Vérifier les paramètres suivants et les modifier si ils ne sont pas corrects
Type:'Accès généré table'
Code table:AYTDOC
Nom de publication:AXTDHTML
3. Générer l'accès en cliquant sur le bouton 'Générer l'accès'
Les éléments suivants sont créés automatiquement : traitement WTAXTDHTML, la fiche sous-programme WTAXTDHTML/ACCTAB et le web service AXTDHTML
1. Vérifier les paramètres suivants et les modifier si ils ne sont pas corrects
Nb. max de lignes:10
Tableau des champs:
Code | Groupe | Dimension |
CAT | RES | 10 |
CREDAT | RES | 10 |
DES | RES | 10 |
DOCCOD | RES | 10 |
LAN | RES | 10 |
TEXTE | RES | 10 |
4. Enregistrer et valider la fiche
1. Ouvrir la fiche interface AXTDFORM
2. Vérifier les paramètres suivants et les modifier si ils ne sont pas corrects
Type:'Ation utilisateur objet'
Objet:AYZ
Nom de publication:AXTDAYZ
3. Générer l'accès en cliquant sur le bouton 'Générer l'accès'
Les éléments suivants sont créés automatiquement : traitement WJAXTDAYZ et le web service AXTDAYZ
1. Vérifier les paramètres suivants et les modifier si ils ne sont pas corrects
Tableau des champs:
Code | Groupe | Dimension |
FRMCOD | AYZ1_1 | 1 |
FCYCOD | AYZ1_1 | 1 |
STATUT | AYZ1_1 | 1 |
TTL | AYZ1_2 | 1 |
MAICOD | AYZ1_2 | 1 |
CREDAT | AYZ1_2 | 1 |
CREHEURE | AYZ1_2 | 1 |
CMT | AYZ1_4 | 1 |
PCT | AYZ1_5 | 1 |
PARNBR | AYZ1_3 | 1 |
PARCOD | AYZ1_3 | 40 |
PARVAL | AYZ1_3 | 40 |
4. Enregistrer et valider la fiche
1. Ouvrir la fiche interface AXTDLOGIN
2. Vérifier les paramètres suivants et les modifier si ils ne sont pas corrects
Type:'Ation utilisateur sous-programme'
Traitement:AYTXTLOGIN
Sous-programme:ACTION
Fiche sous-programme ( par tunnel sur le champ traitement) : AYTXTLOGIN/ACTION
3. Générer l'accès en cliquant sur le bouton 'Générer l'accès'
Les éléments suivants sont créés automatiquement : le web service AXTDLOGIN
1. Vérifier les paramètres suivants et les modifier si ils ne sont pas corrects
Tableau des champs:
Code | Groupe | Dimension |
AXPARCOD | AX_PAR | 20 |
AXPARVAL | AX_PAR | 20 |
AXUSERCODE | AXLOG_PAR | 1 |
AXPWD | AXLOG_PAR | 1 |
AXUSERPROF | AXLOG_PAR | 1 |
AX3SOL | X3LOG | 10 |
AX3FLDR | X3LOG | 10 |
AX3LANG | X3LOG | 10 |
AX3USER | X3LOG | 10 |
AX3PWD | X3LOG | 10 |
AXLOGCOD | AXLOG_RES | 50 |
AXLOGVAL | AXLOG_RES | 50 |
SHIPADR1 | X3LOG | 10 |
SHIPADR2 | X3LOG | 10 |
SHIPCITY | X3LOG | 10 |
SHIPZIP | X3LOG | 10 |
4. Enregistrer et valider la fiche
Procédure identique à l'interface ADOCHTML avec les tables TABCOUNTRY, TABCUR, TABLAN.
L'utilisation du JavaScript dans le site ASAMPLE se limite :
Dans notre exemple nous proposons un certain nombre de points d'entrée standards qui sont programmés dans le fichier modèle DreamWeaver (ASAMPLE.dwt) et accessibles à toutes les pages basées sur ce modèle.
Le code JavaScript spécifique à XTEND est inséré dans la page HTML via le token 'ALIBJS'. Ce token insère:
<script adx="ALIBJS"></script>
// onLoad event handler for all pages
function xBodyOnLoad()
{
// Set '0' value for unselected checkboxes
xtdSetUnSelelectedValue('0');
// pageBodyOnLoad is the page onLoad handler
if (typeof(pageBodyOnLoad)=="function")
pageBodyOnLoad();
}
}
Ce point d'entrée permet d'effectuer des traitements spécifiques à la page HTML sur l'évènement '<BODY onLoad>' de la page.
Pour activer ce point d'entrée il suffit de déclarer une fonction JavaScript 'function pageBodyOnLoad(){}' dans la page HTML.
Cette fonction permet d'effacer le message utilisateur et d'appeler le point d'entrée de contrôle des clics sur un lien dynamique.
// Called each time the user clicks on an XTEND link
function xtdDoMyDlk(aDomOut)
{
// Clear user messages
xtdRemoveElmtId("xtdusermsg",true);
var wContinue=true;
// Call page handler pageDoMyDlk if any
if (typeof(pageDoMyDlk)=="function") wContinue=pageDoMyDlk(aDomOut);
return wContinue;
}
Ce point d'entrée permet d'effectuer des traitements spécifiques à la page HTML sur clic sur un lien dynamique.
Pour activer ce point d'entrée il suffit de déclarer une fonction JavaScript 'function pageDoMyDlk(){aDomOut}' dans la page HTML.
//Asks user to confirm creation of a new form if user clicks on ADLKCONTACTNEW dynamic link
function pageDoMyDlk(aDomOut)
{
if (aDomOut.isDlk("ADLKCONTACTNEW"))
return confirm('Confirmer la création du formulaire\nConfirm creation');
return true;
}