Droptica - Nowa strona - Drupal 8

Nowe podejście do budowy serwisu internetowego

Przez ostatnie kilka miesięcy w powoli pracowaliśmy nad nową stroną internetową naszej agencji drupalowej. Trwało to tak długo, ponieważ prace były robione w przerwach między pracami dla klientów. Dzisiaj w końcu udało się opublikować wersję polskojęzyczną.

 

Prace nad nową stroną podzieliliśmy na kilka etapów. Pierwszym etapem było opracowanie strategii treści. Na poprzedniej wersji strony wiele razy zmienialiśmy strukturę wyświetlanej treści dostosowując ją do naszej aktualnej oferty i zapotrzebowania potencjalnych klientów. Przed rozpoczęciem prac programistycznych nad nową wersją chcieliśmy dokładnie przemyśleć jaką strukturę treści będzie miała nowa strona.

 

Po zaplanowaniu struktury treści, zaczęliśmy je rozmieszczać na podstronach używając makiet (etap prototypowania). Wykorzystaliśmy do tego bardzo dobrze narzędzie, jakim jest UXPin. Po kilku iteracjach i wewnętrznych dyskusjach makietami zajął się grafik, który wszystko ubrał w ładny layout. Jeszcze planujemy kilka małych zmian, ale one mogą już poczekać na etapy po wdrożeniu.

 

Po opracowaniu projektu graficznego dla strony głównej, rozpoczęliśmy prace programistyczne. Strona powstała w oparciu o system Drupal w wersji 8. Nie był to nasz pierwszy projekt na D8, wiedzieliśmy jak się za to zabrać, ale postanowiliśmy wykonać projekt trochę inaczej niż dotychczasowe projekty na D8. Główną zmianą jaką chcieliśmy przetestować było użycie composera do zarządzania wersją Drupala oraz modułami z drupal.org. Bazowaliśmy na projekcie https://github.com/drupal-composer/drupal-project Dodatkowo, jak wszystkie projekty od kilku miesięcy, projekt był budowany z użyciem Dockera oraz naszej aplikacji wspomagającej użycie Dockera https://github.com/droptica/docker-drupal

 

Z wersji na D7 zmigrowaliśmy tylko wpisy na blogu zmieniając ich adresy URL oraz usuwając kategorie. Na etapie planowania struktury treści ustaliliśmy, że uprościmy blog, ponieważ nie mamy tam aż tak dużo treści.

 

Zmieniliśmy programistyczne podejście do budowania stron z treścią (oferta, o firmie, itp). W Drupalu 7 te strony były nodami podzielonymi na typy. Takie rozwiązanie jest wygodne, gdy się chce edytować szybko treści. Mniej wygodnie się robi jeśli chcemy zmienić strukturę treści. Trzeba wtedy dodawać np. nowe pola czy zmieniać pliki tpl. W Drupalu 8 postanowiliśmy, że te treści będziemy robić "w kodzie". W skrócie każda podstrona jest zdefiniowana w plikach modułów przez swój osobny routing i ma swój kontroler zawierający treść. W ten sposób mamy trochę mniej wygodniejszy sposób zmiany treści (trzeba je wprowadzić w GIT), ale jesteśmy bardziej elastyczni przy zmianach struktury HTML. Możemy ją dowolnie modyfikować i na każdej z podstron mieć łatwo inny układ treści.

 

Z perspektywy tego projektu oraz kilku innych wykonanych na Drupal 8 sądzimy, że D8 z punktu widzenia programisty oraz rozwoju aplikacji jest znacznie lepszym narzędziem niż D7. Struktura kodu modułów jest bardziej uporządkowana, serwisy oparte na D8 będą bardziej elastyczne z punktu widzenia wprowadzania kolejnych zmian i rozwoju serwisu.

 

Jeśli macie już za sobą serwisy na D8 to chętnie przeczytamy Wasze opinie o tej wersji systemu. Możecie też chwalić naszą nową fajną stronę ?

 

3. Najlepsze praktyki zespołów programistycznych