Visão geral

Ao migrar da interface antiga para a nova interface do AEM Guides, as atualizações do ui_config devem ser convertidas em configurações de interface mais flexíveis e modulares. Esta estrutura ajuda a adotar as alterações facilmente na barra_de_ferramentas_do_editor e em outras barras de ferramentas. O processo também suporta a modificação de outras visualizações e widgets no aplicativo.

NOTE
As personalizações aplicadas a botões específicos podem enfrentar problemas durante a transição para a estrutura de extensão. Se isso ocorrer, você poderá levantar um tíquete de suporte em relação a esta página para obter suporte imediato e resolução.

Edição de JSON para telas diferentes

Arquivos JSON podem ser adicionados à seção Configuração da interface do editor XML para várias telas e widgets. Veja abaixo uma lista de widgets amplamente usados e suas IDs:

  1. editor_toolbar: barra de ferramentas do Webeditor que consiste em ações de arquivo e conteúdo.

  2. editor_tab_bar: o modo de exibição com guias de arquivos abertos no webeditor possui ações que você pode executar em arquivos abertos.

  3. file_mode_switcher: ajuda a alternar entre os diferentes modos disponíveis (autor, origem, visualização) para os arquivos abertos no webeditor.

    barra_de_ferramentas_do_editor

  4. map_console_navigation_bar: é a barra de informações do mapa aberto no console do mapa. Permite alterar o mapa e fornece acesso às configurações.

  5. map_console_action_bar: esta é a barra de ação para itens de console do mapa, como Predefinição de saída, Linha de base, Tradução e Relatórios, que fornece informações relevantes, juntamente com seus respectivos botões de ação.

    map_console

  6. home_navigate_bar: barra de cabeçalho da página inicial do Guides, onde a mensagem de boas-vindas é exibida junto com o perfil da pasta selecionada.

    barra_de_navegação_inicial

Estrutura geral de cada JSON

Cada JSON segue uma estrutura consistente:

  1. id: Especifica o widget em que o componente está sendo personalizado.

  2. targetEditor: define quando exibir ou ocultar um botão usando as propriedades de modo e editor:

    As seguintes opções são suportadas em targetEditor:

    • mode
    • displayMode
    • editor
    • documentType
    • documentSubType
    • flag

    Para obter detalhes, consulte Noções básicas sobre as propriedades do targetEditor

    note note
    NOTE
    A versão 2506 do Experience Manager Guides apresenta novas propriedades: displayMode, documentType, documentSubType e flag. Essas propriedades são compatíveis somente a partir da versão 2506. Da mesma forma, a alteração de toc para layout na propriedade mode também se aplica a partir desta versão.
    Um novo campo, documentType, agora está disponível junto com o campo editor existente. Ambos os campos são compatíveis e podem ser usados conforme necessário. No entanto, é recomendado usar documentType para garantir a consistência entre implementações, especialmente ao trabalhar com a propriedade documentSubType. O campo editor permanece válido para oferecer suporte à compatibilidade com versões anteriores e integrações existentes.
  3. target: especifica onde o novo componente será adicionado. Isso usa pares de valores chave ou índices para identificação exclusiva. Os estados de exibição incluem:

    • anexar: adicionar no final.

    • anexar: adicionar no início.

    • substituir: substitui um componente existente.

Exemplo de estrutura JSON:

{
  "id" : "editor_toolbar",
  "view": {
    "items": [
      {
        ...,
        "targetEditor": {
          "mode": [
            "preview"
          ],
          "editor": [
            "xml"
          ]
        },
        "target": {
          "key": "label",
          "value": "Table",
          "viewState": "prepend"
        },
        ...
      },
    ]
  }
}

Compreendendo as propriedades de targetEditor

Abaixo está um detalhamento de cada propriedade, sua finalidade e valores compatíveis.

mode

Define o modo operacional do editor.

Valores com suporte: author, source, preview, layout (anteriormente toc), split

displayMode (opcional)

Controla a visibilidade ou a interatividade dos componentes da interface do usuário. O valor padrão é definido como show, se não for especificado.

Valores com suporte: show, hide, enabled, disabled

Exemplo:

 {
        "icon": "textBulleted",
        "title": "Custom Insert Bulleted",
        "on-click": "$$AUTHOR_INSERT_REMOVE_BULLETED_LIST",
        "key": "$$AUTHOR_INSERT_REMOVE_BULLETED_LIST",
        "targetEditor": {
          "documentType": [
            "ditamap"
          ],
          "mode": [
            "author"
          ],
          "displayMode": "hide"
        }
      },

editor

Especifica o tipo de documento primário no editor.

Valores com suporte: ditamap, bookmap, subjectScheme, xml, css, translation, preset, pdf_preset

documentType

Indica o tipo de documento principal.

Valores com suporte: dita, ditamap, bookmap, subjectScheme, css, preset, ditaval, reports, baseline, translation, html, markdown, conditionPresets

Valores adicionais podem ser suportados para casos de uso específicos.

Exemplo:

 {
        "icon": "textNumbered",
        "title": "Custom Numbered List",
        "on-click": "$$AUTHOR_INSERT_REMOVE_NUMBERED_LIST",
        "key": "$$AUTHOR_INSERT_REMOVE_NUMBERED_LIST",
        "targetEditor": {
          "documentType": [
            "dita",
            "ditamap"
          ],
          "mode": [
            "author",
            "source"
          ]

        }
      },

documentSubType

Classifica ainda mais o documento com base em documentType.

  • Parapreset: pdf, html5, aemsite, nativePDF, json, custom, kb
  • Paradita: topic, reference, concept, glossary, task, troubleshooting

Valores adicionais podem ser suportados para casos de uso específicos.

Exemplo:

 {
        "icon": "rename",
        "title": "Custom Rename",
        "on-click": "$$PUBLISH_PRESETS_RENAME",
        "label": "Custom Rename",
        "key": "$$PUBLISH_PRESETS_RENAME",
        "targetEditor": {
          "documentType": [
            "preset"
          ],
          "documentSubType": [
            "nativePDF",
            "aemsite",
            "json"
          ]

        }
      },

flag

Indicadores booleanos para o estado ou os recursos do documento.

Valores com suporte: isOutputGenerated, isTemporaryFileDownloadable, isPDFDownloadable, isLocked, isUnlocked, isDocumentOpen

Além disso, você também pode criar um sinalizador personalizado dentro de extensionMap que é usado como um sinalizador em targetEditor. Aqui, extensionMap é uma variável global usada para adicionar chaves personalizadas ou valores observáveis.

Exemplo:

 {
        "icon": "filePDF",
        "title": "Custom Export pdf",
        "on-click": "$$DOWNLOAD_TOPIC_PDF",
        "key": "$$DOWNLOAD_TOPIC_PDF",
        "targetEditor": {
          "documentType": [
            "markdown"
          ],
          "mode": [
            "preview"
          ],
          "flag": ["isPDFDownloadable"]

        }
      },

Exemplos

Veja abaixo um exemplo de como adicionar, excluir ou substituir um botão na barra de ferramentas do editor.

Adição de um botão

Adicionando um novo botão Inserir Tabela Personalizada em editor_toolbar para adicionar uma tabela simples que seja visível somente no modo de visualização.

{
  "id": "editor_toolbar",
  "view": {
    "items": [
      {
        "icon": "table",
        "title": "Insert Custom Table",
        "on-click": {
          "name": "$$AUTHOR_INSERT_ELEMENT",
          "args": [
            "simpletable",
            "table",
            "choicetable"
          ]
        },
        "key": "$$AUTHOR_INSERT_ELEMENT",
        "targetEditor": {
          "mode": [
            "preview"
          ],
        },
        "target": {
          "key": "label",
          "value": "Table",
          "viewState": "prepend"
        }
      }
    ]
  }
}

Inserir tabela personalizada

Excluir um botão

Excluir um botão da barra de ferramentas. Aqui removemos o botão de adição de imagens da barra de ferramentas do editor.

{
  "id": "editor_toolbar",
  "view": {
    "items": [
      {
        "hide": true,
        "target": {
          "key": "label",
          "value": "Image",
          "viewState": "replace"
        }
      }
    ]
  }
}

Substituição de um botão

Substituindo o botão Multimídia da barra de ferramentas pelo botão de inserção de link do Youtube, que só é visível no modo de autor.

{
  "id": "editor_toolbar",
  "view": {
    "items": [
      {
        "icon": "s2youtube",
        "title": "Youtube",
        "on-click": {
          "name": "$$AUTHOR_INSERT_ELEMENT",
          "args": "<object data='http://youtube.com'></object>"
        },
        "targetEditor": {
          "mode": [
            "author"
          ]
        },
        "target": {
          "key": "elementId",
          "value": "toolbar-multimedia",
          "viewState": "replace"
        }
      }
    ]
  }
}

Botão do Youtube

Adição de um botão no modo de visualização

De acordo com o design, a visibilidade do botão é gerenciada separadamente para modos bloqueados e desbloqueados (somente leitura) para manter uma experiência do usuário clara e controlada. Por padrão, qualquer botão recém-adicionado fica oculto quando a interface está no modo somente leitura.
Para tornar um botão visível no modo somente leitura, você deve especificar um destino que o coloque dentro de uma subseção da barra de ferramentas que permaneça acessível mesmo quando a interface estiver bloqueada.
Por exemplo, ao especificar o destino como Baixar como PDF, você pode garantir que o botão apareça na mesma seção que um botão visível existente, tornando-o acessível no modo desbloqueado.

"target": {
  "key": "label",
  "value": "Download as PDF",
  "viewState": "prepend"
}

Adicionando um botão Exportar como PDF no modo Visualização, que estará visível no modo de bloqueio e desbloqueio.

{
  "id": "editor_toolbar",
  "view": {
    "items": [
      {
        "icon": "filePDF",
        "title": "Export as PDF",
        "on-click": "$$DOWNLOAD_TOPIC_PDF",
        "key": "$$DOWNLOAD_TOPIC_PDF",
        "targetEditor": {
          "editor": [
            "ditamap",
            "xml"
          ],
          "mode": [
            "preview"
          ]
        },
        "target": {
          "key": "label",
          "value": "Download as PDF",
          "viewState": "prepend"
        }
      },
      {
        "icon": "filePDF",
        "title": "Export as PDF",
        "on-click": "$$DOWNLOAD_TOPIC_PDF",
        "key": "$$DOWNLOAD_TOPIC_PDF",
        "targetEditor": {
          "editor": [
            "ditamap",
            "xml"
          ],
          "mode": [
            "preview"
          ]
        }
      }
    ]
  }
}

O trecho a seguir mostra o botão Exportar como PDF com o cenário de bloqueio.

Exportar como PDF

Além disso, o botão Exportar como PDF com o cenário de desbloqueio pode ser visto no trecho abaixo.

Exportar como PDF

Personalizar as opções que aparecem na lista suspensa Menu da barra de ferramentas do Editor

Você pode anexar, ocultar, substituir e adicionar opções personalizadas na lista suspensa Menu usando os exemplos a seguir.

Anexando

Anexar uma opção ao menu suspenso Aqui nós acrescentamos o botão de menu personalizado nas opções de Menu

{
        "icon": "specialCharacter",
        "title": "Custom menu button",
        "on-click": "$$AUTHOR_INSERT_SYMBOL",
        "targetEditor": {
          "editor": [
            "ditamap"
          ],
          "mode": [
            "author"
          ]
        },
        "target": {
          "key": "label",
          "value": "Version label",
          "viewState": "append"
        }
      }

Substituindo

Substituição de uma opção exibida na lista suspensa Menu. Aqui estamos substituindo Criar tarefa de revisão por Botão de menu personalizado 3.

{
        "icon": "specialCharacter",
        "title": "Custom menu button 3",
        "on-click": "$$AUTHOR_INSERT_SYMBOL",
        "target": {
          "key": "label",
          "value": "Create review task",
          "viewState": "replace"
        }

      }

Ocultar

Ocultar uma opção que aparece na lista suspensa Menu. Aqui estamos ocultando a opção Localizar e substituir do Menu.

{
        "hide": true,
        "target": {
          "key": "label",
          "value": "Find and replace",
          "viewState": "replace"
        }
      }

Adição de opção personalizada no submenu

Adicionar uma opção no submenu dentro da lista suspensa Menu.

{
        "icon": "viewAllTags",
        "title": "Toggle Tags View Goziamasu",
        "key": "AUTHOR_TOGGLE_TAG_VIEW",
        "target": {
          "key": "label",
          "value": "Track changes",
          "viewState": "replace"
        },
        "targetEditor": {
          "documentType": [
            "dita"
          ],
          "mode": [
            "author"
          ]
        }

      }

Como fazer upload de JSONs personalizados

  1. Na guia Configuração do Editor XML, clique em Editar na barra superior.

  2. Agora, na subseção Configuração da interface do Editor de XML, você poderá ver um botão carregar.

    Botão Carregar {width="400"}

  3. Você pode clicar em e fazer upload do json modificado. (O json a ser carregado deve ter o mesmo nome da ID do widget que está sendo personalizado)

  4. Depois de carregado, clique em Salvar na barra superior.

    Para cada arquivo carregado, você também pode excluir o json para remover sua personalização da interface ou baixar para exibi-lo ou modificá-lo novamente.

    Botão Baixar {width="400"}

Como fazer upload de CSS personalizado

Você também pode adicionar css para personalizar a aparência dos botões adicionados personalizados ou widgets ou botões já existentes na interface do usuário.

Para um botão personalizado recém-adicionado, adicione uma classe_de_extração ao botão ou componente personalizado dentro do JSON.
Para uma classe antiga, você também pode inspecionar o elemento e modificar as classes existentes.

{
  "icon": "table",
  "title": "Insert Custom Table",
  "extraclass": "custom-css",
  "key": "$$AUTHOR_INSERT_ELEMENT",
  "targetEditor": {
    "mode": [
      "preview"
    ],
  },
  "target": {
    "key": "label",
    "value": "Table",
    "viewState": "prepend"
  }
}
  1. Na guia Configuração do Editor XML, clique em Editar na barra superior.

  2. Agora, na subseção Layout da página do Editor de XML, você poderá ver um botão carregar.

    Botão Carregar {width="400"}

  3. Você pode clicar em e fazer upload do css modificado. (Somente arquivos css são suportados)

  4. Depois de carregado, clique em Salvar na barra superior.

    Para cada arquivo carregado, você também pode excluir o css para remover sua personalização da interface ou baixar para exibi-lo ou modificá-lo novamente.

    Botão Baixar {width="400"}

Exemplo para personalizar o css do botão

Aqui adicionamos um novo botão Inserir Tabela Personalizada na editor_toolbar para adicionar uma tabela simples que é visível somente no modo de visualização e aplicar um css personalizado a ela.
Esse css modifica o plano de fundo do botão e o tamanho da fonte de seu título.

Exemplo de CSS

#editor_toolbar {
  .custom-css {
    background-color: burlywood;
    font-size: 2rem;
  }
}
{
  "id": "editor_toolbar",
  "view": {
    "items": [
      {
        "icon": "table",
        "title": "Insert Custom Table",
        "extraclass": "custom-css",
        ...
      }
    ]
  }
}

Etapas para converter a configuração da interface do usuário em Json modulares

  1. Na tela Navegação, clique no ícone Ferramentas.

    Ícone de Ferramentas

  2. Selecione Guias no painel esquerdo.

  3. Clique no bloco Perfis de pasta.

    Perfis de pasta

  4. Selecione um Perfil de pasta.

  5. Clique na guia Configuração do editor XML.

  6. Você pode clicar no botão Converter configuração da interface para JSON. Isso gerará o editor_toolbar e o map_console_action_bar json, que contém as alterações feitas no ui_config.

    Converter configuração de interface para JSON

  7. Você pode fazer check-out da amostra gerada de jsons para a Barra de ferramentas do editor e a Barra de ação do console de mapa

NOTE
As alterações feitas nas seções da barra de ferramentas e da barra de ferramentas foram adicionadas ao json barra_de_ferramentas_do_editor, que pode ser visto na página Editor. As alterações feitas nos botões relacionados a Predefinições ou Tradução em ui_config são adicionadas ao map_console_action_bar json, que pode ser visto na página Console do Mapa.
recommendation-more-help
5d77304e-09c3-49ad-9381-b66e7cbd5f86