V nedeľu sa skončila konferencia Drupal Developer Days 2014. Je to najväčšia akcia svojho druhu zameraná na Drupal vývojárov. Tento rok sa konala od 23.3. do 30.3. v juhomaďarskom meste Szeged. Zišlo sa tu viac ako 300 ľudí, ktorým nie je Drupal ľahostajný a ktorí mali to šťastie a dostatočne rýchlo si kúpili lístky.
Celý týždeň bol rozdelený na 2 časti – od pondelka do stredy a v nedeľu sa stretli múdre vývojárske hlavy na sprintoch zameraných na niektorú zo súčastí novo pripravovaného Drupalu 8. Cieľom bolo pomôcť posunúť Drupal 8 do prvej beta verzie a teda odstrániť tzv. beta blokátory. Bolo odstránených približne 40% zo všetkých beta blokátorov.
Ja som sa zúčastnil až druhej polovice týždňa, kedy sa uskutočnili prednášky tých najväčších mozgov v Drupalovom svete. Svojich zástupcov vyslali spoločnosti ako Acquia, AmazeeLabs, Commerce Guys a o budúcnosti Drupalu rozprával aj samotný zakladateľ spoločnosti Wunderkraut. Celkovo sa uskutočnilo v 2 sálach 43 prednášok a 2 keynotes.
V tretej miestnosti zatiaľ prebiehali workshopy, na ktorých si účastníci mohli zmigrovať svoj modul do Drupal 8, alebo sa mohli naučiť, ako si vytvoriť interaktívnu prehliadku stránky a prispieť tak ku lepšiemu zdokumentovaniu rozsiahlych možností, ktoré Drupal ponúka.
Výber toho najlepšieho z prednášok, na ktorých som sa zúčastnil.
Pri písaní tohto blogu som rozmýšľal, či sem táto časť patrí, keďže o jednotlivých prednáškach som písal priebežne vo svojích blogoch. Rozhodol som sa ale vybrať tri prednášky, ktoré osobne mňa najviac ovplyvnili:
1. Drupal 8 for real – Florian/Wunderkraut
Táto prednáška ma prinútila zamyslieť sa nad dlhodobou udržateľnosťou stránok v Drupale. Pre tých, čo to nevedia, Drupal podstupuje už druhý krát veľmi výraznú zmenu API. Prvý raz to bol prechod z Drupal 6 na Drupal 7, keď bolo dosť výrazným spôsobom prerobené vytvárania tzv. typov obsahov. V jadre Drupal 6 nebol vtedy mechanizmus na vytváranie nových dátových polí a túto možnosť priniesol modul CCK. Ten bol následne zapracovaný v podobe Fields API do jadra Drupal 7. Na tento modul ale nadväzujú moduly ako napr. Views, čo je vstavaný query builder, ktoré museli byť teda prepísané tiež. Okrem toho sa zmenilo aj rozhranie na prácu s DB, keďže v Drupal 7 bola pridaná možnosť behu aj na NoSQL databázach. Zmena väčšiny jadra v Drupal 8 je spojená s prepojení Drupalu a Symphony frameworku. Čiže opäť nastáva zmena rozhraní, Views sú zapracované do jadra a jednou z ďalších výrazných zmien je presun konfigurácie z DB do súborov.
Toto sú zmeny, ktoré rozbíjajú komunitu. Práve na vynikajúcej komunite a super ekosystéme bol založený úspech Drupal 7 v Amerike, kde ho začalo používať niekoľko vládnych webov. Florian sa preto pýta, či chceme úspech Drupal 8 stavať tiež na ekosystéme, čo však môže zabrať ešte veľmi veľa času, alebo využijeme vynikajúce Rest API a front-end frameworky ako Backbone.js, či možnosti, ktoré ponúka samotný Symphony framework. Taktiež otvorene nesúhlasí s vyjadrením Driesa (tvorca Drupalu), aby sa vypustil až dokonalý kúsok, a nabáda ľudí na začatie využívania Drupalu 8 na produkčných weboch. Veď napokon pár produkčných webov na Drupal 8 už existuje a väčšinu z nich vytvorili práve programátori Symphony.
2. Building really fast websites in D8 – Wim/Acquia
Mnohí iste viete, že Drupal môže mať celkom veľké problémy s rýchlosťou načítavania stránok. Spôsobuje to zlý návrh niektorých jeho súčastí, ako napríklad personalizácia, či načítavanie vždy všetkého javascriptu a css súborov. Ak nie je stránka personalizovaná, prípadne sa do nej ľudia neprihlasujú, existuje modul Boost, ktorý stránku “nacachuje” v podobe html súborov. Tak viete ušetriť čas potrebný na vygenerovanie stránky v PHP a prístupy do databázy. Problém však nastáva pri stránkach s prihlasovaním, kde pomáha jedine zvýšený výkon servera.
V Drupal 8 by mali byť ale tieto problémy minulosťou. Bol úplne prekopaný systém na načítavanie js a css súborov, ako aj systém na personalizáciu. Stránky budú načítavať už iba súbory, ktoré naozaj potrebujú. Personalizácia bude zase využívať novinku uvedenú v HTML5 – Local Storage. Princíp je ten, že šablóny budú obsahovať iba placeholdery a reálne dáta budú riešené pomocou javascriptu na strane klienta. Kým v Drupal 7 bolo označenie, či je komentár nový, vyhodnocované na serverovej strane, teraz tu bude iba placeholder obsahujúci dátum a čas vytvorenia komentáru a na strane používateľa bude uložené, kedy bol naposledy daný článok navštívený. Pridanie textu sa potom deje už pomocou javascriptu. Konečne funkčná bude tiež agregácia a minifikácia súborov.
3.Graphs in D8 – Peter/Cameron&Wilding
Stále viac rozširujúcim sa trendom vo svete je využívanie NoSQL databáz. Táto prednáška pojednávala konkrétne o grafových databázach (Neo4J). Prednáška bola pre mňa zaujímavá hlavne z dôvodu, že momentálne sám vyvíjam projekt s použitím Neo4J. Tento ale nie je postavený na Drupale a teda ma zaujímalo, ako budú tieto špecifické databázy použiteľné v Drupale. Peter pripravil zaujímavú prezentáciu, v ktorej vysvetlil pre nezainteresovaných základ teórie grafov a následne pokračoval praktickou ukážkou grafovej databázy v reálnom projekte. Peter sám vyvinul modul, ktorý prepája databázovú vrstvu Drupalu s Neo4J REST rozhranie pomocou Everyman databázového konektoru. Skúmal aj možnosti ďalšieho rozvoja prepojenia Neo4J a Drupalu. Podľa neho by najviac pomohlo vytvorenie modulu na spoluprácu s modulom Views, čo je v podstate jednoduchý ale veľmi silný QueryBuilder. Takýto modul už existuje v experimentálnej verzii pre Drupal 7, ale zatiaľ nezvláda všetky typy polí. Na záver Peter priznal, že nie je veľmi nadšený z toho, že je jediný, kto pre Drupal vyvíja prepojenie s touto zaujímavou databázou. Hneď sa ale prihlásila spoločnosť, ktorá chce tieto moduly používať tiež a bude sa spolu s Petrom spolupodieľať na ich vývoji a údržbe. Teším sa na výsledky ich spoločnej práce.
Čo dodať na záver? Podľa môjho názoru to bola zatiaľ najlepšia z drupalových konferencií, na ktorých som sa zúčastnil. Mal som reálnu možnosť stretnúť skúsených vývojárov jadra Drupalu a osobne sa s nimi porozprávať. Môžem každému, kto sa zaujíma o Drupal a/alebo o OpenSource technológie, aby neváhal a prišiel na niektorý z nasledujúcich DrupalCampov.
Kde budú najbližšie Drupalové konferencie?
V máji sa uskutoční DrupalCamp Alpe-Adria v Slovinsku. Začiatok prázdnin sa bude niesť v Drupalovom duchu na skutočnom drupalovom tábore Dropcamp v Holandsku, v strede leta sa môžete vykúpať v Balatone a popritom počúvať Drupalové prednášky na Drupalatone a jeseň oznámi DrupalCon Amsterdam na konci septembra. Ďalšie akcie a lokálne stretnutia môžete nájsť na Drupicale. Ak by ste mali ale záujem stretnúť sa so slovenskou drupalovou komunitou, napíšte buď mne, alebo na Facebook Slovenskej Drupalovej Asociácie alebo na stránku drupal.sk.
Na úplný záver si určite hovoríte, že som veľa písal o Drupale 8. Pýtate sa, kedy tento systém bude plne funkčný? Buď sa môžete riadiť tým, čo povedal Florian z Wundrekrautu a začať ho používať hneď, alebo si bohužiaľ počkáte ešte asi rok. Čo si vyberiete? Ja mám v tom jasno…
Moje blogy o DDD2014:
Na Zemi a.k.a Drupal Dev Day 2014 – deň 1
Druhý deň na planéte Drupal a.k.a Drupal Dev Day 2014- deň 2
Návrat na Zem a.k.a. Drupal Dev Days 2014 – deň 3