Das Admin-Panel ist die Bearbeitungsoberfläche, die mit einer EmDash-Site geliefert wird. Es wird von der Astro-Anwendung unter /_emdash/admin/ bereitgestellt und verwendet dieselbe Datenbank, denselben Medienspeicher, dasselbe Content-Modell und dieselben Plugins wie die öffentlichen Seiten.
Der erste Besuch der Admin-Route einer neuen Site öffnet den Einrichtungsassistenten. Nach der Einrichtung bestimmen die Berechtigungen eines angemeldeten Benutzers, welche Inhalte 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 es 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 | Ausklappbare Ordner, die Sammlungen mit einer gemeinsamen Gruppe enthalten, plus Taxonomien, die nur Sammlungen in diesem Ordner zugewiesen sind |
| Medien | Dateien hochladen, suchen, inspizieren, ersetzen und löschen |
| Taxonomien und Bylines | Inhalte organisieren und gutgeschriebene Autoren verwalten |
| Menüs und Widget-Bereiche | Navigation und redakteurgesteuerte Regionen verwalten, die von der Site gerendert werden |
| Kommentare | Kommentare überprüfen und moderieren, wenn eine Sammlung sie aktiviert |
| Content Types | Sammlungen und Felder erstellen und ihre Einstellungen ändern |
| Plugins | Plugins installieren, konfigurieren und von Plugins bereitgestellte Seiten öffnen |
| Einstellungen | Site, Authentifizierung, Backups, Site-Transfer, 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üpunkts oder Widgets im Admin ändert die öffentliche Site nur, wenn eine Astro-Komponente dieses Menü oder diesen Widget-Bereich abfragt und rendert.
Content-Editor
Der Content-Editor erstellt sein Formular aus der ausgewählten Sammlung. Ein Kurztext-Feld wird zu einem Texteingabefeld, ein portableText-Feld wird zum Rich-Text-Editor, ein Medienfeld öffnet den Medien-Picker und ein Referenzfeld ermöglicht es dem Redakteur, einen anderen Eintrag auszuwählen. 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 importierte Inhalte einen Block enthalten, den der Editor nicht anzeigen kann, bewahrt EmDash den gespeicherten Block, 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 Planung zeichnet auf, 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, während die Sperre aktiv ist, anstatt den Eintrag stillschweigend zu überschreiben. Wenn sich ein Eintrag ändert, nachdem ein Redakteur ihn geladen hat, lehnt EmDash auch das veraltete Speichern ab, sodass der Redakteur die neuere Version neu laden kann, anstatt sie zu überschreiben.
Rollen und Berechtigungen
EmDash umfasst fünf Rollen: Abonnent, Mitwirkender, Autor, Redakteur und Admin. Die Berechtigungen bauen mit steigender Rollenstufe auf, aber das Eigentum ist immer noch wichtig für Inhalts- und Medienaktionen. 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, Bylines, Widgets, Sections und Inhalte von anderen Autoren verwalten.
- Admins können das Content-Modell, Benutzer, Plugins, Weiterleitungen, Backups und Einstellungen ändern, können die gesamte Site exportieren oder importieren und können gelöschte Inhalte dauerhaft löschen.
- Der Server prüft die Berechtigungen für jede Aktion. Das Ausblenden eines Navigationselements 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, sie suchen und filtern, Metadaten anzeigen und Multi-Item-Aktionen durchführen. Das Upload-Verhalten hängt vom konfigurierten Speicheradapter ab. Wenn der Adapter signierte Uploads unterstützt, sendet der Browser die Datei mit einer kurzlebigen signierten 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öschworkflows.
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 dieses Plugins gemountet; sie kann einen Core-Admin-Bildschirm nicht 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 Native-Plugin-Admin-APIs verwenden, anstatt die Core-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 auch Server-Output, eine Datenbank und Medienspeicher. EmDash zu einem bestehenden Astro-Projekt hinzufügen zeigt die vollständige lokale Konfiguration.