Dlaczego warto wybrać sprawdzony CMS, a nie budować go od zera?

13

Wiele moich badań w ciągu najbliższych kilku tygodni dotyczy różnych systemów CMS. Rzuciłem już okiem na episerver i umbraco. Czytając te systemy, nie mogę przestać myśleć, że zapewnienie funkcji zarządzania treścią jest możliwe bez poznania szczegółów i struktury wielu (raczej dużych) platform CMS.

W przeszłości otrzymywałem projekty, w których moja rola jako programisty musi być oddzielona od roli edytora (ma to sens). tj. moim zadaniem było opracowanie projektu i funkcjonalności witryny oraz zadanie moich klientów w zakresie aktualizacji treści. Osiągnąłem to, wdrażając także swego rodzaju „portal”, na którym znajdowało się kilka stron, które akceptują wprowadzanie tekstu i przesyłanie zdjęć itp. (W zasadzie jakiejkolwiek treści chcą), zapisują tę nową zawartość w bazie danych, a następnie poprzez zaprojektowanie kodu kod odczytuje to wszystko z bazy danych do odpowiednich elementów sterujących (na przykład repeaterów).

Dla mnie był to wystarczająco skuteczny sposób, w jaki moi klienci zarządzają treścią, aby wdrożyć moje rozwiązania. Wiem, że się mylę - i że CMS są lepsze niż te, które są budowane od podstaw - ale poza kwestią kosztów, dlaczego?

SkonJeet
źródło
1
Dlaczego miałbyś chcieć przejść przez cały ból związany z rozwojem (projektowanie, kodowanie, debugowanie, testowanie), skoro ktoś już to wszystko zrobił dla Ciebie?
PhilPursglove
5
Na stronie internetowej znajduje się dokument zawierający instrukcje i samouczki dotyczące nauki tego typu korporacyjnych systemów CMS. Dlaczego miałbym chcieć przejść przez cały proces uczenia się i przyzwyczaić się do ich wdrażania, skoro w rzeczywistości mógłbym rozwijać się od podstaw z całkowitą kontrolą?
1
Największym powodem, dla którego cierpisz z powodu trudności w nauce, jest to, że omijasz również problem związany z rozwiązywaniem problemów (i tak mam nadzieję). A jeśli znajdujesz dokumentację, mam nadzieję, że oznacza to również, że kiedy musisz kogoś przeszkolić, musisz wykonać o wiele mniej dokumentacji.
szkarłat
W starym podejściu do instalacji CMS dostępna jest nowsza technologia, w której nie trzeba się naprawdę niczego uczyć i można programować we własnym języku. Zbudowałem go sam, ponieważ mam dość tego problemu z instalacją lub używania jakiejś wygodnej cms, która działa dla projektantów. Mój profil ma trochę jak to zrobić.
Jason Sebring
@sparks, Rozwiązywanie problemów innych osób jest 100 razy bardziej irytujące niż rozwiązywanie własnych błędów.
Pacerier

Odpowiedzi:

9

Korzystasz z istniejącego systemu CMS, aby pozbyć się wagi funkcji, które prawdopodobnie są ważne dla użytkowników, których nie chcesz monitorować.

EPiServer, Umbraco, Orchard itp. Mają wbudowane opcje śledzenia rzeczy, takich jak wersje, z jaką zawartością łączy się inna treść, jak budować formularze itp. Poza tym mają zdarzenia, które można zaczepić, aby je zmodyfikować jako uważasz za stosowne.

Zazwyczaj mają już tysiące godzin rozwiązywania problemów, więc dlaczego nie skorzystać z nich. Zwłaszcza w wersjach darmowych lub open source, gdzie dosłownie nic Cię to nie kosztuje, ale czas na naukę ich interfejsów API, które mogę prawie zagwarantować, to mniej czasu niż na odtworzenie tej funkcjonalności.

Jeśli więc nie musisz odbudowywać funkcji, które zapewniają, dlaczego nie użyć czegoś, co już działa dobrze?

Oto krótka lista istniejących funkcji, których nie musiałbyś samodzielnie wdrażać:

  • wersjonowanie treści
  • przepływ pracy
  • raporty o stanie łącza do strony
  • dostosowanie edytora wysiwyg
  • modelowanie treści (typy stron / typy dokumentów)
  • interfejsy API do pobierania treści
  • dokumentacja / szkolenie dla redaktorów i programistów
  • strategie buforowania obiektów
  • systemy wyszukiwania treści do wyszukiwania
  • struktury hierarchii treści (w CMS-ach, gdzie treść jest w formie drzewa)
  • widoki edytora
  • widoki administratora
  • kontrola dostępu
szkarłat
źródło
Oznacziłem to jako odpowiedź, ponieważ jest to najbardziej wyczerpująca lista korzyści, które uzyskałbym, wybierając jeden ze wspomnianych systemów CMS. Myślę, że prawdopodobnie zabierze mnie to, że zabrudzę im ręce, aby w pełni docenić korzyści.
Konfigurowanie własnego systemu to „status quo” w stosunku do systemów chmurowych tylko wtedy, gdy nie cenisz kontroli nad własnymi danymi, posiadaniem serwerów lub nie rozumiesz różnicy między oprogramowaniem, które posiadasz, a oprogramowaniem wynajmowanym. Te ukryte reklamy dla twojej firmy brzmią dla mnie bardzo FUDdy. Jeśli naprawdę uważasz, że oparty na chmurze system SOS CMS jest dobrym wyborem dla sytuacji PO, to odpowiedz na to pytanie i pozwól społeczności głosować nad nim.
CodexArcanum
@CodexArcanum - Nie bierz poważnie niczego, co mówi kod szmaragdowy. Są CEO firmy, która świadczy te usługi. Zasadniczo ich konto to jedna wielka reklama.
Ramhound
4

Jest NO jednoznacznej odpowiedzi, co do których z nich lepiej. To zależy od twoich potrzeb, struktury, kosztów, siły roboczej i wielu innych czynników.

Gotowy / ustanowiony CMS

Plusy

  1. Oszczędza dużo czasu. Niektóre z CMS'ów, które istnieją od lat, mają wiele godzin pracy. Być może nie potrzebujesz 10% funkcji gotowego CMS, ale niezależnie od tego, czy oszczędza to czas, a czas nie jest darmowy!
  2. Oszczędza dużo pieniędzy.
  3. Zasadniczo mają ogromną liczbę funkcji, które prawdopodobnie będą działać dla twoich potrzeb.

Cons

  1. Licencja . Musisz przestrzegać licencji gotowego CMS, którego używasz. To może nie być wielka sprawa, ale może chcesz zmienić coś, co jest zabronione przez licencję, a może nie będziesz mógł używać tego w środowisku produkcyjnym.
  2. Ciężki . Ponieważ CMS najprawdopodobniej zostanie dostosowany do dotarcia do jak największej liczby odbiorców. Być może masz ograniczenia serwera lub nie chcesz ładować nadmiaru skryptów do podstawowego zarządzania treścią.
  3. Prawdopodobnie napisane w sposób niemodułowy . Powiedzmy, że wdrożyłeś wstępnie przygotowany CMS, a strona jest gotowa, aby klient mógł się wypisać i powiedzieć, wdrożyć! Potem strzelasz do klienta, a oni mówią: „Och, chcę dodać tę funkcję do CMS!” Następnie, jeśli wybierzesz CMS, który jest bardzo złożony lub niezbyt modułowy, możesz mieć problem z implementacją żądania funkcji lub może to zająć zbyt dużo czasu.
  4. Dziedzicz ich błędy . Odziedziczysz wszystkie istniejące błędy w CMS. Nie stanowi to problemu, ponieważ zazwyczaj są one łatwe do aktualizacji, ale co zrobić, jeśli mocno zmodyfikujesz jego części, aby dodać funkcję?

Domowy / niestandardowy CMS

Plusy

  1. Dostosowane do twoich potrzeb . Będziesz mógł zintegrować TYLKO to, czego potrzebujesz i zachować wysoką przenośność.
  2. Napisane w twoim języku . Być może masz stronę ASP.net MVC i wszystkie CMSy tam są napisane w PHP, ale chcesz taką, która jest napisana w języku C # przy użyciu MVC i silnika widoku brzytwy (przypadkowy przykład idk). O wiele łatwiej jest utrzymać jednolitą stronę internetową, która nie ma ogromnego PHP / JS / itp. CMS w środku całego kodu C #.
  3. Twoja własność jest twoja w 100%, możesz używać jej w dowolnej liczbie aplikacji, bez konieczności zakupu dodatkowych licencji itp.

Cons

  1. Czasochłonne , dlatego jest drogie . Możesz spędzić dowolną ilość czasu 1-Dziesiątki dni pracując nad CMS w zależności od wprowadzonych godzin, doświadczenia itp.

Jeśli masz czas, a żaden z gotowych systemów nie pasuje do rachunku lub jest zbyt skomplikowany, nie widzę powodu, aby nie budować własnego, poza oczywiście czasochłonnym czynnikiem.


źródło
2
Kiedy usuwasz czas i pieniądze jako ograniczenia, rzadko istnieje powód, aby czegoś nie robić.
szkarłat
1
@sparks projekty z prawdziwego świata ZAWSZE mają te ograniczenia;)
1
Rodzaj tego, co mówiłem z moim komentarzem. Mówiąc o wadach „czasochłonnego” rodzaju cukru, nakład pracy związany z pisaniem od zera. Piszecie kod, a następnie musicie dokumentować / trenować i mieć cały czas debugowania / rozwiązywania problemów dla każdej pisanej funkcji.
sclarson
2

Możesz także dodać bezpieczeństwo internetowe do dyskusji. Jeśli zbudujesz CMS od zera, istnieje prawdopodobieństwo, że będziesz mieć podatności na wiele ataków (patrz np. Https://www.owasp.org/index.php/Top_10_2010-Main ). Jeśli z drugiej strony korzystasz z istniejącego systemu CMS, będzie on ogólnie bardziej bezpieczny, ale z drugiej strony jego słabości będą bardziej rozpowszechnione.

Jest to więc pewien kompromis w zakresie bezpieczeństwa, ale argumentowałbym, że dobrze zaktualizowany „standardowy” CMS jest bezpieczniejszy niż domowy, ale do pewnego stopnia zależy od tego, który ze standardowych wybierzesz.

Jeśli jednak użyjesz „standardowego” CMS i wykonasz wiele modyfikacji, możesz przerwać ścieżkę aktualizacji i zakończyć się brakiem możliwości aktualizacji CMS, a zatem jesteś podatny na ataki.


źródło
1

Jedną z rzeczy, które należy wziąć pod uwagę, jest to, że Twój CMS może stać się przestarzały, niekoniecznie w języku, ale raczej funkcjonalność i wygląd. Następna grupa programistów może nie chcieć pracować z tymi ograniczeniami funkcjonalności i jeśli chodzi o projekt, może to zrujnować ich wizerunek!

Jeśli jest to prosta strona internetowa lub nie masz dużo czasu na poświęcenie, CMS brzmi świetnie!


źródło
1

Najważniejszym powodem tworzenia własnego CMS jest możliwość dodawania do niego własnej funkcjonalności z czasem. Dzięki gotowemu CMS jesteś przywiązany do architektury i technologii strony trzeciej, która go stworzyła.

Przykłady:

  • Umbraco - poleganie na XSLT w zakresie układu - #fail

  • Orchard - nadmierna inżynieria i krzywa uczenia się dla twórców formularzy internetowych

...itp.

IrishChieftain
źródło
1
Umbraco nie wymaga XSLT, ale jest opcją.
szkarłat
Masz na myśli, że możesz używać wyłącznie CSS? Czy to Umbraco miało również swój własny język znaczników? Podobnie jak SkonJeet, musiałem to zbadać na jednym etapie.
IrishChieftain
2
Umbraco ma formularze internetowe i opcję mvc. Nigdy nie wymagało od ciebie używania własnego, zastrzeżonego języka. Zawsze byłeś w asp.net i zawsze miałeś możliwość zapytania do ich magazynu danych i zapisania formantów dla niego, jeśli chcesz.
szkarłat
1
Innym CMS, którego użyłem, był N2, który miał naprawdę elegancki kod, tak bardzo, że nie mogłeś go zrozumieć. Ich zdaniem kod powinien sam się udokumentować, co stanowi całkowitą liczbę pszczół.
IrishChieftain
1
Zrobiłem wiele witryn w Umbraco i nigdy nie korzystałem z XSLT. O ile wiem, w nowej wersji nie ma już nawet wbudowanej opcji. Jednak XSLT jest najwyraźniej niezwykle potężny (dla 6 osób, które mogą to zrozumieć!).
EJ Brennan,
1

Powiedziałbym też, że trzymanie się głównej działalności jest całkiem dobrym argumentem. To, że budujesz samochód, nie oznacza, że ​​powinieneś również stworzyć własne paliwo. To zupełnie inny produkt i są całkiem spore szanse, że ktoś zrobi to znacznie lepiej, ponieważ skupisz się na czymś innym. Nie należy również lekceważyć błędów w nowo opracowanych systemach. Cms, który był już jakiś czas, będzie miał kilka błędów tak, ale nie w pobliżu numeru, który będzie miał twój nowy. Istniejące cms zostały przetestowane przez miliony użytkowników przez lata.

Daniel Ovaska
źródło
skupisz się na czymś innym” - lol
Tim Abell