From: Sancar Saran (saran@sim.com.tr)
Date: Mon 16 Jun 2003 - 16:09:34 EEST
On Monday 16 June 2003 15:24, you wrote:
> Merhaba,
>
> Yaziliminizi detayli inceleyemedim ancak, tam bir CMS sistemi gibi
> gorunuyor. Sanirim bizim ihyitacimiz olan biraz daha haberleri arka
> planda tutacak, bir seferde 'Linux budur' diyebilecek bir site.
>
> Bu tip bir ygu=FDlama gelistirmede deneyiminiz oldugu cok acik. Eger =
> sizin
> icin de uygunsa smarty (http://smarty.php.net/) ' yi inceleyip yeni
> siteye uygunlugunu elestirir misiniz?
>
>
> Sevgiler,
>
> Baris Ozyurt
>
Selam,
Biraz acikliyayim (veya hava atayim ;) )
Sistem temel olarak web sayfasini
------------
| header |
| lb | ct |rb|
------------
|footer |
------------
Seklinde algilar,
sizin merkezde (ct) gormus oldugunuz kisim Weblog adini verdigim modulun bir
parcasisidir.
PWN (php?net) sisteminde header(ht) cetner table left block(lb) center table
center block (ct) center table right block (rb) footer table(fb) ile
adlandirilan bolumler (loc).
1-) Her domain icin
2-) Her sayfa icin
Ayri ayri yapilandirilabilir. icerikleri kolayca degistirilebilir. (web
uzerinden tiklayarak, tabii yetkiniz var ise :))
Diyelim bunu begenmedik, orada olmasini istedigimiz sey bir aciklama sayfasi
veya herhangibir baska birsey. Bu herhangibir baska seyi kodladiktan sonra.
Sisteme diyoruzki,
root domaini, main sayfasinda bulunan, ct blogunda birinci siraya
ilistirilmis olan weblog.php lisitirme bilgisini sil.
Yeni yaratmis oldugum lkd_bilgi.php dosyasini include eden blogu birinci
sirada cikacak sekilde yerlestir.
Sonra rol modulune gidip, lkd_bilgi doyasina, Gues, Logged_in, Root (zaten
yarattigimiz esnadan otomatikman root rolune access verir) rollerine erisim
hakki ver.
Bu islemlerden sonra, orada artik weblog.php degil. lkd_bilgi.php olacaktir.
Yani haberi onemi istersin arkayami istersin, yoksa user secsin ilk acilista
bilmem ne sayfasina gitsin mi istersin, X yuserlar haber gorsun, y yuzirlar
forum gorsunmu istersin. Sana kalmis (alt yapi calisiyor, ancak dalyan gibi
ust yapi (arayuz) ihtiyaci var).
Ozetle bir limiti yok. Zaten sIkIntIsIda orta. Hersey o kadar secilebilirki,
secilebilme standardi koyamadigim icin (ve veya digelim yeni bir sayfa
ekliyeceksiniz. Her sayfanizda en ustte logonuz, en allta footer bilginiz
olsun istiyorsunuz. Oturup bu isleri fixleyecek bisi yapmadigim icin, sayfayi
yarattiniz. Her bolgenin (loc) acik kapali oldugunu, icinde neler oldugunu,
her sayfa icin header i footer i tek tek tek girmeniz lazim :)) sayfalari
yapmak biraz yipartici oluyor netekim.
Smarty meselesine gelince. Smarty sistemini belki SQL ile birlestirilebilirse
benim sistemime yakin birsey bir ihtimal elde edilebilir.
Bu sistemde elementler assagi yukari soyle
Domain
Page
Loc |HT|LB|CT|RB|FT|
Block |INClude|XContainer|YContainer|
Item |INClude|Nav|OutLink|Msg|
Domain: Sayfalar gurubu diyebiliriz. Sanirim kucuk bir kod eklemesi ile, her
domaini bir www.domain.com.tr e esitleyip bu istek geldiginde sistemi bu
domaini cagiricak sekilde kodlayabiliriz
Page, malumunuz, sistemde cikacak sayfalari belirliyorsunuz. Nuke deki
mod_load a benzetilebilir (bir nevii).
Loc: Sayfa lardaki bolumler, arzuya gore, her ayri sayfa da acilip
kapatilabilir.
Include blok ve item ler, Baska bir php dosyasini include_once eder,
XC,YC blok container ler x veya y ye dogru uzayan navigasyon ogelerini tasiyan
bloklardir
Yani
Yblock
Hede Menu
xhede
yhede
zhede
XBlock
xhede,yhede,zhede
Nav item lar, Sistem ici link vermenize yarar
OutLink item lar Sistem disi js ile yeni pencere acan linkler vermenize yarar
Msg ise basitce birseyi ekrana basar.
ACL yapisina gelince,
Sistem temelde rol modeline dayanir, Root rolunden tureyen roller
kullanicilara baglanarak bir cesit ACL saglanmaya calisir.
Root rolu, sistemde kayitli olan tum elemanlara access imkani olan bir roldur.
Yaratilan her yeni domain,page,block,item bu role kayit edilir.
Daha sonra root rolden rol turetilir. Ve bu rolun access edebilecegi kaynaklar
belirlenir, gerekirse turetilen rollerdende rol turetilebilir. Tureyenlerden
tureyen rollerin erisebilecegi kaynaklar bir ust rolun kaynaklari ile
sinirlidir.
Sonra kullanicilar bir veya daha fazla role baglanarak sistem uzerindeki
gerekli erisim hakkina sahip olurlar.
Eger acl de erisimi yoksa, sayfada hic bir link gorunmez. (onun icun sisteme
girdiginizde, syman gibi bir link goremiyorsunuz.)
Coklu dil islemi, sistemi yapisi itibariile SQL uzerinden yapilir. Dil
destegine sahip olabilecek her turlu zamazingo, language adli tabloya
kaydedilir. Ayrica kod icinde gerekli olan coklu dil destegi de yine sql
uzerinden yaplir. (kisaca _arrPL diye bir arayimiz var onun icine girecek
sekilde yazip cagiriyoruz, oluyomu ? Oluyo valla)
Gerci bu dil hususunun birazcik daha dizayn gerektirdigini dusunuyorum.
Eeeoo baska nesi var. Ha moduller birinden ayri db lere sahip. Biri
localhost:mysql iken digeri oburhost:posgresql olabilir.
EEoooo sahsen yazdigim birkac class dosyalari var, bunlarla sql listeleri,
formlar falan yapilabilir.
Ornek gormek icin. kayit olduktan sonra evrak kayit programina bakabilirsiniz.
Baksa ozellik olarak, her kullanici icin cesitli secenekleri kayit edebiliyor,
ornegin hangi blogun acik kapali olacagini vs.
Daha bisilerde yapmisimdir sanirimda da hatirlamiyorum.
En son sistem icinde kullanilan tema ve bunlara ait css ler icin bir cesit
hazilama seysi uzerinde urasiyor idim..
Su ana kadar, Vasat duzeyde de olsa, calisan arayuzler sunlar
Sysman: Yeni safya, Blok, Oge yaratimi, Sayfalarin ve bloklarin gorsel olarak
duzenlenmesi.
Kisaca x sayfasini organize et dediginizde, sayfa sematik bir bicimde onunuze
cikiyor. iste su blok suraya, bu blok buraya, su blok 1. bu 2. yok lb off rb
on vs gibi islemler yapabiliryorsunuz.
Kullanici denetlenmesi,
Role Organizasyonu.
Dil islemleri icin basit bir arayuz.
Weblog girisleri icin basit bir arayuz.
Modul ayarlari icin Basit bir arayuz.
Ayrica yarim birakilmis, dahili forum ve oylama seyside var.
Neyse vaziyet budur.
Smarty ile daha cabuk birseyler cikarmaniz olasi. En azindan herkez benim
kodun ne olup olmadigini anlamak icin kendinizi yipratmazsiniz. Ancak mesele
ozellik ise elime kimse su dokemez. Nuke culer de dahil.
Ha tamamlanma acisindan benden kat kat onde olduklarini kabul etmemek aptallik
olur. ve eger izliyorsaniz, gerek nuke, gerek post-nuke artik duraganlasmaya
basladi. Yeni versiyonlarinda oyle cok da farkli birsey sunmuyor.
Sancar "Delifisek" Saran