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.