Netlify CMS Open Authoring

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich mag den Begriff „Git-backed CMS“. Dieser Begriff passt zu einem aufkommenden Stil von CMS, das wie jedes andere CMS aussieht und sich auch so verhält, mit einem faszinierenden Twist: Es speichert tatsächlich keine Daten für Sie. Diese CMS sind mit einem Git-Repository verbunden, in dem die Daten in flachen Dateien (z. B. Markdown) liegen. Sie bringen dem CMS bei, wo sich diese Dateien befinden und wie sie strukturiert sind. Dann, wenn Sie das CMS zum Erstellen, Bearbeiten und Löschen von Dingen verwenden, erfolgen diese Änderungen als Commits (oder Pull/Merge-Anfragen) gegen dieses Repository. Ziemlich cool.

Zum Beispiel kann CloudCannon dies speziell für gehostete Jekyll-Websites tun.

Aber mehr im Sinne von Indie Web / JAMstack gibt es Akteure wie Forestry und das, womit ich die meiste Erfahrung habe: Netlify CMS.

Ich werde eine Reihe von Screenshots mit Bildunterschriften machen, um den Punkt sehr deutlich zu machen.

Die fragliche Website ist unsere Serverless-Website. Sie ist zufällig Gatsby, aber wichtig ist, dass die Inhalte aus Markdown-Dateien in einem Git-Repository stammen.
Hier ist eine Beispiel-Markdown-Datei (mit Frontmatter) im Repository. Ich mag Markdown, aber ich würde ehrlich gesagt lieber mit Inhalten in einem GUI- CMS arbeiten. Der Grund, warum ich diesen Weg gewählt habe, ist, dass die Daten in einem Repository liegen, was bedeutet, dass ich inhaltsbezogene Pull-Anfragen erhalten kann.
Ich erhalte wirklich inhaltsbezogene Pull-Anfragen. Das ist die Magie. Genau das will ich.
Netlify CMS besteht im Grunde aus zwei Dateien. Einer index.html, die eine SPA-Oberfläche lädt, die buchstäblich alles leistet. Und einer Konfigurationsdatei, um sie über Ihre Inhalte zu informieren.
Mit Netlify CMS an Ort und Stelle habe ich meinen GUI- CMS -Wohlfühlort. Alle Änderungen, die hier vorgenommen werden, erscheinen als Commits im Repository.

OK OK OK. Was ist mit diesem „Open Authoring“-Ding?

Während ich schreibe, ist es eine Betafunktion.

Das Wichtigste ist: Ich kann Netlify CMS für meine Website verwenden. Mein Team kann es auch nutzen, da ich sie gezielt zum Repository einladen kann. Aber Sie, zufälliger Internetnutzer, können das nicht. Wenn Sie mir schreiben und mir sagen, dass Sie ein ehrenamtlicher Content-Manager für die Website sein möchten, dann vielleicht, okay, ich lade Sie ins Repository ein. (Wenn Sie Mitglied des Repositories sind, können Sie sich bei Netlify CMS anmelden, vorausgesetzt, Sie verwenden das GitHub-Backend, was die einzige Verbindung ist, mit der Open Authoring derzeit funktioniert.)

Aber es ist schade, dass zufällige Internetnutzer keine Pull-Anfragen zu Inhalten über Netlify CMS einreichen können. Das wäre viel einfacher als der manuelle Prozess des Forkens des Repositories und all dem Drumherum – obwohl, um fair zu sein, wenn man auf den kleinen Stift klickt, während man eine Markdown-Datei auf GitHub betrachtet und sie bearbeitet, wird der Prozess recht einfach, indem automatisch eine Pull-Anfrage geöffnet wird (aber es hilft Ihnen nicht, neue Inhalte hinzuzufügen oder Bilder hochzuladen oder so etwas).

Hier kommt Open Authoring ins Spiel. In meiner Netlify CMS-Konfiguration kann ich es im Grunde mit einer Zeile Konfiguration aktivieren. Sie erklären es gut

Sie können Netlify CMS verwenden, um Beiträge von GitHub-Benutzern zu akzeptieren, ohne ihnen Zugriff auf Ihr Repository zu gewähren. Wenn sie Änderungen im CMS vornehmen, forkt das CMS im Hintergrund Ihr Repository für sie, und alle Änderungen werden am Fork vorgenommen. Wenn der Mitwirkende bereit ist, seine Änderungen einzureichen, kann er seinen Entwurf im CMS als zur Überprüfung bereit markieren. Dies löst eine Pull-Anfrage an Ihr Repository aus, die Sie über die GitHub- UI zusammenführen können.

Hervorhebung von mir.

Möchten Sie die wahre Schönheit davon sehen? Jetzt können wir „Diese bearbeiten“-Buttons auf allen Inhalten platzieren, und wenn Sie darauf klicken, gelangen Sie direkt in Netlify CMS, um die Bearbeitung vorzunehmen. Es funktioniert, wenn Sie ich bin, mein Teammitglied oder Sie, zufällige Person aus dem Internet.

Das ist es, was ich mir immer gewünscht habe. Es macht die Website zu einem Wiki! Aber es gibt genug öffentliche Rechenschaftspflicht (sie müssen ein echtes GitHub-Konto verwenden), so dass ich mir keine Sorgen um Spam oder unhöfliches Verhalten machen müsste.