Panel de administración

En esta página

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 nuevo sitio abre el asistente de configuración. Después de la configuración, los permisos del usuario conectado determinan qué herramientas de contenido y 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:

ÁreaPara qué es
PanelUna vista inicial con widgets del sitio y de plugins
Nombres de colecciones, como PublicacionesListar, crear, editar, publicar y mover entradas a la papelera
Grupos de coleccionesCarpetas colapsables que contienen colecciones que comparten un grupo, más taxonomías asignadas solo a colecciones en esa carpeta
MediosSubir, buscar, inspeccionar, reemplazar y eliminar archivos
Taxonomías y FirmasOrganizar contenido y gestionar autores acreditados
Menús y Áreas de widgetsGestionar navegación y regiones controladas por editores renderizadas por el sitio
ComentariosRevisar y moderar comentarios cuando una colección los habilita
Tipos de contenidoCrear colecciones y campos y cambiar sus configuraciones
PluginsInstalar, configurar y abrir páginas proporcionadas por plugins
ConfiguraciónConfigurar el sitio, autenticación, respaldos, correo electrónico, búsqueda y otros servicios

Esta interfaz gestiona datos y configuración. Las páginas y componentes de Astro siguen definiendo el diseño público. Agregar un elemento de menú o widget en el admin solo cambia el sitio público cuando un componente Astro consulta y renderiza ese menú o área de widgets.

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 donde corresponda.

El editor de texto enriquecido soporta 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 preserva el bloque almacenado en lugar de eliminarlo durante el siguiente guardado.

Guardar y publicar son estados separados para colecciones con borradores. Guardar almacena el trabajo actual como 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 carga, EmDash también rechaza el guardado obsoleto para que el editor pueda recargar la versión más nueva en lugar de sobrescribirla.

Roles y permisos

EmDash incluye cinco roles: Suscriptor, Colaborador, Autor, Editor y Admin. Los permisos se acumulan a medida que aumenta el nivel del rol, pero la propiedad sigue siendo importante 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, respaldos y configuraciones, y pueden eliminar permanentemente el contenido de la papelera.
  • El servidor verifica los permisos para cada acción. Ocultar un elemento de navegación no es el límite de seguridad.

Lee 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 soporta 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 entradas que hacen referencia a él. Usa las herramientas de información de uso de medios y reemplazo antes de eliminar un recurso usado en páginas públicas. Consulta Biblioteca de medios para los flujos de trabajo de carga, reemplazo y eliminación.

Interfaces de plugins

Los plugins pueden agregar widgets al panel, secciones de configuración, controles del editor o páginas de administración completas. Una página de plugin se monta bajo la propia ruta de administración del 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.

Lee Instalar plugins para agregar una extensión. Los desarrolladores de sitios que construyen una interfaz deben usar las APIs nativas de administración de plugins en lugar de modificar la aplicación de administración principal.

Requisitos de configuración

El admin 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.