Razvoj CMS-a / Content Menagment Systema
Pozdrav svima,
Radio sam na razvoju cms ili content menagment systema, ( php,mysql… ), razvijao module potrebne i sl. No ono što me zanima je, dali ste pronašli na netu kakav članak na ovu temu, kao razvoj cms-a, struktura, "najprihvatljivijih način",efikasnijih.. kao i struktura baze, instalacija modula, korištenje template enginea… Razlog zbog kojeg mi je ovo potrebno jest taj što želim vidjeti dali postoji neki bolji način ( siguran sam da postoji ) i napraviti / unaprijediti postojeći cms. Naravno, za klijente, cms nije problem napraviti i sve, ali za razvoj i projektiranje cmsa dostupnog široj publici tj. "public", ipak bi trebalo ići na to da je cms pristupačan svima u pogledu projektiranja i korištenja. Također bilo bi mi drago ako bi u ovom threadu češće raspravljali o ovoj temi, kao i raspravljali o ostalim cms sustavima, nedostatcima – prednostima i sl. |
Prije nego netko nešto napiše…želio bih predstaviti moj sigurno "neučinkovit i efikasan" baš način, ali zasad ok način strukturiranja cms sustava.
Naime, tokom rada sa cms sustavima i progrmiranje uopće, normalno je da se podaci o bazi, i spajanje na bazi nalaze u odvojenom fajlu, točnije db.inc.php u mom slučaju. Taj fajl, osim podataka za spajanje na bazu i samog spanja na bazu ne treba sadržavati ništa više. Ovaj fajl je smješten unutar inc ili include foldera, kao i još jedan dodatni fajl funkcije.inc.php, u slučaju da se nalaze neke osnovne funkcije koje su često korištene. Sljedeći folder bi bio moduli… U ovom folderu, naravno opet kreiranjem ostalih folder bi bili smješteni moduli koji se koriste u cms-u ( ili ne koriste ), a bili bi instalirni i kontrolirani putem baze, točnije tablice u bazi -moduli- cija bi struktura bila sljedeća: Tbl: moduli ------------------ Id Ime Naslov Opis Updated Instaliran Aktivan Vidljiv ----------------- Mislim da dalje od ove strukture ne bi bilo potrebno objašnjavati… Ukoliko se u folderu moduli nalazi novi modul ( koji ne postoji u bazi ), u administraciji bi se pojavio na listi…zajedno sa gumbom za instalaciju - instalacija na osnovu sql fajla i upisa ostalih podataka koji se nalaze definirane u varijablama unutar modula pod fajlom modul_info.inc.php Također bi se svaki modul ( folder ) sastojao još od folder: Admin Images Gdje bi u admin folderu postojao opcije.inc.php ( sadrzavao array i opcije dostupne u administraciji npr. modid=id_modula_iz_baze&akcija=1) opcije.inc.php: ------------- <? $modul = array( "stranice"=>array( "Stranice", "Pregled", "Dodaj novu", "Kategorisanje stranica" ) ); ?> ----------------- Images bi sadržavao slike potrebne za rad modula. Također bi još postojao i index.php u folderu admin koji bi bio includan u administraciji pozivom na modid i odgovorajuću akciju… U samom folderu modul, postojao bi index.php koji bi bio pozivan sa same stranice - front-end-a.. i koji bi radio dalje potrebno… ( funkcije, glavni ispis, switchevi itd… ) Ovo bi bilo ukratko o modulima, također ovdje je vidljiva neučinkovitost, Nekorištenje Template foldera kao i folder "jezik" i još nekih… -- Dalje, sama administracija bi se sastojala od admin folder unutar roota, i u njoj bi bilo index.php u kojem bi se kreirao layout administracije i pozivale opcije kao i moduli cms-a. Što se tiče login-a, header & footer za admin i ostalo ( moduli ) oni bi također radili i pozivali se iz moduli foldera, tj. sama administracija bi bila modularna. U samom rootu bi bili index.php i fajlovi potrebni za front end ispis. To bi bilo ukratko, još se toga dalo napisati, no želio bih čuti i Vaše mišljenje također… |
Ma to kakav ces CMS da pravis zavisi od ciljne grupe za koju ga pravis. Ja sam recio sebi pravio CMS koji uopste ne lici na ono sto se obicno podrazumeva pdo CMS, to jest uopste ne sadrzi podrsku za podesavanje izgleda i rasporeda sadrzaja klikanjem i trazi da korsinik ima vrlo dobro znanej o HTML, PHP, bazama, i web dizajnu uopste, ali mu olaksava utoliko sto kao module ima gotove programe za razne namene, a koji se medjusobno vrlo lako integrisu i dele funkcije i resurse i uopste sve mehanizme sto je vise to moguce.
Prednsot takog pristupa je recimo sto onaj ko razvija sajt, radi na njemu vec poznat nacin, kao da radi obican statican sajt u HTML-u, samo sto ima mogucnost da uglavi opciju modula u svoj kod gde god pozeli. Tako nema nikakvih ogranicenja gde ce sta da mu stoji, kako ce da izgleda i sto je najvaznije, planiranje i definiciju svega radi na uobicajen nacin a ne juri se sa odcepcima koda po gomili neuhvatljivih i isitnjenih template-ova strpanih u jedan direktorijum ili jos gore, smestenih u bazu. |
Eh, ja kako god da napravim nesto, uvek imam osecaj da je to moglo bolje :)
Sledeci korak u pravljenju web aplikacija je po mom misljenju svakako MVC, recimo preko Zend Frameworka.. Mada je jos u ranoj fazi razvitka.. A sto se template-a tice, smarty. |
Citat:
Ovde imaš spisak i šeme osnovnih funkcionalnosti koje program treba da ima da bi bio CMS: http://www.bris.ac.uk/ISC/cms/features.htm http://www.bris.ac.uk/ISC/cms/wcmsonion.html Inače, mislim da si malo rano počeo sa php kôdom. Prvo napiši funkcionalnu specifikaciju, pa onda kreni sa tabelama i menijima. |
Citat:
|
Citat:
MVC se koristio mnogo pre web aplikacija (nastao je '79, znaci stariji je od mene) ovo sto mi zovemo MVC je u stvari Model2, MVC za web aplikacije koji je definisao Sun. Valjda :1074: |
Citat:
Da li je moguće da MVC tek treba da se desi u PHPu? PHP zajednica ne prati šta se dešava na drugim frontovima?! |
Citat:
|
Svi noviji PHP frameworci su MVC: Symfony, CakePHP, Zend FW... Ne znam zašto ljudi prave toliku nauku oko toga.
|
Citat:
|
Django je MTV framework ;)
|
Citat:
|
Citat:
nije, slazem se...MVC je izmislio Xerox...:) |
ako mozemo malo natrag na topic...jer i mene nesto svrbi da mozda pisem 'nesto svoje' :)
slazem se, kako neko rece, za svaki projekt se sklepa nesto prema zahtjevima za konkretnog klijenta, tako sam i ja radio do sad milion puta, ali dodje vrijeme kad se cini da se treba napravit i nesto opcenito upotrebljivo. ja se takodjer krzmam u zadnje vrijeme bi-ne-bi se odlucio uzet tri tjedna godisnjeg i napisat kostur nekakvog CMSa u kojem ce bit osnovne stvari koje se koriste na svim sajtovima 'opceg tipa', jer iako tu 'nema neke posebne filozofije' ipak je to prilican posao. znaci, tu bi svakako upadalo nesto ovakvo... moduli tipa: - multi-level autorizacija (Administrator <-> novinar) - manipulacija clancima (dodavanje, brisanje, edit, sort i slicno) - manipulacije kategorijama (dodavanje, brisanje, edit, sort, beskonacni parent...) - manipulacije slikama (kreiranje galerija slika, update slika, prikazi galerija - samostalno, u tekstovima, itd itd) - ankete (kreiranje anketa, [opcionalno] dodjeljivanje anketa specificnim kategorijama, arhive anketa) - katalog proizvoda (dodavanje/brisanje/edit, razvrstavanje po kategorijama, akcije...) - newsletter (vise kategorija) - RSS feed toga sigurno ima jos pa dopisite sta smatrate da se mora naci u jednom rjesenju potrebnom za 'opci slucaj'. Ono sto mene najvise zanima je dio u kojem korisnik CMSom odredjuje vanjski izgled. O tome najmanje znam, o samim mehanizmima kako to izvesti pa bi me zanimalo ko ima iskustva/ideja da kaze. Joomla npr., to ima rijeseno kroz module i njihove pozicije u templateu i stvar se prakticno svodi na to da covjek ako hoce svoj design, nacrta layout, poreze u template i na odgovarajuca mjesta u njemu ucita module. Kako vi to radite ili bi radili? kakve su jos opcije? Taj dio jos nisam radio jer mi nije trebalo; do sad sam po templejtu rucno odredjivao gdje se koja grupa kategorija izlistava i to mi je bilo dovoljno za ono sta mi je trebalo, pa bi bilo zanimljivo cuti kako ste to odradjivali, ili neki linkovi o tome sta/kako jedan CMS mora ispunjavati? PS. Citat:
|
Najiskrenije, ja sam protiv ovoga. Been there, done that. Zašto praviti kostur CMSa? Zašto se ne osloniti na neki drugi kostur koji će ti omogućiti da CMS napraviš za jedno poslepodne? Zašto imati toliko toga gotovo? To samo znači da ćeš mnogo stvari bacati.
Preporuka: pogledaj Django. Trenutno ne postoji ništa što mu može prineti kad je brzina razvoja klasičnih content management sistema u pitanju. Dobijaš autentifikaciju, admin se pravi za tebe na osnovu podešavanja, imaš odličnu podršku za i18n i l10n, keširanje ako praviš high traffic sajtove itd itd itd. Ne dobijaš news modul koji samo uključiš, dobijaš osnovu koja ti omogućava da news modul napraviš za 5 minuta. Kompletna poenta: zašto CMS? Zašto ne jedan korak niže? Onda bar znaš da ništa nećeš bacati i neke stare odluke ti neće biti kamen oko vrata. |
Citat:
Evo iskopao sam verziju teksta na veb arhivi: http://web.archive.org/web/200404040...s/features.htm A jedan dobar tekst i slika mislim da se nalazi ovde: http://www.ariadne.ac.uk/issue30/techwatch/ |
tnx!
|
Vreme je GMT +2. Trenutno vreme je 16:48. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.