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:
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'.
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'.
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)
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)
Il sito funziona per la lingua ENG. Non sono disponibili tutte le pagine in questa lingua.
Questo parametro presenta l'elenco delle interfacce e web service utilizzati dal sito ASAMPLE ed indica come attivarli durante lo sviluppo di XTEND.
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.
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:
Queste 2 operazioni devono essere effettuate mediante la console X3.
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:
Se il pool non esiste, riferirsi al documento pool web service XTEND per crearlo col nome 'ADEFAULT'.
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 |
Pool di défault:Si
Accesso protetto:No
Visualizzazione dei messaggi:Contrassegnare informazione, avviso, errore
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 |
4. Registrare e validare la scheda
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 |
4. Registrare e validare la scheda
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 |
4. Registrare e validare la scheda
Procedura identica all'interfaccia ADOCHTML con le tabelle TABCOUNTRY, TABCUR, TABLAN.
L'utilizzo di JavaScript nel sito ASAMPLE si limita:
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.
Il codice JavaScript specifico a XTEND è inserito nella pagina HTML mediante il token 'ALIBJS'. Questo token inserisce:
<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();
}
}
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.
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;
}
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;
}