Migracija na novi softver
Sa zadovoljstvom vas obavještavam da je migracija ovog web site-a na Joomlu 1.5 uspješno okončana.
Ovaj web site je startao u travnju 2004. godine pogonjem Mambo 4.0.5 CMS sustavom.
Nakon raskola u Mambo razvojnom timu i osnivanja Joomla CMS community-a, site je upgradean na Joomlu 1.0.x početkom ožujka 2006. godine.
U to vrijeme je već bilo izvjesno da ovaj novi CMS neobičnog imena ima puno više potencijala u budućnosti od originalnog Mambo CMS-a.
Tri godine kasnije, slijedi posljednji upgrade na Joomlu 1.5 kao logičan i neminovan korak naprijed.
Ispod naizgled identičnog web site-a kuca srce najnovijeg Joomla softvera, poboljšan search modul, RSS feed koji sada objedinjuje sve kategorije u jednu ulaznu točku, novi i poboljšani newsletter manager sustav i još puno lipih stvari.
Ova migracija je samo početak, preduvjet za mnoge fine stvari koje slijede u skoroj budućnosti. Očekujte dodatna poboljšanja u danima koji slijede, a bio bih vam zahvalan da možebitne bug-ove prijavite kroz kontakt formu.
Za tehnički *udarene* i one koji se tako osjećaju (također i za supatnike koje tek čeka ovaj korak), slijedi malo detalja oko same migracije.
Za sve ostale: opustite se, "normality is restored". :)
1. Zašto migracija?
Joomla 1.0.x je došla do kraja svog razvojnog puta i Joomla razvojni tim je krajem prošle godine najavio definitivno gašenje razvoja 1.0.x brancha i potpuni prelazak na verziju 1.5 u svim aspektima i početak razvoja nove, 1.6 verzije kao slijedećeg nasljednika.
S obzirom da se prestankom razvoja prestaje i sa izdavanjem sigurnosnih zakrpa, jedini način za sigurno funkcioniranje Joomla sustava je migracija na novu verziju.
2. Migracija ili upgrade?
Joomla razvojni tim je definirao upgrade kao prelazak sa jedne verzije 1.0.x na drugu verziju 1.0.x, odnosno sa jedne verzije 1.5.x na drugu verziju 1.5.x.
Migracija je prelazak sa 1.0.x na 1.5.x i u tu svrhu je napisana tzv "migrator" komponenta koja uvelike olakšava posao. Joomla 1.5 podržava isključivo UTF-8 kodnu stranu i migrator komponenta se brine da prekodira bazu na UTF-8. S obzirom da je ovaj web site u vrijeme svog nastanka startao sa latin2 (iso-8859-2) kodnom stranom, ova migracija je u jednom koraku riješila i migraciju na novi standard - UTF-8.
Više o osnovnoj proceduri za migraciju sa 1.0.x na 1.5.x možete pročitati ovdje.
3. Promjene u Joomla 1.5 core dijelu
Prije svega treba naglasiti da je prelazak sa Mamba 4.x na Joomlu 1.0.x p****n dim u usporedbi sa prelaskom sa Joomle 1.0.x na Joomlu 1.5.x!
Prvi test migracije na kopiji ovog web site-a sam napravio krajem prošle godine. Na svoj veliki užas, nakon migracije sam ustanovio da mi sve stare komponente, moduli, pa i sam template više ne odgovaraju i ne mogu se upogoniti na Joomli 1.5.
Pa, krenimo redom...
Joomla 1.5 ima potpuno drugačiji i ponovo napisan engine i API i svaki template, komponenta ili modul se mora prilagoditi novoj okolini. Kako migrator komponenta migrira samo osnovne podatke iz baze, u ovisnosti koliko 3rd party komponenti na svom web site-u imate, ovisi i količina persena koju ćete popiti dok stvar ne preštrikate na novom sustavu.
Što se template-a tiče, postoji zgodan tutorial koji će vam pomoći da stvar dovedete u red, ali očekujte puno ručnog rada i google-anja za detaljima koji nisu pokriveni u ovom tutorialu.
I da, jako zgodan 'howto' za overrideanje nekih defaultnih načina ispisa Joomla core komponenti. Obavezno štivo! ;)
Što se modula i komponenti tiče, ako imate sreće, naći ćete verzije svojih omiljenih modula za Joomlu 1.5. Ako ste baksuz kao ja, ustanovit ćete da se moduli koji vam trebaju mahom više ne razvijaju ili se čeka verzija za Joomlu 1.5 sa nepoznatim rokom izlaska. Kako god okrenete - imate problem. Ja sam neke module zamijenio sa alternativama (u slučaju da se alternativa pokazala jednako funkcionalnom ili čak boljom od originala), ili sam ručno prekodirao neke komponente kako bi radile sa Joomlom 1.5, što je posebno fin osjećaj kad komunicirate sa Joomla API-em koji je pisan na objektno orjentiran način, a objektno (dez)orjentirano programiranje vam je privlačno kao spuštanje golom guzicom niz brdo žileta. :)
Altenativa je postojala: upaliti tz. "System - Legacy" plugin koji bi omogućio starom Joomla kodu da se vrti na novom API-u. Međutim, ova stvar ne radi savršeno za sve module. Osim toga, u Joomli 1.6 će se i ova mogućnost za "backward compatibility"ugasiti i bilo je jasno da bi ovo samo odgodilo problem na dvije godine, a nikako ga riješilo. Stoga sam odlučio po svaku cijenu podići sve potrebno bez paljenja tog plugina i posebno mi je drago da sam u tome na kraju i uspio.
U svakom slučaju, trebalo mi je dva tjedna vremena da na testnom sustavu poštrikam template i osnovne komponente.
Onda sam sve to lijepo pospremio na sigurno i otišao u Jordan da odmorim dušu. :)
4. Konačna odluka
Iskreno, očekivao sam da će za par komponenti koje su mi falile da popunim mozaik za ovu migraciju developeri izdati prikladne verzije za novu Joomlu do travnja ove godine, ali se to, naravno, nije dogodilo.
Zato sam ovaj vikend napravio (i dokumentirao) potpunu migraciju, popunio komponente koje su mi nedostajale sa adekvatnim alternativama i stvar istestirao. Testovi su pokazali da mi više neće trebati ona bočica persena i da stvar može ići kao novi web site.
"Great success!", rekao bi Borat. :)
5. Što dalje?
Joomla 1.5 definitivno otvara nove mogućnosti. Većina novih ekstenzija se danas razvija isključivo za Joomlu 1.5. Već dugo imam planove za nova poboljšanja, a njihova realizacija je čekala da se napravi ova migracija koja je bila apsolutno nužan uvjet.
Ukoliko imate web site na Joomli 1.0.x, napravite si plan za prelazak na 1.5 jer će do ljeta prestati svaki oblik podrške za stariju verziju Joomle i s vremenom će ovaj korak biti sve teže napraviti.
Ukoliko se nađete u ćorsokaku, slobodno mi se javite sa pitanjima. Rado ću pomoći ukoliko budem mogao.