Apps
Um app coloca uma ferramenta sua dentro do console, ao lado do conteúdo em que ela trabalha. A interface dele é uma página web que você hospeda, e ele lê e grava pela mesma API GraphQL que a sua aplicação usa.
Quatro placements
A página de um app é incorporada ao console como um iframe, em um de quatro lugares: uma página inteira na navegação, uma aba no editor de registros, um painel lateral no editor de registros, ou um editor de campo que substitui o input padrão de um campo. Uma aba ou um painel lateral é vinculado a modelos e aparece quando um registro de um modelo correspondente está aberto.
Trabalhando com o registro
Os placements de editor conversam com o console pelo Editor SDK em @foir/sdk, que exige React 18 ou posterior. O console envia os valores, o schema e o tema do registro quando a página carrega, e continua responsável por salvar, publicar e versionar. Uma página inteira age como o membro da equipe que a está vendo, apenas com os escopos que o seu placement declara e que essa pessoa também tem. O token dela dura cinco minutos por vez e termina quando ela encerra a sessão.
Um manifesto
Um app é descrito por um manifesto JSON em uma URL https que você escolhe, com name e version como únicos campos obrigatórios. Além de uma página, um app pode contribuir com credenciais, operações, hooks de ciclo de vida e formatos de dados mapeados para os seus modelos na instalação. Ele nunca é dono de modelos.
Instalando, e o marketplace
Instale um app pelo marketplace ou colando a URL do manifesto. O marketplace é curado, e um app que não está listado é instalado pela URL. De qualquer forma, o preview da instalação mostra exatamente o que cada operação do app pode ler ou gravar.
Ferramentas para um projeto
Uma aba ou um painel lateral para um único projeto pode ser declarado diretamente em foir.config.ts e enviado por push. Construa um app quando a ferramenta for reutilizada em vários projetos. A página que você serve precisa permitir o console como frame ancestor, ou o navegador a renderiza em branco, e o SDK oferece placementFrameAncestors para isso.
Leia os detalhes
O guia de apps cobre o manifesto, cada placement, o que um app pode contribuir e como funcionam instalações e atualizações.