O painel de administração é a interface de edição incluída com um site EmDash. É servido pela aplicação Astro em /_emdash/admin/ e usa a mesma base de dados, armazenamento de mídia, modelo de conteúdo e extensões que as páginas públicas.
A primeira visita à rota de administração de um novo site abre o assistente de configuração. Após a configuração, as permissões de um utilizador que iniciou sessão determinam que conteúdo e ferramentas de administração estão disponíveis.
Áreas de trabalho
A navegação adapta-se às coleções e extensões instaladas do site. Estas são as principais áreas que um editor ou administrador pode ver:
| Área | Para que serve |
|---|---|
| Painel | Uma vista inicial com widgets do site e de extensões |
| Nomes de coleções, como Publicações | Listar, criar, editar, publicar e mover entradas para o lixo |
| Grupos de coleções | Pastas recolhíveis que contêm coleções que partilham um grupo, além de taxonomias atribuídas apenas a coleções nessa pasta |
| Média | Carregar, pesquisar, inspecionar, substituir e eliminar ficheiros |
| Taxonomias e Assinaturas | Organizar conteúdo e gerir autores creditados |
| Menus e Áreas de Widgets | Gerir navegação e regiões controladas pelo editor renderizadas pelo site |
| Comentários | Rever e moderar comentários quando uma coleção os ativa |
| Tipos de Conteúdo | Criar coleções e campos e alterar as suas configurações |
| Extensões | Instalar, configurar e abrir páginas fornecidas por extensões |
| Definições | Configurar o site, autenticação, cópias de segurança, transferência de site, e-mail, pesquisa e outros serviços |
Esta interface gere dados e configuração. As páginas e componentes Astro ainda definem o layout público. Adicionar um item de menu ou widget no painel de administração só altera o site público quando um componente Astro consulta e renderiza esse menu ou área de widget.
Editor de conteúdo
O editor de conteúdo constrói o seu formulário a partir da coleção selecionada. Um campo de texto curto torna-se uma entrada de texto, um campo portableText torna-se o editor de texto rico, um campo de média abre o seletor de média e um campo de referência permite ao editor selecionar outra entrada. As configurações da coleção adicionam controlos de publicação, pré-visualização, revisão, comentário e pesquisa quando aplicável.
O editor de texto rico suporta cabeçalhos, listas, citações, código, ligações, imagens e blocos personalizados registados. Se o conteúdo importado contiver um bloco que o editor não pode exibir, o EmDash preserva o bloco armazenado em vez de o remover durante a próxima gravação.
Guardar e publicar são estados separados para coleções com rascunhos. Guardar armazena o trabalho atual como um rascunho. Publicar ou Publicar alterações torna essa versão guardada disponível para consultas públicas. O agendamento regista quando um rascunho ou alteração pendente deve tornar-se pública.
Quando o bloqueio de edição está ativado para uma coleção, abrir uma entrada mantém um bloqueio para esse editor. Outros escritores são recusados enquanto o bloqueio está ativo em vez de sobrescreverem silenciosamente a entrada. Se uma entrada mudar depois de um editor a carregar, o EmDash também recusa a gravação obsoleta para que o editor possa recarregar a versão mais recente em vez de a sobrescrever.
Funções e permissões
O EmDash inclui cinco funções: Subscritor, Colaborador, Autor, Editor e Administrador. As permissões aumentam à medida que o nível da função aumenta, mas a propriedade ainda importa para ações de conteúdo e média. Por exemplo, os Autores podem editar e publicar as suas próprias entradas, enquanto os Editores podem fazê-lo para qualquer entrada.
As áreas administrativas têm verificações de permissões separadas:
- Os Editores podem gerir taxonomias, menus, assinaturas, widgets, secções e conteúdo de outros autores.
- Os Administradores podem alterar o modelo de conteúdo, utilizadores, extensões, redirecionamentos, cópias de segurança e definições, podem exportar ou importar todo o site e podem eliminar permanentemente conteúdo no lixo.
- O servidor verifica as permissões para cada ação. Ocultar um item de navegação não é o limite de segurança.
Leia Autenticação e funções de utilizador para configuração de conta e descrições completas das funções.
Média
A biblioteca de média pode mostrar ficheiros numa grelha ou lista, pesquisá-los e filtrá-los, exibir metadados e realizar ações em múltiplos itens. O comportamento de carregamento depende do adaptador de armazenamento configurado. Quando o adaptador suporta carregamentos assinados, o navegador envia o ficheiro para o armazenamento usando um URL assinado de curta duração e depois confirma o carregamento concluído com o EmDash.
Eliminar um item de média pode afetar entradas que o referenciam. Use as informações de utilização de média e ferramentas de substituição antes de remover um recurso usado em páginas públicas. Consulte Biblioteca de média para os fluxos de trabalho de carregamento, substituição e eliminação.
Interfaces de extensões
As extensões podem adicionar widgets de painel, secções de definições, controlos de editor ou páginas de administração completas. Uma página de extensão é montada sob a própria rota de administração dessa extensão; não pode substituir um ecrã de administração principal. A extensão ainda precisa de verificações de permissões do lado do servidor para qualquer ação protegida, mesmo quando a ligação de administração é mostrada apenas a uma função particular.
Leia Instalação de extensões para adicionar uma extensão. Os desenvolvedores de sites que constroem uma interface devem usar as APIs de administração de extensões nativas em vez de modificar a aplicação de administração principal.
Requisitos de configuração
O painel de administração é uma aplicação React, pelo que o projeto Astro deve instalar @astrojs/react, react e react-dom e registar react() em astro.config.mjs. O site também precisa de saída de servidor, uma base de dados e armazenamento de média. Adicionar EmDash a um projeto Astro existente mostra a configuração local completa.