Webfolio CMS

Webfolio CMS je moj najveći lični projekat do sada, projekat u koga sam uložio najviše truda i vremena. Sajt na kome se upravo nalazite je, što bi se reklo, "Powered by Webfolio CMS", :) tačnije, iza ovog sajta stoji upravo moj CMS. Ovaj projekat sam objavio na SourceForge-u, i zvanična prezentacija je na ovoj adresi: http://webfolio-cms.sourceforge.net.

Webfolio CMS je besplatan, open-source CMS, i spada u grupu tkz. "custom-izovanih" sistema za upravljanje sadržajem, tačnije, nije CMS opšte namene, kao što su na primer Drupal ili Joomla, već je prevashodno namenjen kreiranju sajtova za prezentovanje nečijeg rada, i onih koji bi predstavljali lične portfolie.

Pri izradi ovog CMS-a, korišćen je moderan pristup izrade web aplikacija - MVC (Model View Controller) arhitektura, koja omogućava razdvajanje tkz. "bussiness" i prezentacione logike, cela aplikacija je pisana objektno-orijentisanim stilom, linkovi su u SEO-friendly formatu, a sve to u velikoj meri zahvaljujući Zend Framework-u, na kome je i zasnovan ceo ovaj CMS.

Po instalaciji Webfolio CMS-a, za korisnika su unapred kreirane tri stranice: početna, webfolio i kontakt stranica, a korisnik zatim može da dodaje nove stavke (items) u svoj webfolio, i svaka od njih će biti vidljiva kao zasebna stranica sajta. Pri tom, stavke koje korisnik bude unosio, mogu da se rapoređuju i po hijerarhiji, zahvaljujući primeni Nested Set modela čuvanja hijerarhiskih podataka u bazi. A kako sadržaj koji korisnik unosi nije striktno definisan, ovaj CMS može da se iskoristiti za kreiranje sajtova različitih namena.

Webfolio CMS je modularan, tako da njegove mogućnosti mogu biti proširene i unapređene. Dodatni moduli su dostupni na zvaničnoj prezentaciji, a možete ih preuzeti i sa ovog sajta.

Pored Zend Framework-a, ovaj CMS koristi i druge 3rd party biblioteke i alate, kao što su jQuery, TinyMCE (za WYSIWYG editor-e u admin panelu), ExtJS (za različite grid-ove u admin panelu), itd.

U verziji 1.1 ovog CMS-a, implementirao sam više-korisničku funkcionalnost. Naime, korisnik koji bude instalirao Webfolio CMS, i koji po default-u postaje administrator, biće u mogućnosti da dodaje nove korisničke naloge. Pri tom, svaki korisnik mora pripadati određenoj grupi, koje se takođe mogu dodavati, edit-ovati, brisati, a dve su unapred kreirane - Administrator i Moderator, pri čemu administratorsku grupu nije moguće niti menjati niti brisati. Privilegije koje grupe imaju za pristup stranicama i akcijama u admin panelu Webfolio CMS-a, mogu se podešavati do najsitnijih detalja.

Mogućnosti

  • Veoma konfigurabilan i podesiv
  • MVC arhitektura
  • SEO-friendly URL-ovi
  • Webfolio item-i (stavke) koje korisnik unosi mogu da se organizuju po hijerarhiji
  • Podrška za translaciju (prevođenje)
  • WYSIWYG editori u admin panelu
  • Podrška za temiranje (themes)
  • Modularan
  • Podrška za više korisnika
  • Mogućnost podešavanja privilegija za korisničke grupe
  • Jednostavan i intuitivan za korišćenje

Download Webfolio CMS 1.1.4
Broj preuzimanja: 354

Dodatni moduli

Kako je Webfolio CMS modularan, njegove mogućnosti i funkcionalnosti mogu biti proširene dodatnim modulima... više
  1. Mihailo Joksimovic
    Svaka cast, odlicno zvuci ! Nisam imao vremena da ga isprobam, ali verujem da je dobro i definitivno cu ga probati ;)

    Keep up the good work !
  2. Nikola Poša

    Haha, hvala. ;)

    Ovaj CMS mi je inače bio diplomski, al' u odnosu na tada, ovo je sad potpuno druga priča, potpuno sam izmenio neke koncepte, primenio sam taj Nested Set model, uveo neka poboljšanja što se modularnosti tiče, i još mnogo toga. :) A i svaki dan mi padne napamet nešto novo, neka nova ideja, nešto što bi trebalo da implementiram/izmenim, itd. Evo sad baš malo menjam logiku oko ORM priče za određene tabele ovog projekta, ispravljam neke sitne bug-ove "u letu", al' to će sve da bude spremno tek u narednoj verziji. :)

  3. Milan
    A kada izlazi nova verzija???
    ps.Da li je WF na Engleskom,ili ima i Srpski prevod,pošto sam ja malo tražio i ništa nisam našao u vezi srpskog (tražio 10 minuta)
    Da,da... Početnikkkkkkkk sam!!!!!!!!!!!!!!
  4. Nikola Poša

    Moram da priznam da sam malo digao ruke od Webfolio CMS-a... :) Čak mislim da je ta poslednja verzija (1.1.3) ujedno i finalna verzija tog projekta, jer stvarno više nemam vremena za njega. A ima tu dosta stvari koje nisam uradio baš na najbolji način, na koje nisam ponosan i koje bi trebalo ispravljati, i baš zbog toga imam neki odbojan stav prema daljem razvijanju mog CMS-a.
    Al' eto, taj CMS je u stvari više proizvod mog izučavanja Zend Framework-a.

    WF CMS po default-u jeste na engleskom, ali je omogućena i lokalizacija public delova na bilo koji drugi jezik. Pogledaj recimo fajl app/configs/langs/en. Ti npr. možeš da napraviš sr.php sa prevodima tih nekih teksutalnih delova koji se pojavljuju na sajtu. Ali pre toga je potrebno da u libs/ZendFramework/library/Zend/Locale/Data ubaciš fajlove sr.xml i sr_Latn.xml. Do njih možeš da dođeš tako što ćeš da preuzmeš ZF. Nakon toga, u app/configs/wf_config.php, za resurs "locale" i opciju "default", treba da umesto "en" staviš "sr".

    Ako si ipak mislio na prevod admin panela, za to nema rešenja, on je na engleskom jeziku.

  5. Milan
    Malo kasnim sa odgovorom.. :)
    A zašto ti ne okačiš prevod (sve fajlove pošto ih imaš) ???
  6. Nikola Poša
    A gde to da ih "okačim"? Ti fajlovi koje sam spomenuo (sr.xml i sr_Latn.xml) ne sadrže prevode za moj CMS, već su oni jednostavno deo Zend Framework-a i njegove Zend_Layout komponente. Rešio sam da ti XML fajlovi, po default-z budu izostavljeni iz mog CMS-a, iz prostog razloga što su jako veliki, a da onda korisnik, ukoliko želi da vrši lokalizaciju, najpre doda odgovarajući XML fajl u folder libs/Zend/Locale/Data i da posle dodaje fajlove sa prevodima u "configs/langs" folder (bilo default ili nekog custom modula) , kako bi preveo neke segmente u okviru svog sajta, npr. labele u formi za unos komentara i slično.

    btw Sasvim slučajno sam pre neki dan otkrio par većih bug-ova, pa su ispravke za iste objavljene u najnovijoj verziji (1.1.4) mog CMS-a.
  7. Milan

    Pa da ih okačiš na neko "vidno mesto"...
    Da ne bih morao da preuzimam Zend,pa da preturam i da ih tražim...
    PS.
    An error occurred and Webfolio CMS can not be installed on your site at the moment.

    ----
    Ta greška mi se pokazuje kada probam da instaliram WF!!!
    Podesio sam wf_config.php,ali neće...

    edit:
    Koje si bugove pronašao???

  8. Nikola Poša
    Pa ne moraš ništa da preturaš, ti fajlovi se nalaze na putanji Zend/Locale/Data.

    A jesi napravio MySQL bazu? Ako jesi proveri, da li se naziv te baze poklapa sa onim kojeg si uneo u wf_config.php.

    Ma postojao je jedan ogroman bug u get_terms AJAX handler-u Taxonomy modula, usled kojeg je bilo nemoguće dodavati kategorije pri korišćenju određenih modula koji to omogućavaju, npr. Download Manager, Links Manager. Takođe, ispravio sam i jedan ogroman bug u view helper-u admin modula, zaduženog za proveru dostupnosti novije verzije Webfolio CMS-a, usled kojeg je "kretanje" kroz admin panel bilo znatno otežano.
  9. Milan
    Instalirao sam!
    Prebacio sam ceo public_html na chmod 777 i instalirao se...
    Imam jedan predlog:
    Da li može da se izbaci onaj meni preko onmouse over...
    Moram pola sata da ga jurim jer čim mrdnem miša na podmeni ono se promeni...
  10. Nikola Poša

    Hehe, pa ako baš ne možeš da se navikneš, otidi u front-end/js/admin/common.js i zakomentariši sve od 25. do 51. linije kôda. Samo onda ćeš u tom sub meniju videti i ono što ne treba da se vidi. :)

  11. Milan

    Obrisao sam,ali u kôdu admin stranice se vidi
    <script type="text/javascript" oldSrc="/front-end/js/admin/common.js" NG="replaced">

    i onda sledi sadržaj common.js (sa 25-51 linijama)...
    Gde se nalazi šablon login stranice,i gde se nalazi šablon admin stranice...
    ps.Komentari (http://www.pgrs.iz.rs/)

  12. Milan

    edit:libs/ZendFramework/library/Zend/Locale/Data/sr.xml
    Preuzeo sam potrebne fajlove i prekopirao kod mene...
    Radi!
    Takođe sam izmenio i en.php(sr.php)

  13. Milan
    edit:Ima jedan bug:
    Sistem me automatski izloguje posle 2 minuta,bilo da li sam čekirao opciju Remeber me ili ne...
    To me strašno nervira! ;(
  14. Nikola Poša

    Ne razumem taj deo sa oldSrc i NG="replaced", gde si to video? Layout-i se nalaze u app/modules/admin/layouts. Login strana koristi basic, a sve ostale stranice admin panela full layout.

    Ne bi trebalo da te sam izloguje posle 2 minuta. To je neki problem do tvog sistema, a ne do Webfolio CMS-a, odnosno, Zend Framework-a i njegove Zend_Session komponente. Za Remember me funkcionalnost stvarno ne mogu da garantujem da radi bez greške. Samo par puta sam testirao tu opciju u čini mi se da je radila ok. :)

    Opet kažem, nemoj od mog CMS-a da očekuješ da bude bug-free, niti neke ne znam kakve mogućnosti, koje npr. nude giganti kao što su Drupal, Joomla, Wordpress, itd., jer on je jednostavno nešto što je evoluiralo iz admin panela kojeg sam pravio za ovaj moj sajt, pa sam od svega toga napravio mali CMS, ništa specijalno. :)
    Razvoj Webfolio CMS-a je zapravo bio moje proučavanje Zend Framework-a, a kad je rezultat svega toga bila stvar za koju smatram da može da bude korisna drugima, rešio sam da je objavim kao open source projekat.

  15. Ivan
    Kolega sa ES uzeo sam da pogledam ovaj tvoj CMS i imam problema posle instalacije nemogu da se ulogujem.. Probao na sve nacine i nemogu pristupiti admin panelu..

    An error occured. Please try later.
  16. Nikola Poša
    Koju si verziju preuzeo? Ja sam sad upravo probao sa ovom najnovijom 1.1.4, instalirao sam CMS i prijavio se bez problema...

    Probaj i ovo: idi u application/modules/admin/controllers/LoginController.php i na 62. liniji umesto $message = 'An error occured. Please try later.';, stavi $message = $ex->getMessage(), pa vidi šta će da ti ispiše.
  17. Nikola Poša
    Tj. ne aplplication/modules nego app/modules.
  18. Milan
    Pozdrav!
    Uradio sam kao što ste napisali i dobijam sledeću grešku:
    The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.
  19. Nikola Poša
    Ajde onda probaj i da u toj klasi, Zend_Auth_Adapter_DbTable, na liniji 416, umesto toga throw new Zend_Auth_Adapter_Exception itd. staviš samo throw $e;, kako bi ponovo bacio taj izuzetak kojeg je i uhvatio, pa onda vidi šta će da ispiše. Naravno, ostavi i onu izmenu u LoginController-u.
  20. Nikola Poša
    ... ili još bolje, na istoj liniji koda (416), umesto tog stringa: 'The supplied parameters to Zend_Auth_Adapter_DbTable...' stavi samo $e->getMessage(). Tj, kao jedini parametar pri instanciranju Zend_Auth_Adapter_Exception prosledi to $e->getMessage().
  21. Milan
    Nije bilo potrebe za time, uradio sam downgrade sa xampp 1.7.4 na 1.7.3 i sada radi..
    Zašto - ne znam...
    Tako se ponaša zend (piše na stakovrflov :D)

Pošaljite komentar: