Co to jest CMS?

CMS, Content Management System (pol. System zarządzania treścią) – oprogramowanie opracowane w celu ułatwienie procesu tworzenia stron WWW oraz zapewnienia możliwości edycji oraz aktualizacji treści redakcyjnych przez proste w obsłudze interfejsy użytkownika. Interfejsy są zazwyczaj rozbudowanymi stronami WWW z zależnymi od potrzeb systemu formularzami oraz modułami.

Podstawowym zadaniem platform CMS jest oddzielenie strony technicznej stron WWW od zawartości merytorycznej, tworzonej przez redaktorów. Zadaniem redaktora jest wprowadzanie do systemu treści, które zapisane w bazie danych są następnie publikowanie przez system na dynamicznie generowanej stronie WWW. Rozwiązanie takie sprawia, że publikowanymi treściami staje się znacznie wygodniejsze niż w przypadku rozwiązań opartych na statycznych plikach HTML.

System CMS jest oparty w głównej mierze na szablonach. Zmiana koncepcji oraz rozmieszczenia poszczególnych elementów strony polega, w główniej mierze , na zmianie samego szablonu (skórka, skin). Obecnie wiele szablonów daje również możliwość modyfikacji samej struktury oraz jest dostępna w kilku wersjach.

System zarządzania treścią opiera się przede wszystkim na bazach danych oraz językach skryptowych (server-side) lub oprogramowaniu uruchamianym na serwerze. Oprogramowanie CMS najczęściej można spotkać w formie oprogramowania client. Do wprowadzania danych używane są wtedy protokoły FTP.

Systemy CMS napisane są w większości w językach: ASP, JSP, PHP, Python.

Pierwszy system CMS został opracowany w roku 1995 przez dwóch pracowników amerykańskiej firmy CNET Halsey’a Minora i Jonathana Rosenberga. Stworzony przez nich system PRISM (Presentation of Realtime Interactive Service Material) opierał się, tak samo jak dzisiejsze systemy, na szablonach oraz na dynamicznej treści pozyskiwanej z relacyjnej bazy danych. Ze względu na brak możliwości dofinansowania projektu w firmie CNET sprzedano część praw do projektu firmie Vignette. Na mocy porozumienia firma CNET otrzymywała 33% zysków ze sprzedaży narzędzie publikacji witryn internetowych, a firma Vignette pozostałe 66%.

Ze względu na zadania stawiane przed systemami, można podzielić je na następujące typy:

  • systemy zarządzania dokumentami (Document Management)
  • systemy zarządzania wiedzą (Knowledge Management)
  • system zarządzania zasobami cyfrowymi (Digital Asset Managment)
  • system zarządzania obiegiem treści (Enterprise Content Managment)
  • system zarządzania treścią znajdującą się na stronie internetowej (Web Content Managment)

Natomiast ze względu na stronę techniczną, można podzielić systemy CMS na następujące odmiany:

  • Content Managment Framework: system ten jest zbiorem bibliotek używanych do tworzenia CMS. Ta odmiana jest najbardziej zaawansowaną technicznie i wymagającą największego nakładu pracy. Przykłady: Vignette, Zope, RedDot.
  • Page-based systems: systemy oparte na zarządzaniu szablonami za pomocą konsol. Edycja treści nie wymaga dodatkowych konsol. Przykłady zastosowania systemów PBS: Plone, Typo3, TikiWiki.
  • Module-based systems: są to systemy modułowe oparte w głównej mierze na napisanych skryptach umożliwiających zarządzanie modułami oraz funkcjami systemów. System ten jest jednym z najbardziej podatnych na modyfikacje. Odpowiednie zarządzanie modułami wymaga niekiedy pisania nowych modułów od podstaw. Przykłady: Drupal, Sienn, eZ publish, Joomla!, Mambo, Zikula PHP-Fusion, PHP-Nuke, Easiest, XOOPS, Quick.Cms, Umbraco CMS, DotNetNuke, N2 ASP.NET CMS, AxCMS.net, mojoPortal, Sitefinity, RODcms.
  • Content object systems: systemy tego typu opierają się na małych obiektach zawierających informację z możliwością reprodukowania ich w określonych miejscach na stronie WWW lub na podstronach. Typowymi przykładami systemów są: ActionApps, Rhythmyx, Quantum Content Management.