Podstawowym zadaniem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wyglądu. Efekt ten jest uzyskany poprzez generowanie zawartości
A. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH.
B. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu.
C. z bazy danych oraz wyglądu ze zdefiniowanego szablonu.
D. z bazy danych oraz wyglądu za pomocą atrybutów HTML.
Pytanie z egzaminu CKE, styczeń 2020 (arkusz EE.09-SG-20.01).
System CMS, czyli system zarządzania treścią, działa właśnie na zasadzie rozdzielenia danych od warstwy prezentacji. Treść artykułów, wpisów, opisów produktów, kategorii czy danych użytkowników jest zwykle przechowywana w bazie danych, najczęściej MySQL, MariaDB albo PostgreSQL. Wygląd strony nie jest wpisany na stałe w każdym artykule, tylko wynika ze zdefiniowanego szablonu, motywu lub templatki. Dzięki temu ten sam tekst może być pokazany w różnych miejscach serwisu, a zmiana wyglądu nagłówka, menu czy układu strony nie wymaga ręcznego poprawiania setek podstron. Moim zdaniem to jest jedna z najważniejszych zalet CMS-ów, bo bardzo ułatwia utrzymanie strony w praktyce.
Przykład: w WordPressie treść wpisu znajduje się w bazie danych, a motyw decyduje, czy tytuł będzie duży, gdzie pojawi się obrazek wyróżniający i jak będzie wyglądała lista wpisów. Podobnie działa Joomla, Drupal czy wiele autorskich CMS-ów. To jest zgodne z dobrą praktyką projektowania aplikacji webowych: oddzielamy warstwę danych, logikę aplikacji i prezentację. W praktyce poprawia to bezpieczeństwo, porządek w kodzie, łatwość aktualizacji oraz możliwość pracy wielu osób nad serwisem, nawet jeśli redaktor nie zna HTML, CSS ani PHP.
Przykład: w WordPressie treść wpisu znajduje się w bazie danych, a motyw decyduje, czy tytuł będzie duży, gdzie pojawi się obrazek wyróżniający i jak będzie wyglądała lista wpisów. Podobnie działa Joomla, Drupal czy wiele autorskich CMS-ów. To jest zgodne z dobrą praktyką projektowania aplikacji webowych: oddzielamy warstwę danych, logikę aplikacji i prezentację. W praktyce poprawia to bezpieczeństwo, porządek w kodzie, łatwość aktualizacji oraz możliwość pracy wielu osób nad serwisem, nawet jeśli redaktor nie zna HTML, CSS ani PHP.
W CMS-ie nie chodzi o to, żeby wygląd strony był tworzony za pomocą pojedynczych atrybutów HTML albo żeby cała zawartość była trzymana w statycznych plikach HTML. Taki sposób myślenia często bierze się z prostych stron robionych ręcznie, gdzie każdy plik index.html, oferta.html czy kontakt.html zawierał jednocześnie tekst, strukturę i część wyglądu. To działa przy bardzo małej stronie, ale przy większym serwisie informacyjnym robi się z tego bałagan. Jeśli trzeba zmienić menu albo stopkę, trzeba poprawiać wiele plików. CMS powstał właśnie po to, żeby tego uniknąć.
Atrybuty HTML mogą wpływać na pewne elementy prezentacji, na przykład opis alternatywny obrazka czy czasem klasy CSS przypisane do elementów, ale nie są mechanizmem zarządzania wyglądem całego serwisu. W nowoczesnych rozwiązaniach wygląd powinien być kontrolowany przez szablony, arkusze CSS i komponenty interfejsu, a nie przez mieszanie treści z formatowaniem w każdym miejscu. Z mojego doświadczenia, mylenie atrybutów HTML z szablonem to częsty błąd, bo oba pojęcia jakoś dotyczą strony, ale mają zupełnie inną rolę.
Statyczne pliki HTML także nie są typowym źródłem treści w CMS-ie. CMS zwykle pobiera dane z bazy, a potem generuje wynikową stronę dynamicznie lub z użyciem cache. Dzięki temu redaktor może dodać artykuł przez panel administracyjny, bez dotykania plików na serwerze. Technologia Flash tym bardziej nie pasuje do tego zagadnienia. Była kiedyś używana do animacji i multimediów, ale dziś jest przestarzała, niewspierana w przeglądarkach i niezgodna z dobrymi praktykami dostępności oraz responsywności stron WWW. Poprawne podejście to baza danych jako źródło treści oraz szablon jako opis wyglądu i układu strony.
Atrybuty HTML mogą wpływać na pewne elementy prezentacji, na przykład opis alternatywny obrazka czy czasem klasy CSS przypisane do elementów, ale nie są mechanizmem zarządzania wyglądem całego serwisu. W nowoczesnych rozwiązaniach wygląd powinien być kontrolowany przez szablony, arkusze CSS i komponenty interfejsu, a nie przez mieszanie treści z formatowaniem w każdym miejscu. Z mojego doświadczenia, mylenie atrybutów HTML z szablonem to częsty błąd, bo oba pojęcia jakoś dotyczą strony, ale mają zupełnie inną rolę.
Statyczne pliki HTML także nie są typowym źródłem treści w CMS-ie. CMS zwykle pobiera dane z bazy, a potem generuje wynikową stronę dynamicznie lub z użyciem cache. Dzięki temu redaktor może dodać artykuł przez panel administracyjny, bez dotykania plików na serwerze. Technologia Flash tym bardziej nie pasuje do tego zagadnienia. Była kiedyś używana do animacji i multimediów, ale dziś jest przestarzała, niewspierana w przeglądarkach i niezgodna z dobrymi praktykami dostępności oraz responsywności stron WWW. Poprawne podejście to baza danych jako źródło treści oraz szablon jako opis wyglądu i układu strony.