Visão geral de extensibilidade da interface do usuário
A Extensibilidade da interface do usuário permite trazer sua lógica personalizada e a interface do usuário (interface do usuário) para o Adobe Workfront Fusion. Ao usar o Adobe App Builder, você pode modificar a experiência do Workfront Fusion da sua organização para atender melhor às necessidades da organização, enquanto ainda depende da funcionalidade principal do Fusion.
Este artigo fornece uma visão geral da Extensibilidade da interface e como sua extensão personalizada se comunica com o Workfront Fusion.
Estrutura da extensão
Hosts e convidados
O Fusion pode exibir a interface do usuário que não foi criada pela equipe do Workfront Fusion. Para garantir que essas alterações na interface do usuário não afetem a funcionalidade principal do Fusion, a interface do usuário é executada em seu próprio quadro isolado do navegador (um <iframe>), completamente separado do código do Fusion.
- Host: o aplicativo que contém a extensão. Aqui, isto é Fusion. O host decide onde as extensões podem aparecer e quais dados serão compartilhados com ele.
- Convidado: Sua extensão. É um pequeno aplicativo da Web que o host carrega em um iframe.
Ao criar uma Extensão de interface do usuário, você não modifica o Fusion. Você cria e publica um convidado, que o Fusion pode usar após a publicação do convidado.
A tecnologia subjacente
Seu convidado é construído com duas tecnologias Adobe:
- Adobe App Builder: uma plataforma gratuita de hospedagem e ferramentas para pequenos aplicativos Web e ações sem servidor. Sua extensão é um aplicativo App Builder. O App Builder fornece um local para hospedar sua interface do usuário (na rede de entrega de conteúdo
*.adobeio-static.netda Adobe) e uma ferramenta de linha de comando chamadaaiopara criá-la, compilá-la e publicá-la. - Adobe UI Extensibility SDK (UIX): As bibliotecas que permitem que o host e o convidado conversem. Você usará um pacote,
@adobe/uix-guest, do seu lado. O Fusion usa o pacote@adobe/uix-hostcorrespondente em seu lado.
Pontos de extensão
Um ponto de extensão é um “slot” nomeado no host em que um convidado pode aparecer. O Fusion define seus slots e você escolhe qual deles o convidado usará.
Um nome de ponto de extensão tem três partes: service/name/version.
O Fusion oferece os seguintes pontos de extensão:
fusion/nav-organization/1fusion/nav-team/1fusioné o serviço (o produto, Fusion).nav-organization/nav-teamé o nome (o slot específico).1é a versão.
Uma extensão pode implementar um ou ambos os pontos de extensão. A maioria das extensões usa um ponto.
Com base no ponto de extensão selecionado, o Fusion adiciona um botão com o título da extensão à seção de navegação correspondente. Clicar nela abre uma página dedicada na área de conteúdo principal do Fusion e carrega sua interface de usuário lá.
Quadros incluídos em uma extensão da interface do usuário
Quando o Fusion carrega seu convidado, sua extensão é executada em dois quadros:
- O quadro de registro (invisível). É executado primeiro, em segundo plano. O quadro de registro informa ao Fusion o que sua extensão oferece. Por exemplo, ele pode indicar que tem um widget de painel e enviar o título do widget e o URL de sua interface do usuário. O quadro de registro faz isso chamando
register(...). Ela não renderiza nenhuma interface do usuário visível. - O quadro da interface do usuário (visível). Esta é a página que o Fusion mostra ao usuário. Ele deve se anunciar ao host, chamando
attach(...). Se ele nunca chamarattach, o Fusion aguardará e eventualmente expirará com um erro.
Este exemplo mostra o fluxo quando um usuário clica no botão de extensão.
-
O botão é clicado.
-
O Fusion carrega o quadro REGISTRATION (oculto).
code language-none register({ methods: { dashboard: { getWidget() {...} } } })getWidget()retorna a URL da interface visível -
O Fusion carrega o quadro da interface do usuário (visível) nesse URL.
code language-none attach({ id })Isso é necessário ou o Fusion atinge o tempo limite
-
O Fusion envia contexto e a interface do usuário é renderizada.
Ambos os quadros são gravados quando você constrói a interface do usuário. O importante é lembrar que a página visível deve chama attach.
Para obter mais informações sobre como criar a interface, consulte Criar a interface de extensão personalizada.
Contexto do Fusion
Depois que a extensão é anexada, o Fusion compartilha um objeto context com o convidado. Ele contém:
- Usuário: o perfil Fusion do usuário conectado e a ID de usuário do Adobe IMS.
- Organização: o registro completo da organização do Fusion da ativa e a ID da organização do Adobe IMS.
- Equipe: a equipe ativa, quando aplicável.
- Token de acesso do Adobe IMS: chama as APIs do Adobe ou Fusion em nome do usuário, se necessário.
O Fusion também envia atualizações. Por exemplo, se o usuário alternar entre organização ou equipe enquanto sua interface do usuário estiver aberta, o Fusion enviará o novo contexto para que sua interface do usuário possa reagir instantaneamente.
Para obter a lista completa dos campos de contexto, consulte A referência de contexto do Fusion.
Criação de uma extensão da interface do usuário
Para criar uma extensão de interface do usuário, siga estas etapas:
- Instale as ferramentas e crie um projeto do Adobe.
- Gere um projeto App Builder em branco, aponte-o para um ponto de extensão Fusion e registre seu widget.
- Crie a interface do usuário e conecte-se ao Fusion.
- Usar os envios de Fusão de contexto.
- Publique para que o Fusion possa encontrá-lo.
- (Opcional) Chame APIs do Workfront/Fusion para obter dados reais sem o CORS.
Para iniciar o processo, vá para Configurar suas ferramentas e a conta da Adobe.