Na začátku dubna se konala vývojářská konference CodeCon, na které jsme se za ui42 zúčastnili nejen jako návštěvníci, ale Šimon Zámečník (Technical Architect a BUXUS lead z ui42) také aktivně přednášel téma CMS BUXUS.
Mluvit o prvním slovenském CMS a zároveň o frameworku Laravel zní trochu jako oxymoron. Přece jen, v roce 1999 nejenže Laravel neexistoval, ale PHP tehdy bylo ve verzi 3 a právě začínalo být objektově orientované. Trh s CMS pro webové stránky byl také velmi omezený. (Například předchůdce dnes nejpopulárnějšího CMS Wordpress b2/cafelog vznikl v roce 2001.)
Zakladatelé ui42 tedy přišli s vlastním řešením web content management systému, který dostal název Redis (zkratka pro redakční informační systém). Vhodně své době měl vlastnosti, které z dnešního pohledu působí negativně. “Spaghetti” kód šablon míchal PHP s HTML více než by se patřilo a tyto šablony byly navíc uložené v databázi - což mělo v té době své opodstatnění. A protože již zmíněné OOP teprve přicházelo do PHP, i BUXUS používal pouze funkce, ne objekty.
Zend Framework
V roce 2009 nastal obrovský posun vpřed přechodem na Zend Framework 1. Mimo jiné to architektonicky umožnilo používat MVC, autoloading, objekty pro práci s databází a dalšími důležitými komponentami.
Laravel
Rok 2015 byl již rokem, kdy framework Laravel nabíral popularitu a v ui42 se rozhodlo, že jeho výhody chceme používat v CMS BUXUS také. Jak ale na to? Existující systém měl v sobě hodně kódu napsaného v Zend Framework 1 a existovaly jen dvě možnosti: kompletně vše přepsat nebo integrovat Laravel do existujícího kódu. Roky zkušeností rozhodly, že stavět aplikaci ‘na zelené louce’ se nevyplatí, a tak se šlo druhou cestou. Ta představovala to, že se do BUXUSu dostávaly komponenty Laravelu, jako například service container, illuminate/queue a další. BUXUS tedy ještě jako takový neběžel přímo na Laravelu, ale předělávali jsme ho tak, aby se na Laravel co nejvíce podobal.
Kompletní přechod na Laravel nastal v roce 2017 - znamenalo to, že celý framework (ne jen jeho vybrané části) byl závislostí pro instalaci BUXUS CMS a i adresářová struktura, tedy layout projektu, je podle Laravelu.
Předělávání existující aplikace, která je nasazena do produkce na desítkách až stovkách webů, si vyžaduje hodně úsilí pro zpětnou kompatibilitu. Zároveň však vývojáři chtějí používat co nejmodernější postupy a nástroje všude tam, kde je to možné. V CMS BUXUS jsme se s touto úlohou popasovali celkem dobře. Pro webové vývojáře a další lidi, které tato téma zajímá, doporučuji podívat se na celou Šimonovu přednášku, kterou najdete v přiloženém videu.
V případě, že jsme vás zaujali, nebo máte nějaké otázky k tématu CMS, BUXUS, případně jiné, neváhejte nás kontaktovat. Velmi rádi vám poradíme.