Ein detaillierter Vergleich von WordPress und Oktober CMS

Mein Name ist Pavel Lovtsevich, ich bin Mitbegründer und CTO des LOVATA-Webstudios. Eine der Hauptplattformen, auf denen wir Projekte für unsere Kunden entwickeln, ist das Oktober-CMS, mit dem wir seit fast 6 Jahren zusammenarbeiten.



Dieses CMS war seiner Zeit etwas voraus und gewann nicht sofort die wohlverdiente Popularität. In den letzten Jahren erlebte es jedoch eine Art Renaissance, wie die zahlreichen Hinweise darauf im englischsprachigen Entwicklungsumfeld belegen.



Um diese Welle mit dieser Übersetzung am Laufen zu halten, beginne ich eine Reihe von Artikeln über dieses wunderschöne CMS.




Viele suchen jetzt nach Alternativen zu WordPress. In diesem Artikel werden wir es mit dem Oktober-CMS vergleichen und die wichtigen Aspekte untersuchen, die bei der Suche nach dem richtigen CMS für Ihre Projekte zu berücksichtigen sind.



Vor drei Monaten (der ursprüngliche Artikel wurde im Frühjahr 2019 geschrieben ... Notizstifte) veröffentlichte WordPress den Gutenberg , um die Möglichkeit der standardmäßigen Bearbeitung von Inhalten zu erweitern. Dies veranlasste viele Menschen, die mit dieser Änderung unzufrieden waren , nach alternativen CMS zu suchen. Einige Benutzer haben sich für die Gabelung entschieden"Pre-Gutenberg" WordPress. Aber das macht nicht wirklich Sinn, da WordPress in den 15 Jahren seines Bestehens kolossale technische Schulden angehäuft hat. Wenn ich nach einer Alternative zu WordPress suchen würde, würde ich versuchen, eine ausgereifte Plattform zu finden, die auf moderner Technologie basiert.



In diesem Artikel werden wir WordPress mit einem ähnlichen, aber moderneren Oktober-CMS für viele technische und nichttechnische Parameter vergleichen. Das Ziel ist nicht, Sie davon zu überzeugen, WordPress zu verwenden oder zum Oktober-CMS zu wechseln. Ich werde versuchen, Ihnen zu zeigen, welche Kriterien beim Plattformwechsel zu beachten sind. Der gleiche Vergleich kann und sollte mit anderen Plattformen durchgeführt werden, bevor eine fundierte Entscheidung getroffen wird.



Warum Oktober CMS



Ich habe vom Oktober erfahren, als es das beste Flat-File-CMS von 2018 wurde. Danach habe ich angefangen, dieses Tool zu studieren und viel Zeit damit verbracht, mich sowohl aus Sicht des Benutzers als auch des Entwicklers damit zu beschäftigen. Ich erkannte bald, dass es ein sehr geeignetes Objekt zum Vergleich war. Ich habe es gewählt und keine alternativen Optionen wie Grav , Statamic , ButterCMS , Joomla , Drupal , Jekyll , Hugo usw. Und hier sind die Hauptgründe:



  • Ich habe herausgefunden, wie Oktober-CMS funktioniert (im Gegensatz zu Grav).
  • Es ist kostenlos und Open Source (im Gegensatz zu Statamic und ButterCMS);
  • Mit fünf Jahren kann es als relativ neu angesehen werden (im Gegensatz zu Joomla und Drupal);
  • Es enthält dynamische Inhaltsgenerierung und läuft in PHP (im Gegensatz zu Jekyll und Hugo).


Ich denke, Oktober ist eine gute Option, da er auf Laravel basiert , einem Framework, mit dem moderne Webanwendungen erstellt werden. In den sieben Jahren seines Bestehens hat es die Anerkennung von Entwicklern gewonnen, wie die große Gemeinschaft und das Ökosystem belegen. Die Entwicklung dieses Frameworks steht in deutlichem Kontrast zum Schreiben von Code für WordPress. Wenn es sich im letzteren Fall hauptsächlich um prozedurale Programmierung handelt, ist sie in Laravel eindeutig objektorientiert.



Was ist der Unterschied?



Im Folgenden werde ich WordPress und Oktober in verschiedenen Kategorien vergleichen und die Vor- und Nachteile der einzelnen Kategorien hervorheben. Aber ich werde keinen Gewinner auswählen, da dies nicht der Zweck des Artikels ist. Und auf jeden Fall gibt es kein "besseres" oder "bestes" CMS. Jeder von ihnen hat seine eigenen Stärken und Schwächen, wodurch er mehr oder weniger für eine bestimmte Aufgabe, ein bestimmtes Projekt, ein bestimmtes Unternehmen oder ein bestimmtes Team geeignet ist. Darüber hinaus kann es für ein Projekt nützlich sein, mehrere CMS zu verwenden, z. B. eines für die Datenverwaltung und eines für das Rendern von Seiten. Es liegt an Ihnen, zu entscheiden, welches der Dutzenden von Systemen für Ihre Aufgabe am besten geeignet ist.



In diesem Artikel können keine endgültigen Schlussfolgerungen gezogen werden, da wir hier eine von vielen Optionen in Betracht ziehen. Zum Beispiel können wir auch Vergleiche im Web finden, wie "WordPress gegen Drupal gegen Joomla", "WordPress gegen statische Site-Generatoren" oder sogar "WordPress gegen Medium". Da keiner dieser Artikel ein vollständiges Bild liefert, kann und sollte keiner dieser Vergleiche als endgültig angesehen werden. Also lasst uns vergleichen.



Philosophie und Zielgruppe



Es ist kein Zufall, dass fast jede dritte Website auf WordPress erstellt wird . Seit seiner Gründung hat es sich bemüht, so benutzerfreundlich wie möglich zu sein , und es hat sich gut geschlagen. WordPress beseitigte potenzielle Nutzungsschwierigkeiten für alle Benutzer, unabhängig von ihrem Bildungsstand oder technischen Hintergrund. Der Gründer von WordPress, Matt Mullenweg, vertrat die Ansicht, dass das WordPress-Motto „Demokratisierung von Veröffentlichungen“ für diese Ära Folgendes bedeutet:



"Menschen mit allen Hintergründen, Interessen und Fähigkeiten sollten Zugang zu Software haben, mit der sie sich im offenen Web ausdrücken und ihre Inhalte besitzen können."


WordPress ist für alle einfach zu bedienen und seine Inklusivität wird auf der Entwicklungsseite bestätigt: Sie können häufig Leute treffen, die keine Programmiererfahrung haben (wie Vermarkter, Designer, Blogger, Verkäufer usw.), die ihre Websites erfolgreich starten. WordPress ist benutzerzentriert und Benutzeranforderungen sind wichtiger als Entwickleranforderungen.



Oktober CMS hingegen konzentriert sich mehr auf den Entwickler, was seit der Veröffentlichung klar verstanden wurde :



„Oktober CMS stellt eine kühne, aber offensichtliche Hypothese auf: Kunden erstellen keine Websites, Entwickler jedoch. Die Rolle des Kunden besteht darin, die Site zu verwalten und ihre Geschäftsanforderungen zu erläutern. Der Webentwickler und die Branche selbst drehen sich darum, diese Faktoren zu vermitteln. "


Laut seinen Gründern besteht die Mission von CMS im Oktober darin, "zu beweisen, dass das Erstellen von Websites nicht sehr schwierig ist". Das auf Laravel basierende Oktober-CMS ist ein guter Ausgangspunkt für das Schreiben von wiederverwendbarem modularem Code. Sie können damit gut gestaltete Anwendungen entwickeln, die sich leicht anpassen und langfristig warten lassen. Solche Anwendungen können unterstützt und vollständig angepasst werden, ohne dass Problemumgehungen („Krücken“) verwendet werden müssen - genau das, was ernsthafte Programmierer anzieht.



Oktober CMS kann auch eine großartige Benutzererfahrung bieten, ist jedoch nicht so einfach und benutzerfreundlich wie WordPress. Benutzer müssen verstehen, wie bestimmte Funktionen funktionieren, bevor sie sie verwenden können. Um beispielsweise herauszufinden, wie ein Formular über ein Plugin eingebettet wird, müssen Sie ein langes Tutorial lesen, das komplizierter ist als die intuitive Drag & Drop-Funktion, die in mehreren WordPress- Formular-Plugins enthalten ist .



Installation



WordPress kann in fünf Minuten installiert werden , obwohl viele Leute bemerken, dass es unter Berücksichtigung aller Plugins normalerweise 15 Minuten oder länger dauert . Darüber hinaus bietet WordPress die Multisite- Funktion , mit der Sie ein Netzwerk aus mehreren virtuellen Standorten in einer einzigen Installation erstellen können. Mit dieser Funktion kann die Agentur die Websites mehrerer Kunden problemlos verwalten .



Die Installation von October CMS ist ebenfalls sehr einfach: Die Installation des Assistenten selbst dauert noch weniger als fünf Minuten. Wenn Sie sie über eine Konsoleninstallation installieren , ist sie sogar noch schneller. Letzteres kann durch einfaches Navigieren zum Zielverzeichnis und anschließendes Ausführen des Befehls erfolgen



curl -s https://octobercms.com/api/installer | php 


Danach müssen Sie die Datenbankkonfiguration eingeben, andernfalls verhält sie sich wie ein Flat-File-CMS. Sobald die Installation abgeschlossen ist, haben wir eine voll funktionsfähige Website, die jedoch vorerst einfach genug ist. Wenn Sie Zeit für die Installation und Konfiguration der erforderlichen Plugins hinzufügen, können Sie davon ausgehen, dass dies mindestens 15 Minuten dauert.



Bild



Sicherheit



Nicht jeder hält WordPress aufgrund der großen Anzahl ständig entdeckter Sicherheitslücken für sicher. Dies zwingt Benutzer dazu, das CMS selbst und alle installierten Plugins ständig zu aktualisieren, um Sicherheitsrisiken zu vermeiden. Zu den Hauptproblemen gehört die Unterstützung älterer PHP-Versionen, die von der PHP-Entwickler-Community nicht mehr unterstützt werden (WordPress unterstützt derzeit PHP 5.2.4, während die letzte vollständig unterstützte PHP- Version 5.6 ist). Dieses Problem sollte im April 2019 behoben werden, wenn WordPress offiziell PHP-Versionen 5.6 und höher unterstützt (das Problem wurde bereits behoben. - Ca. Transl.) .



Darüber hinaus liegt das Sicherheitsrisiko von WordPress nicht so sehr in seinen internen Problemen, sondern in seiner hohen Beliebtheit, die das System zu einem Ziel für Hacker macht. Dies funktioniert jedoch auch umgekehrt: Die Allgegenwart von WordPress bedeutet, dass das Sicherheitsteam seine Arbeit ernst nehmen und ständig nach Schwachstellen suchen und diese beheben muss, da sonst bis zu einem Drittel der Websites im Internet gefährdet sind. Die Einsätze sind zu hoch.



Im Gegensatz dazu hat Oktober CMS keine Probleme mit der Reputationssicherheit. Da jedoch im Oktober nur 27.000 aktive Standorte erstellt wurden(im Vergleich zu Millionen in WordPress) können wir nicht beide Systeme gleich bewerten. Das CMS-Entwicklungsteam im Oktober nimmt die Sicherheit jedoch ernst. Dies wird durch den Wert der Eingabeaufforderung des Assistenten zur Installation der CMS-Backend-URL belegt, die standardmäßig auf / backend festgelegt ist, jedoch in eine andere geändert werden kann, um Hackern die Navigation auf der Site zu erschweren. Das Ändern der WordPress-Anmelde- und Backend-URLs von /wp-login.php bzw. / wp-admin ist dagegen nur über ein Plugin möglich . Darüber hinaus kann das Oktober-CMS als Flat-File-CMS (d. H. Keine Datenbank) fungieren und datenbankbezogene Schwachstellen wie SQL-Injection vermeiden.



Technologie-Stack



Sowohl WordPress als auch October CMS arbeiten im traditionellen LAMP-Stack: Linux, Apache, MySQL und PHP. Es ist jedoch nur PHP erforderlich: Sie können auch Windows, Nginx, MariaDB usw. verwenden. Oktober-CMS kann sich wie ein Flat-File-CMS verhalten, dh es kann auf eine Datenbank verzichten, was jedoch die Funktionalität beeinträchtigt (z. B. verschwinden Blog-Beiträge). ... Das einzige, was garantiert bleibt, ist die Funktionalität der Seiten, die als Grundlage für die Erstellung und Veröffentlichung von Inhalten gilt und als Hauptfunktion fungiert.



In Bezug auf den Sprachstapel basieren Websites, die mit WordPress und dem Oktober-CMS erstellt wurden, auf HTML, CSS und JavaScript (beachten Sie, dass PHP zum Generieren von HTML verwendet wird). Oktober CMS macht es auch einfach, LESS- und SASS-Dateien zu verwenden .



Das Programmierparadigma



WordPress verwendet das Prinzip der funktionalen Programmierung , basierend auf der Berechnung durch Aufrufen einer Funktion, die keinen Anwendungsstatus hat. Trotz der Tatsache, dass WordPress-Entwickler sich nicht an die funktionale Programmierung halten müssen (zum Beispiel um ihre Themen und Plugins zu codieren), ging dieses Paradigma zum Hauptsystemcode, um die Kompatibilität mit früheren Versionen für 15 Jahre aufrechtzuerhalten. Dies war eine der Säulen des Erfolgs von WordPress, führt jedoch zu einem Anstieg der technischen Schulden .



Auf der anderen Seite verwendet das Oktober-CMS ein zwingendes Programmierparadigmabasierend auf der Berechnung durch Manipulieren des Zustands von Objekten. Oktober CMS basiert auf Laravel, einem Framework, das vollständig auf den Prinzipien der objektorientierten Programmierung basiert . Mit diesen Prinzipien können Sie modulare Anwendungen erstellen, die auf den Konzepten von Model-View-Controller basieren , um die Benutzeroberfläche von den Anwendungsdaten zu entkoppeln, Dependency Injection , um Klassenabhängigkeiten einzurichten , und die Schnittstelle entkoppeln , um die vom Framework bereitgestellten Kerndienste zu definieren .



Haken



Das Programmieren in WordPress kann als "Hook-Entwicklung" bezeichnet werden. Ein Hook ist ein Mechanismus, mit dem Sie ein Verhalten oder einen Standardwert ändern und anderen Code die entsprechende Funktion ausführen können. Hooks werden durch "Aktionen" ausgelöst, mit denen Sie zusätzliche Funktionen ausführen können, und durch "Filter", mit denen Sie Werte ändern können.



Hooks, die in der WordPress-Codebasis weit verbreitet sind, sind einer meiner Lieblingsaspekte bei der WordPress-Programmierung. Sie ermöglichen Plugins die Interaktion untereinander, mit dem Kernel oder dem Thema und bieten grundlegende Unterstützung für die aspektorientierte Programmierung .



Die gute Nachricht ist, dass Laravel (und damit das Oktober-CMS) auch das Konzept der sogenannten Hooks unterstützt"Ereignisse" . Sie bieten eine einfache Implementierung des Konzepts eines Beobachters, sodass Ihr Code Ereignisse abonnieren und abhören kann, die in Ihrer Anwendung auftreten, um bei Bedarf zu reagieren. Mit Ereignissen können Sie komplexe Funktionen in Komponenten aufteilen, die Sie unabhängig voneinander installieren können. Auf diese Weise interagieren sie miteinander, sodass Sie modulare Anwendungen erstellen können.



Abhängigkeit von JavaScript-Bibliotheken



Die neueste Version von WordPress enthält standardmäßig React.js-basiertes Gutenberg zum Erstellen von Inhalten. Folglich basiert die WordPress-Entwicklung jetzt hauptsächlich auf JavaScript (hauptsächlich über React ). Obwohl es möglich ist, andere Frameworks und Bibliotheken zu verwenden, wie die auf Marionette basierenden Elementorblöcke für Gutenberg belegen . Darüber hinaus basiert WordPress weiterhin auf Backbone.js (für Media Manager) und jQuery (Legacy-Code). Es wird jedoch erwartet, dass die Abhängigkeit von diesen Bibliotheken verschwindet, wenn Gutenberg zum neuen Standard wird. Oktober CMS hängt von jQuery ab, mit dem es sein optionales implementiert







AJAX- Framework zum Herunterladen von Daten von einem Server ohne Aktualisierung der Browserseite.



Seiten, Themen, Plugins



Sowohl WordPress als auch October CMS betrachten die Seite als Grundeinheit zum Erstellen und Veröffentlichen von Inhalten (im Fall von WordPress zusätzlich zu Posts). Beide unterstützen das Ändern des Erscheinungsbilds Ihrer Website mithilfe von Themen und ermöglichen die Installation und Erweiterung von Funktionen mithilfe von Plugins.



Obwohl die Konzepte in beiden CMS gleich sind, gibt es einige Implementierungsunterschiede. Infolgedessen verhalten sie sich etwas anders.



In WordPress werden Seiten als Inhalt definiert und in einer Datenbank gespeichert. Daher kann der Seiteninhalt nur über das CMS erstellt werden (z. B. im Admin-Bereich). Durch das Wechseln von einem Thema zu einem anderen wird die vorhandene Seite nicht unzugänglich. Dank dessen ist der gesamte Prozess ziemlich reibungslos.



Im Oktober hingegen sind CMS statische Dateien, die im Themenverzeichnis gespeichert sind. Der Vorteil dieser Architekturlösung besteht darin, dass der Seiteninhalt aus einer externen Anwendung wie Texteditoren wie Sublime oder Visual Studio Code erstellt werden kann . Wenn Sie dagegen von einem Thema zu einem anderen wechseln, müssen Sie die Seiten manuell von der aktuellen Seite neu erstellen oder in das neue Thema kopieren, da sie sonst verschwinden.



Es ist wichtig zu beachten , dass der Oktober CMS ermöglicht Seite Routing. Daher werden Seiten nicht nur als Container für Inhalte, sondern auch für Funktionen verwendet. Ein Blogging-Plugin hängt beispielsweise von einer Seite ab, auf der eine Liste von Blog-Posts unter einer ausgewählten URL angezeigt wird, von einer anderen Seite, auf der ein Blog-Post unter einer anderen ausgewählten URL angezeigt wird, und so weiter. Wenn eine dieser Seiten verschwindet, ist die zugehörige Funktionalität des Plugins nicht mehr verfügbar und diese URL löst einen 404-Fehler aus. Daher trennt Oktober CMS Themen und CMS-Plugins nicht vollständig und wechselt Themen sorgfältig.



Bild



Out-of-the-Box-Funktionalität und Plugins



WordPress bietet nur minimale Grundfunktionen, die mit Plugins erweitert werden können . Es hält sich an die 80-20-Regel , um zu entscheiden, ob bestimmte Funktionen in seinen Kern aufgenommen werden sollen oder nicht.



Wenn sie 80% der Benutzer zugute kommen, werden sie einbezogen, andernfalls werden sie über Plugins implementiert. Wenn Plugins auf einer Website installiert werden, können sie zum Aufblähen des Codes führenwenn zu viele installiert sind. Plugins können auch schlecht miteinander arbeiten, ähnlichen Code ausführen oder ähnliche Ressourcen laden, was zu einer nicht optimalen Leistung führt. Während das Starten einer WordPress-Site relativ einfach ist, ist es daher eine größere Herausforderung, sie zu warten und in einem optimalen und leistungsfähigen Zustand zu halten, wenn neue Funktionen hinzugefügt werden.



Bild



Oktober CMS versucht auch, eine minimale Kernfunktionalität anzubieten. Auch zu viel: Die einzige garantierte Funktion ist die Erstellung und Veröffentlichung von Seiten. Für alles andere müssen wir eines der Plugins installieren. Mit anderen Worten, es gibt alles, was Sie brauchen, und nichts weiter.



Das Ziel ist klar: Die meisten einfachen Websites bestehen nur aus Seiten, möglicherweise auch ohne Blog-Beiträge, Benutzer oder Autorisierung. Warum sollte eine Anwendung Ressourcen für sie laden, wenn sie nicht benötigt werden? Infolgedessen stehen Funktionen für das Bloggen , die Benutzerverwaltung , die Übersetzung und einige andere Funktionen über den offiziellen Marktplatz zur Verfügung .



Bild



Oktober CMS enthält auch einige Funktionen, die (obwohl nicht immer erforderlich) die Anwendung erheblich verbessern können. Beispielsweise bietet es integrierte Unterstützung für das Hochladen von Mediendateien auf Amazon S3 und den Zugriff auf diese über CDN Rackspace. Es hat auch Media Manager, der hauptsächlich über Plugins verwendet wird, um beispielsweise Bilder zum Blog hinzuzufügen. Seiten können den Medienmanager auch zum Einbetten von Mediendateien verwenden. Das CMS verfügt jedoch über einen Abschnitt "Assets" zum Laden von Mediendateien, was praktischer erscheint.



Es scheint mir, dass Sie mit October CMS die einfachsten Anwendungen erstellen können, hauptsächlich für einfache Websites. Aber es kann unangenehme Folgen haben. Dies kann zu einem Aufblähen des Codes führen, da die Grenze zwischen dem, was benötigt wird und dem, was nicht, sehr dünn und im Voraus im CMS schwer zu bestimmen ist.



Dies ist leicht zu spüren, wenn wir uns das Konzept des "Benutzers" ansehen: In WordPress gehören Benutzer und Site-Administratoren derselben Benutzerentität an (und wir können einen Benutzer durch Rollen und Berechtigungen zum Administrator machen). Im Oktober CMS werden diese beiden Konzepte separat implementiert: Es ist eine sofort einsatzbereite Administratorfunktion verfügbar, mit der Sie sich im Admin-Bereich anmelden und Einstellungen ändern können, während registrierte Benutzer über ein separates Plug-In implementiert werden. Diese beiden Benutzertypen haben unterschiedliche Anmeldevorgänge und unterschiedliche Datenbanktabellen zum Speichern von Daten. Daher wird möglicherweise das DRY-Prinzip (wiederholen Sie sich nicht) verletzt.



Dieses Problem tritt nicht nur in Bezug auf das Verhalten der Entität auf, sondern auch in den Datenfeldern, die sie enthalten sollte. Sollten beispielsweise Benutzerdatenfelder auf einer Site vordefiniert sein? Ist ein Feld mit einer Telefonnummer erforderlich? Und das Instagram-URL-Feld, wenn man bedenkt, dass Instagram in letzter Zeit sehr beliebt geworden ist? Sollten wir beim Erstellen einer professionellen Website nicht die LinkedIn-Box anstelle von Instagram verwenden? Diese Entscheidungen sind eindeutig situationsabhängig und können weder vom CMS noch vom Plugin getroffen werden.



Ein Oktober-CMS-Plugin namens User implementiert das Benutzersystem, jedoch ohne benutzerdefinierte Felder. Das User Plus-Plugin fügt einige zusätzliche benutzerdefinierte Felder hinzu. Wenn sie nicht ausreichen, gibt es ein User Plus + -Plugin, das noch mehr benutzerdefinierte Felder hinzufügt. Wann ist es Zeit aufzuhören?(Wir bei LOVATA haben unser eigenes Plugin entwickelt Buddies , die dieses Problem gelöst und ermöglicht es Ihnen , eine beliebige Anzahl von beliebigen benutzerdefinierten Feldern zu schaffen -... Ca. Transl)



Ein weiteres Problem - wenn es kein Ort , um neue Funktionen zu einer Einheit hinzuzufügen, führt dies zur Schaffung eines anderen, sehr ähnliches Objekt , einfach um die erforderlichen Funktionen zu unterstützen. Beispielsweise verfügt Oktober CMS über eine Standardfunktion zum Erstellen von Seiten, und Sie können statische Seiten auch über ein Plugin erstellen. Ihre Essenz ist dieselbe: Sowohl Seiten als auch statische Seiten werden als statische Dateien gespeichert. Das einzige, was sie unterscheidet (soweit ich das verstehe), ist, dass statische Seiten mit einem visuellen Editor anstelle eines HTML-Editors bearbeitet und dem Menü hinzugefügt werden können. Es scheint mir, dass nur strukturelle Unterschiede, wie das Speichern eines Objekts als statische Datei und eines anderen in der Datenbank, die Erstellung eines zusätzlichen Objekts für die Seite erklären können (es gibt eine Pull-Anforderung dafür ), aber für die einfache Funktionalität, die wir jetzt haben, führt dies zum Aufblähen Code.



So können Sie mit October CMS Webanwendungen auf sehr schlanke und effiziente Weise erstellen, indem Sie beispielsweise die Datenbank löschen, wenn Sie sie nicht benötigen. Die Anwendung kann jedoch auch zu aufgebläht werden, da Entwickler gezwungen sind, mehrere Lösungen für ähnliche Objekte zu implementieren, was die Verwendung erschweren kann ("Muss ich eine Seite oder eine statische Seite verwenden?").



Da weder WordPress noch Oktober CMS die perfekte Lösung gefunden haben, um Aufblähen zu vermeiden, muss jede Anwendungsarchitektur sorgfältig entworfen werden, um zukünftige Probleme zu vermeiden.



Inhaltserstellung



Gutenberg bringt zwei Neuerungen in WordPress: Es verwendet Komponenten als Entität zum Erstellen von Websites, was gegenüber der HTML-Blob-Codierung mehrere Vorteile bietet , und führt eine neue Entität namens "Block" ein, die nach Abschluss der Gutenberg-Phase 2 im Jahr 2019 (bereits implementiert) Anmerkung übersetzen.) . Er bietet eine einheitliche Möglichkeit, Inhalte in die Website aufzunehmen, was die Arbeit des Benutzers im Vergleich zum chaotischen Prozess des Hinzufügens von Inhalten mithilfe von Shortcodes, TinyMCE, Menüs, Widgets usw. vereinfacht.



Bild



Da Gutenberg-Blöcke statischen HTML-Code als Teil von Blog-Posts erstellen und speichern können, führt die Installation mehrerer Gutenberg-Blöcke nicht unbedingt dazu, dass der Code auf der Site auf der Benutzerseite aufgebläht wird. Dies kann auf Unannehmlichkeiten für den Administrator beschränkt sein. Daher kann Gutenberg als ein guter Ansatz zum modularen Erstellen von Websites mit einer einfachen, aber leistungsstarken Benutzeroberfläche zum Erstellen von Inhalten angesehen werden. Der vielleicht größte Nachteil ist die Notwendigkeit, React zu lernen, was nicht sehr einfach ist .



Wenn die Haupteinheit der Inhaltserstellung in WordPress React-Komponenten sind, basiert das CMS im Oktober auf der Idee, dass gutes altes HTML ausreicht, um Websites zu erstellen. Tatsächlich arbeiten wir beim Erstellen einer Seite mit einem normalen HTML-Editor (Markup).



Bild



Wenn die Seite rein statisches HTML wäre, wäre kein CMS erforderlich. Die Seiten im Oktober CMS werden jedoch mit Twig- Vorlagen geschrieben , die zu einfachem, optimiertem PHP-Code kompiliert werden. Sie können auf den Layouts (Layouts) basieren , die sich wiederholende Elemente wie Kopf- und Fußzeile enthalten, Platzhalter (Platzhalter) verursachen, die im Layout definiert sind, um die Inhaltseinstellungen auf der Seite zu ermöglichen, und können auch Parshely (Partials) enthalten Entitäten sind wiederverwendbare Codeteile.



Darüber hinaus können Seiten Inhaltsblöcke enthalten .(Inhalt): Text-, HTML- oder Markdown-Dateien, die separat bearbeitet werden können. Sie können auch Komponenten enthalten , deren Funktionalität mithilfe von Plugins implementiert wird. Wenn HTML nicht ausreicht und wir dynamischen Code erstellen müssen, können PHP-Funktionen hinzugefügt werden .



Der gesamte Editor ist HTML. Mit TinyMCE gibt es keine Textfelder für die visuelle Bearbeitung von Inhalten - zumindest nicht über die Standardoberfläche (diese Funktionalität wurde den Plugins überlassen). Daher können wir sagen, dass Sie HTML kennen müssen, um Oktober CMS verwenden zu können. Darüber hinaus können verschiedene Optionen zum Erstellen von Inhalten (Seiten, Layouts, Platzhalter, Parsels, Inhaltsblöcke, Komponenten und PHP-Funktionen) sehr effektiv sein. Die Arbeit mit ihnen ist jedoch nicht so einfach wie die Verwendung der einheitlichen WordPress-Blockoberfläche. Die Dinge können noch komplizierter werden, wenn Sie andere Elemente hinzufügen, z. B. statische Seiten und Menüs oder Snippets... Einige von ihnen, wie Seiten und statische Seiten, scheinen dieselbe Funktionalität zu haben, was es schwierig macht, zu entscheiden, was wann verwendet werden soll.



Ich denke, dass fast jeder eine WordPress-Site verwalten kann. Das Oktober-CMS ist jedoch für Entwickler bequemer als für Benutzer ohne technischen Hintergrund. Daher mögen es Programmierer vielleicht, aber Leute aus anderen Bereichen finden die Benutzeroberfläche möglicherweise nicht intuitiv.



Medien-Manager



Sowohl WordPress als auch October CMS verfügen über einen Medienmanager, mit dem Sie mühelos Mediendateien zu Ihrer Site hinzufügen, das Hinzufügen mehrerer Dateien gleichzeitig per Drag & Drop unterstützen und Bilder im Inhaltsbereich anzeigen können. Sie sehen und verhalten sich ziemlich gleich: Der einzige deutliche Unterschied, den ich bemerkt habe, ist, dass Sie mit dem Media Manager für WordPress Bildergalerien einbetten können, während Sie mit dem Media Manager für das Oktober-CMS die Ordnerstruktur manuell erstellen können, in der die hochgeladenen Dateien gehostet werden.



Bild



Seit dem Aufkommen von Gutenberg haben sich die Medienfunktionen von WordPress erheblich erweitert: Im Gegensatz zum TinyMCE-Editor, der nur eine ungenaue Version des Erscheinungsbilds auf der Website bietet, können Sie jetzt Videos, Bilder und Fotogalerien einbetten. Sie haben auch interessante, aber benutzerfreundliche Funktionen hinzugefügt, die in diesem Video gezeigt werden .



Internationalisierung



Der WordPress-Kern verwendet gettext, um die Übersetzung von Themen und Plugins zu ermöglichen . Beginnend mit einer .pot-Datei, die alle zu übersetzenden Zeichenfolgen enthält, müssen wir eine .po-Datei erstellen, die ihre Übersetzung in die entsprechende Sprache enthält. Diese Datei wird dann in eine binäre .mo-Datei kompiliert, die zum schnellen Extrahieren von Übersetzungen geeignet ist. Zu den Tools für diese Aufgaben gehören GlotPress (online) und Poedit (herunterladbare Anwendung). Praktischerweise funktioniert dieser Mechanismus auch bei der clientseitigen Lokalisierung für Gutenberg.



Bild



WordPress hat jetzt keine zentralen Lösungen für die Übersetzung von Inhalten und wird diese erst in der vierten Phase von Gutenberg anbieten(geplant für 2020 oder später). Diese Funktionalität wird vorerst von Plugins bereitgestellt, die unterschiedliche Strategien zum Speichern und Verwalten von übersetzten Inhalten bieten. Beispielsweise speichern Plugins wie Polylang und WPML jede Übersetzung in einer separaten Zeile aus einer Benutzerdatenbanktabelle. Dies ist praktisch, da der Inhalt nicht gemischt wird, sondern langsamer arbeitet, da beim Abfragen der Datenbank zusätzliche interne Verknüpfungen von zwei Tabellen erforderlich sind. Das qTranslate X- Plugin speichert alle Übersetzungen in einem Feld aus der Quelldatenbanktabelle. Auf diese Weise werden Daten schneller angefordert, aber aufgrund des Mischens von Inhalten kann die Site beschädigt werden, wenn Sie das Plugin deaktivieren. Es bleibt uns überlassen, eine Strategie zu wählen, die unseren Anforderungen am besten entspricht.



Oktober CMS unterstützt Mehrsprachigkeit nicht über den Kern, sondern über ein Plugin, das vom internen Team erstellt wurde . Dieses Plugin garantiert eine fehlerfreie Integration in das System. Aus funktionaler Sicht macht es seinen Job, aber aus entwicklungspolitischer Sicht ist das Plugin nicht ganz perfekt.



In WordPress ist eine Seite nur ein Beitrag mit einem Beitragstyp von Seite, und es gibt einen einzigen Übersetzungsmechanismus für sie. Das Oktober-CMS verfügt über Objekte "Seite", "statische Seite" und "Blog-Post". Obwohl sehr ähnlich, erfordern sie drei verschiedene Übersetzungen! Der Seiteninhalt kann Nachrichtencodes enthalten (z. B. Codes mit dem Namen nav.content, header.title usw.), von denen jeder seine eigenen Übersetzungen für alle Gebietsschemas als serialisiertes JSON-Objekt in der Datenbanktabelle rainlab_translate_messages enthält.



Der Inhalt der „statischen Seite“ wird in einer neuen statischen Datei für jedes Gebietsschema erstellt, obwohl alle übersetzten URLs für alle Gebietsschemas nicht in der entsprechenden Datei, sondern in der Standardsprachendatei gespeichert sind.



Der Inhalt des Blogposts wird als serialisiertes JSON-Objekt mit einer Zeile pro Gebietsschema in der Datenbanktabelle rainlab_translate_attributes gespeichert, und die übersetzte URL wird mit einer Zeile pro Gebietsschema in der Datenbanktabelle rainlab_translate_indexes gespeichert.



Ich weiß nicht, ob diese Komplexität mit der Implementierung des Plug-Ins oder der CMS-Architektur im Oktober zusammenhängt. In jedem Fall ist dies ein weiteres Beispiel für unerwünschtes Aufblähen von Code in der Entwicklung.



Plugin-Verwaltung



Sowohl WordPress als auch October CMS bieten einen erweiterten Plugin-Manager, mit dem Sie neue Plugins finden, installieren und zuvor installierte Plugins auf die neueste Version aktualisieren können - alles über ein Backend.



Bild



Abhängigkeitsmanagement



Oktober CMS verwendet Composer als Paketmanager, sodass Plugins ihre Abhängigkeiten bei der Installation herunterladen und installieren können, um eine reibungslose Entwicklung zu gewährleisten.



Im Gegensatz dazu hat WordPress Composer nicht offiziell implementiert (wie jeder andere PHP-Abhängigkeitsmanager), da es keine Einigung darüber gibt, ob eine WordPress- Site oder ihre Abhängigkeit besteht . Wenn sie Composer für Projekte benötigen , müssen Entwickler ihn daher selbst hinzufügen .



Mit der Umstellung auf Gutenberg wurde NPM zum bevorzugten JavaScript-Abhängigkeitsmanager, beliebte Entwicklertools hängen davon ab und Client-Bibliotheken werden ständig als eigenständige Pakete veröffentlichtin der NPM-Registrierung .



Datenbankinteraktion



WordPress bietet Funktionen zum Abrufen und Speichern von Daten aus der Datenbank (z. B. get_posts) und zum Speichern (z. B. wp_insert_post und wp_update_post). Beim Abrufen von Daten können wir Parameter übergeben, um die Ergebnisse zu filtern, einzuschränken und zu ordnen, um anzugeben, ob das Ergebnis als Instanz einer Klasse oder als Array von Eigenschaften usw. übergeben werden soll. Wenn eine Funktion unsere Anforderungen nicht vollständig erfüllt (z. B. wenn INNER erforderlich ist) Mit einer benutzerdefinierten Tabelle verbinden) können wir die Datenbank direkt über die globale Variable $ wpdb abfragen. Beim Erstellen eines Plugins mit einem benutzerdefinierten Beitragstyp führt der Code höchstwahrscheinlich benutzerdefinierte SQL-Abfragen aus, um Daten in benutzerdefinierten Tabellen abzurufen und / oder zu speichern.Daher versucht WordPress, den Zugriff auf die Datenbank über gemeinsame Funktionen in der ersten Stufe und den Zugriff auf die Datenbank auf niedriger Ebene in der zweiten Stufe bereitzustellen.



Im Oktober verwendet CMS einen anderen Ansatz: Anstatt eine direkte Verbindung zu einer Datenbankanwendung herzustellen, wird mithilfe des Eloquent ORM von Laravel auf die Daten in der Datenbank zugegriffen und diese mithilfe von Klasseninstanzen (Modellen) bearbeitet. Dank dessen sollte die Interaktion mit der Datenbank auch auf den Prinzipien der objektorientierten Programmierung basieren. Dies ist ein Zugriff auf hoher Ebene. Das Plugin kann Daten abrufen und / oder speichern, ohne eine SQL-Zeichenfolge zu schreiben. Es folgt einfach den Regeln zum Erstellen von Tabellen und zum Herstellen von Beziehungen zwischen Objekten . Mit dem folgenden Code wird beispielsweise ein Objekt über das Flugmodell aus der Datenbank abgerufen, die Eigenschaft geändert und erneut gespeichert.



$flight = Flight::find(1);
$flight->name = 'Darwin to Adelaide';
$flight->save();




Aktualisieren des Datenmodells



Ein weiterer Grund für den Erfolg von WordPress (abgesehen davon, dass die Abwärtskompatibilität nicht beeinträchtigt wurde) war die Architektur seiner Datenbank.... Es wurde entwickelt, damit Anwendungen im Laufe der Zeit wachsen können. Dieses Ziel wird durch Meta-Eigenschaften erreicht, dh Eigenschaften, die dem Datenbankobjekt jederzeit frei hinzugefügt werden können. Diese Eigenschaften werden nicht in einer Spalte der entsprechenden Objekttabelle (wp_posts, wp_users, wp_comments oder wp_terms) gespeichert, sondern als Zeile in der entsprechenden Metatabelle (wp_postmeta, wp_usermeta, wp_commentmeta oder wp_termmeta) und mit einem INNER JOIN abgerufen. Während das Abrufen dieser Metawerte langsamer ist, bieten sie Flexibilität. Das heißt, das Anwendungsdatenmodell muss die Architektur selten von Grund auf neu erstellen, um einige neue Funktionen zu implementieren.



Bild



Oktober CMS verwendet keine Meta-Eigenschaften, kann jedoch mehrere beliebige Werte speichern. Sie werden nicht wie ein serialisiertes JSON-Objekt direkt als Spalten in Datenbanktabellen angezeigt . Andernfalls müssen wir, wenn das Objekt eine neue Eigenschaft benötigt, der entsprechenden Tabelle eine neue Spalte hinzufügen (dies verwendet die zuvor erwähnten Plugins User Plus und User Plus + ). Um das Datenbankschema der Anwendung zu aktualisieren, stützt sich October CMS auf Laravel- Migrationen. Hierbei handelt es sich um Anweisungen, die dem Schema folgen (z. B. Hinzufügen oder Entfernen einer Spalte, Umbenennen eines Index usw.). Sie werden ausgeführt, wenn die Software aktualisiert wird, beispielsweise wenn eine neue Version eines Plugins installiert ist.



Kopflose Fähigkeiten



Sowohl WordPress als auch October CMS können autonom verwendet werden. Das heißt, wir können CMS als ein Content-Management-System betrachten, das Inhalte über die API zugänglich macht, es Ihnen ermöglicht, die Website auf der Clientseite anzuzeigen und andere Anwendungen, beispielsweise mobile, zu unterstützen. In der Tat hat sich WordPress stetig in Richtung kopflos bewegt, da der Gutenberg-Inhaltseditor selbst WordPress als kopfloses CMS betrachtet. Infolgedessen kann Gutenberg auch mit jedem anderen CMS arbeiten, wie im Beispiel von Drupal Gutenberg zu sehen ist (Es gibt bereits eine Implementierung von Gutenberg für Oktober-CMS . - Anmerkung übersetzt) .



Das Headless-System muss eine Art API implementieren, um Daten zurückzugeben, z. B. REST oder GraphQL. WordPress unterstützt REST über die WP REST-API und stellt Endpunkte entlang der vordefinierten Route bereit / wp-json / wp / v2 / ...; Oktober CMS unterstützt REST über RESTful- Plugins und API-Generator , mit denen Sie benutzerdefinierte Endpunkte erstellen und somit die Versionskontrolle als Teil der Endpunkt-URL unterstützen und einen besseren Schutz gegen Bots bieten können. WordPress unterstützt auch GraphQL über WPGraphQL , aber Oktober CMS hat keine Implementierungen.



Wichtig ist, dass ein Headless-System effektive Content-Management-Funktionen bietet. Wie bereits erwähnt, verfügt WordPress über eine robuste Datenbankarchitektur, die viele Datenobjekte bietet (Benutzer, Beiträge und Benutzerbeiträge, Seiten, Kategorien, Tags und benutzerdefinierte Taxonomien, Kommentare). Sie können verwendet werden, um die Anwendung gut zu modellieren, Metaeigenschaften zum Erweitern dieser Datenobjekte (wodurch die Anwendung ihr Datenmodell entsprechend und ohne wesentliche Änderungen aktualisieren kann) und das Plugin Erweiterte benutzerdefinierte Felder zu verwenden, um die Lücke beim Aufbau von Beziehungen zwischen Datenobjekten zu schließen. Darüber hinaus ermöglicht das VersionPress- Plugin die Versionskontrolle von Datenbankinhalten mit Git. Das heißt, WordPressgut für das Content Management.



Oktober CMS kann eine Datenbank ausschließen und sich wie ein Flat-File-System verhalten oder eine Datenbank haben und sich wie ein Hybrid verhalten und Seiteninhalte als statische Dateien und Blog-Beiträge in der Datenbank speichern. Daher sind Inhalte nicht zentralisiert und benötigen einen anderen Ansatz, um sie zu verwalten. Obwohl wir Git zum Steuern von Seitenversionen verwenden können, gibt es in der Datenbank per se keine Unterstützung für die Versionskontrolle. Die Lösung für dieses Problem besteht darin, die Daten über die Seiten einzugebenDieser Code kann bei der Bereitstellung versioniert und ausgeführt werden. Darüber hinaus bietet Oktober CMS kein integriertes Datenbankmodell mit vordefinierten Datenobjekten, die die Anforderungen der meisten Anwendungen erfüllen würden. Um das Datenmodell zu implementieren , muss die Anwendung daher höchstwahrscheinlich individuell entwickelt werden, was mehr Arbeit bedeutet. Auf der anderen Seite kann es effizienter sein (z. B. ist der Zugriff auf eine Eigenschaft aus einer Spalte schneller als aus einer Zeile in einer anderen Tabelle mit INNER JOIN in WordPress-Metaeigenschaften).



CLI-Unterstützung



Sowohl WordPress als auch October CMS können über die Konsole über die Befehlszeilenschnittstelle (Command Line Interface, CLI) interagiert werden: In WordPress erfolgt dies über die WP-CLI und im Oktober über den Artisan von Laravel. Zusätzlich zu den Laravel-Befehlen implementiert October CMS mehrere eigene Befehle zum Aktualisieren des Systems, Verschieben der Datenbank usw. Mit diesen Tools ist es sehr bequem, beispielsweise zum Testen außerhalb des Browsers auf die Site zuzugreifen.



Hosting



Es ist kein Problem, einen Hosting-Anbieter für Ihre WordPress-Site zu finden. Angesichts des Marktanteils von WordPress gibt es Dutzende, wenn nicht Hunderte von Anbietern, die miteinander konkurrieren. Dies ist ein sehr dynamischer Markt. Das einzige Problem besteht darin, anhand aller Angebote den am besten geeigneten Anbieter für eine bestimmte Website zu finden. Schließlich können sie in Preis, Qualität, Typ, Bandbreite und Speicherkapazität, Kundensupport, Standort, Häufigkeit der Hardware-Updates und anderen Kriterien variieren, anhand derer wir hauptsächlich durch Bewertungen navigieren können , die sie vergleichen.



Trotz der Tatsache, dass es für Oktober-CMS nicht so viele davon gibt, gibt es eine Reihe von Hosting-Anbietern, die ihre Dienste anbieten, sodass Sie sie vergleichen und den richtigen auswählen können. Viele von ihnen sind Partner von Oktober CMSandere sind in einer Suchmaschine leicht zu finden , aber da ich keine einzige unabhängige Rezension oder keinen vergleichenden Artikel gefunden habe, wird es etwas schwieriger sein, die am besten geeigneten auszuwählen.



Marktplatz, Ökosystem und Wert



Das kommerzielle Ökosystem von WordPress hat einen Wert von 10 Milliarden US-Dollar pro Jahr . Dies zeugt von der großen Anzahl von Menschen und Unternehmen, die Geld verdienen konnten, indem sie WordPress-Produkte und -Dienstleistungen wie Website-Entwicklung, Hosting, Theme- und Plugin- Entwicklung , Support, Sicherheit und andere anboten . In der Tat ist es so groß, dass es sogar leicht aufgebläht ist, in dem Sinne, dass Sie sehr oft verschiedene Plugins finden, die das gleiche Problem lösen, Plugins, die nicht funktionieren oder seit Jahren nicht mehr aktualisiert wurden, und Themen, die einander ähnlich sind.



Bei der Erstellung einer neuen Site bedeutet die Größe und Vielfalt des Ökosystems jedoch auch, dass wir wahrscheinlich mindestens ein Plug-In finden, das jede der erforderlichen Funktionen implementiert, wodurch wir Geld sparen können, ohne die Funktionalität selbst zu entwickeln. Das Vorhandensein anpassbarer Themen ermöglicht es Ihnen, mit minimalem Aufwand eine Website mit einem ziemlich einzigartigen Design zu erstellen. Infolgedessen ist es einfach, eine WordPress-Site für weniger als 100 US-Dollar zum Laufen zu bringen, was dieses CMS zu einer geeigneten Option für Projekte mit jedem Budget macht.



Da er relativ neu ist, ist er erst fünf Jahre alt ( bereits sechs. - Ca.), OctoberCMS bleibt in Bezug auf Ökosystem und Marktgröße sicherlich hinter WordPress zurück, aber es wächst stetig. Derzeit werden auf dem Marktplatz über 600 Plugins und verschiedene Themen vorgestellt (bis Juni 2020 wurden mehr als 900 Plugins und etwa 200 Themen veröffentlicht. - Ca. Übersetzung) . In Bezug auf Plugins bittet das CMS-Team im Oktober die Community, sich um die Erstellung von Original-Plugins zu bemühen , die Funktionen bieten, die noch von keinem anderen bereitgestellt werden.



600+ Plugins sind zwar nicht viel, bieten aber mindestens 600+ verschiedene Funktionen. Das heißt, obwohl es keine Möglichkeit gibt, zwischen mehreren Anbietern zu wählen, können wir davon ausgehen, dass die grundlegenden Grundbedürfnisse einer Website wie Blogging, Kommentare, ein Forum, Integration in soziale Netzwerke, E-Commerce und andere geschlossen werden. Da die Gründer von October CMS alle eingereichten Plugins persönlich überprüfen und gemäß den Qualitätsrichtlinien bewerten , können wir außerdem erwarten, dass diese Plugins die erwartete Leistung erbringen.



Ein weiteres Plus ist, dass Oktober-Plugins Elemente aus Laravel-Paketen enthalten können (obwohl nicht alle mit Oktober kompatibel sindzumindest keine Hacks). Es gibt jedoch nur wenige Vorschläge zu den Themen, dh wir müssen höchstwahrscheinlich unser eigenes Thema entwickeln und einen Entwickler für diese Aufgabe einstellen. Das CMS-Thema für Oktober ist wahrscheinlich eine benutzerdefinierte Entwicklung, da Themen und Plugins nicht vollständig voneinander getrennt sind, was die Erstellung des Marktes für leicht austauschbare Themen erschwert. Dies ist jedoch ein vorübergehendes Problem: Nach der Freigabe dieser Funktion können die Seiten in der Datenbank gespeichert werden, und der Austausch von Themen sollte die Funktionalität nicht verletzen.



Meiner Meinung nach kostet das Erstellen einer einfachen Site in OctoberCMS aufgrund der weniger Themen und Plugins mehr als das Erstellen einer ähnlichen Site in WordPress. Bei komplexen Sites erleichtert die beste Architektur im Oktober (objektorientierte Programmierparadigmen und Model-View-Controller) die Wartung der Software und ist daher möglicherweise billiger.



Gemeinschaft



Ein Teil der WordPress-Community zu sein und Zugriff darauf zu haben, ist einer der überzeugendsten Gründe, WordPress zu verwenden. Dies liegt nicht nur an der Größe (es bietet fast ein Drittel aller Websites auf der Welt, viele Stakeholder sind mit WordPress verbunden und die Community ist beeindruckend groß), sondern auch an der Vielfalt. Die WordPress-Community umfasst Menschen aus verschiedenen Berufen - Entwickler, Vermarkter, Designer, Blogger, Verkäufer usw. - Menschen aus allen Kontinenten und Ländern, die viele Sprachen sprechen, mit unterschiedlichen sozialen und wirtschaftlichen Hintergründen, mit unterschiedlichen Hintergründen, Behinderungen oder ohne sie Vertreter von Unternehmens-, gemeinnützigen und Regierungsorganisationen usw. Daher ist es wahrscheinlich, dass unabhängig von dem Problem, mit dem wir konfrontiert sind, jemand in der Lage sein wird, bei einem der Probleme zu helfenSupport-Foren . Der Beitrag zu WordPress ist ebenfalls recht einfach: Das Make WordPress- Team bringt Stakeholder zusammen, die an der Unterstützung verschiedener Projekte interessiert sind (Barrierefreiheit, Design, Internationalisierung und viele andere), und organisiert, wie und wie regelmäßig sie kommunizieren - hauptsächlich über einen Kanal in Ihr dedizierter Slack-Chat .



Darüber hinaus ist die WordPress-Community real und greifbar: Sie existiert nicht nur im Internet, sondern versammelt sich offline in WordCamps und anderen Meetings auf der ganzen Welt. Im Jahr 2018145 WordCamps wurden in 48 Ländern abgehalten, mit insgesamt 45.000 verkauften Tickets und insgesamt 5.400 Treffen mit 687 Gruppen. Daher ist es wahrscheinlich, dass sich in der Nähe eine lokale Zelle befindet, in der jeder um Hilfe bitten, den Umgang mit der Plattform erlernen, regelmäßig lernen und andere unterrichten kann. In diesem Sinne ist WordPress nicht nur ein CMS, sondern vor allem Menschen. Daher sollten Sie sich niemals dazu entschließen, WordPress nur wegen seiner technischen Eigenschaften aufzugeben. Es ist auch wichtig, seine Community zu berücksichtigen.



Bild



Die Oktober-CMS-Community ist manchmal kleiner und weniger vielfältig als die WordPress-Community, obwohl sie aufgrund ihrer wachsenden Beliebtheit stetig wächst. Oktober bietet ein Support-Forumwo man um hilfe bitten kann ist er jedoch nicht sehr aktiv. Es gibt auch einen Slack-Chat (im Moment offiziell eingefroren, die Community wechselt zu Discord - ca. Transl.) , Der ziemlich aktiv ist und in dem die Gründer des Oktobers regelmäßig eingecheckt werden, um sicherzustellen, dass alle Anfragen ordnungsgemäß gelöst werden. Dieser Chat ist eine großartige Gelegenheit, um einige einfache Ratschläge und Life-Hacks zur Verwendung von Oktober zu erhalten. Er richtet sich jedoch hauptsächlich an Entwickler: Es gibt keine Kanäle zu Barrierefreiheit, Design, Internationalisierung und anderen Themen wie in WordPress. Zumindest für jetzt. Derzeit gibt es keine Konferenzen zum Oktober-CMS, aber es gibt Laracon - eine Konferenz für die Laravel-Community.



Richtlinien für Betreuer und Projektmanagement



Können wir sicher sein, dass die Software ziemlich lange hält, und wenn wir uns entscheiden, heute ein Projekt zu starten, müssen wir in Zukunft nicht mehr auf eine andere Plattform wechseln? Wie viele Leute entwickeln Software? Wer entscheidet, in welche Richtung es geht?



Ein Drittel aller Websites auf der Welt wird mit WordPress betrieben, und es gibt genügend Stakeholder, die zur Entwicklung der Software beitragen. Sie können also nicht befürchten, dass Websites nicht mehr bereitgestellt werden. In WordPress gibt es jedoch interne Diskussionen zum Governance-Modell, und viele Community-Mitglieder sagen, dass Entscheidungen über die Richtung der WordPress-Entwicklung einseitig von Automattic getroffen werden , das WordPress.com betreibt .. Ein wichtiger Meilenstein war die Entscheidung, Gutenberg zu starten, mit der viele Mitwirkende nicht einverstanden waren. Gutenberg fehlte in der Entwicklungs- und Release-Phase eindeutig die Kommunikation des Projektmanagements. Infolgedessen stellen viele in der Community die Rolle des „weichen Diktators“ in Frage, den WordPress-Gründer und CEO von Automattic, Matt Mullenweg, in der Vergangenheit in Betracht gezogen hat, und untersuchen verschiedene Governance-Modelle , um ein geeigneteres Modell für die Zukunft von WordPress zu finden. Es bleibt abzuwarten, ob diese Suche zu einer Änderung führen wird oder ob der Status Quo bestehen bleibt.



Entscheidungen über die Entwicklungsrichtung des Oktober-CMS treffen hauptsächlich die Gründer Alexei Bobkov und Samuel Georges sowie der Entwickler und Community-Manager Luke Towers... Oktober CMS ist mit einem Luxus wie einem Managementproblem noch nicht vertraut: Jetzt geht es mehr darum, wie ein Projekt nachhaltig gemacht und Einnahmen für das Entwicklungsteam generiert werden können.



Dokumentation



Die WordPress-Dokumentation ist nicht vollständig , macht aber ihre Arbeit ziemlich gut. Wenn Sie jedoch die gesamte Dokumentation zu WordPress aus allen Quellen berücksichtigen, z. B. berühmte Websites ( Smashing Magazine , CSS-Tricks usw.), spezialisierte Websites ( WPShout , WPBeginner und viele andere), persönliche Blogs, Online-Kurse, fast Es gibt keinen Aspekt der Arbeit mit WordPress, der noch nicht angesprochen wurde.



Im Oktober CMS ist die Situation mit der Dokumentation in Quellen von Drittanbietern sehr weit von WordPress entfernt, aber die Dokumentation auf der eigenen Website ist ziemlich umfangreich und wird definitiv ausreichen, um mit der Entwicklung zu beginnen. Oktober Gründer fügen regelmäßig neue Dokumentationen hinzu... Ein Aspekt, den ich persönlich mochte, ist die Vervielfältigung der Laravel-Dokumentation in die Oktober-Dokumentation für alle relevanten Themen, sodass der Leser die Lücken nicht ausfüllen und erraten muss, was die Oktober-Domäne und was Laravel ist.



Es gibt aber auch Nachteile. In der Oktober-Dokumentation werden von Laravel abgeleitete Begriffe wie Middleware, Service-Container, Fassaden und Verträge verwendet, ohne angemessen zu erläutern, um welche es sich handelt. Daher kann es hilfreich sein, zuerst die Laravel-Dokumentation zu lesen. Glücklicherweise ist es umfangreich und unkompliziert, und Laravels Screencasts - Laracasts sind eine weitere großartige Ressource, um nicht nur Laravel, sondern auch die Webentwicklung im Allgemeinen zu lernen.



Ausgabe



Ich habe mich entschlossen herauszufinden, welche Funktionen Entwickler anziehen könnten, die nach Alternativen zu WordPress suchen, indem ich WordPress mit einem ähnlichen CMS verglichen habe. Es sollte ein kostenloses Open-Source-CMS sein, das auf PHP basiert und mit Unterstützung mehrerer Communities dynamische Inhalte erstellt. Von dem CMS, das diese Bedingungen erfüllte, habe ich das Oktober-CMS zum Vergleich ausgewählt, weil ich bereits etwas darüber wusste und weil mir der saubere modulare Ansatz von Laravel gefällt. Ich denke, dies ist ein neuer Blick auf die Website-Entwicklung.



In diesem Artikel habe ich nicht versucht, einen Gewinner auszuwählen, sondern einfach analysiert, wann es sinnvoll ist, das eine oder andere CMS auszuwählen und deren Stärken und Schwächen zu vergleichen. Es gibt kein "bestes" CMS, es gibt nur das für eine bestimmte Situation am besten geeignete. Darüber hinaus muss jeder, der ein CMS zur Verwendung in einem bestimmten Projekt mit einem bestimmten Team und Budget sucht, alle Angebote vergleichen, um herauszufinden, welches für das jeweilige Projekt am besten geeignet ist. Es ist wichtig, nicht wie in diesem Artikel auf ein paar CMS beschränkt zu sein, sondern allen eine Chance zu geben.



Als Entwickler gefällt mir, was ich im Oktober mit CMS gesehen habe, insbesondere, weil Sie damit modulare Anwendungen erstellen können, die über Laravel bereitgestellt werden. Ich würde dieses CMS für eine neue Site in Betracht ziehen. Beim Schreiben dieses Artikels habe ich jedoch auch WordPress wiederentdeckt. Da WordPress sehr beliebt ist, wurde es vielfach kritisiert, vor allem wegen seiner veralteten Codebasis und in jüngerer Zeit wegen der Einführung von Gutenberg. WordPress hat jedoch einige großartige Funktionen (wie ein skalierbares Datenbankmodell), die selten gelobt werden, aber auch eine Überlegung wert sind. Und vor allem sollte WordPress nicht nur aus technischer Sicht betrachtet werden: Aufgrund der Größe der Community und des Ökosystems liegt WordPress ein oder zwei Ebenen über den Alternativen. Kurz gesagt, einige Projekte können von der Verwendung von WordPress profitieren.während andere besser dran sind, Oktober-CMS oder eine andere Plattform zu verwenden.



Abschließend möchte ich darauf hinweisen, dass das Studium der Funktionsweise eines CMS an sich sehr nützlich ist, unabhängig davon, ob Sie sich für dieses spezielle CMS entscheiden oder nicht. Zum Beispiel arbeite ich seit Jahren an WordPress und das Erlernen von Oktober-CMS ist eine neue Sicht auf ein Thema, das mir viele Dinge beigebracht hat (z. B. Richtlinien für PHP-Standards ), die mir in WordPress nicht begegnet sind. Jetzt liegt es an mir zu entscheiden, ob ich das CMS ändern oder bei WordPress bleiben möchte.



All Articles