CMS Nedir?

CMS Nedir?

CMS;Content Management System,İçerik Yönetim Sistemi olarak tanımlanır.İçerik yönetiminden kasıt,bir web sayfasında veya web uygulamasında  yer alan verilerin ,herhangi bir tasarım geliştirme programı olmadan,yine web sayfası üzerinden  erişebileceğiniz korumalı bir panel ile düzenlenmesidir.Genel olarak CMS ile şu işlemler yapılabilir:

  • Düzenleme işlemi esnasında yeni sayfa oluşturulabilir veya var olan sayfayı kaldırabilirsiniz.
  • Sayfaların içeriği bir HTML Editörü ile yani DreamWeaver gibi bir programda  metin düzenleme araçları ile hemen hemen aynı işlevi gören araçlarla,sayfa içindeki verinin düzenlenmesi veya yeni verinin oluşturulması sağlanabilir.
  • CMS ile Sayfa Yöneticileri tanımlanabilir.Böylece hangi sayfayı kim düzenleyebileceği gibi yetkilendirmeler yapılabilir.
  • Sitenin tasarımı yeniden düzenlenebilir.

Günümüzde web tarafında bir CMS arandığında, hemen WordPress ve Joomla ile karşılaşırsınız.Bunlar;PHP ile MySQL ile hazırlanmış olan oldukça başarılı CMS’lerdir.Bu CMS’ler için temalar oluşturulur ve bu temalar tanımlanarak site oluşturulur.Sonrasında da CMS’in standart şablonu ve temanın fonksiyonelliğine göre içerikler oluşturulur ve site yayına başlar.Ancak bizim şu an bu tür CMS ile işimiz yok,çünkü biz kendi hazırladığımız(tema olmayan) bir siteyi yönetmeye çalışıyoruz.

 CMS Çeşitleri ve Uygulama Metotları

CMS aslında düzgün olarak kodlanmış hemen hemen her siteye uygulanabilir.Burada düzgünden kastımız,kodlanırken belirli kurallara uyulmuş ve sistematik olarak hazırlanmış sitelerdir.Bir şeyi kontrol etmek istiyorsanız,o şeyin kontrollü hazırlanmış olması gerekir.Yani baştan savma hazırlanmışbir web sayfasını yönetecek bir CMS yapmak hem imkansız hem de saçmalık olur.

CMS’in alt yapı durumu ve çalışma mantığına göre de uygulama alanları değişebilir.Mesela kendim müşterilerime eskidebn basit olarak bir CMS hazırladığım zaman ,hazırlamış olduğum her bir .HTML formatlı dosyayı ve bu dosya içindeki verileri düzenleyecek bir editör oluşturuyordum.Mesela bir sayfada kurumsal bilgiler anlatılıyorsa ,o sayfada yer alan başlığı ,başlık altında yer alacak olan resmi ,resmin altından da yer alacak olan metni düzenleyecek bir form hazırlıyordum.Yönetici ,CMS panelinde bu bahsi geçen bilgilerden metin olanları yeniden yazıyor,resim için de bilgisayarından yeni bir resmi seçip yükletiyordu.Sonrasında da CMS üzerinde yer alan Kaydet butonuyla ,sayfaya ait olan .HTML sayfasını üzerine replace(üzerine kaydet) ederek kaydediyordu. Basit,ilkel ama etkiliydi.Özet olarak bu mantık şu adımları izler:

  • Sayfadaki güncellenecek alanları belirle.
  • Bu alanların verilerini bir CMS panelinde form üzerinde göster.
  • Yöneticinin bu verileri yeniden düzenleyebilmesini sağla.
  • Aynı sayfa üzerinde verileri kaydet.

Örnek vermiş olduğum bu CMS yapısı,statik olarak hazırlanmış basit web sayfaları için idealdir.Var olan içerik yeniden düzenlenebilir.

Ancak sürekli olarak yeni yeni içerikler yayınlanması(mesela bir haber sitesi) web sayfanız varsa o zaman başka bir yaklaşım gerekiyor.Yani siteyi değil,veriyi düşünmeniz lazım.mesela WordPress bir içerik yönetim sistemidir.Bu sistemde de temel amaç :yetkilendirilmiş kullanıcı oluşturmak,bu kullanıcı ile yeni sayfalar ve yeni makaleler oluşturmak/silmek ,ziyaretçilerin yorum yapabilmesini ve onaylanmış yorumlarını sayfa ve makale altında göstermek,sitede gösterilen medya dosyalarını yönetmek ve bir takım gerekli ayarlamalar sunmaktır.Yani kullanılabilir veri oluşturmaktır.Diğer amacı ise;CMS ile oluşturulan bu ham verilerle,ziyaretçilere gösterilecek site şablonu entegre etmektir.Site şablonu verilerden bağımsız olduğu için (her ne kadar bağımsız desem de CMS’in veri sunma fonksiyonlarına bağlı kalmalıdır,yoksa arayüz tasarımı vs. değil) geliştiriciler tarafından hazırlanmış olan her tema ile veriler gösterilir.Aslında oolması gereken CMS’in mantığı da budur.Fakat böyle bir CMS’i sıfırdan oturup yazmak ,her geliştiricinin rüyasıdır.Rüyalara çok bulaşmayalım,işimize bakalım…

Share this post

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir