Das Admin-Panel ist die Bearbeitungsoberfläche, die in einer EmDash-Site enthalten ist. Es wird von der Astro-Anwendung unter /_emdash/admin/ bereitgestellt und verwendet dieselbe Datenbank, denselben Medienspeicher, dasselbe Inhaltsmodell und dieselben Plugins wie die öffentlichen Seiten.
Beim ersten Besuch der Admin-Route einer neuen Site öffnet sich der Einrichtungsassistent. Nach der Einrichtung bestimmen die Berechtigungen des angemeldeten Benutzers, welche Inhalts- und Verwaltungswerkzeuge verfügbar sind.
Arbeitsbereiche
Die Navigation passt sich an die Sammlungen und installierten Plugins der Site an. Dies sind die Hauptbereiche, die ein Redakteur oder Administrator sehen kann:
| Bereich | Wofür er gedacht ist |
|---|---|
| Dashboard | Eine Startansicht mit Site- und Plugin-Widgets |
| Sammlungsnamen, z. B. Beiträge | Einträge auflisten, erstellen, bearbeiten, veröffentlichen und in den Papierkorb verschieben |
| Sammlungsgruppen | Einklappbare Ordner, die Sammlungen mit einer gemeinsamen Gruppe enthalten, sowie Taxonomien, die nur Sammlungen in diesem Ordner zugewiesen sind |
| Medien | Dateien hochladen, suchen, inspizieren, ersetzen und löschen |
| Taxonomien und Autoren | Inhalte organisieren und zugeschriebene Autoren verwalten |
| Menüs und Widget-Bereiche | Navigation und redaktionell gesteuerte Bereiche verwalten, die von der Site gerendert werden |
| Kommentare | Kommentare überprüfen und moderieren, wenn eine Sammlung sie aktiviert |
| Inhaltstypen | Sammlungen und Felder erstellen und deren Einstellungen ändern |
| Plugins | Plugins installieren, konfigurieren und von Plugins bereitgestellte Seiten öffnen |
| Einstellungen | Site, Authentifizierung, Backups, E-Mail, Suche und andere Dienste konfigurieren |
Diese Oberfläche verwaltet Daten und Konfiguration. Astro-Seiten und -Komponenten definieren weiterhin das öffentliche Layout. Das Hinzufügen eines Menüelements oder Widgets im Admin ändert die öffentliche Site nur, wenn eine Astro-Komponente dieses Menü oder diesen Widget-Bereich abfragt und rendert.
Inhaltseditor
Der Inhaltseditor erstellt sein Formular aus der ausgewählten Sammlung. Ein Kurztextfeld wird zu einer Texteingabe, ein portableText-Feld wird zum Rich-Text-Editor, ein Medienfeld öffnet die Medienauswahl, und ein Referenzfeld ermöglicht dem Redakteur die Auswahl eines anderen Eintrags. Sammlungseinstellungen fügen Veröffentlichungs-, Vorschau-, Revisions-, Kommentar- und Suchsteuerungen hinzu, wo zutreffend.
Der Rich-Text-Editor unterstützt Überschriften, Listen, Zitate, Code, Links, Bilder und registrierte benutzerdefinierte Blöcke. Wenn importierter Inhalt einen Block enthält, den der Editor nicht anzeigen kann, bewahrt EmDash den gespeicherten Block auf, anstatt ihn beim nächsten Speichern zu entfernen.
Speichern und Veröffentlichen sind separate Zustände für Sammlungen mit Entwürfen. Speichern speichert die aktuelle Arbeit als Entwurf. Veröffentlichen oder Änderungen veröffentlichen macht diese gespeicherte Version für öffentliche Abfragen verfügbar. Die Zeitplanung legt fest, wann ein Entwurf oder eine ausstehende Änderung öffentlich werden soll.
Wenn die Bearbeitungssperre für eine Sammlung aktiviert ist, hält das Öffnen eines Eintrags eine Sperre für diesen Redakteur. Andere Autoren werden abgelehnt, solange die Sperre aktiv ist, anstatt den Eintrag stillschweigend zu überschreiben. Wenn sich ein Eintrag ändert, nachdem ein Redakteur ihn geladen hat, verweigert EmDash auch das veraltete Speichern, damit der Redakteur die neuere Version laden kann, anstatt sie zu überschreiben.
Rollen und Berechtigungen
EmDash enthält fünf Rollen: Abonnent, Mitwirkender, Autor, Redakteur und Admin. Berechtigungen bauen sich mit steigender Rollenstufe auf, aber die Eigentümerschaft ist weiterhin für Inhalts- und Medienaktionen relevant. Beispielsweise können Autoren ihre eigenen Einträge bearbeiten und veröffentlichen, während Redakteure dies für jeden Eintrag tun können.
Verwaltungsbereiche haben separate Berechtigungsprüfungen:
- Redakteure können Taxonomien, Menüs, Autoren, Widgets, Abschnitte und Inhalte anderer Autoren verwalten.
- Admins können das Inhaltsmodell, Benutzer, Plugins, Weiterleitungen, Backups und Einstellungen ändern und können gelöschte Inhalte dauerhaft entfernen.
- Der Server prüft die Berechtigungen für jede Aktion. Das Ausblenden eines Navigationseintrags ist nicht die Sicherheitsgrenze.
Lesen Sie Authentifizierung und Benutzerrollen für die Kontoeinrichtung und die vollständigen Rollenbeschreibungen.
Medien
Die Medienbibliothek kann Dateien in einem Raster oder einer Liste anzeigen, suchen und filtern, Metadaten anzeigen und Mehrelement-Aktionen durchführen. Das Upload-Verhalten hängt vom konfigurierten Speicheradapter ab. Wenn der Adapter signierte Uploads unterstützt, sendet der Browser die Datei über eine kurzlebige signierte URL an den Speicher und bestätigt dann den abgeschlossenen Upload bei EmDash.
Das Löschen eines Medienelements kann Einträge beeinflussen, die darauf verweisen. Verwenden Sie die Mediennutzungsinformationen und Ersetzungswerkzeuge, bevor Sie ein auf öffentlichen Seiten verwendetes Asset entfernen. Siehe Medienbibliothek für die Upload-, Ersetzungs- und Lösch-Workflows.
Plugin-Oberflächen
Plugins können Dashboard-Widgets, Einstellungsabschnitte, Editor-Steuerungen oder vollständige Admin-Seiten hinzufügen. Eine Plugin-Seite wird unter der eigenen Admin-Route des Plugins eingebunden; sie kann keinen Kern-Admin-Bildschirm ersetzen. Das Plugin benötigt weiterhin serverseitige Berechtigungsprüfungen für jede geschützte Aktion, auch wenn der Admin-Link nur einer bestimmten Rolle angezeigt wird.
Lesen Sie Plugins installieren, um eine Erweiterung hinzuzufügen. Site-Entwickler, die eine Oberfläche erstellen, sollten die nativen Plugin-Admin-APIs verwenden, anstatt die Kern-Admin-Anwendung zu modifizieren.
Konfigurationsanforderungen
Das Admin ist eine React-Anwendung, daher muss das Astro-Projekt @astrojs/react, react und react-dom installieren und react() in astro.config.mjs registrieren. Die Site benötigt außerdem Server-Output, eine Datenbank und Medienspeicher. EmDash zu einem bestehenden Astro-Projekt hinzufügen zeigt die vollständige lokale Konfiguration.