Warum ein etabliertes CMS wählen, anstatt eines von Grund auf neu zu erstellen?


13

Ein Großteil meiner Forschung in den nächsten Wochen wird sich mit verschiedenen CMS befassen. Ich habe mir Episerver und Umbraco bereits kurz angesehen. Während ich in diese Systeme lese, denke ich, dass die Bereitstellung von Content-Management-Funktionen erreichbar ist, ohne die Details und die Struktur vieler dieser (ziemlich großen) CMS-Plattformen zu kennen.

Ich habe in der Vergangenheit Projekte erhalten, bei denen meine Rolle als Entwickler von der eines Redakteurs zu trennen ist (sinnvoll). Das heißt, es war meine Aufgabe, das Design und die Funktionalität der Website zu entwickeln und die Aufgabe meiner Kunden, den Inhalt zu aktualisieren. Ich habe dies auch erreicht, indem ich eine Art 'Portal' implementiert habe, auf dem es einige Seiten gab, auf denen Texteingaben, Bild-Uploads usw. möglich waren (im Grunde genommen, welche Inhalte auch immer sie wollten). Diesen neuen Inhalt habe ich dann in der Datenbank gespeichert Der Code-Behind würde dies alles von der Datenbank in relevante Steuerelemente (beispielsweise Repeater) einlesen.

Für mich war dies eine effektive Methode, mit der meine Kunden den Inhalt für die Bereitstellung mit meinen Lösungen verwalten. Ich weiß, dass ich falsch liege - und dass CMS denen vorzuziehen sind, die von Grund auf neu entwickelt wurden - aber abgesehen von den Kosten, warum?


1
Warum sollten Sie den ganzen Entwicklungsaufwand (Entwerfen, Codieren, Debuggen, Testen) selbst in Kauf nehmen wollen, wenn dies bereits jemand anderes für Sie erledigt hat?
PhilPursglove

5
Dokument für Dokument und Website für Website mit Anleitungen und Tutorials zum Erlernen dieser Art von Unternehmens-CMS. Warum sollte ich all den Schmerz des Lernens und der Gewöhnung an die Implementierung dieser lernen wollen, obwohl ich tatsächlich meine eigene von Grund auf mit vollständiger Kontrolle entwickeln könnte?

1
Der Hauptgrund, warum Sie den Schmerz des Lernens durchmachen, ist, dass Sie auch den Schmerz der Fehlerbehebung überspringen (hoffentlich sowieso). Und wenn Sie Dokumentation finden, bedeutet dies hoffentlich auch, dass Sie viel weniger Dokumentation erstellen müssen, wenn Sie jemanden schulen müssen.
Sclarson

Es gibt eine neuere Technologie aus dem alten CMS-Installationsansatz, bei der Sie nichts wirklich lernen müssen und in Ihrer eigenen Sprache programmieren können. Ich habe selbst eines gebaut, weil ich dieses Installationsproblem satt hatte oder ein bequemes Cms-Ding verwendet habe, das für Designer funktioniert. Mein Profil hat ein wenig Anleitung.
Jason Sebring

@sparks, Die Fehlerbehebung bei anderen ist 100-mal ärgerlicher als die Fehlerbehebung bei Ihren eigenen Fehlern.
Pacerier

Antworten:


9

Sie verwenden ein vorhandenes CMS, um das Gewicht der Funktionen zu beseitigen, die für die Benutzer, die Sie nicht im Auge behalten möchten, wahrscheinlich wichtig sind.

EPiServer, Umbraco, Orchard usw. verfügen über integrierte Optionen, mit denen Sie z. B. Versionen verfolgen, mit welchen Inhalten andere Inhalte verknüpft sind, wie Formulare erstellt werden usw. Darüber hinaus verfügen sie über Ereignisse, die Sie einbinden können, um sie zu ändern du siehst gut aus

In der Regel wurden bereits Tausende von Stunden für die Fehlerbehebung aufgewendet. Warum also nicht diese nutzen? Insbesondere in den kostenlosen oder Open-Source-Versionen, in denen es Sie buchstäblich nichts kostet, als die Zeit, die Sie für das Erlernen der APIs benötigen, die ich fast garantieren kann, ist weniger Zeit, als Sie für die Neuerstellung dieser Funktionalität aufwenden würden.

Warum also nicht etwas verwenden, von dem bereits bekannt ist, dass es gut funktioniert, es sei denn, Sie müssen die von ihnen bereitgestellten Funktionen nicht neu erstellen?

Hier ist nur eine kurze Liste der Funktionen, die Sie nicht selbst implementieren müssten:

  • Inhaltsversionierung
  • Arbeitsablauf
  • Seitenverknüpfungsstatusberichte
  • Anpassung des Wysiwyg-Editors
  • Inhaltsmodellierung (Seitentypen / Dokumenttypen)
  • Inhaltsabruf-APIs
  • Dokumentation / Schulung für Redakteure und Entwickler
  • Objekt-Caching-Strategien
  • Inhaltsabfragesysteme für die Suche
  • Inhaltshierarchiestrukturen (in CMS, in denen der Inhalt ohnehin in Baumform vorliegt)
  • Editor-Ansichten
  • Administratoransichten
  • Zugangskontrolle

Ich habe dies als Antwort markiert, da es die umfassendste Liste von Vorteilen ist, die ich durch die Entscheidung für eines der genannten CMS erhalten würde. Ich denke, ich muss mir wahrscheinlich die Hände schmutzig machen, um die Vorteile voll zu nutzen.

Das Einrichten eines eigenen Systems ist nur dann "status quo" gegenüber Cloud-Systemen, wenn Sie die Kontrolle über Ihre eigenen Daten und Ihre Server nicht zu schätzen wissen oder den Unterschied zwischen Ihrer und der von Ihnen gemieteten Software nicht verstehen. Diese Stealth-Werbung für Ihr Unternehmen klingt für mich sehr FUDdy. Wenn Sie der Meinung sind, dass ein Cloud-basiertes SOS-CMS eine gute Wahl für die Situation des OP ist, machen Sie eine Antwort und lassen Sie die Community darüber abstimmen.
CodexArcanum,

@CodexArcanum - Nimm nichts ernst, was Smaragdcode sagt. Sie sind der CEO eines Unternehmens, das diese Dienstleistungen erbringt. Ihr Konto ist also im Grunde eine riesige Anzeige.
Ramhound

4

Es gibt KEINE endgültige Antwort, welche besser sind. Dies hängt von Ihren Bedürfnissen, Ihrer Struktur, Ihren Kosten, Ihrer Arbeitskraft und einer Reihe anderer Faktoren ab.

Vorgefertigtes / etabliertes CMS

Vorteile

  1. Spart viel Zeit. Einige der CMS, die es seit Jahren gibt, haben viele, viele Mannstunden in sich. Sie benötigen möglicherweise nicht 10% der Funktionen in einem vorgefertigten CMS, aber es spart Zeit und Zeit ist nicht kostenlos!
  2. Spart viel Geld.
  3. Im Allgemeinen verfügen Sie über eine RIESIGE Menge an Funktionen, die wahrscheinlich für Ihre Anforderungen geeignet sind .

Nachteile

  1. Lizenz . Sie müssen sich an die Lizenz des vorgefertigten CMS halten, das Sie verwenden. Dies mag keine große Sache sein, aber vielleicht möchten Sie etwas ändern, das durch die Lizenz verboten ist, oder vielleicht ist es Ihnen untersagt, es in einer Produktionsumgebung zu verwenden.
  2. Schwer . Da das CMS höchstwahrscheinlich darauf zugeschnitten sein wird, so viele Zielgruppen wie möglich zu erreichen. Möglicherweise besteht eine Serverbeschränkung oder Sie möchten keine übermäßigen Skripts für die grundlegende Inhaltsverwaltung laden.
  3. Möglicherweise nicht modular geschrieben . Nehmen wir an, Sie haben ein vorgefertigtes CMS implementiert, und die Website ist fertig, damit der Kunde sich abmelden und sagen kann, wir können sie bereitstellen! Dann schießen Sie es zu Ihrem Kunden und dieser sagt: "Oh, ich möchte dieses Feature zum CMS hinzufügen!" Wenn Sie sich dann für ein CMS entschieden haben, das sehr komplex oder nicht sehr modular ist, haben Sie möglicherweise ein Problem bei der Implementierung der Funktionsanforderung, oder es kann zu viel Zeit in Anspruch nehmen.
  4. Vererben Sie ihre Bugs . Sie erben alle vorhandenen Fehler auf dem CMS. Es ist kein Problem, da sie normalerweise leicht zu aktualisieren sind. Was ist, wenn Sie Teile davon stark modifiziert haben, um eine Funktion hinzuzufügen?

Selbst gebrautes / kundenspezifisches CMS

Vorteile

  1. Auf Ihre Bedürfnisse zugeschnitten . Sie können NUR das integrieren, was Sie benötigen, und behalten eine hohe Portabilität.
  2. In deiner Sprache geschrieben . Vielleicht haben Sie eine ASP.net MVC-Website und alle CMS sind in PHP geschrieben, aber Sie möchten eine, die mit MVC und der Razor View Engine in C # geschrieben ist (idk random example). Es ist viel einfacher, eine Webseite zu pflegen, die einheitlich ist und kein riesiges PHP / JS / etc hat. CMS inmitten des gesamten C # -Codes.
  3. Mit freundlichen Grüßen Sie / Ihr Unternehmen besitzen sie 100%, können Sie es in so vielen Anwendungen verwenden können , wie Sie wollen w / o zusätzliche Lizenzen zu kaufen, usw.

Nachteile

  1. Zeitaufwendig , daher teuer . Abhängig von den eingegebenen Stunden, der Erfahrung usw. usw. können Sie eine beliebige Zeitspanne von einem Dutzend Tagen mit der Arbeit an einem CMS verbringen.

Wenn Sie die Zeit haben und keines der vorgefertigten Systeme passt oder viel zu komplex ist, sehe ich keinen Grund, kein eigenes zu bauen, außer dem zeitaufwändigen Faktor natürlich.


2
Wenn Sie Zeit und Geld als Einschränkungen entfernen, gibt es selten einen Grund, etwas nicht zu tun.
Sclarson

1
@sparks realen Welt Projekte immer diese Einschränkungen haben;)

1
So wie ich es mit meinem Kommentar gesagt habe. Wenn man die Nachteile einer "zeitaufwendigen" Art von Zucker sagt, ist der Arbeitsaufwand für das Schreiben von Grund auf gleich groß. Sie schreiben den Code, müssen dann dokumentieren / trainieren und haben die gesamte Debugging- / Fehlerbehebungszeit für jede einzelne Funktion, die Sie schreiben.
Sclarson

2

Möglicherweise möchten Sie der Diskussion auch Web-Sicherheit hinzufügen. Wenn Sie ein CMS von Grund auf neu erstellen, sind Sie wahrscheinlich anfällig für eine Reihe von Angriffen (siehe z . B. https://www.owasp.org/index.php/Top_10_2010-Main ). Wenn Sie andererseits ein vorhandenes CMS verwenden, ist es in der Regel sicherer, andererseits sind seine Sicherheitslücken weiter verbreitet.

Es ist also sicherheitstechnisch ein gewisser Kompromiss, aber ich würde argumentieren, dass ein gut aktualisiertes "Standard" -CMS sicherer ist als ein hausgemachtes, aber es hängt bis zu einem gewissen Grad davon ab, welches der Standard-CMS Sie auswählen.

Wenn Sie jedoch ein "Standard" -CMS verwenden und viele Änderungen vornehmen, kann dies dazu führen, dass der Upgrade-Pfad unterbrochen wird und Sie Ihr CMS möglicherweise nicht aktualisieren können. Daher sind Sie anfällig.


1

Eine Sache, die berücksichtigt werden muss, ist, dass Ihr CMS möglicherweise veraltet ist, nicht unbedingt in der Sprache, sondern in Funktionalität und Design. Die nächste Gruppe von Programmierern möchte möglicherweise nicht mit diesen Einschränkungen der Funktionalität und des Designs arbeiten, da dies ihr Image ruinieren kann!

Wenn es sich um eine einfache Website handelt oder Sie nicht viel Zeit haben, um sich zu widmen, klingt CMS großartig!


1

Der Hauptgrund für die Erstellung Ihres eigenen CMS besteht darin, dass Sie ihm im Laufe der Zeit Ihre eigenen Funktionen hinzufügen können. Mit einem Standard-CMS sind Sie an die Architektur und Technologie des Drittanbieters gebunden, der das CMS erstellt hat.

Beispiele:

  • Umbraco - Vertrauen auf XSLT für das Layout - #fail

  • Obstgarten - überentwickelte Lernkurve für Web Forms-Entwickler

...etc.


1
Umbraco benötigt kein XSLT, ist aber eine Option.
Sclarson

Sie meinen, Sie können ausschließlich CSS verwenden? War es Umbraco, das auch eine eigene Auszeichnungssprache hatte? Wie bei SkonJeet musste auch ich dies irgendwann untersuchen.
IrishChieftain

2
Umbraco hat eine Webformulare und eine MVC-Option. Es hat Sie nie dazu aufgefordert, eine eigene proprietäre Sprache zu verwenden. Sie waren schon immer in asp.net und hatten immer die Möglichkeit, den Datenspeicher abzufragen und Steuerelemente dafür zu schreiben, wenn Sie dies wollten.
Sclarson

1
Ein anderes CMS, das ich benutzte, war N2, das wirklich eleganten Code hatte, so dass man ihn nicht verstehen konnte. Ihre Ansicht war, dass Code sich selbst dokumentieren sollte, was ein totaler Bee Ess ist.
IrishChieftain

1
Ich habe mehrere Websites in Umbraco erstellt und noch nie XSLT verwendet. In der neuen Version ist es meines Wissens nicht einmal mehr eine eingebaute Option. Allerdings ist XSLT anscheinend extrem leistungsfähig (für die 6 Leute, die es verstehen können!).
EJ Brennan

1

Auch das Festhalten am Kerngeschäft ist ein gutes Argument, würde ich sagen. Nur weil Sie ein Auto bauen, heißt das nicht, dass Sie auch Ihren eigenen Kraftstoff herstellen sollten. Das ist ein völlig anderes Produkt, und die Chancen stehen gut, dass es jemand anderes viel besser macht, da Sie sich auf etwas anderes konzentrieren. Fehler in neu entwickelten Systemen sollten ebenfalls nicht unterschätzt werden. Ein cms, das eine Weile her ist, wird ein paar Fehler haben, ja, aber nein, in der Nähe der Nummer, die Ihr neuer haben wird. Im Laufe der Jahre wurde ein vorhandenes CMS von Millionen von Benutzern getestet.


"Ihr Fokus wird woanders sein" - lol
Tim Abell
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.