Subversion Repositories bacoAlunos

Rev

Rev 1945 | Blame | Compare with Previous | Last modification | View Log | RSS feed


Documentação do funcionamento da s páginas que começam por /dir/*

URL pattern requerido pelo DirProxy
/dir/${directory}/${path}?${queryString}
->  DirProxy

-> Encaminha para
/dirLayout.do?directory=" + directory + "&path=" + path + "&" + request.getQueryString()
-> DirLayoutController

Carrega o directorio no parametro com o serviço de load directories
LoadDirectoryServiceXml

1. Parte o path nas / para obter os ID's
2. Vai buscar cada id ao directorio e constroi os direitos de acesso
3. Se o id não for encontrado supõe-se que faz parte da parte externa do link e para-se
4. Constroi-se o URL externo com base nos ID's a partir do STOP ID
   4.1 supondo que todos os id's foram encontrados significa que o external fica vazio com ""
5. Escolhe os layouts senão houver definidos usa o style1 e o layout1
6. Retira os atributos do Nó onde foi parar com os id's no directorio
7. Se for absoluto faz redirect
8. Se a flag layout estiver a false no nó final usa o layoutEmpty usa apenas o Body
   com todo o conteudo do link
9. Olha para o external file e se for um ficheiro procura os encodings por tipo de ficheiro para esse proxy
   e preenche o encoding do proxy e coloca num atributo do request
   Caso não haja external file preenche o encoding do proxy à mesma
   apenas não preenche sefor um ficheiro de tipo não considerado nas fileExtensions desse proxy
   useOutputStream = false ainda nao sei porquê
10. Verifica se é necessário importar ficheiros FTP no pedido que estamos a executar
11. Se nao houver layout para fazer (style=false no nó) coloca o useOutputStream = true
12. Caso o useOutputStream=true encaminha imediatamente para o DirWebProxy
13. Caso haja layout faz findForward para esse layout, portanto o layout escolhido tem de estar nos forwards
14. O layout escolhido tem um forward para uma página onde o body é o DirWebProxy exemplo:
    <definition name="page.layoutWelcome.dir" extends="base.layoutWelcome">
        <put name="body" value="/DirWebProxy"/>
    </definition>

15. Configurações no nó do directorio que influênciam o resultado

    layout, style, absolute

    layout = true obriga a colocar o resultado no BODY do layout escolhido
    layout = false usa o layout empty apenas com o BODY e nada mais
    style = true obriga o nó a passar pelo XSL para por exemplo usarmos Barras de navegação
    style = false mete directamente o resultado do proxy no BODY do layoyt
    absolute reencaminha o URL para fora do sistema