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?
Antworten:
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:
quelle
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
Nachteile
Selbst gebrautes / kundenspezifisches CMS
Vorteile
Nachteile
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.
quelle
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.
quelle
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!
quelle
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.
quelle
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.
quelle