z-admin

Zašto Z-Admin CMS ?

 

Zašto Z-Admin CMS ?

Ovo je pitanje koje ima nekoliko odgovora, međutim nastojati ću u par rečenica izreći svoj stav. Usto ću vas i upoznati s nekim značajnijim mogućnostima aplikacije.
 
Kako se godinama bavim poslom web dizajnera i web programera, već duže vremena tražim pogodan CMS koji bi ispunio moja očekivanja.
Istestirao sam razne CMS sustave, poput Joomle, Wordpressa, DotNetNuke-a idr. Iako se radi o izvrsnim aplikacijama nisam bio zadovoljan iz četiri praktična razloga:
 
  1. Zašto se kao web dizajner moram baviti programiranjem kako bih mogao napraviti dizajn stranice ? Ili svoju kreativnost podrediti ograničenjima CMSa ? Web dizajn MORA biti odvojen od programiranja. Točka.
  2. Zašto kao web programer moram na težak način (ili ne mogu uopće) utjecati na to kako će se koji modul na stranici ponašati ? Kako da na web stranici iskoristim moje vlastite module ?
  3. Zašto kao web moderator ne mogu samostalno definirati gdje će se koji modul aplikacije pokazivati, što će pisati u zaglavljima isl. ?
  4. Zašto platiti CMS sustav za web stranicu koja mi možda neće donijeti nikakve prihode ?
 
Imajući ove, ali još poneke razloge u vidu, prije kojih 18 mjeseci započet je rad na aplikaciji Z-Admin CMS for ASP.NET.
Rad na projektu započet je od nule, dakle bez ijednog pomoćnog Frameworka. Za započeti projekat ne treba više nego komad papira i olovka (ili u mojem slučaju bijela ploča i razni isperivi markeri).
Kako ovaj projekat ne bi ispao "bloatware" (tj. bezvezno natrpani softver sa svim mogućim i nemogućim opcijama) bilo je potrebno detaljno razraditi u kojem pravcu ovaj projekat treba ići.
Modul po modul, i liniju po liniju; aplikacija je rasla. Neke inicijalne stvari koje sam zamislio bile su izbačene jer im nisam vidio pretjeranu korist, dok druge (još) nisu unešene, čisto zbog toga jer nisam imao dovoljno vremena. Ostavio sam one mogućnosti za koje sam mislio da su korisniku najpotrebnije i najkorisnije. Vjerujem da nisam pogriješio, ako i jesam uvijek sam spreman čuti konstruktivnu kritiku. 
 
 

Neke od mogućnosti programa:

  • Fleksibilan. Izuzetno fleksibilna infrastruktura CMSa, koji ima namjenu prilagoditi se potrebama korisnika (a ne korisnik potrebama programa).
  • Teme. Lagana promjena teme (izgleda web stranice), jednostavnim uploadom ZIP datoteke. Teme su ZIP datoteke s HTML dokumentima (predlošci) koji sadrže mjesta za module (određeno html komentarom). Web dizajner uređuje ih bez ikakvog potrebnog znanja u programiranju.
  • Predlošci. Svaka tema može sadržavati neograničen broj predložaka, i moderator definira koja stranica će koristiti koji predložak.
  • Mjesta za module. Svaki predložak ima u sebi posebna mjesta za module (mjesta za module definira web dizajner) na koja se mogu postaviti bilo koji moduli ili tekst. Mjesta za module se mogu vrlo jednostavno unijeti, i nisu ograničena na niti jedan način. Dizajneru na volju.
  • Moduli. Bilo koji od 30ak ugrađenih ili korisničkih modula (ili HTML sadržaj) može se unijeti na definirana mjesta za module (koja je prethodno definirao web dizajner). Pozicije modula mogu se po potrebi mijenjati.
  • Stranice za meni. CMS može koristiti neograničen broj stranica koje mogu biti u više nivoa (tzv. multi level menu items).
  • Korisničke stranice. Moguće je dodati i neograničen broj korisnički definiranih stranica, koje ne ulaze u glavni meni.
  • Modul unutar sadržaja. Na svaku stranicu može se bilo gdje postaviti modul (isto kao i u predložak), i nije bitno da li postoji tekst, galerija slika ili neki drugi modul ispred ili iza modula. Tako je primjerice moguće na stranicu unijeti tekstualni sadržaj, ispod sadržaja postaviti modul sa specifičnom poslovnom logikom aplikacije, a odmah ispod modula dodati još sadržaja, galeriju slika, ili drugi modul.
  • Korisnički i ugrađeni moduli. Osim ugrađenih modula (preko 30), moguće je dodati neograničen broj korisničkih modula (koji se programiraju u alatu Visual Studio, i nisu ništa drugo nego obične ASCX kontrole koje svaki programer zna napraviti u 2 minute).
  • Autorizacija po stranici. Svaka stranica (korisnička ili iz menija) po potrebi omogućuje i autorizaciju. Time je omogućeno da su određene stranice dostupne samo specifičnoj grupi korisnika.
  • Drag-Drop. Mijenjanje rasporeda stranica u glavnom meniju radi se jednostavnim drag/drop načinom.
  • Proširivost. CMS podržava tzv. "extendere" koji povećavaju funkcionalnost programa, i služe kako bi omogućili programerima definiranje korisničkog sučelja za specifičnu namjenu. Extenderi se programiraju kroz alat Visual Studio, na isti način kao i korisnički moduli.
  • Korisnički podaci iz SQLa. Moguće je definirati prikaz podataka iz korisnički dodanih tablica (kroz alat SQL Management Studio), korištenjem modula "Custom Items". Ovaj modul omogućava definiranje zaglavlja, podnožja, predloška za podatak, te pisanje C# koda za dohvat (uvjetna klauzula) i baratanje (kontrola)  dobivenim podatkom.
  • Dinamički tekst. Omogućeno je dodavanje dinamičkog teksta, gdje programer kroz CMS sučelje može pisati C# kod i unijeti koju god dinamičku funkcionalnost treba (npr. vraćanje današnjeg datuma i vremena, broj korisnika na stranicama, idr.)
  • Liste članaka. CMS posjeduje napredne mogućnosti za baratanje listom članaka, tako je primjerice moguće definirati koliko će članaka na ekranu biti prikazano te u koliko kolumni će biti iscrtani.
  • Kategorije članaka. Svaki članak spada u određenu rubriku (dakle radi po principu rubrika -> lista članaka -> detalji članka).
  • Podaci kroz XML. Osim prikaza podataka kroz korisničke module te modul "Custom Items", moguće je baratati s podacima i kroz XML zajedno s XSL transformacijama. Ovaj modul osim statičkih XML podataka omogućava i čitanje XML dokumenta s URL adrese.
  • Liste kontakata. Moguće je napraviti listu kontakata, a svaki kontakt ima ugrađenu formu za brzo slanje poruke e-mailom. E-mail adresa kontakta ne mora biti prikazana.
  • Lokalizacija kontakata. Omogućeno je opsežno definiranje kako će se lista kontakata prikazivati te njena lokalizacija.
  • Komentari. Omogućeno je dodavanje komentara, bilo gdje na stranicu. Po mogućnosti komentari se mogu i povezati s člancima. Po potrebi se u komentar mogu postaviti forumski BB kodovi koji će biti prepoznati i formatirani, mogu se filtrirati nepoželjne riječi (psovke idr.) a uz pomoć s internetskom bazom spam adresa moguće je i filtrirati spam poruke.
  • Ankete. Modul za dodavanje anketa.
  • Galerije. Modul za dodavanje galerija slika.
  • YouTube. Modul za dodavanje YouTube sadržaja (kao kolekcija video zapisa zajedno s preglednikom).
  • Twitter. Modul za dodavanje Twitter Widgeta gdje će pisati zadnji postovi određenog korisnika. Modul je moguće detaljno urediti.
  • RSS podaci. Modul za prikaz RSS podataka s neke URL adrese.
  • Upravljanje dokumentima. Modul "File Manager" za administraciju cjelokupne web stranice. Osim standardnih mogućnosti, omogućen je i rad s ZIP datotekama.
  • CSS stilovi kroz web administraciju. Modul za brzu promjenu CSS stilova web stranice.
  • Korisničke grupe i korisnici za prijavu. Moguće je dodavati nove grupe i korisnike, te detaljno definirati njihove ovlasti. Tako je primjerice moguće imati Administratora s punim ovlastima, te Moderatora koji se može baviti ažuriranjem članaka ali nema ovlasti za ništa drugo.

Bio je veliki izazov ali i užitak raditi ovaj program, i izuzetno sam sretan što je nakon 18 iscrpljujućih mjeseci program konačno došao do svoje stabilne verzije 1.0.
 
 
 
Želim puno sreće u daljnjem radu svakoj marljivoj i entuzijastičnoj osobi, a biti ću ponosan ako Z-Admin CMS pronađe mjesto na računalima web profesionalaca i običnih korisnika interneta.
 
 
 
Zoran Bošnjak