AEM permite exportar uma página como uma página da Web completa, incluindo arquivos de .js
e .css
.
Depois de configurada, você solicita uma exportação de página do seu navegador, substituindo html
por export.zip
no URL. Isso gera um arquivo de arquivamento (zip), que contém a página renderizada no formato html, juntamente com os ativos referenciados. Todos os caminhos na página (por exemplo, caminhos para imagens) são reescritos para apontar para os arquivos incluídos no arquivo ou para os recursos no servidor. O arquivo de arquivamento (zip) pode ser baixado do seu navegador.
Dependendo do seu navegador e das configurações, o download será:
<page-name>.export.zip
)<page-name>
); com eficácia, o arquivo de arquivamento já foi expandidoAs etapas a seguir descrevem como exportar uma página e presumem que existe um modelo de exportação para o site. Um modelo de exportação define a forma como uma página é exportada e é específica para seu site. Para criar um modelo de exportação, consulte a seção Criando uma Configuração de Exportador de Página para seu Site.
Para exportar uma página:
Navegue até a página desejada no console Sites.
Selecione a página e abra a caixa de diálogo Propriedades.
Selecione a guia Avançado.
Expanda o campo Exportar para selecionar um modelo de exportação.
Selecione o modelo necessário para o site e confirme com OK.
Selecione Salvar e fechar para fechar a caixa de diálogo de propriedades da página.
Solicite a exportação da página, substituindo o sufixo html
por export.zip
no URL.
Por exemplo:
É acessado via:
Baixe o arquivo para o seu sistema de arquivos.
No sistema de arquivos, descompacte o arquivo, se necessário. Depois de expandida, haverá uma pasta com o mesmo nome da página selecionada. Esta pasta contém:
a subpasta content
, que é a raiz de uma série de subpastas que refletem o caminho para a página no repositório
<page-name>.html
)outros recursos (.js
arquivos, .css
arquivos, imagens etc.) estão localizados de acordo com as configurações no modelo de exportação
Abra o arquivo html da página (<unzip-dir>/<path>/<to>/<page>/<page-path>.html
) no seu navegador para verificar a renderização.
O exportador de página é baseado na estrutura de sincronização de conteúdo. As configurações disponíveis na caixa de diálogo Propriedades da página são modelos de exportação que definem as dependências necessárias para uma página.
Quando uma exportação de página é acionada, o modelo de exportação é referenciado e o caminho da página e o caminho do design são aplicados dinamicamente. O arquivo zip é criado usando a funcionalidade padrão de Sincronização de conteúdo.
Uma instalação predefinida AEM inclui um modelo predefinido em /etc/contentsync/templates/default
.
Este modelo é o modelo de fallback quando nenhum modelo de exportação é encontrado no repositório.
O modelo default
mostra como uma exportação de página pode ser configurada, de modo que possa servir como base para um novo modelo de exportação.
Para visualização a estrutura de nó do modelo no seu navegador como formato JSON, solicite o seguinte URL:
http://localhost:4502/etc/contentsync/templates/default.json
O método mais fácil para criar um novo modelo de exportador de página é:
copiar o modelo default
,
atribuir um novo nome, apropriado ao seu site,
faça as atualizações necessárias.
Para criar um modelo completamente novo:
Em CRXDE Lite, crie um nó abaixo de /etc/contentsync/templates
:
Name
: um nome adequado ao seu site; por exemplo, <mysite>
. O nome aparece na caixa de diálogo de propriedades da página ao escolher o modelo de exportador de página.
Type
: nt:unstructured
Abaixo do nó do modelo, chamado aqui mysite
, crie uma estrutura de nó usando os nós de configuração descritos abaixo.
Depois que o modelo tiver sido configurado, é necessário disponibilizá-lo:
No CRXDE, navegue até a página desejada na ramificação /content
. Pode ser uma página individual ou a página raiz de uma subárvore.
No nó jcr:content
da página, crie a propriedade:
Name
: cq:exportTemplate
Type
: String
Value
: caminho para o modelo; por exemplo: /etc/contentsync/templates/mysite
O modelo consiste em uma estrutura de nó, pois usa a estrutura de sincronização de conteúdo. Cada nó tem uma propriedade type
que define uma ação específica no processo de criação do arquivo zip.
Os nós a seguir podem ser usados para criar um modelo de exportação:
page
O nó da página é usado para copiar o html da página para o arquivo zip. Tem as seguintes características:
/etc/contentsync/templates/<mysite>
.Name
definida como page
.nt:unstructured
O nó page
tem as seguintes propriedades:
Uma propriedade type
definida com o valor pages
.
Ele não tem uma propriedade path
, pois o caminho da página atual é copiado dinamicamente para a configuração.
rewrite
O nó regravar define como os links são regravados na página exportada. Os links regravados podem apontar para os arquivos incluídos no arquivo zip ou para os recursos no servidor.
design
O nó de design é usado para copiar o design usado para a página exportada. Tem as seguintes características:
/etc/contentsync/templates/<mysite>
.Name
definida como design
.nt:unstructured
.O nó design
tem as seguintes propriedades:
Uma propriedade type
definida com o valor copy
.
Ele não tem uma propriedade path
, pois o caminho da página atual é copiado dinamicamente para a configuração.
generic
Um nó genérico é usado para copiar recursos como clientlibs
.js
ou .css
arquivos no arquivo zip. Tem as seguintes características:
/etc/contentsync/templates/<mysite>
.nt:unstructured
.type
e propriedades relacionadas a type
. Por exemplo, o nó de configuração a seguir copia os arquivos mysite.clientlibs.js
para o arquivo zip:
"mysite.clientlibs.js": {
"extension": "js",
"type": "clientlib",
"path": "/etc/designs/mysite/clientlibs",
"jcr:primaryType": "nt:unstructured"
}
Implementação de uma configuração personalizada
Configurações personalizadas também são possíveis.
Para atender a alguns requisitos específicos, talvez seja necessário implementar um gerenciador de atualizações personalizado.
Para exportar programaticamente uma página, você pode usar o serviço OSGI PageExporter. Este serviço permite:
O servlet vinculado ao seletor export
e a extensão zip
usa o serviço PageExporter.
Se houver um problema com o download do arquivo zip, você poderá excluir o nó /var/contentsync
no repositório e enviar a solicitação de exportação novamente.