pzpn

Headless CMS dla PZPN

Rozbudowany system CMS na Drupalu

PZPN to największy i jeden z najstarszych związków sportowych w Polsce. PZPN to nie tylko tradycja, ale także nowoczesność. Jednym z jej symboli są serwisy internetowe prowadzone przez związek. Portal Łączy nas Piłka to wielopłaszczyznowa platforma informacji i kontaktu z wszystkimi kibicami polskiego futbolu. Zawiera artykuły i materiały wideo dotyczące nie tylko piłki na najwyższym poziomie, ale także tej uprawianej na poziomie amatorskim i dziecięcym. Na kanałach Łączy nas Piłka można zobaczyć również transmisje ważnych meczów reprezentacji młodzieżowych oraz ligowych rozgrywek Centralnej Ligi Juniorów. Silną stroną serwisów Łączy nas Piłka są media społecznościowe, które w nowoczesny i atrakcyjny sposób nawiązują kontakt z wielomilionową grupą kibiców biało-czerwonych rozsianych po całym świecie. Kanał Łączy nas Piłka nie zapomina także o historii. Stąd idea i pomysł na Bibliotekę PZPN – unikatowe na skalę światową przedsięwzięcie. Na portalu Biblioteka PZPN można znaleźć materiały filmowe, zdjęcia, pamiątki, gadżety, ciekawostki i statystyki dotyczące bogatej i pełnej sukcesów przeszłości polskiego futbolu.

Wyzwanie

PZPN miał wcześniej kilka systemów CMS opartych na różnych technologiach – od systemów dedykowanych po rozwiązania open source. Jednak żaden z nich nie radził sobie z dużą ilością danych. W jeden weekend może się odbyć nawet kilka tysięcy meczów, po których przybywa dwa razy więcej danych. Dlatego klient potrzebował sprawnie działającego CMS-a. System miał być w stanie poradzić sobie z zarządzaniem treściami dla wielu stron.

Nowe rozwiązanie musiało pasować do architektury informatycznej systemów PZPN. Ich sercem jest szyna danych (Apache NiFi), czyli miejsce, które gromadzi dane ze wszystkich serwisów. Znajduje się tam baza danych, narzędzia do zarządzania danymi oraz odbierania ich i wysyłania na zewnątrz. Dane trafiają do szyny z różnych miejsc:

  • z Systemu Extranet, gdzie trenerzy i sędziowie wprowadzają informacje o meczach,
  • z CMS-a, w którym redaktorzy wzbogacają dane z ekstranetu o zdjęcia i dłuższe opisy i wysyłają je z powrotem do szyny.
Struktura działania serwisów PZPN, w skład której wchodzi headless CMS Drupal
Biblioteka PZPN jest jednym z serwisów korzystających z systemu headless CMS na Drupalu

Wszystkie strony (Łączy Nas Piłka, Biblioteka PZPN, Z Podwórka na Stadion) wysyłają zapytania bezpośrednio do szyny danych. Następnie specjalne API przekazuje zgromadzone w niej dane konkretnym stronom. Nowy system CMS musiał w efektywny sposób zasilać danymi szynę, a także zostać stworzony tak, żeby mógł w przyszłości obsługiwać kolejne serwisy i dostarczać do nich treści.

Projekt poprzedzony był szczegółową analizą i warsztatami z klientem, które były kluczowe do jego realizacji. Rozmawialiśmy również z redakcją, na temat ich potrzeb względem systemu CMS. Wszystko po to, aby dokładnie zrozumieć, jak rozwiązanie ma działać od strony frontendu, odpowiednio zaplanować architekturę danych w CMS-ie i stworzyć przyjazny i łatwy do używania dla redaktorów system.

Strona główna serwisu Łączy nas piłka, który korzysta z systemu headless CMS na Drupalu

Rozwiązanie

  • System, nad którym pracowaliśmy, jest rozwiązaniem typu headless (frontend oddzielony jest od backendu). Mimo że nie komunikuje się bezpośrednio z frontendem, jest do niego dopasowany.
  • System jest zbudowany z komponentów (czyli gotowych elementów witryny), które są przeznaczone dla konkretnych stron. Po zalogowaniu do CMS-a redaktor widzi tylko te rodzaje zawartości, do których ma dostęp w ramach serwisów, dla jakich przygotowuje treści.
  • Dany typ zawartości składa się najczęściej z komponentów. Na podstawie otrzymanych projektów graficznych określiliśmy, jakie komponenty i moduły Drupala są potrzebne redakcji do stworzenia artykułu, który będzie wyglądał w określony sposób, jednocześnie pozostawiając swobodę modyfikacji. Zatem jeśli redaktorzy chcą, aby kolejność danych komponentów była inna, mogą ją zmienić.
W serwisie Biblioteka PZPN można zobaczyć przebieg poszczególnych meczów

W ramach projektów stworzyliśmy dedykowane komponenty, w większości na potrzeby Biblioteki PZPN i opisów meczów. Jeden z nich wygląda łatwo od strony frontendu, ale bazuje na wielu informacjach z systemu CMS. Jego działanie widać przy tworzeniu artykułu. Redaktor ma wtedy dostęp do informacji powiązanych z konkretnym meczem (statystyki, kto grał na jakiej pozycji). Kiedy opisuje np., jaki w danej minucie był układ zawodników na boisku dla każdej z drużyn, może wybierać tylko spośród zawodników, którzy brali udział w tym meczu (a nie z tysięcy graczy dostępnych w bazie). Dzieje się tak dzięki filtrowaniu danych po stronie CMS-a. W ten sposób redakcja nie musi poświęcać czasu na długie wyszukiwanie informacji.

Współpracowaliśmy z wieloma zespołami, które były odpowiedzialne za poszczególne elementy tych subprojektów. W okresach wzmożonych działań pracowaliśmy w wieloosobowych zespołach, zgodnie z praktykami Agile (daily, sprinty). Poza stworzeniem CMS-a, zrobiliśmy również dokumentację API, która służyła później kolejnym zespołom. Dodatkowo przeprowadziliśmy szkolenia dla redakcji z korzystania z systemu.

Aktualnie zapewniamy wsparcie rozwiązania, które dostarczyliśmy. Pracujemy też nad dodatkowymi funkcjonalnościami.

laptop and smartphone
Rezultat

Stworzony przez nas system CMS na Drupalu zasila danymi trzy strony oraz systemy wewnętrzne. Przygotowaliśmy go w uniwersalny i responsywny sposób, który umożliwia łatwe dodawanie kolejnych stron. Ten CMS ma kilka funkcji:

  1. Wzbogacanie danych, które powstają w Systemie Extranet. Sędzia lub trener dodaje podstawowe informacje o meczu, które następnie trafiają do szyny. Redaktor może skorzystać z tych informacji w CMS-ie oraz wzbogacić je o zdjęcia i opisy.
  2. Tworzenie nowych treści, niepowiązanych z danymi z ekstranetu. Redaktor pisze artykuł np. dla serwisu Łączy Nas Piłka. Treść powstaje w CMS-ie, skąd jest wysyłana do szyny, aby frontendowa część rozwiązania mogła ją pobrać.
  3. Dostarczanie danych dla Systemu Extranet. Są one wykorzystywane do informacji wewnętrznych. CMS produkuje również dane, które nie są prezentowane po stronie frontendu, a jedynie używane przez systemy wewnętrzne.

 

Zobacz serwisy PZPN online

CMS jest intuicyjny oraz daje dużą swobodę pracy. Dodatkowo, prace zostały przeprowadzone terminowo i w bardzo konstruktywnej atmosferze.

Magdalena Urbańska

Dyrektor Departamentu Piłki Amatorskiej (Grassroots) PZPN

Co możemy dla Ciebie drobić

Porozmawiajmy o Twoich projektach