MerixStudio

PWR wydawnictwo

Mechanizm portalowy dla Polskiego
Wydawnictwa Rolniczego

Założenia projektu

Poznanie oczekiwań i potrzeb klienta

Na początku posiadaliśmy jedynie zbiór ogólnych wytycznych dotyczących funkcjonalności jakie ma oferować mechanizm portalowy, a także budowane na nim w przyszłości serwisy internetowe.

W celu doprecyzowania szczegółów zorganizowanych zostało szereg warsztatów, zarówno w siedzibie klienta jak i u nas na miejscu. W spotkaniach uczestniczyli m.in. redaktorzy naczelni poszczególnych tytułów, przedstawiciele działu promocji oraz osoby odpowiedzialne za IT.

W tym czasie przygotowaliśmy i omówiliśmy kilkanaście wstępnych makiet kluczowych stron, wymieniliśmy także setki maili i przeprowadziliśmy godziny konsultacji telefoniczych.

Wybór technologii

Screenshot
Screenshot
Screenshot

Mechanizm ma umożliwić generowanie nowych serwisów w sposób ograniczający do minimum prace programistyczne.

Zdecydowaliśmy się na użycie frameworka Django, bazującego na języku Python. Jest to narzędzie o bardzo dużych możliwościach, które pozwala tworzyć bardzo skomplikowane aplikacje i serwisy internetowe.

Django

Architektura informacji / UX

Zadanie jakie otrzymaliśmy od klienta było nietypowe.

Nie tworzyliśmy jednego, konkretnego serwisu, z jasno wyznaczoną grupą odbiorców i dostosowanym do ich potrzeb zakresem funkcjonalności.

Naszym celem było zaprojektowanie i połączenie w spójną całość zestawu funkcjonalności, które będą na tyle uniwersalne i elastyczne zarazem, że będzie można je wykorzystywać w wielu serwisach.

Po trzech kolejnych miesiącach intensywnej pracy, warsztatach i kolejnej setce maili oraz rozmów udało się zamknąć etap projektowania architektury informacji i tworzenia specyfikacji funkcjonalnej.

Stworzyliśmy łącznie kilkadziesiąt makiet, dla każdego szablonu kilka wariantów (RWD). Wynikowy dokument ze specyfikacją liczył 187 stron.

44

makiety

187

stron
specyfikacji

Najważniejsze funkcjonalności

Pokaż / ukryj opis

Integralną częścią mechanizmu portalowego jest forum dyskusyjne. Funkcjonalność ta posiada rozbudowaną konfigurację. Za jej pomocą możliwe jest m.in. tworzenie nowych forów oraz w ich ramach kategorii, moderowanie wpisów i załączników, zarządzanie profilami użytkowników (w tym banowanie osób, które złamały regulamin, nadawanie rang) oraz tworzenie sond.

Pokaż / ukryj opis

Integracja procesu zamawiania prenumeraty i ogłoszeń z systemem płatności online PayU. W przypadku serwisów wydawnictwa zastosowana została zaawansowana integracja obejmująca także zwrotne raportowanie o stanie poszczególnych płatności. Dzięki temu, administrator w CMS ma zawsze aktualne informacje na temat płatności związanych z zakupionymi prenumeratami i ogłoszeniami (czy jest w trakcie, czy może pieniądze dotarły już na konto wydawnictwa). Integracja z zewnętrzną usługą do wysyłania newsletterów - Freshmail. Klient jest aktywnym użytkownikiem tej usługi, stąd zamiast tworzyć dedykowany mechanizm obsług newslettera po stronie serwisu zapadła decyzja o integracji z Freshmail. Dzięki wykorzystaniu API tego serwisu, adresy e-mail podawane przez subskrybentów w serwisie są automatycznie dopisywane do listy we Freshmailu. Co istotne administrator ma możliwość integracji każdego serwisu z innym kontem we Freshmailu a także z poziomu CMS określa, do których list mogą zapisywać się użytkownicy.

Pokaż / ukryj opis

Moduł do prezentacji notowań. Aby zwiększyć wygodę przeglądania i łatwość odszukiwania potrzebnych informacji notowania zostały podzielone na kategorie (zboża, warzywa, bydło, trzoda itd.) oraz regiony. Redaktorzy mogą modyfikować listę kategorii oraz regionów.

Pokaż / ukryj opis

W ramach wdrożenia wykonaliśmy integrację z darmowym adserwerem Revive (dawny OpenX). Dzięki temu redakcja zyskała dedykowane, rozbudowane funkcjonalnie narzędzie do obsługi kampanii reklamowych na łamach swoich portali. W ramach integracji zainstalowaliśmy i wstępnie skonfigurowaliśmy adserver na serwerze klienta a także zbudowaliśmy mechanizm do przypisywania stref reklamowych adserwera do odpowiednich miejsc w szablonach serwisu. Operacja przypisania jest bardzo prosta, nie wymaga kopiowania kodu, wystarczy podać identyfikator. Obecnie w serwisie jest przewidziane miejsce dla 33 stałych stref reklamowych plus możliwość aktywacji dodatkowych na stronie głównej.

Pokaż / ukryj opis

Baza aktualności i artykułów to serce każdego serwisu informacyjnego. Kluczowy aspekt to możliwości kategoryzowania i tagowania newsów i artykułów; w pierwszym przypadku według tematyki, w drugim także po numerze wydania. Ponadto redaktorzy mogą decydować, które newsy są prezentowane na stronie głównej jako polecane, aktywować komentarze oraz powiązywać informacje z materiałami wideo, sondami lub galeriami zdjęć.

Pokaż / ukryj opis

Rozbudowany mechanizm do obsługi procesu zamawiania prenumeraty oraz ogłoszeń drobnych. Proces zakupu rozłożony został na kilka kroków: logowanie na konto lub rejestracja, konfiguracja prenumeraty lub ogłoszenia oraz płatności. Zamówienie jest zapisywane w bazie danych, natomiast użytkownik oraz admin otrzymują potwierdzenie e-mailem. Administrator ma możliwość konfiguracji rodzajów i cen prenumerat oraz powiązanych z nimi uprawnień oraz cennika ogłoszeń.

Wdrożenie

Wdrożenie mechanizmu portalowego zostało powiązane z uruchomieniem nowej odsłony serwisu dla miesięcznika "top agrar Polska". Prace podzielone zostały na 4 etapy:

Projektowanie graficzne

  • Przygotowaliśmy 48 layoutów, w tym 13 dla wariantów RWD.
  • Spędziliśmy nad tym ponad 100 godzin.
  • Cały etap, łącznie z oczekiwaniem na uwagi i akceptacje klienta trwał 43 dni.

Kodowanie interfejsu użytkownika

  • Wynik prac frontend developera to 46 plików HTML, 32 pliki CSS oraz 82 pliki JS.
  • Pełna kompatybilności z przeglądarkami IE 9+, FF, Chrome, Opera i Safari.
  • Bezproblemowe działanie wszystkich szablonów na najpopularniejszych smartphone'ach i tabletach.
  • Zero błędów w walidatorze W3C.

Budowa mechanizmu portalowego

  • Zdecydowanie największe wyzwanie fazy wdrożeniowej.
  • Dwóch developerów django CMS.
  • 90 dni programowania.
  • Integracja z PayU, Freshmailem oraz PayU.
  • Zastosowany panel Django Suite oparty o Bootstrap.
  • Integracja z bazą prenumeratorów Wydawnictwa.

Testy

  • Weryfikacja zgodności szablonów z projektami graficznymi.
  • Sprawdzenie działania w najpopularniejszych przeglądarkach i różnego rodzaju urządzeniach (PC, Mac, iPhone, iPad, smartphone'y i tablety z Androidem i Windows Phone)
  • Wychwycono 250 błędów, z czego tylko 18 miało status krytyczny, ponadto zgłoszonych zostało kilkanaście sugestii i propozycji zmian.

Rozwój

Już w trakcie prac wdrożeniowych zaczęły pojawiać się nowe pomysły i potrzeby dotyczące mechanizmu portalowego. Bieżąca współpraca zawocowała wdrożeniem - już po oddaniu pierwszego serwisu - dodatkowych narzędzi i funkcjonalności.

...oraz drugi tytuł w nowej formule

Kilka miesięcy po zakończeniu prac nad topagrar.pl otrzymaliśmy zadanie skonfigurowania drugiego serwisu, dla Tygodnika Poradnika Rolniczego.

Aby nieco zróżnicować poszczególne witryny wprowadzonych został szereg drobnych zmian w wyglądzie całej strony oraz w układzie informacji na stronie wejściowej.

Dzięki temu, że duża część funkcjonalności miała być współdzielona, nakład prac potrzebny do uruchomienia drugiego serwisu okazał się zdecydowanie mniejszy.

Tak naprawdę dopiero teraz mogliśmy uznać, że całe przedsięwzięcie spełnia nakreślone wymagania i daje realne korzyści naszemu klientowi.

Podziękowanie szefa projektu

Mechanizm portalowy dla Polskiego Wydawnictwa Rolniczego nie powstałby bez zaangażowania wielu osób. Nie sposób wymienić wszystkich uczestników zespołu, ale kluczową rolę w tym procesie odegrali po stronie Wykonawcy – Pan Sławomir Wilczyński oraz po stronie PWR, Panowie Tomasz NiemiecBartłomiej Czekała. Wszystkim serdecznie dziękuję.

Z poważaniem
Szef projektu PWR
Wojciech Szramowski