Il sito ASAMPLE 

Contenuto

Questo documento presenta il sito XTEND ASAMPLE che è il sito di default consegnato con XTEND e che contiene la definizione dei token XTEND standard ed anche di un progetto HTML costruito con il software di creazione web DreamWeaver.

Questo progetto contiene alcune pagine di esempio (benvenuto, info, contatti, errore....) per aiutare lo sviluppatore XTEND ad iniziare un progetto.

Il progetto HTML

I file

Il sito HTML ASAMPLE si basa su un modello (Template) Dreamweaver.

Struttura delle pagine

Il modello di pagina ('Template\ASAMPLE.dwt') propone una scomposizione mediante l'utilizzo dei 'campi editabili' e 'librerie .lbi' in un contenuto principale e degli elementi comuni a tutte le pagine:

  • il nome dell'azienda in alto a sinistra
  • un campo di visualizzazione dei messaggi in alto a destra
  • un menù a sinistra
  • un menù in basso
  • un foglio di stile
  • 2 funzioni JavaScript per procedurizzare le elaborazioni
      • al caricamento della pagina (xBodyOnLoad)
      • su un clic su un link dinamico (xtdDoMyDlk)
Campi editabili

Il modello propone la scomposizione nei seguenti 'campi editabili':

  • Il titolo della pagina (doctitle)
  • L'header HTML (head)
  • Il contenuto prima del tag FORM (beforeForm)
  • Il contenuto principale (Content)
  • Il contenuto dopo il tag FORM (afterForm)
Librerie

Un modello di pagina 'Template\ASAMPLE.dwt' composto dalle seguenti librerie:

  • Una cella TopLeft.lbi che contiene il nome dell'azienda
  • Una cella TopRight.lbi che contiene la data del giorno ed i messaggi utenti (Token aMsgUser)
  • Un menù in basso (BottomMenu.lbi)
  • Il menù a sinistra (LeftMenu.lbi)

La libreria pagination.lbi è utilizzata per gestire la paginazione nei riquadri XTEND.

Elementi grafici

I seguenti elementi grafici:

  • Un foglio di stile my.css.
  • Un insieme di immagini nella directory IMG\
  • Le immagini delle bandiere dei paesi FLAGS\ utilizzate nella pagina 'elenco dei paesi'
Pagine Html

Le seguenti pagine html di presentazione:

  • home.html
  • about.html
  • account.html
  • contact.html
  • countries.html
  • login.html

Le seguenti pagine html tecniche:

  • notavail.html
  • reconnection.html
  • error.html
File

GESAY_SAMPLE_SITE_PROJ.jpg

Ubicazione

Il progetto HTML ASAMPLE è memorizzato sul server X3 principale nella directory X3_PUB/X3FOLDER/X_TEND/X_HTML/ASAMPLE/FRA in francese e ../ENG in inglese.

X3_PUB
Directory di pubblicazione di tutti i dossier della soluzione corrente.

X3FOLDER
Nome del dossier X3 corrente

Se i file del sito ASAMPLE non sono presenti in questa directory significa che XTEND non è disponibile per il dossier X3 corrente.

Sotto unix verificare che tutti i file del progetto HTML abbiano i seguenti diritti di accesso:

  • 'Read' per tutti
  • 'Read/Write/execute' per gli sviluppatori XTEND

Fare una copia in locale

E' preferibile non modificare mai il sito ASAMPLE ma fare delle copie di lavoro in locale modificando il nome del sito.

Scaricare il contenuto del sito in locale mediante un client FTP tipo FileZilla.

Se si intende realizzare un nuovo sito a partire da questo modello si deve precedentemente installare DreamWeaver. Crea in seguito un nuovo sito che punti sulla directory scaricata in locale.

Invece se non si ha DreamWeaver e si intende effettuare dei test, è possibile modificare le pagine HTML con un editor di testo tipo NotePad++ o PSPad ed effettuare l'aggiornamento remoto (sul server X3) mediante il client FTP. In questo caso è possibile cancellare le directory 'Library' e 'Template'.

Gestione del contenuto

Il contenuto delle pagine non è memorizzato nella pagina HTML ma nel database X3 accessibile dalla funzione XTEND Contenuto Html.

Lo scopo è di illustrare come sia possibile gestire il contenuto HTML del sito in X3.

Questo metodo non è ottimale dal punto di vista dei tempi di risposta, poiché la chiamata del web service di lettura del contento HTML (CLOB) ha un rendimento inferiore rispetto alla visualizzazione diretta di una pagina HTML mediante il server HTTP.

Nella pratica si tratterà di trovare un compromesso tra la prestazione che dipende da numerosi fattori (infrastruttura rete/macchine, dimensione dei documenti, carico del server X3...) e la facilità di amministrazione del sito XTEND.

Tecnicamente, il contenuto viene visualizzato da un campo (TEXTE) il cui valore è fornito da un blocco (ABLKDOCHTML).

Questo blocco seleziona il contenuto HTML della pagina in funzione del nome della pagina Web (campo DOCCOD) mediante la chiamata di una interfaccia (ADOCHTML) che è di tipo 'Accesso generato tabella'.

Elenco delle pagine

Pagine di contenuto

home
Pagina di benvenuto (Nome=AHOME)

about
Pagina 'Informazioni'(Nome=AABOUT)

contact
Pagina di inserimento di un form HTML e registrazione in X3 (Alias=ACONTACT)

login
Pagina di login XTEND (Nome=ALOGIN)

account
Pagina di visualizzazione delle informazioni utente dopo il login (Nome=AACCOUNT)

countries
Pagina di esempio di un 'Accesso dati' e di un link elenco/dettaglio che visualizza l'elenco (pagine numerate) dei paesi (tabella TABCOUNTRY) e permette di selezionare un paese per visualizzare le informazioni (dettaglio) sulla valuta e la lingua (Nome=ACOUNTRIES)

Pagine tecniche

Le seguenti pagine sono delle pagine tecniche definite a livello del sito XTEND.

error
Visualizzata quando si verifica un errore grave (Eccezione) (Nome=AERROR)

notavail
Visualizzata quando non è disponibile il sito (Nome=ANOTAVAIL)

riconnessione
Visualizzata quando l'utente ritrova la propria sessione dopo la chiusura del browser (Nome=ARECONNECTION)

Osservazione

Il sito funziona per la lingua ENG. Non sono disponibili tutte le pagine in questa lingua.

Link SAFE X3

Questo parametro presenta l'elenco delle interfacce e web service utilizzati dal sito ASAMPLE ed indica come attivarli durante lo sviluppo di XTEND.

Creazione del pool di web service

I web service non possono funzionare se non dopo aver definito un pool web service XTEND di default.

Validare il pool dopo la creazione affinché venga preso in considerazione dal server XTEND.

Operazioni da effettuare tramite la console X3

Il dossier X3 corrente deve essere pubblicato su un server X3WEB mediante la console X3 e si deve trovare una voce su questo dossier nell'elenco dei 'Pool di web service' accessibile dalla funzione X3 GESAYS(Menù Strumenti/Pool Web service).

Se l'elenco è vuoto o non contiene il dossier X3 in questione significa che:

  • il dossier X3 non è stato pubblicato su un server X3WEB
  • non è stato definito nessun pool di connessione per questo dossier X3 nella configurazione del server di web service

Queste 2 operazioni devono essere effettuate mediante la console X3.

Definizione del pool di web service XTEND

Questa operazione consiste nel definire un pool di connessioni di default che sarà il 'punto di entrata' (URL) di tutte le chiamate di web service utilizzate dal sito ASAMPLE.

Andare al Pool di web service.

Se il pool di nome 'ADEFAULT' è presente nell'elenco, modificare le informazioni:

  • 'Pool X3' affinchè punti sul serveur di web service e sul giusto pool di connessioni
  • 'Utente' con le informazioni di login X3 valide

Se il pool non esiste, riferirsi al documento pool web service XTEND per crearlo col nome 'ADEFAULT'.

Le interfacce

Questo paragrafo presenta le operazioni da effettuare per attivare le interfacce utilizzate dal sito ASAMPLE.

Il sito ASAMPLE utilizza le 3 interfacce seguenti che sono accessibili mediante la funzione interfaccia(GESAYI).

Codice

Tipo 

Parametri  

Nome di pubblicazione

Descrizione

ADOCHTML  

Accesso generato tabella

Tabella AYTDOC  

AXTDHTML 

Accesso al contenuto HTML delle pagine XTEND

AXTDLOGIN  

Azione sotto-programma

Programma AYTXTLOGIN  

AXTDLOGIN  

Login degli utenti XTEND

AXTDFORM  

Azione oggetto

Oggetto AYZ  

AXTDAYZ  

Formulari HTML XTEND (utilizzato per i contatti)

ACOUNTRY  

Accesso generato tabella

Tabella TABCOUNTRY  

ACOUNTRY  

Accesso alla tabella dei paesi

ACURRENCIES  

Accesso generato tabella

Tabella TABCUR  

TABCUR

Accesso al dettaglio di una valuta

ALANGUAGES  

Accesso generato tabella

Tabella TABLAN  

TABLAN  

Accesso al dettaglio di una lingua

Parametri comuni a tutte le schede interfacce

Pool di défault:Si

Accesso protetto:No

Visualizzazione dei messaggi:Contrassegnare informazione, avviso, errore

Interfaccia ADOCHTML

1. Aprire la scheda interfaccia ADOCHTML

2. Verificare i seguenti parametri e modificali se non sono corretti
  Tipo:'Accesso generato tabella'
  Codice tabella:AYTDOC
  Nome di pubblicazione:AXTDHTML

3. Generare l'accesso cliccando sul bottone 'Genera accesso'
       I seguenti elementi sono creati automaticamente: programma WTAXTDHTML, la scheda sotto-programma WTAXTDHTML/ACCTAB ed il web service AXTDHTML
       1. Verificare i seguenti parametri e modificarli se non sono corretti
              N° max di righe:10
              Riquadro dei campi:

Codice

Gruppo

Dimensione

CAT

RES 

10

CREDAT

RES 

10

DES

RES 

10

DOCCOD

RES 

10

LAN

RES 

10

TESTO

RES 

10


       2. Cliccare su OK
       3. Verificare che non vi sia nessun errore (testo rosso nella traccia)
       4. Chiudere la traccia

4. Registrare e validare la scheda

Interfaccia AXTDFORM

1. Aprire la scheda interfaccia AXTDFORM

2. Verificare i seguenti parametri e modificali se non sono corretti
  Tipo:'Azione utente oggetto'
  Oggetto:AYZ
  Nome di pubblicazione:AXTDAYZ

3. Generare l'accesso cliccando sul bottone 'Genera accesso'
       I seguenti elementi sono creati automaticamente: programma WJAXTDAYZ ed web service AXTDAYZ
       1. Verificare i seguenti parametri e modificarli se non sono corretti
           Riquadro dei campi:

Codice

Gruppo

Dimensione

 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


       2. Cliccare su OK
       3. Verificare che non vi sia nessun errore (testo rosso nella traccia)
       4. Chiudere la traccia

4. Registrare e validare la scheda

Interfaccia AXTDLOGIN

1. Aprire la scheda interfaccia AXTDLOGIN

2. Verificare i seguenti parametri e modificali se non sono corretti
  Tipo:'Azione utente sotto-programma'
  Programma:AYTXTLOGIN
  Sotto-programma:AZIONE
  Scheda sotto-programma (mediante tunnel sul campo programma): AYTXTLOGIN/ACTION

3. Generare l'accesso cliccando sul bottone 'Genera accesso'
       I seguenti elementi sono creati automaticamente: il web service AXTDLOGIN
       1. Verificare i seguenti parametri e modificali se non sono corretti
           Riquadro dei campi:

Codice

Gruppo

Dimensione

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


       2. Cliccare su OK
       3. Verificare che non vi sia nessun errore (testo rosso nella traccia)
       4. Chiudere la traccia

4. Registrare e validare la scheda

Interfacce ACOUNTRY/ACURRENCIES/ALANGUAGES

Procedura identica all'interfaccia ADOCHTML con le tabelle TABCOUNTRY, TABCUR, TABLAN.

JavaScript

L'utilizzo di JavaScript nel sito ASAMPLE si limita:

  • al controllo di alcuni dati inseriti
  • alla gestione della visualizzazione dei messaggi

In questo esempio si propone un certo numero di entry point standard che sono programmati nel file modello DreamWeaver (ASAMPLE.dwt) ed accessibili in tutte le pagine basate su questo modello.

Libreria XTEND

Il codice JavaScript specifico a XTEND è inserito nella pagina HTML mediante il token 'ALIBJS'. Questo token inserisce:

  • la libreria prototype.js
  • le librerie JavaScript XTEND
  • un foglio di stile XTEND

<script  adx="ALIBJS"></script>

Caricamento della pagina HTML

// 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();
   }
}

pageBodyOnLoad

Questo entry point permette di effettuare elaborazioni specifiche alla pagina HTML sull'evento '<BODY onLoad>' della pagina.

Per attivare questo entry point basta dichiarare una funzione JavaScript 'function pageBodyOnLoad(){}' nella pagina HTML.

Elaborazioni su clic su un link dinamico

Questa funzione permette di cancellare il messaggio utente e di richiamare l'entry point di controllo dei clic su un link dinamico.

// 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)=="funzione") wContinue=pageDoMyDlk(aDomOut);
   return wContinue;
}

pageDoMyDlk

Questo entry point permette di effettuare elaborazioni specifiche alla pagina HTML su clic su un link dinamico.

Per attivare questo entry point basta dichiarare una funzione JavaScript 'function pageDoMyDlk(){aDomOut}' nella pagina 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('Confermi la creazione del formulario\nConfirm creation');
   return true;
}