Webfolio CMS / Dodatni moduli
Kako je Webfolio CMS modularan, njegove mogućnosti i funkcionalnosti mogu biti proširene dodatnim modulima. Kako sam ja autor ovog CMS-a i jedino ga ja poznajem u svaku liniju koda,
dodatne module, takođe, pišem samo ja (za sada).
Njih objavljujem na ovom sajtu, odakle ih možete i preuzimati, a naravno druga opcija za preuzimanje je zvanična web stranica za download fajlova u okviru Webfolio CMS projekta.
Ugrađeni moduli
U osnovnom paketu, Webfolio CMS dolazi sa tri ugrađena (core) modula: default (podrazumevani), admin i taxonomy modul.
Default modul je zadužen za public logiku sajta, odnosno, ono što vidi posetilac sajta kojeg pokreće ovaj CMS. Pri tom, u okviru ovog modula postoje određeni resursi, najčešće modeli, koji se stavljaju na raspolaganje svim dodatnim modulima.
Admin modul je zadužen za upravljanje i podešavanje celog sajta, od strane vlasnika sajta kojeg pokreće Webfolio CMS. U njemu se nalaze forme preko kojih korisnik može da unosi nove stavke u njegov webfolio i menja postojeće, zatim da menja stranice sajta (početnu, webfolio i kontakt stranicu), zatim paneli za upravljanje komentarima posetioca, temama sajta, modulima, stranice na kojima mogu vršiti razna podešavanja, itd.
Taxonomy je modul koji nije vidljiv za korisnika Webfolio CMS-a, i on je u stvari namenjen programerima koji pišu dodatne module. Ovaj modul nudi kompletan API za kategorizovanje određenih unosa, kako dodatni moduli, u zavisnosti od njihove namene, ne bi morali da kreiraju svoje tabele u bazi koje bi služile za čuvanje određenih kategorija.
Mogućnosti za integraciju dodatnih modula
Postoje različiti načini na koje neki modul može da unese dodatnu funkcionalnost u Webfolio CMS. U okviru ovog CMS-a, postoje različite tkz. "kuke" (hooks), preko kojih modul može da "registruje" neku svoju funkcionalnost. Dodatni modul može da prijavi svoj element u sidebar korisnikovog sajta, koje će onda biti ponuđen korisniku u grid-u za upravljanje sidebar-om u admin panelu. Zatim, kako u Webfolio CMS-u već unapred postoji sistem parsiranja sadržaja webfolio unosa, modul može da prijavi svoj Content parser, koji će da obavlja parsiranje određenih tag-ova za koje taj modul "zna". Modul može da prijavi i svoj Content plugin, koji su takođe pre-definisani u ovom CMS-u i omogućavaju umetanje određenog sadržaja pre i posle sadržaja nekog webfolio unosa (webfolio entry), npr. neke stranice sajta, webfolio stavke, itd. Kad smo već kod webfolio unosa,
dodatni modul može da iskoristi tu tabelu u bazi za webfolio unose (wf_entries), kako bi dodao neki svoj tip unosa. Modul takođe može i da prijavi neki dodatni element u formama za unos nekog webfolio unosa, u admin panelu. Konkretan primer toga je modul Next level items, koji dodaje svoje polje za upload slike u formu za unos webfolio item-a. Da bi to funkcionisalo, modul mora prati određene događaje u tim formama (popunjavanje forme, validacija, submit-ovanje forme, itd.), kako bi mogao da unese svoju logiku u te stvari, a to omogućava kuka za različite događaje u Webfolio CMS-u. Pored navedenih događaja, ova kuka omogućava i praćenje događaja kao što su: pre-procesiranje komentara posetioca, post-procesiranje komentara posetioca, brisanje webfolio unosa, itd.
U nastavku je listing modula koje sam do sada napravio za ovaj moj CMS, i za svaki imate detaljnije objašnjene, kao i link za preuzimanje.

