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?
Odpowiedzi:
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ć:
źródło
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
Cons
Domowy / niestandardowy CMS
Plusy
Cons
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
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
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
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.
źródło
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.
źródło