DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Web aplikacije, web servisi i software (http://www.devprotalk.com/forumdisplay.php?f=30)
-   -   Razvoj CMS-a / Content Menagment Systema (http://www.devprotalk.com/showthread.php?t=780)

CorePro 14. 03. 2006. 20:57

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.

CorePro 14. 03. 2006. 22:44

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…

Pedja 14. 03. 2006. 23:20

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.

Bojan Zivanovic 14. 03. 2006. 23:39

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.

jablan 15. 03. 2006. 14:06

Citat:

Gdje bi u admin folderu postojao opcije.inc.php ( sadrzavao array i opcije dostupne u administraciji npr. modid=id_modula_iz_baze&akcija=1)
Odluči se prvo da li praviš portal ili CMS.

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.

kaizen 15. 03. 2006. 15:50

Citat:

Originalno napisao Bojan Zivanovic
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.

Ne prave se web aplikacije samo u PHPu. MVC se odavno koristi za web aplikacije u Javi npr.

Bojan Zivanovic 15. 03. 2006. 15:59

Citat:

Originalno napisao kaizen
Ne prave se web aplikacije samo u PHPu. MVC se odavno koristi za web aplikacije u Javi npr.

Naravno, nisam ni mislio suprotno.
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:

kaizen 15. 03. 2006. 16:10

Citat:

Originalno napisao Bojan Zivanovic
Naravno, nisam ni mislio suprotno.
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:

:1043:

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?!

kaizen 15. 03. 2006. 16:13

Citat:

Originalno napisao Bojan Zivanovic
MVC za web aplikacije koji je definisao Sun. Valjda :1074:

i btw, Sun nije definisao ništa za MVC. Oni ne defenišu te stvari(arhitekturu aplikacije) već specifikaciju(i često implementaciju) za prateću tehnlogiju(ejb, j2ee server, servlet kontejneri,...)

Ilija Studen 15. 03. 2006. 16:46

Svi noviji PHP frameworci su MVC: Symfony, CakePHP, Zend FW... Ne znam zašto ljudi prave toliku nauku oko toga.


Vreme je GMT +2. Trenutno vreme je 02:08.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.