O projeto HTML ASAMPLE está guardado sobre o servidor X3 principal no diretório X3_PUB/X3FOLDER/X_TEND/X_HTML/ASAMPLE/FRA em francês e ../ENG em inglês.
X3_PUB
Diretório de publicação de todos os dossiers da solução corrente.
X3FOLDER
Nome do dossier X3 corrente
Se os ficheiros do estabelecimento ASAMPLE não estão presentes neste diretório é que XTEND não está disponível para o dossier X3 corrente.
Apenas unix verifica que todos os ficheiros do projeto HTML têm os direitos de acesso seguintes:
Nós aconselhamos de nunca modificar o estabelecimento ASAMPLE mas de fazer cópia de trabalho em modificando o nome do estabelecimento
Telecaregar o conteúdo do estaeblecimento em local via cliente FTP tipo FileZilla.
Se sedeja realizar um novo estabelecimento a partir deste modelo você deve previamente instalar DreamWeaver. Criar em seguida um novo estabelecimeto sobre o diretório telecarregado em local
Por contra se não tem "DreamWeaver" e deseja efetuar os testes você pode modificar as páginas HTML com um editor de texto tipo "NotePad++" ou PSPad e efectuar a atualização distante (sobre o servidor X3) via o cliente FTP. Neste caso pode suprimir os diretórios "Library" e "Templates".
O conteúdo das páginas não está guardado na página HTML, msas na base de dados X3 acessível via a função XTEND Conteúdo Html.
O objetivo é de mostrar como é possível de gerar o conteúdo HTML do estabelecimto em X3.
Este método não é ótimo do ponto de vista dos tempos de respostas porque a chamada do web services de leitura do conteúdo HTML (CLOB) está menos performante que a afixação direta de uma página HTML pelo servidor HTTP.
Na prática trata-se de encontrar um compromissso entre performance que depende de numerosos fatores (infraestrutura rede/máquinas, tamanho dos docuemtos, carga do servidor X3...) e a facilidade de administração do estabelecimento XTEND.
Tecnicamente o conteúdo está afixado por um campo (TEXTO) cujo valor está fornecido por um bloco (ABLKDOCHTML).
Este bloco seleciona o conteúdo HTML da página em função do nome de página Web (campo DOCCOD) via a chmada de uma interface (ADOCHTML) que é de tipo "Acesso gerado tabela".
home
Página de acolho (Nome = AHOME)
à cerca
Página "A propósito" (Nome=AABOUT)
contato
Página de registo de um formulário HTML e registo em X3 (Alias=ACONTACT)
login
Página de login XTEND (Nome=ALOGIN)
conta
Página de afixação das informações utilizadores após login (Nom=AACCOUNT)
países
Página de exemplo de um "Acesso dados" e de uma ligação lista/detalhe que afixa a lista (paginada) dos países (tabela TABCOUNTRY) e permite seleccioanr um país para afixar as informações (detalhe) sobre a divisa e a língua (Nome=ACOUNTRIES)
As páginas seguintes são páginas técnicas definidas ao nível de estabelecimento XTEND.
erro
Afixado quando um erro grave (Excepção) se produz (Nome=AERROR)
notavail
Afixa quando o estebeleicmento não está disponível (Nome=ANOTAVAIL)
reconexão
Afixado quando o utilizador reencontra a sua sessão após fecho do seu navegador (Nome=ARECONNECTION)
O estabelecimento funciona para a língua ENG. Todas as páginas não estão disponíveis nesta língua.
Este parágrafo apresenta a lista dos interfaces e web services utilizados pelo estabelecimeto ASAMPLE e indica como os ativar no momento de colcação em obra do XTEND.
Os web services não podem funcionar que após ter definido uma pool web service XTEND por defeito.
Validar o pool após criação para que sejam tomados em conta pelo servidor XTEND.
O dossier X3 corrente deve ser publicado sobre um servidor X3WEB via a consola X3 e você deve encontrar sobre este dossier na lista das "Pools de web services" acessível via a função X3 GESAYS(Menu Utilitários/Pools de Web services).
Se a lista esté vazia ou não contém o seu dossier X3 o que :
Estas 2 operações devem ser efectuadas via a consola X3.
Esta operação consiste em definir um pool de conexões por defeito que será o "ponto de entrada" (URL) de todas as chamadas de web services utilizadas pelo estabelecimento ASAMPLE.
Ir à Pool de web services.
Se a pool de nome 'ADEFAULT' está presente na lista, modificar as informações
Se a pool não existe, se referir ao docuemnto pool web service XTEND para o criar com o nome 'ADEFAULT'.
Este parágrafo apresenta as operações a efetuar para ativar as interfaces utilizadas pelo estaebelecimento ASAMPLE.
O estabelecimento ASAMPLE utiliza 3 interfaces seguintes que são acessíveis via a função interface(GESAYI).
Código | Tipo | Parâmetros | Nome de publicação | Descrição |
ADOCHTML | Acesso gerado tabela | Table AYTDOC | AXTDHTML | Acesso ao conteúdo HTML das páginas XTEND |
AXTDLOGIN | Ação sub-programa | Tratamento AYTXTLOGIN | AXTDLOGIN | Login dos utilizadores XTEND |
AXTDFORM | Ação objeto | Objeto AYZ | AXTDAYZ | Formulários HTML XTEND (utilizado para os contactos) |
ACOUNTRY | Acesso gerado tabela | Tabela TABCOUNTRY | ACOUNTRY | Acesso à tabela dos países |
ACURRENCIES | Acesso gerado tabela | Table TABCUR | TABCUR | Acesso ao detalhe de uma divisa |
ALANGUAGES | Acesso gerado tabela | Table TABLAN | TABLAN | Acesso ao detalhe de uma língua |
Pool por defeito:Sim
Acesso protegidoNão
Afixação das mensagens:Assinalar informação, advertência, erro
1. Abrir a ficha interface ADOCHTML
2. Verificar os parâmetros seguintes e os modificar se não estão corretos
Tipo : Acesso gera tabela
Código tabela:AYTDOC
Nome da publicação:AXTDHTML
3. Gerar o acesso em clicando sobre o botão "Gerar o acesso"
Os elememtos seguintes são criados automaticamente : tratamento WTAXTDHTML, a ficha sub-programa WTAXTDHTML/ACCTAB e o web service AXTDHTML
1. Verificar que os parâmetros seguintes e os modificar se não estão correctos
Nº máximo de linhas:10
Qaudro dos campos:
Código | Grupo | Dimensão |
CAT | RES | 10 |
CREDAT | RES | 10 |
DES | RES | 10 |
DOCCOD | RES | 10 |
LAN | RES | 10 |
TEXTO | RES | 10 |
4. Registar e validar a ficha
1. Abrir a ficha interface AXTDFORM
2. Verificar os parâmetros seguintes e os modificar se não estão corretos
Tipo : Ação utilizador objeto
Objeto:AYZ
Nome da publicação:AXTDAYZ
3. Gerar o acesso em clicando sobre o botão "Gerar o acesso"
Os elememtos seguintes são criados automaticamente : tratamento WJAXTDAYZ e o web service AXTDAYZ
1. Verificar os parâmetros seguintes e os modificar se não estão correctos
Quadro dos campos:
Código | Grupo | Dimensão |
FRMCOD | AYZ1_1 | 1 |
FCYCOD | AYZ1_1 | 1 |
Estatuto : | 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. Registar e validar a ficha
1. Abrir a ficha interface AXTDLOGIN
2. Verificar os parâmetros seguintes e os modificar se não estão correctos
Tipo:"Ação utilizador sub-programa"
Tratamento:AYTXTLOGIN
Sub-programa:ACTION
Ficha sub-programa ( por túnel sobre o campo tratamento) : AYTXTLOGIN/ACTION
3. Gerar o acesso em clicando sobre o botão "Gerar o acesso"
Os elementos seguintes são criados automaticamente : o web service AXTDLOGIN
1. Verificar os parâmetros seguintes e os modificar se não estão corretos
Quadro dos campos:
Código | Grupo | Dimensão |
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. Registar e validar a ficha
Procedimento idêntico ao interface ADOCHTML com as tabelas TABCOUNTRY, TABCUR, TABLAN.
A utilização do JavaScript no estabeleciento ASAMPLE se limita :
No nosso exemplo nós propomos a um certo número de pontos de entrada standards que são programados no ficheiors modelo DreamWeaver (ASAMPLE.dwt) e acessíveis a todas as páginas baseadas sobre este modelo.
O código JavaScript específico a XTEND está inserida na página HTML via o token "ALIBJS". Este token insere :
<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();
}
}
Este ponto de entrada permite efetuar os tratamentos específicos à página HTML sobre o evento '<BODY onLoad>' da página.
Para ativar este ponto de entrada é suficiente declarar uma função JavaScript "função pageBodyOnLoad(){}' na pagina HTML
Esta função permite apagar a emsagem utilizador e de chamar o ponto de entrada de controlo dos cliques sobre uma ligação dinâmica.
// 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;
}
Este ponto de entrada permite efetuar os tratamentos específicos à página HTML sobre clique sobre uma ligação dinâmica.
Para ativar este ponto de entrada é suficiente declarar uma função JavaScript 'function pageDoMyDlk(){aDomOut}' na 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('Confirmar a criação do formulário\nConfirm criação');
devolve verdade;
}