Rzut okiem na django CMS z perspektywy front end developera
Jako doświadczony front end developer firmy dcs.pl chciałbym się podzielić swoimi spostrzeżeniami na temat systemu zarządzania treścią django CMS. W swojej wieloletniej praktyce miałem do czynienia z wieloma rozwiązaniami z tej dziedziny IT. Każde z nich miało swoje niewątpliwe zalety. Żadne nie było też wolne od wad. Jak w szeregu tych wszystkich rozwiązań rynkowych ustawia się django CMS? Trzeba przyznać, że całkiem przyzwoicie. W tej materii uważam siebie za wymagającego użytkownika. Sam posiadam kilka serwisów, które działają na innych rozwiązaniach typu Open Source - głównie na Joomli i Wordpress. Miałem też możliwość pracowania na bazie customowych rozwiązań w innych firm. Komplet doświadczeń pozwala mi na podzielenie się w uczciwy sposób moją opinią na temat jakości CMSa.
django CMS - rozwiązanie oparte na Pythonie
Zaczniemy od tego, że jest to jeden z dość nielicznych CMSów, które nie są napisane w języku PHP. Rozpatrywanie tego w kategoriach czy to dobrze czy niekoniecznie nie ma raczej większego sensu. Można z pewnością pokusić się o stwierdzenie, że samodzielna konfiguracja i instalacja CMSa na domowym serwerze nie jest już tak intuicyjna, jak w przypadku Wordpressa, Drupala, czy Joomli. Osoba początkująca może sobie z tym zwyczajnie nie poradzić. W tym momencie można byłoby "skończyć temat" i uznać, że "zabawa w django CMS" nie ma sensu. Opinia tego rodzaju byłaby jednak wydana zbyt szybko.
django CMS to przede wszystkim bezpieczeństwo
Rozwiązania oparte na Pythonie są zdecydowanie mniej narażone na większość typowych zagrożeń dla systemów, które są przygotowane w języku PHP (Wordpress, Drupal, Joomla). Powszechne skrypty spamowe, które szukają dziur w zabezpieczeniach popularnych CMSów na PHP zaczynają w 90% przypadków od wstrzykiwania kawałka kodu PHP. W dalszej perspektywie mamy już tylko wizję "bezbronnej" osoby, która musi dojść do tego, co właściwie było przyczyną złamania mechanizmów obronnych strony. Nie jest to proste, bez specjalistycznej wiedzy. Jak w obliczu tego radzi sobie django CMS? Kod PHP, który jest rozsyłany przez spamboty zwyczajnie nie wywoła żadnego skutku na tym systemie zarządzania treścią. Zostanie zignorowany, nie powodując spustoszenia na naszej stronie i problemów z odzyskaniem pełnej sprawności serwisu. Tego rodzaju ataki na serwisy oparte na PHP są coraz częstsze. Dodatkową grozę budzi fakt, że w zasadzie ktoś, kto przygotowuje złośliwe oprogramowanie nie musi się przejmować tym, w jaki sposób je dostarczać na konkretny serwis. Wszystko działa automatycznie. Usunięcie złośliwego kodu PHP nie musi się przez to wiązać ze spokojnym prowadzeniem serwisu przez kolejne miesiące. Ponowna próba złamania zabezpieczeń, bez załatania luki bezpieczeństwa, może nastąpić już kilka godzin po pierwszym ataku. django CMS w tej materii daje nam już na wstępie spokój, a przecież każdy twórca serwisu woli się skupić na jego rozwoju, a nie łataniu, prawda?
django CMS zapewnia elastyczny układ prezentowanych treści
Dodatek Text NG, który rozszerzyliśmy o możliwość dodawania dowolnej ilości customowych pól, pozwala nam na tworzenie na naszych stronach złożonych układów treści. Nie musimy ograniczać się do "jednego układu" formatowanego artykułu. Możemy wstawiać liczne przerywniki, łamać treść na kolumny, czy obejmować w ramki - wszystko w obrębie konkretnego artykułu. Całość takich fragmentów, z których budujemy potem artykuł, działa na szablonach. Nie widziałem podobnego rozwiązania ani na Joomli ani na Wordpress. Jest ono nieocenione przy mojej pracy. Z używaniem graficznych wstawek w dany artykuł poradzi sobie każdy, nawet początkujący użytkownik. Fragmenty tekstu, które są w postaci WYSIWYG, jest w stanie edytować każdy redaktor, bez jakiejkolwiek znajomości HTMLa.
Wygoda edycji dla redaktorów
Wystarczy kliknąć podwójnie fragment tekstu wprost ze strony www (po zalogowaniu), aby rozpocząć jego edycję w polu WYSIWYG. Prościej się po prostu nie da.
Czego najbardziej mi brakuje w django CMS?
Żaden CMS nie jest wyposażony we wszystkie funkcjonalności, potrzebne do zbudowania serwisu "od ręki", bez instalownia dodatków. django CMS również nie jest tutaj wyjątkiem. Przyzwyczajony do ideologii pracy w Joomli najbardziej przeszkadza brak systemu modułowego. Dzięki niemu mogłem dosłownie wyklikać np. który baner, na których podstronach miał być wyświetlany, a na których nie. Sprawnie mogłem dodać go i usunąc z kilkunastu czy kilkudziesięciu podstron. W django CMS zrekompensowane to jest dodatkiem Text NG, który praktycznie w takiej postaci nie ma swojego odpowiednika w Joomli. django CMS posiada inną ideologię budowania artykułów. Tam wszystko się robi z założenia z modułów, ale są one dostępne bardziej w obrębie lokalnym, a nie globalnym. Oznacza to, że poza elementami, które w danym układzie są widoczne na każdym widoku strony (np. stopka, menu w nagłówku itp.) wszystko jest generalnie robione lokalnie w ramach danego artykułu. Nie da się po prostu wyklikać pokazywania tego samego banera na kilku stronach na raz, a więc zmieniać go wszędzie w jednym momencie.
Druga rzecz: podmiana grafik i plików na serwerze przy użyciu CMSa. Zamiana np. jednego obrazka na inny z poziomu systemu zmienia jego identyfikator (nawet, jeśli w strukturze katalogów jest to ta sama ścieżka, a plik nie zmienił swojej nazwy). Jeśli raz popełnimy błąd (np. wspomniane banery) to musimy w każdej podstronie serwisu podmienić link do obrazka.
Trzecią, mniej istotną wadą, jest parę mankamentów w panelu admina. Chodzi o rzeczy czysto UXowe jak np. podświetlanie wiersza tabeli w drzewie podstron, na którym najechalismy myszką. Są to drobiazgi, które w pełni rekompensuje fakt, że z w trybie "redaktorskim" (przeglądając konkretną podstronę z jej podglądem) mozemy podwójnym kliknięciem rozpoczynać edycję dowolnego kawałka treści, bez szukania go w strukturze. Takie rozwiązanie w przypadku django CMS i uwzględniając elastyczność oferowanych układów daje temu systemowi przewagę nad modułowym rozwiązaniem znanym z Joomli.
Wnioski końcowe
Po skonfigurowaniu systemu tak, by można było na nim pracować i dodawać treści django CMS jest idealnym rozwiązaniem dla niejednego serwisu. Śmiało może konkurować z najpopularniejszymi, Open Source'owymi CMSami typu Wordpress, Joomla czy Droopal. Najbardziej brakuje tutaj prawdopodobnie niektórych dodatków ze względu na specyfikę rozwiązań na Pythonie. Gdyby jednak wziąć pod uwagę jego łatwość rozbudowy i to, jakie możliwości posiada w tym zakresie dcs.pl, to przestaje to być zupełnie wadą. System CMS staje się w efekcie doskonałym narzędziem redaktorskim dla najbardziej opornych użytkowników internetu. W tej kwestii mogę się ośmielić o stwierdzenie, że potrafi być wygodniejszy niż Joomla czy Wordpress, nie umniejszając przy tym funkcjonalności ogółu najistotniejszych możliwości, wspólnych dla wymienionych CMSów.
0 komentarze