Definir configurações de geração de saída id181AI0B0E30
O AEM Guides vem com muitas opções de configuração para você personalizar o processo de geração de saída. Este tópico aborda todas as configurações e personalizações que ajudariam você a configurar o processo de geração de saída.
Configure a guia Linha de base no painel de mapa DITA id223MD0D0YRM
Para ocultar a guia Linha de base no painel do mapa DITA, execute as seguintes etapas:
- Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração.
- No arquivo de configuração, forneça os seguintes detalhes (property) para configurar a guia de linha de base no painel de mapa.
com.adobe.fmdita.config.ConfigManager
hide.tabs.baseline
true/false
).Valor padrão: true
Configurar a publicação combinada em um site AEM existente id1691I0V0MGR
Se você tiver um site AEM com conteúdo DITA, poderá configurar sua saída de site AEM para publicar conteúdo DITA em um local predefinido no seu site. Por exemplo, na captura de tela a seguir de uma página do site AEM, o nó ditacontent
é reservado para armazenar conteúdo DITA:
Os nós restantes na página são criados diretamente do editor do site AEM. Definir a configuração de publicação para publicar conteúdo DITA em um local predefinido garante que nenhum conteúdo não DITA existente seja modificado pelo processo de publicação do AEM Guides.
É necessário executar as seguintes configurações no site existente para permitir a publicação de conteúdo DITA em um nó predefinido:
-
Configurar as propriedades do modelo do site
-
Adicione nós ao site para publicar conteúdo DITA
Execute as seguintes etapas para configurar as propriedades do modelo do site existente:
-
Use o Gerenciador de pacotes para baixar o arquivo /libs/fmdita/config/templates/default.
note note NOTE Não faça nenhuma personalização nos arquivos de configuração padrão disponíveis no nó libs
. Você deve criar uma sobreposição do nólibs
no nóapps
e atualizar os arquivos necessários somente no nóapps
. -
Adicione as seguintes propriedades:
table 0-row-3 1-row-3 2-row-3 Nome da propriedade Tipo Valor topicContentNode
String Especifique o nome do nó onde deseja publicar o conteúdo DITA. Por exemplo, o nó padrão onde o AEM Guides publica conteúdo DITA é: jcr:content/contentnode
topicHeadNode
String Especifique o nome do nó em que você deseja armazenar as informações de metadados do conteúdo DITA. Por exemplo, o nó padrão onde o AEM Guides armazena informações de metadados é: jcr:content/headnode
Na próxima vez que você publicar qualquer conteúdo DITA usando as configurações de modelo do seu site, o conteúdo será publicado nos nós especificados nas propriedades topicContentNode
e topicHeadNode
.
Personalizar saída do site AEM id166TG0B30WR
O AEM Guides oferece suporte à criação de saídas nos seguintes formatos:
- Site AEM
- HTML 5
- EPUB
- Saída personalizada através do DITA-OT
Para a saída do site AEM, é possível atribuir modelos de design diferentes com tarefas de saída diferentes. Esses modelos de design podem renderizar o conteúdo DITA em diferentes layouts. Por exemplo, você pode especificar diferentes modelos de design para públicos-alvo internos e externos.
Você também pode usar os plug-ins DITA Open Toolkit (DITA-OT) personalizados com a AEM Guides. Você pode fazer upload desses plug-ins DITA-OT personalizados para gerar saída de PDF de uma maneira específica.
Personalizar modelo de design para gerar saída customize_xml-add-on
O AEM Guides usa um conjunto de modelos de design predefinidos para gerar a saída do site AEM. Você pode personalizar os modelos de design do AEM Guides para gerar a saída que esteja em conformidade com a marca corporativa. Um modelo de design é uma coleção de vários estilos (CSS), scripts (do lado do servidor e do lado do cliente), recursos (imagens, logotipos e outros ativos) e nós JCR que unem todos esses recursos. Um modelo de design pode ser tão simples quanto um único script do lado do servidor com apenas alguns nós JCR, ou uma combinação complexa de estilos, recursos e nós JCR. Os modelos de design são usados pelo subsistema de publicação do AEM Guides ao gerar a saída do site AEM e controlam a estrutura, a aparência e a funcionalidade da saída gerada.
Não há restrição quanto ao local onde os recursos do modelo de design devem estar localizados no servidor, mas geralmente são organizados logicamente de acordo com sua função. Por exemplo, o modelo padrão tem todos os seus arquivos JavaScript e CSS armazenados na pasta /etc/designs/fmdita/clientlibs/siteoutput/default
. Sempre que esses arquivos estiverem localizados, eles serão vinculados por uma coleção de nós JCR. Juntos, esses nós JCR e os arquivos constituem todo o modelo de design.
O modelo de design padrão fornecido com o AEM Guides permite personalizar os componentes de página de aterrissagem, tópico e pesquisa. Você pode fazer uma cópia do design padrão e dos modelos de referência correspondentes e especificar componentes diferentes para gerar a saída desejada.
Execute as seguintes etapas para especificar seu próprio modelo de design a ser usado para a geração de saída do site AEM:
-
Use o Gerenciador de pacotes para baixar o modelo de design padrão no seguinte local:
/libs/fmdita/config/templates
-
Crie uma cópia dos arquivos baixados no seguinte local no repositório Git da Cloud Manager:
/apps/fmdita/config/templates
-
Você também deve baixar e copiar os modelos referenciados do nó de modelo padrão. Os modelos referenciados são colocados em:
/libs/fmdita/templates/default/cqtemplates
As propriedades do modelo de design do AEM Guides são descritas na tabela a seguir.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 Propriedade Descrição landingPageTemplate
,searchPageTemplate
,topicPageTemplate
,shadowPageTemplate
Especifique o nó cq:Template
dessas páginas correspondentes (aterrissagem, pesquisa e tópico). Por padrão, o nócq:Template
dessas páginas pode ser encontrado no nó/libs/fmdita/templates/default/cqtemplates
. Esse nó define a estrutura e as propriedades das páginas de aterrissagem, pesquisa e tópico.
OshadowPageTemplate
é usado para otimizar o conteúdo fragmentado. É necessário definir o valor dessa propriedade como:fmdita/templates/default/cqtemplates/shadowpage
Observação: especifique um valor paratopicPageTemplate
.landingPageTemplate
esearchPageTemplate
são propriedades opcionais. Se não quiser que as páginas de pesquisa e de aterrissagem sejam geradas, não especifique essas propriedades.title
Um nome descritivo do modelo de design. topicContentNode
O local do nó que conterá o conteúdo DITA em uma página de tópico. O caminho é relativo à página de tópico. topicHeadNode
O local do nó que conterá os valores de cabeçalho (ou metadados) derivados do conteúdo DITA. O caminho é relativo à página de tópico. tocNode
O local do nó que conterá o índice. O caminho é relativo à página inicial ou ao caminho de destino. basePathProp
O nome da propriedade para armazenar o caminho da raiz do site publicado. indexPathProp
O nome da propriedade para armazenar o caminho da página de aterrissagem/índice do site publicado. pdfPathProp
O nome da propriedade para armazenar o caminho do PDF do tópico, se a geração do PDF do tópico estiver ativada. pdfTypeProp
O nome da propriedade para armazenar o tipo da geração de PDF. No momento, essa propriedade sempre contém "Topic". searchPathProp
O nome da propriedade para armazenar o caminho da página de pesquisa, se o modelo incluir uma página de pesquisa. siteTitleProp
O nome da propriedade para armazenar o título do site que está sendo publicado. Esse título é geralmente o mesmo do mapa que está sendo publicado. sourcePathProp
O nome da propriedade para armazenar o caminho do tópico DITA de origem da página atual. tocPathProp
O nome da propriedade para armazenar o caminho da raiz do índice para o site publicado.
Para obter mais informações, consulte Criar o primeiro site do Adobe Experience Manager e Noções básicas sobre o desenvolvimento de seu próprio site no AEM.
Usar o título do documento para gerar a saída do site AEM
Ao gerar a saída do site AEM, a forma como os URLs são gerados desempenha um papel importante na descoberta do seu conteúdo. Caso esteja usando nomes de arquivo baseados em UUID, gerar URLs com base na UUID de seus arquivos não será amigável para pesquisa. Como Administrador ou Editor, você tem o controle sobre como gerar os URLs para a saída do AEM Site. O AEM Guides fornece uma configuração por meio da qual você pode optar por gerar os URLs de saída do site AEM usando o título do arquivo, em vez dos nomes de arquivo baseados em UUID. Por padrão, para sistemas de arquivos baseados em UUID, essa opção está ativada. Isso implicava que, quando você gera a saída do site AEM para sistemas de arquivos baseados em UUID, os títulos do arquivo são usados para gerar os URLs e não os UUIDs dos arquivos.
Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração. No arquivo de configuração, forneça os seguintes detalhes (property) para configurar a geração de URLs na saída do site AEM:
com.adobe.fmdita.config.ConfigManager
aemsite.pagetitle
Valor padrão: falso
Configure o URL da saída do site AEM para usar o título do documento
Você pode usar os títulos dos documentos no URL da saída do site AEM. Se o nome do arquivo não existir ou contiver todos os caracteres especiais, você poderá configurar o sistema para substituir os caracteres especiais por um separador no URL da saída do site AEM. Você também pode configurá-lo para substituí-los pelo nome do primeiro tópico filho.
Para configurar os nomes de página, execute as seguintes etapas:
- Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração.
- No arquivo de configuração, forneça os seguintes detalhes (propriedade) para configurar os nomes de página para os tópicos.
com.adobe.fmdita.common.SanitizeNodeName
nodename.systemDefinedPageName
true/false
). Valor padrão: false
Por exemplo, se @navtitle em <topichead>
tiver todos os caracteres especiais e você definir a propriedade aemsite.pagetitle
como verdadeira, ela usará um separador por padrão. Se você definir a propriedade nodename.systemDefinedPageName
como true, ela mostrará o nome do primeiro tópico filho.
Configurar regras de limpeza de nome de arquivo para criar tópicos e publicar a saída do site AEM id2164D0KD0XA
Como administrador, você pode definir uma lista de caracteres especiais válidos permitidos em nomes de arquivo, que eventualmente formam o URL de uma saída de site AEM. Em versões anteriores, os usuários podiam definir nomes de arquivo contendo caracteres especiais como @
, $
, >
e muito mais. Esses caracteres especiais resultavam em URL codificado na geração de páginas do site AEM.
A partir da versão 3.8, foram adicionadas configurações para definir uma lista de caracteres especiais permitidos nos nomes de arquivo. Por padrão, a configuração de nome de arquivo válido contém "a-z A-Z 0-9 - _
". Isto implica que, ao criar um arquivo, você pode ter qualquer caractere especial no título do arquivo, mas internamente ele será substituído por um hífen (-
) no nome do arquivo. Por exemplo, você pode ter o título do arquivo como Introdução 1 ou Introduction@1, o nome do arquivo correspondente gerado para ambos os casos seria Introdução-1.
Ao definir uma lista de caracteres válidos, lembre-se de que esses caracteres "*/:[\]|#%{}?&<>"/+
" e a space
sempre serão substituídos por um hífen (-
).
Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração. No arquivo de configuração, forneça os seguintes detalhes (propriedade) para configurar os caracteres especiais válidos nos nomes de arquivo e na saída do site AEM:
com.adobe.fmdita.common.SanitizeNodeNameImpl
aemsite.DisallowedFileNameChars
'<>`@$
. Você pode adicionar mais caracteres especiais a esta lista.Você também pode configurar as outras propriedades, como usar letras minúsculas nos nomes de arquivo, separador para lidar com caracteres inválidos e o número máximo de caracteres permitidos nos nomes de arquivo. Para configurar essas propriedades, adicione os seguintes pares de valores principais no arquivo de configuração:
nodename.uselower
Valor padrão: verdadeiro
nodename.separator
Valor padrão: _ (sublinhado)
nodename.maxlength
Valor padrão: 50
Configurar nivelamento da estrutura do nó do site AEM
Quando você gera a saída do site AEM, um nó para cada elemento nos tópicos é criado internamente. Para um mapa DITA com milhares de tópicos, essa estrutura de nó pode se tornar muito profunda. Esse tipo de estrutura de nó profundamente aninhada pode ter problemas de desempenho em sites maiores. O instantâneo a seguir exibe a estrutura de nó aninhada para uma saída do site AEM:
No instantâneo acima, observe que há um nó criado para cada elemento p
e seus subelementos subsequentes, e uma estrutura semelhante é criada para todos os outros elementos usados no tópico.
O AEM Guides permite configurar como a estrutura de nó da saída do site AEM é criada internamente. É possível nivelar a estrutura do nó em elementos especificados, o que significa que você pode definir um elemento que será considerado como o elemento principal e todos os subelementos dentro dele serão mesclados com o elemento principal. Por exemplo, se você decidir nivelar o elemento p
, qualquer elemento que apareça dentro do elemento p
será mesclado com o elemento p
principal. Uma nota separada não seria criada para nenhum subelemento dentro do elemento p
. O instantâneo a seguir exibe a estrutura do nó nivelada no elemento p
:
Para nivelar a estrutura do nó do site AEM, execute as seguintes etapas:
-
Identifique o elemento(s) no qual deseja nivelar a estrutura do nó:
-
Sobreposição do nó
libs
no nóapps
e abra o arquivo elementmapping.xml. -
Adicione a propriedade
<flatten>true</flatten>
na definição do elemento no qual você deseja nivelar a estrutura do nó. Por exemplo, se você deseja nivelar a estrutura do nó no elementop
, adicione o atributo nivelar na definição do elementop
, conforme mostrado abaixo:code language-xml <ditaelement> <name>p</name> <class>- topic/p</class> <componentpath>fmdita/components/dita/wrapper</componentpath> <type>COMPOSITE</type> <target>para</target> <flatten>true</flatten> <wrapelement>div</wrapelement> </ditaelement>
note note NOTE Por padrão, a propriedade do nó nivelado foi configurada no elemento p
. -
Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração.
-
No arquivo de configuração, forneça os seguintes detalhes (propriedade):
table 0-row-3 1-row-3 PID Chave de propriedade Valor de propriedade com.adobe.dxml.flattening.FlatteningConfigurationService
flattening.enabled
Booleano (true/false).
Valor padrão:false
Agora, ao gerar a saída do Site AEM, os nós dentro do elemento p
são nivelados e armazenados dentro do próprio elemento p
. Você pode encontrar as novas propriedades de nivelamento para o elemento p
no CRXDE.
Pesquisar uma cadeia de caracteres no conteúdo na saída do site AEM
Por padrão, você pode pesquisar por uma string nos títulos somente na saída do site AEM. Você pode configurar o sistema para procurar uma string nos títulos e também no conteúdo ou no corpo da saída do site do AEM.
Para habilitar a pesquisa, você deve configurar o nivelamento da estrutura do nó do site AEM.
CUIDADO:
Você pode pesquisar até 1 MB de conteúdo nivelado. Por exemplo, na captura de tela anterior, você pode pesquisar se o conteúdo na tag <p> é <= 1Mb.
<flatten>
estiver definido como verdadeiro. Por padrão, o AEM Guides tem o atributo <flatten>
definido como true para os elementos de texto comumente usados, como <p> <ul> <lI>. No entanto, se você tiver criado alguns elementos personalizados, defina o atributo <flatten>
como true no arquivo elementmapping.xml.Impedir nivelamento da estrutura do nó do site AEM
Semelhante à especificação do nó a ser nivelado na saída do site AEM, você também pode especificar um elemento que deseja excluir dessa configuração. Por exemplo, se você deseja nivelar nós no elemento body
, mas não deseja nivelar nenhum elemento table
em body
, é possível adicionar a propriedade exclude na definição do elemento table
.
Para excluir o elemento table
do nivelamento, adicione a seguinte propriedade à definição do elemento table
:
<preventancestorflattening>true|false</preventancestorflattening>
Configurar o controle de versão para páginas excluídas na saída do site AEM
Ao gerar uma saída de Site AEM com as opções Excluir e Criar selecionadas para a configuração Páginas de Saída Existentes, uma versão é criada para a página(s) que está sendo excluída. Você pode configurar o sistema para interromper a criação de uma versão antes da exclusão.
Execute as seguintes etapas para interromper a criação de uma versão para a página(s) que está sendo excluída:
-
Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração.
-
No arquivo de configuração, forneça os seguintes detalhes (propriedade) para configurar a opção Não criar versão para páginas excluídas:
table 0-row-3 1-row-3 PID Chave de propriedade Valor de propriedade com.adobe.fmdita.confi g.ConfigManager
no.version.creation.on.deletion
Booleano (true/false).
Valor padrão:true
note note NOTE Com essa opção selecionada, os usuários poderão excluir diretamente qualquer página(s) sem criar qualquer versão para eles. Se a opção não estiver selecionada, uma versão será criada antes que a página(s) seja excluída.
Configurar reescrita personalizada com o Experience Manager Guides custom-rewriter
O Experience Manager Guides tem um módulo sling rewriter personalizado para manipular os links gerados no caso de mapas cruzados (links entre os tópicos de dois mapas diferentes). Esta configuração de reescrita está instalada no seguinte caminho:/apps/fmdita/config/rewriter/fmdita-crossmap-link-patcher
.
Se você tiver outro reescritor sling personalizado em sua base de código, use um valor de 'order'
maior que 50, pois o reescritor Experience Manager Guides sling usa 'order'
50. Para substituir isso, é necessário um valor >50. Para obter mais detalhes, consulte Pipelines de regravação de saída.
Usar metadados na saída de publicação por meio do DITA-OT id191LF0U0TY4
O AEM Guides fornece uma maneira de transmitir metadados personalizados ao publicar saída usando DITA-OT. Como administrador e Editor, seria necessário executar as seguintes tarefas para configurar e usar metadados personalizados na saída publicada:
-
Como administrador, adicione os metadados necessários no sistema para que ele fique disponível na página Propriedades do mapa DITA.
-
Como administrador, adicione os metadados personalizados à lista de metadados para que sejam exibidos no console de mapa DITA.
-
Como um Editor, configure e adicione os metadados personalizados com o mapa DITA e gere a saída necessária.
Para adicionar os metadados necessários no sistema, execute as seguintes etapas:
-
Faça logon no Adobe Experience Manager como administrador.
-
Clique no link do Adobe Experience Manager na parte superior e escolha Ferramentas.
-
Selecione Assets na lista de ferramentas.
-
Clique no bloco Esquemas de metadados.
A página Forms do Esquema de Metadados é exibida.
-
Selecione o formulário padrão na lista.
note note NOTE As propriedades exibidas na página Propriedades de um mapa DITA são obtidas desse formulário. -
Clique em Editar.
-
Adicione os metadados personalizados que deseja usar nas saídas publicadas. Por exemplo, adicionaremos metadados de público-alvo usando as seguintes etapas:
-
Na lista de componentes Criar Formulário, arraste e solte no formulário o componente Texto de Linha Única.
-
Selecione o novo campo para abrir as Configurações do campo.
-
No Rótulo do campo, digite o nome dos metadados— Público-alvo.
-
Na configuração Mapear para a Propriedade, especifique ./jcr:content/metadata/<nome dos metadados>. Para o nosso exemplo, vamos defini-lo como ./jcr:content/metadata/audience.
Usando essas etapas, adicione todos os parâmetros de metadados necessários.
-
-
Clique em Salvar.
O novo parâmetro agora é exibido na página Propriedades para todos os mapas DITA.
Em seguida, você precisa disponibilizar os metadados personalizados no console de mapas DITA. Execute as seguintes etapas para disponibilizar os metadados personalizados no painel do mapa DITA:
-
Use o gerenciador de pacotes para acessar o arquivo metadataList disponível no seguinte local no repositório Git da Cloud Manager:
/libs/fmdita/config/metadataList
note note NOTE O arquivo metadataList contém uma lista de propriedades que são mostradas na lista suspensa Propriedades de um mapa DITA no painel de mapa. Por padrão, há quatro propriedades listadas nesse arquivo: docstate, dc:language, dc:description e dc:title. -
Adicione os metadados personalizados adicionados na página Forms do Esquema de metadados. Para o nosso exemplo, adicione o parâmetro de público-alvo ao final da lista padrão.
Agora, os metadados personalizados serão exibidos na lista suspensa Propriedades do console de mapa DITA.
Por fim, como Editor, é necessário incluir os metadados personalizados na saída publicada. Para processar os metadados personalizados ao gerar a saída, execute as seguintes etapas:
-
Na interface do usuário do Assets, navegue até o mapa DITA que deseja publicar.
-
Selecione o arquivo de mapa DITA e abra a página de propriedades.
-
Na página Propriedades, especifique o valor dos metadados personalizados. Para o nosso exemplo, especificamos um valor Externo para o parâmetro de público-alvo.
-
Clique em Salvar e fechar.
-
Clique no arquivo de mapa DITA para abrir o console de mapa DITA.
-
Na guia Predefinições de saída, selecione a predefinição de saída que deseja usar para gerar a saída.
-
Clique em Editar.
-
Na lista suspensa Propriedades, selecione as propriedades que deseja passar para o processo de publicação.
As propriedades/metadados selecionados são passados para o processo de publicação e disponibilizados na saída final.
Validar a transmissão de metadados ao DITA-OT para processamento
Para validar os valores de metadados transmitidos para o DITA-OT, é possível usar o ambiente local usando um jar pronto para nuvem. Como não é possível acessar o sistema de arquivos local na nuvem, a única maneira de validar o arquivo de metadados é por meio do jar pronto para nuvem.
-
Nome do arquivo: metadata.xml
-
Local do arquivo: crx-quickstart/profiles/ditamaps/<ditamap-1234>
Para acessar metadata.xml:
- Faça logon no local do servidor em que a instância do AEM está em execução.
- Migre para crx-quickstart/profiles/ditamaps/<newcreated-diretory-name>/metadata.xml.
-
Formato de arquivo de exemplo:
metadata.xml
code language-xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <root> <Path id="/absolutePath/sampleMap.ditamap"> <metadata> <meta isArray="false" key="dc:description">This is a file</meta> <meta isArray="false" key="dc:title">Myfile</meta> <meta isArray="true" key="multivalueText">One;Two;Three</meta> </metadata> </Path> <Path id="/absolutePath/sampleTopic.dita"> <metadata> <meta isArray="false" key="dc:description">description for the accountability</meta> <meta isArray="false" key="dc:title">accountability title</meta> <meta isArray="true" key="multivalueText">value1</meta> </metadata> </Path> </root>
-
isArray: um atributo booleano que define se os metadados são multivalores (Array) ou não. Os valores são delimitados por um ponto e vírgula.
-
ID do caminho: caminho absoluto para o arquivo armazenado no diretório temporário.
Personalizar o mapeamento de elemento DITA com componentes AEM id1679J600HEL
Os elementos DITA no AEM Guides são mapeados para os componentes AEM correspondentes. O AEM Guides usa esse mapeamento em workflows como publicação e revisão para converter o elemento DITA em um componente AEM correspondente. O mapeamento é definido no arquivo elementmapping.xml
, que pode ser acessado usando o gerenciador de pacotes.
libs
. Você deve criar uma sobreposição do nó libs
no nó apps
e atualizar os arquivos necessários somente no nó apps
.Você pode usar os mapeamentos predefinidos de elementos DITA ou mapear elementos DITA para os componentes personalizados do AEM. Para usar os componentes personalizados do AEM, é necessário compreender a estrutura do arquivo elementmapping.xml
.
estrutura elementmapping.xml
Uma visão geral de alto nível da estrutura elementmapping.xml
é explicada abaixo:
-
Cada elemento DITA é pesquisado primeiro por um mapeamento de componente correspondente com base no nome do elemento. Por exemplo:
code language-xml <ditaelement> <name>**substeps**</name> <class>- topic/ol task/substeps</class> <componentpath>dita/components/ditaolist</componentpath> <type>COMPOSITE</type> <target>para</target> </ditaelement>
No exemplo acima, todos os elementos DITA
substeps
são renderizados usando o componentedita/components/ditaolist
. -
Se um elemento DITA não encontrar uma correspondência com base no nome, uma correspondência com base no
class
será feita. Por exemplo:code language-xml <ditaelement> <name>topic</name> <class>**- topic/topic**</class> <componentpath>fmdita/components/dita/topic</componentpath> <type>COMPOSITE</type> <target>para</target> <attributemap> <attribute from="id" to="id" /> </attributemap> </ditaelement>
No exemplo acima, se não houver mapeamento definido para o elemento
task
, o elementotask
será mapeado para o componente acima porquetask
é herdado do componentetopic
. -
Quando um elemento tem um mapeamento de componente correspondente, o processamento adicional de seus elementos filho é determinado por
type
. Por exemplo:code language-xml <ditaelement> <name>title</name> <class>- topic/title</class> <componentpath>foundation/components/title</componentpath> <type>**STANDALONE**</type> <target>para</target> <textprop>jcr:title</textprop> </ditaelement>
type
assume os seguintes valores:-
COMPOSITE: o mapeamento de elemento para componente também continua para elementos filho.
-
STANDALONE: os elementos filhos do elemento atual não estão mais mapeados.
No exemplo acima, se o elemento
<title>
tiver qualquer elemento filho, ele não será mapeado para nenhum outro componente. O componente do elemento<title>
é responsável por renderizar todos os elementos filho dentro do elemento<title>
. -
-
Se houver vários componentes mapeados para um único elemento DITA, a melhor correspondência para o elemento será selecionada. Para selecionar o componente de melhor correspondência, a especialização estrutural e de domínio de elementos DITA é considerada.
Se houver elementos DITA com especialização de domínio e um componente for mapeado para especialização de domínio, esse componente receberá alta prioridade.
Da mesma forma, se houver elementos DITA com especialização estrutural e um componente for mapeado para especialização estrutural, esse componente receberá alta prioridade.
-
Você pode usar
<attributemap>
no mapeamento de elementos para mapear valores de atributos às propriedades de nós correspondentes. -
textprop
pode ser usado para serializar o conteúdo de texto de um elemento DITA para uma propriedade de nó. Além disso, ele pode ser usado várias vezes em uma tag element para serializar o conteúdo do texto em vários locais na hierarquia publicada. Você também pode personalizar a localização e o nome da propriedade do público-alvo. Por exemplo:code language-xml <ditaelement> <name>title</name> <componentpath>foundation/components/title</componentpath> <type>STANDALONE</type> <target>para</target> <textprop>**jcr:title**</textprop> </ditaelement>
O mapeamento de elemento acima especifica que o conteúdo do texto do elemento
<title>
será salvo como valor de uma propriedade chamadajcr:title
no nó de saída. -
xmlprop
pode ser usado para serializar o XML inteiro de um determinado elemento para uma propriedade de nó. O componente pode ler essa propriedade do nó e fazer renderização personalizada. Por exemplo:code language-xml <ditaelement> <name>svg-container</name> <class>+ topic/foreign svg-d/svg-container</class> <componentpath>fmdita/components/dita/svg</componentpath> <type>STANDALONE</type> <target>para</target> <xmlprop>**data**</xmlprop> </ditaelement>
O mapeamento de elemento acima especifica que toda a marcação XML do elemento
<svg-container>
será salva como valor de uma propriedade chamadadata
no nó de saída. -
Há um mapeamento de atributo especial para lidar com a resolução de caminho no processo de geração de saída. Por exemplo:
code language-xml <attributemap> <attribute from="href" to="fileReference" ispath="true" rel="source" /> <attribute from="height" to="height" /> <attribute from="width" to="width" /> </attributemap>
Para o
attributemap
acima, o atributohref
no elemento DITA será mapeado para uma propriedade de nó denominadafileReference
. Agora, comoispath
está definido comotrue
, o processo de geração de saída resolve esse caminho e o define na propriedade do nófileReference
.A forma como essa resolução acontece é determinada com base no valor do atributo
rel
no mapeamento de atributos.-
Se
rel=source
, então o valor dehref
é resolvido em relação ao arquivo de origem DITA que está sendo processado no momento. O valor dehref
é resolvido e colocado no valor da propriedadefileReference
. -
Se
rel=target
, então o valor dehref
é resolvido em relação ao local de publicação raiz. O valor dehref
é resolvido e colocado no valor da propriedadefileReference
.
Se não quiser que ocorra pré-processamento ou resolução nos atributos de caminho, não será necessário especificar o atributo
ispath
. O valor é copiado como está e o componente pode fazer a resolução necessária. -
Esquema de elemento DITA
Veja a seguir um exemplo do esquema do elemento DITA no arquivo elementmapping.xml
:
<ditaelement>
<name>element_name</name>
<class>element_class</class>
<componentpath>fmdita/components/dita/component_name</componentpath>
<type>COMPOSITE|STANDALONE</type>
<attributeprop>propname_a</attributeprop>
<textprop>propname_t</textprop>
<xmlprop>propname_x</xmlprop>
<xpath>xpath expression string</xpath>
<target>head|para</target>
<wrapelement>div</wrapelement>
<wrapclass>class_name</wrapclass>
<attributemap>
<attribute from="attrname" to="propname" ispath="true|false" rel="source|target" />
</attributemap>
<skip>true|false</skip>
</ditaelement>
A tabela a seguir descreve os elementos do esquema de elemento DITA:
<ditaelement>
<class>
Por exemplo, o atributo de classe para o tópico DITA é:
- topic/topic
<componentpath>
<type>
- COMPOSITE: processar elementos filho também
- INDEPENDENTE: ignora o processamento de elementos filho
<attributeprop>
<note type="Caution">
e o componente mapeado para esse elemento tiver <attributeprop>attr_t</ attributeprop>
, o atributo e o valor do nó serão serializados para a propriedade attr_t
do nó AEM correspondente ( attr_t->type="caution"
).<textprop>propname_t</textprop>
getTextContent()
na propriedade definida por propname_t.
Observação: esta é uma propriedade otimizada.
<xmlprop>propname_x </xmlprop>
propname_x.<br>
Observação: Esta é uma propriedade otimizada.<xpath>
<target>
Valores possíveis:
- cabeçalho: Sob o nó de cabeçalho
- texto: Sob o nó de parágrafo
<wrapelement>
<wrapclass>
wrapclass.
<attributemap>
<attribute>
.Observações adicionais
-
Se você planeja substituir o mapeamento de elemento padrão, é recomendável não fazer as alterações no arquivo
elementmapping.xml
padrão. Você deve criar um novo arquivo XML de mapeamento e colocar o arquivo em outro local, de preferência na pasta de aplicativos personalizados que você cria. -
No arquivo
elementmapping.xml
, há muitas entradas de mapeamento que fazem referência ao componente fmdita/components/dita/wrapper. Wrapper é um componente genérico que renderiza construções DITA relativamente simples usando propriedades no nó do site para gerar HTML relevante. Ele usa a propriedadewrapelement
para gerar tags de delimitação e delega a renderização secundária aos componentes correspondentes. Isso é útil nos casos em que você deseja apenas um componente de contêiner. Em vez de criar um novo componente que renderize uma marca de contêiner específica comodiv
oup
, você pode usar o componente Wrapper com as propriedadeswrapelement
ewrapclass
para obter o mesmo efeito. -
Não é recomendável salvar grandes quantidades de texto nas propriedades de JCR de string. O cálculo do tipo de propriedade otimizada na geração de saída garante que o conteúdo de texto grande não seja salvo como um tipo de sequência. Em vez disso, quando o conteúdo maior que um determinado limite precisa ser salvo, o tipo da propriedade é alterado para binário. Por padrão, esse limite está configurado para 512 bytes, mas pode ser alterado no Configuration Manager (com.adobe.fmdita.config.ConfigManager) alterando a configuração Salvar como Limite Binário.
-
Se você estiver planejando substituir alguns (e não todos) dos mapeamentos de elementos, não será necessário replicar todo o arquivo
elementmapping.xml
. É necessário criar um novo arquivo de mapeamento XML e definir apenas os elementos que você está substituindo. -
Depois de criar o arquivo XML no local personalizado, atualize a configuração
Override Element Mapping
no pacotecom.adobe.fmdita.config.ConfigManager
.
Personalizar o console de mapa DITA id188HC08M0CZ
O AEM Guides oferece a flexibilidade de estender os recursos do console de mapas DITA. Por exemplo, se você tiver um conjunto de relatórios diferente do que está disponível no AEM Guides, poderá adicioná-los ao console de mapa. Para personalizar o console de mapas, é necessário criar uma Biblioteca de clientes AEM (ou ClientLib) que conterá o código para executar a funcionalidade necessária.
A AEM Guides fornece a categoria apps.fmdita.dashboard-extn
para personalizar o console de mapas. Sempre que o console de mapa é carregado, a funcionalidade criada na categoria apps.fmdita.dashboard-extn
é executada e carregada.
Manipular a representação da imagem durante a geração da saída id177BF0G0VY4
O AEM vem com um conjunto de workflows e manipuladores de mídia padrão para processar ativos. No AEM, há fluxos de trabalho predefinidos para lidar com o processamento de ativos para os tipos MIME mais comuns. Normalmente, para cada imagem que você carrega, o AEM cria várias representações da mesma em formato binário. Essas representações podem ser de tamanhos diferentes, com uma resolução diferente, com uma marca d'água adicionada ou alguma outra característica alterada. Para obter mais informações sobre como o AEM trata ativos, consulte Processando o Assets usando Manipuladores de mídia e fluxos de trabalho na documentação do AEM.
O AEM Guides permite configurar qual representação de imagem usar no momento da geração de saída para seus documentos. Por exemplo, você pode escolher uma das representações de imagem padrão ou criar uma e usar a mesma para publicar seus documentos. O mapeamento de representação de imagem para publicação de seus documentos está armazenado no arquivo /libs/fmdita/config/ **renditionmap.xml**
. Um trecho do arquivo renditionmap.xml
é o seguinte:
renditionmap.xml
na pasta apps
para todas as personalizações.<renditionmap>
<mapelement>
<mimetype>image/png</mimetype>
<rendition output="AEMSITE">cq5dam.web.1280.1280.jpeg</rendition>
<rendition output="PDF">original</rendition>
<rendition output="HTML5">cq5dam.web.1280.1280.jpeg</rendition>
<rendition output="EPUB">cq5dam.web.1280.1280.jpeg</rendition>
<rendition output="CUSTOM">cq5dam.web.1280.1280.jpeg</rendition>
</mapelement>
...
</renditionmap>
O elemento mimetype
especifica o tipo MIME do formato de arquivo. O elemento rendition output
especifica o tipo de formato de saída e o nome da representação (por exemplo, cq5dam.web.1280.1280.jpeg
) que deve ser usada para publicar a saída especificada. Você pode especificar as representações de imagem a serem usadas para todos os formatos de saída compatíveis: AEMSITE, PDF, HTML5, EPUB e CUSTOM.
Se a representação especificada não estiver presente, o processo de publicação do AEM Guides primeiro procurará a representação da Web da imagem fornecida. Se nem mesmo a representação da Web for encontrada, a representação original da imagem será usada.
Configurar período de limpeza automática para histórico de saída id19AAI070V8Q
Quando você gera uma saída, ela é criada junto com os logs de saída. Para mapas DITA grandes, esses registros podem ocupar uma grande quantidade de espaço no repositório. Por padrão, os registros são armazenados no seguinte local do repositório:
/var/dxml/metadata/outputHistory
Durante um período de tempo, o tamanho coletivo de todos os arquivos de log poderia ficar em GB. O AEM Guides permite configurar um período para manter esses arquivos de log no repositório. Após o período especificado, os registros, juntamente com o histórico de geração de saída, são excluídos do repositório.
A configuração do recurso de limpeza de histórico afeta a geração de saída para todos os mapas DITA no repositório. Na guia Saídas de um mapa DITA, o histórico é removido após o número especificado de dias e na hora especificada na configuração.
Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração. No arquivo de configuração, forneça os seguintes detalhes (propriedade) para definir um dia e hora para limpar o histórico e os logs de saída:
com.adobe.fmdita.config.ConfigManager
output.history.purgeperiod
Valor padrão: 5
output.history.purgetime
Valor padrão: 0:00 (ou meia-noite)
Alterar o limite da lista de saídas recém-geradas id1679JH0H0O2
É possível alterar o número máximo de saídas geradas exibidas na guia Saídas de um mapa DITA.
Use as instruções fornecidas em Substituições de configuração para criar o arquivo de configuração. No arquivo de configuração, forneça os seguintes detalhes (property) para alterar o número de saídas a serem exibidas na lista:
com.adobe.fmdita.config.ConfigManager
output.historylimit
Valor padrão: 25