Autorski system CMS – zalety, wady i mity

Web Design Blog

Kategoria:
Web

Data publikacji:
8 grudnia 2019

Autor:
Paweł Mansfeld

Autorski system CMS – zalety, wady i mity

Jedna z podstawowych zasad Informatyki brzmi: nie wymyślaj koła na nowo. W tym artykule chciałbym wytłumaczyć w bardzo prosty sposób dlaczego nie ma nic gorszego niż tzw. autorski system CMS.

Sam byłem zagorzałym zwolennikiem tworzenia własnych rozwiązań CMS przez bardzo długi okres. Zmiana nastąpiła powoli w miarę zdobywania zawodowego doświadczenia i poznawania jak są tworzone otwarte systemy CMS. W pewnym momencie zrozumiałem, że tworzenie oprogramowania, które już istnieje – i rezygnacja z szeroko pojętych standardów – jest z jednej strony może i trochę romantyczne ale ogromnie niepraktyczne i generuje sztuczne koszty. Ale wszystko po kolei…

Argumenty twórców autorskich systemów CMS

Przywołanie argumentów zwolenników autorskich CMSów jest tutaj bardzo istotne, bo faktycznie robią wrażenie – na kimś kto nie ma pojęcia o programowaniu i istniejących rozwiązaniach Open-Source.

Argument 1: Systemy Open-Source są niebezpieczne

To jeden z najczęściej powtarzanych mitów. Gotowe systemy CMS takie jak Drupal, Joomla, WoordPress są bezpieczne, ponieważ zabezpieczenia tam wprowadzane spełniają tzw. zasadę Kerckhoffsa. Wiedza o tym jak działa zabezpieczenie nawet w najmniejszym stopniu nie ułatwia złamania go. Aby to zobrazować często podaje się przykład: To, że wiesz jak działa zamek nie znaczy że potrafisz otworzyć każde drzwi – nawet wtedy musisz mieć odpowiedni klucz. Jedynym możliwym sposobem na zhakowanie strony wyposażonej w otwarty system CMS są wtyczki i rozszerzenia, które są używane przez niedoświadczonych twórców stron.

Argument 2: Systemy Open-Source są przeładowane niepotrzebnymi funkcjonalnościami

To nie oznacza jakiegokolwiek uszczerbku na wydajności. Nieużywane funkcje nie biorą uczestnictwa w renderowaniu poszczególnych stron. To zaleta, bo kiedy pojawi się jakaś popularna potrzeba np. pisanie bloga lub uruchomienie prostego systemu sprzedaży, możemy tę funkcję za darmo wykorzystywać. Nie potrzebujemy do tego dopisywania żadnych funkcji ani dodatkowych kosztów obsługi.

Argument 3: Gotowe systemy uniemożliwiają rozbudowę lub dostosowanie do specyficznych potrzeb

Prawda jest taka, że umożliwiają. Problem w tym, że każde środowisko (takie jak WordPress, Drupal czy PrestaShop) wymagają solidnego doświadczenia a także znajomości standardów i paradygmatu obiektowego. Dużo bardziej otwarty na różne zmiany i przypadki użycia są systemy tworzone przez wiele firm na raz niż przez jedną. Motywację i interes w rozwoju tego oprogramowania ma wiele biznesów, o czym możesz przeczytać w następnych sekcjach.

Niedoświadczonemu i początkującemu programiście dużo prościej napisać „byle jaki” prosty autorski CMS, ponieważ może go napisać po swojemu. Jeżeli czyjeś umiejętności programowania nie wykraczają poza przypisywanie wartości i odczyt/zapis w bazie danych to faktycznie taka osoba będzie miała duży problem w dostosowaniu WordPressa, PrestaShop czy Magento do swoich celów.

Kiedy warto stosować dedykowane aplikacje i autorskie rozwiązania?

To bardzo proste, kiedy wymagania od początku nie są zgodne z tym co zapewnia CMS. Jeżeli modyfikacja obecnego oprogramowania jest dużo bardziej złożona od napisania uszytego na miarę frameworka to wtedy jak najbardziej – należy stworzyć autorski system, bo będzie to po prostu opłacalne. Serwisy społecznościowe, CRMy, złożone sklepy internetowe to sytuacje, kiedy tworzenie dedykowanego oprogramowania jest w pełni uzasadnione.

W takich sytuacjach i tak nie wykorzystamy zalet gotowych systemów CMS, bo nie ma wtyczek, które rozwiązywałyby nasze przypadki użycia ani nie ma szablonu, który pasowałby do naszego serwisu. Dużo prościej wszystko zrobić samemu od podstaw.

Zalety autorskich systemów CMS

Biorąc pod uwagę komentarz powyżej, da się (na siłę) wymyślić zalety:

  • możliwość łatwiejszego wykonania funkcjonalności, których nie ma w istniejących i otwartych systemach CMS,
  • przy odpowiedniej optymalizacji dużo większa wydajność stosunkowo rzadkich przypadków użycia,
  • rozwój systemu jest mniej wymagający dla programisty, który jest jego autorem – wolność w rozbudowywaniu logiki brak „zależności z zewnątrz”.

Wady autorskich systemów CMS

Niestety lista zalet jest bardzo krótka i można ją przypasować do rzadkich sytuacji. W najczęstszych przypadkach rezygnacja ze standardowych CMSów to:

  • przywiązanie do jednej firmy,
  • opłaty za coś co inni mają za darmo,
  • brak darmowych aktualizacji,
  • brak kompatybilności i integracji z istniejącymi dodatkami oraz systemami (np. bramki płatności),
  • brak możliwości rozwoju przez firmę, która nie jest jego autorem,
  • brak możliwości skorzystania z wielu usług np. SEO, optymalizacje itd…
  • brak możliwości wykorzystania gotowych szablonów – konieczność tworzenia motywów pod klienta lub wybór z ograniczonego zbioru gotowych szablonów,
  • większa podatność na ataki hakerskie (XSS, SQL Injection, manipulacje parametrami Web)

I szczerze… na tym mógłbym skończyć. Nie ma nic gorszego jak sytuacja kiedy chcesz rozwinąć lub zaktualizować stronę i jesteś zdany na jedną firmę, która niczym monopolista ma przewagę w negocjacjach.

Strony i sklepy znanych firm to najczęściej WordPressy, Drupale, Magento itd…

90% Internetu nie może się mylić. Podać przykłady? Proszę bardzo, w Drupalu swoje strony mają miedzy innymi:

  • tesla.com
  • tagheuer.com
  • lamborghini.com

Sklep na Magento mają stworzone firmy:

  • messika.com
  • nike.com
  • christianlouboutin.com

Strony na WordPress mają między innymi:

  • koenigsegg.com,
  • mercedes-benz.com
  • bbcamerica.com
  • techcrunch.com
  • sonymusic.com

Podsumowanie

Jeżeli ktoś Ci mówi (np. jakaś firma, która robi zwykłe strony i proste sklepy), że ma swój system CMS lub jest w stanie zrobić CMS dużo lepszy, bezpieczniejszy od istniejących projektów Open-Source – to przytaknij i jak najszybciej rozglądaj się za kimś innym. Jedyną motywacją do tworzenia własnych systemów CMS jest chęć zarobku ich autorów lub brak znajomości ogólnie obowiązujących standardów.

Oceń artykuł na temat: Autorski system CMS – zalety, wady i mity
Średnia : 4.5 , Maksymalnie : 5 , Głosów : 11


 

Dodaj swój komentarz




Komentarze

Bezpiecznik z 30 letnim stażem

18 grudnia 2019

Argumenty totalnie nietrafione. Innymi słowy według autora należy utrzymać status quo w sferze dostępnych CMS. Faktycznie ma Pan racje, iż znajomość działania funkcji skrótu np. md5 nie wpłynęła w jakimkolwiek stopniu na jego "złamanie" czyt. kolizyjność odkrytą w 96 roku.

Aby otworzyć drzwi wcale nie potrzeba klucza. Proszę się przejść do pierwszego profesjonalnego ślusarza i poprosić o demonstrację pickiem.

Owszem to, że systemy są przeładowane niepotrzebnymi funkcjami wpływa na wydajność. W małej skali jest to niezauważalne ale jeżeli prowadziłby Pan serwis, który dziennie rejestruje miliony UU to wtedy sprawy wyglądają z goła inaczej. Samego WP nie zamierzam jakoś szczególnie komentować.

Podstawą dobrze rozwiązanego tematu autorskiego CMS to odwrotność rzekomych wad przedstawionych przez Pana. Miedzy innymi oznacza to zakup systemu na własność (włączając w to kod źródłowy i prawa autorskie). Tym sposobem jeżeli koszta obsługi przez firmę będą za duże to zmieniamy ją. Napisanie "helpera" dla systemu płatności, zewnętrznych API czy czegokolwiek dziwnego nie jest czymś szczególnie wymagającym. W związku z powyższym można zlecać poszczególne prace określonemu podwykonawcom lub firmie odpowiedzialnej za "opiekę" (nie wykluczając wymuszenia podwykonawców do określonych prac). Każdy szablon strony należy dostosować więc to żaden argument. Ogólnie gotowy szablon oznacza pójście na łatwiznę. Zakwestionuje temat większej podatności. Dawno się tak nie uśmiałem. Od kiedy jest to jakiś factor? To, że coś jest pisane przez tysiące osób jak i dostępne na open source nie oznacza z góry, że jest bezpieczne. https://www.cvedetails.com/product/4096/Wordpress-Wordpress.html?vendor_id=2337 Innymi słowy, w przypadku kiedy mamy 0daya na określoną platformę to te słynne marki mogą mieć w ciągu chwili rozjechaną stronę (o ile nie są profesjonalnie zabezpieczone). Wszystko rozbija się o kalkulacje co się bardziej opłaca. Krytykowanie autorskich systemów tylko ze względu na źle rozwiązane aspekty obsługi/prawne to słaba podstawa.

Paweł Mansfeld

19 grudnia 2019

Dziękuję za komentarz, postanowiłem go opublikować, mimo, że nie podał Pan prawdziwego adresu e-mail ani nazwy/imienia/pseudonimu. Za pomocą e-maila dziękuje za wyjątkowo trafne komentarze i informuję, że jest już opublikowany. W tym przypadku też tak chciałem postąpić.

Przykład z zamkiem jest metaforą i jestem przekonany, że wiadomo było co miałem na myśli. Ale z drugiej strony rozumiem, że chce Pan podważyć tekst możliwie największą ilością kontrargumentów - to i metafora dobra na tę okazję.

Mam wrażenie, że nie do końca przeczytał Pan artykuł, ponieważ nie ma Open-Source, który "natywnie" wspiera duża skalę. Nie twierdziłem, że WordPress czy Magento nadaje się do dużej skali (aplikacja pokroju Twiiter, Allegro itd...) w przypadku projektów dużej skali (tak jak w przypadku niestandardowych projektów) jak najbardziej należy stworzyć autorski system, bo będzie to po prostu opłacalne. Przeciętny klient, który jest zainteresowany stworzeniem strony WWW, zazwyczaj nigdy nie będzie miał do czynienia z problemem skalowalności. A już na pewno wąskim gardłem nie będzie architektura CMSa ale prędzej RAM lub baza danych w hostingu za kilka złotych netto, którą wystarczy upgrade'ować do opcji za drugie tyle albo trochę więcej.

Nawet w przypadku kiedy mamy dostęp do kodu źródłowego tego autorskiego systemu CMS, nie znajdziemy firmy, której chce się edytować czyjś CMS (chyba, że za bardzo atrakcyjne stawki). Są tam specyficzne rozwiązania i albo koszt modyfikacji będzie przekraczał możliwości klienta albo po prostu będzie się opłacać odtworzyć stronę z pomocą gotowego systemu CMS. Klienci z jakimiś cudactwami na Symfony, CodeIgniterze czy starej Kohanie zostawali na lodzie i otrzymywałem takie zlecenia na poprawki niemal od samego początku działalności w Internecie. Serwisy freelancerskie które kiedyś regularnie przeglądałem, też są dosłownie "zawalone" tego typu zleceniami.

Open Source jest bezpieczniejszy na tej zasadzie, że nad zabezpieczeniem go pracuje więcej specjalistów. Śledzi Pan temat bezpieczeństwa i prawdopodobnie ma Pan większą wiedzę w tej materii niż ja, ale nie zaprzeczy Pan, że obecne poprawki do zabezpieczeń w rdzeniu CMSów łatają bardzo skomplikowane przypadki, których wykorzystanie w praktyce jest tylko teoretyczne. Opinia o podatnościach takiego pierwszego z brzegu WordPressa jest brana chyba z branżowych opowieści, kiedy to jakiś klient zlecił koledze kolegi usunięcie wirusa. Problemem jest najczęściej nieaktualizowana od 5 lat wtyczka do galerii lub innego bzdetu. Często można się spotkać z sytuacją, kiedy to wirus lub włamanie dotyka stronę postawioną na gotowym CMSie - tutaj działa statystyka bo działają one na 90% wszystkich stron.

Nie trzeba być specjalistą by wiedzieć, że strona takiej Tesli, która używa Drupala z pewnością nie jest gorzej zabezpieczona od strony firmy, która dała się nabrać na "autorski CMS" od pięciu gostków z Poznania, Wrocławia czy Katowic. O atakach na autorskie CMSy nikt nigdy nie usłyszy bo po pierwsze:nikt się nigdy do tego nie przyzna, a po drugie: nikogo one nie obchodzą.

Krystian

20 grudnia 2019

Cóż - wpis jest prawdziwy. Ale niekoniecznie trzeba uciekać od firmy, która ma własny CMS.

Istnieją bowiem firmy / agencje, które mają własne portfolio produktów. I na zapleczu każdego z nich, siedzi ich CMS. Jest wtedy spójność, bo produkty ich, a na zapleczu każdego jest to samo narzędzie do zarządzania.

Czasem takie CMS to w porządku sprawa. W sensie jest firma - narzędzie co prawda ich, ale też komercyjne wsparcie z ich strony. A czasem to faktycznie przerost formy nad treścią. Lecz jeśli miałbym zapłacić IDENTYCZNĄ cenę za witrynę na Wordpressie czy ich CMS, no to wybieram Wordpressa. Bo wtedy z nimi czy bez nich, i tak dam radę.

Paweł Mansfeld

20 grudnia 2019

Dziękuję za wpis. Jeżeli takie firmy i CMSy istnieją to skorzystałbym z ich usług i trzymałbym za nie kciuki. Z pewnością są takie usługi i oferty także na Polskim rynku, ale to pewnie garstka, którą bardzo ciężko znaleźć.

 

Następny artykuł: