El panel de administración es la interfaz de edición incluida con un sitio EmDash. Es servido por la aplicación Astro en /_emdash/admin/ y utiliza la misma base de datos, almacenamiento de medios, modelo de contenido y plugins que las páginas públicas.
La primera visita a la ruta de administración de un sitio nuevo abre el asistente de configuración. Después de la configuración, los permisos de un usuario que ha iniciado sesión determinan qué contenido y herramientas de administración están disponibles.
Áreas de trabajo
La navegación se adapta a las colecciones e plugins instalados del sitio. Estas son las áreas principales que un editor o administrador puede ver:
| Área | Para qué sirve |
|---|---|
| Panel | Una vista inicial con widgets del sitio y plugins |
| Nombres de colecciones, como Publicaciones | Listar, crear, editar, publicar y mover entradas a la papelera |
| Grupos de colecciones | Carpetas plegables que contienen colecciones que comparten un grupo, además de taxonomías asignadas solo a colecciones en esa carpeta |
| Medios | Cargar, buscar, inspeccionar, reemplazar y eliminar archivos |
| Taxonomías y Firmas | Organizar contenido y gestionar autores acreditados |
| Menús y Áreas de Widgets | Gestionar la navegación y regiones controladas por el editor que son renderizadas por el sitio |
| Comentarios | Revisar y moderar comentarios cuando una colección los habilita |
| Tipos de Contenido | Crear colecciones y campos y cambiar sus configuraciones |
| Plugins | Instalar, configurar y abrir páginas proporcionadas por plugins |
| Configuración | Configurar el sitio, autenticación, copias de seguridad, transferencia de sitio, correo electrónico, búsqueda y otros servicios |
Esta interfaz gestiona datos y configuración. Las páginas y componentes de Astro aún definen el diseño público. Agregar un elemento de menú o widget en el administrador solo cambia el sitio público cuando un componente de Astro consulta y renderiza ese menú o área de widget.
Editor de contenido
El editor de contenido construye su formulario a partir de la colección seleccionada. Un campo de texto corto se convierte en una entrada de texto, un campo portableText se convierte en el editor de texto enriquecido, un campo de medios abre el selector de medios y un campo de referencia permite al editor seleccionar otra entrada. Las configuraciones de colección agregan controles de publicación, vista previa, revisión, comentarios y búsqueda cuando corresponde.
El editor de texto enriquecido admite encabezados, listas, citas, código, enlaces, imágenes y bloques personalizados registrados. Si el contenido importado contiene un bloque que el editor no puede mostrar, EmDash conserva el bloque almacenado en lugar de eliminarlo durante el próximo guardado.
Guardar y publicar son estados separados para colecciones con borradores. Guardar almacena el trabajo actual como un borrador. Publicar o Publicar cambios hace que esa versión guardada esté disponible para consultas públicas. La programación registra cuándo un borrador o cambio pendiente debe hacerse público.
Cuando el bloqueo de edición está habilitado para una colección, abrir una entrada mantiene un bloqueo para ese editor. Otros escritores son rechazados mientras el bloqueo está activo en lugar de sobrescribir silenciosamente la entrada. Si una entrada cambia después de que un editor la cargue, EmDash también rechaza el guardado obsoleto para que el editor pueda recargar la versión más reciente en lugar de sobrescribirla.
Roles y permisos
EmDash incluye cinco roles: Suscriptor, Colaborador, Autor, Editor y Admin. Los permisos aumentan a medida que aumenta el nivel de rol, pero la propiedad sigue importando para las acciones de contenido y medios. Por ejemplo, los Autores pueden editar y publicar sus propias entradas, mientras que los Editores pueden hacerlo para cualquier entrada.
Las áreas administrativas tienen verificaciones de permisos separadas:
- Los Editores pueden gestionar taxonomías, menús, firmas, widgets, secciones y contenido de otros autores.
- Los Admins pueden cambiar el modelo de contenido, usuarios, plugins, redirecciones, copias de seguridad y configuraciones, pueden exportar o importar todo el sitio y pueden eliminar permanentemente el contenido en la papelera.
- El servidor verifica los permisos para cada acción. Ocultar un elemento de navegación no es el límite de seguridad.
Lea Autenticación y roles de usuario para la configuración de cuentas y las descripciones completas de roles.
Medios
La biblioteca de medios puede mostrar archivos en una cuadrícula o lista, buscarlos y filtrarlos, mostrar metadatos y realizar acciones de múltiples elementos. El comportamiento de carga depende del adaptador de almacenamiento configurado. Cuando el adaptador admite cargas firmadas, el navegador envía el archivo al almacenamiento usando una URL firmada de corta duración y luego confirma la carga completada con EmDash.
Eliminar un elemento de medios puede afectar las entradas que hacen referencia a él. Use la información de uso de medios y las herramientas de reemplazo antes de eliminar un activo usado en páginas públicas. Consulte Biblioteca de medios para los flujos de trabajo de carga, reemplazo y eliminación.
Interfaces de plugins
Los plugins pueden agregar widgets de panel, secciones de configuración, controles de editor o páginas de administración completas. Una página de plugin se monta bajo la propia ruta de administración de ese plugin; no puede reemplazar una pantalla de administración principal. El plugin aún necesita verificaciones de permisos del lado del servidor para cualquier acción protegida, incluso cuando el enlace de administración se muestra solo a un rol particular.
Lea Instalación de plugins para agregar una extensión. Los desarrolladores de sitios que construyen una interfaz deben usar las APIs de administración de plugins nativos en lugar de modificar la aplicación de administración principal.
Requisitos de configuración
El administrador es una aplicación React, por lo que el proyecto Astro debe instalar @astrojs/react, react y react-dom y registrar react() en astro.config.mjs. El sitio también necesita salida de servidor, una base de datos y almacenamiento de medios. Agregar EmDash a un proyecto Astro existente muestra la configuración local completa.