İÇERİK YÖNETİM SİSTEMLERİ - Ünite 5: Drupal Özeti :
PAYLAŞ:Ünite 5: Drupal
Giriş
Drupal herhangi bir kod bilgisine sahip olmadan kişisel web günlüğünden profesyonel web portalına varıncaya kadar farklı türde web siteleri yapılandırabileceğiniz ve yayımlayabileceğiniz açık kaynak kodlu bir içerik yönetim sistemidir. Kolay bir şekilde dinamik site oluşturmaya imkân sağlayan kişiselleştirilebilir, etkileşimli ve yetkilendirilebilir içerik ve katılımcı yönetimi imkânlarına sahip geniş özellik ve hizmetleriyle esnek bir ortamdır. Drupal, proje fikrinin ortaya çıktığı 2000’li yıllardan bu yana destekçi ve geliştirici topluluğunun katkılarıyla şu an çekirdek (core) adı verilen, temel özelliklerini barındıran basit bir katmana ve eklenebilir modüllerden oluşan bir yapıya sahiptir. Çekirdeğine dâhil edilmiş olan bu modüller sayesinde kullanıcılar içerik ekleme, gözden geçirme ve içeriği sınıflandırma, arama yönetimi, yorum ekleme, forumlara katılma, anketlerde oy verme gibi birçok farklı işlevi kod bilgisine gerek duymadan ihtiyaçlarına özgü olarak gerçekleştirebilmektedir.
Drupal Hakkında
Drupal, 2000’li yılların basında paylaşım ve haberleşme ihtiyacını gidermeye yönelik olarak yerel ağ içinde hayata geçirilen bir projeydi. Sahip olduğu temel özellikleri ve bileşenleriyle Drupal günümüzde bireyselden kurumsala çok farklı boyutlarda web çözümleri sunan bir ortama dönüşmüştür.
Drupal içerik yönetim sistemi, yazılım sürümleri ile ilgili gelişmeler, topluluk üyeleri ve kullanıcıların paylaşımları resmi sayfası olan www.drupal.org sitesi üzerinden gerçekleştirilmektedir.
Drupal topluluk sayfasında Türkiye çalışma grubu yer almaktadır. Özellikle yerelleştirme çalışmalarına bu grupta yer alan gönüllüler destek vermektedir. Drupal Türkiye’ye http://www.drupalturkiye.org/ adresinden, Drupal Türkiye Çalışma Grubu’na ise https://groups.drupal.org/turkey adresinden ulaşabilirsiniz. Drupal Türkiye, Türkiye’deki üyelerin bir araya gelmesi, Drupal ile ilgili soru, sorun ve çözümlerini tartışabilmesi, deneyimlerin paylaşılabilmesi adına oluşturulmuş, Drupal konusunda Türkçe içeriklerin yer aldığı yerel topluluk sayfasıdır.
Drupal’ın Yapısı: Drupal kaynak kodu GNU Genel Kamu Lisansı 2 (GPL) altında ücretsiz olarak dağıtılmaktadır. Çekirdeğinde sunulan geniş özelleştirme seçenekleri ile gerek içerik gerekse de görünümü, isteğe ve ihtiyaca göre değiştirilebilir ve geliştirilebilirdir. Çekirdeğinde yer alan özellikler sayesinde içeriğin tamamı mevcut arama eklentisi sayesinde indekslenerek aranabilmekte, kullanıcı ve arama motoru dostu (SEF- search engine friendly) URL oluşturmaya imkân sağlamaktadır. Drupal, kendisi gibi özgür bir yazılım olan İnternet için üretilmiş, sunucu taraflı HTML içerisine gömülebilen betik ve programlama dili olan PHP ile geliştirilmiştir. Drupal, içeriği yeniden kullanabilmemize ve özelleştirerek yönetebilmemize olanak sağlayan İçerik Yönetim Çatısı (CMF – Content Management Framework) ve web hizmetleri, web kaynakları ile web API’leri dâhil olmak üzere web uygulamalarının geliştirilmesini desteklemek amacıyla tasarlanmış Web Uygulama Çatısına (WAF - Web Application Framework) sahiptir.
Drupal Katmanları: Drupal’da saklanan veriler katmanlara ayrılarak erişim ve sunum açısından birbirinden farklı özelliklere sahip içerik türlerinin yaratılmasını basitleştirilmektedir. Sistemde farklı işlevleri yerine getirmek üzere veri (data), eklentiler (modules), bloklar ve menüler (blocks&menus), kullanıcı izinleri (user permissions) ve tema (template) olmak üzere beş farklı katman yer almaktadır.
- Veri: Drupal sisteminin çekirdeğinde düğüm havuzu yer almaktadır. Drupal sisteminde, her bir içerik parçası için genel bir terim olarak düğüm (node) ifadesi kullanılır.
- Eklentiler: Veri katmanının üstünde ikinci seviyede eklentiler (modules) katmanı yer almaktadır. Eklentiler, çekirdek ile birlikte gelen ya da ihtiyaca yönelik olarak geliştirilen sisteme ek işlevler kazandıran kod parçacıklarıdır. Drupal’da bütün işlevler eklentiler ile gerçekleştirilmektedir.
- Bloklar ve Menüler: Eklentilerin üstünde bloklar ve menüler (blocks&menus) katmanı yer alır. Bu katman genellikle eklentilerden gelen çeşitli bilgileri tutar ve temadaki tanımlamalara bağlı olarak farklı bölgelerde sunumunu sağlar. Bu katmanın çıktısı olan bloklar isteğe ve ihtiyaca yönelik olarak özelleştirilebilir.
- Kullanıcı izinleri: Bloklar ve menüler katmanının üzerinde kullanıcıların erişim ve yetki düzeylerini belirleyen kullanıcı izinleri (user permissions) katmanı yer almaktadır. Kullanıcıların rollerinin ve sahip oldukları erişim yetkilerinin tanımlaması için bu katman kullanılır.
- Tema: Katmanların en dışında ise görünür yüz olan tema (template) katmanı yer almaktadır. Tema çoğunlukla XHTML ve CSS kodları ve bunlara ek olarak içeriğin yerleştirileceği yerleri belirleyen PHP ile düzenlenmiş belli bir iş yapan kod veya kodlardan oluşan bloklardır.
Drupal ile İlişkili Kavramlar
Drupal içerik yönetim sisteminin kurulumu, yapılandırması ve yönetimi için bilmemiz gereken bazı temel kavramlar vardır. Bunlar aşağıdaki gibidir:
- Düğüm: Düğüm matematiksel anlamda ağın bir parçası olarak ifade edilmektedir. Drupal’da ise sitenin bir parçası anlamında, sitede yer alan her bir içerik parçası (metin, resim, video, makale, sayfa, anket, forum ya da günlük girdisi vs.) için genel olarak düğüm (node) terimi kullanılmaktadır. Düğümün türüne bağlı olarak bünyesinde farklı alanları barındırabilmektedir. Bunlar içerik türü olarak da isimlendirilmektedir.
- Varlık Türleri: Sistemde var olan ve benzerlerinden ayırt edilebilen her şeye, her nesneye varlık (entity) denilmektedir. Bir varlık türü (entity type) alanların gruplanmasıyla oluşan temsili ifade etmektedir. Varlık türleri; düğümler, yorumlar, sınıflama terimleri, kullanıcı profilleri ya da özel olarak geliştirilen herhangi bir veriyi görüntülemek ve depolamak için kullanılmaktadır.
- Sınıflandırma: Drupal içeriği sınıflandırmak için farklı hiyerarşik yapılara sahip kategori ve etiketleme sistemleri kullanmaktadır. Çekirdeğinde yer alan ve sınıflandırma (taxonomy) olarak bilinen bu güçlü ve esnek yapı sayesinde kendi sözlüklerinizi ve terimlerinizi tanımlamanız ve her sözlüğe terimler ekleyebilmeniz mümkündür.
- İçerik Sürümleri: Drupal sahip olduğu içerik sürümü (content version) kontrol sistemiyle bir içeriği kimin, ne zaman ve nasıl değiştirdiğini takip etme imkanı sunmaktadır.
- Eklenti: Drupal’ın işlevselliğini artıran kod parçalarına eklenti (module) denilmektedir. Drupal’da eklentiler; çekirdek (core), çekirdek dışı (contributed) ve özelleştirilmiş (custom) olmak üzere üç kategoriye ayrılmaktadır.
- Tema: Web sitesinin kullanıcı tarafından nasıl görüleceğini gösteren, sistemin yazıtipini, renklerini, görünüşünü, düzen ve şeklini ortaya koyan tasarım şablonudur.
- Bölgeler ve Bloklar: Drupal sitesinde sayfalar üstbilgi (header), altbilgi (footer), kenar çubukları (sidebars) ve ana içerik şeklinde bölgelerden (regions ) oluşmaktadır. Bloklar (blocks) ise sitede yer alan sayfalardaki bölgeler içinde ayrık olarak gösterilen bilgi yığınlarıdır.
- Menüler: Drupal’da temel olarak ana menü, yönetici menüsü, kullanıcı ve gezinti menüsü olmak üzere dört standart menü (menu) yer almaktadır.
- Gösterimler: Drupal’da gösterimler (views) veritabanı sorgulamaları yaparak isteğe özel listeleme yapıp bunları ekrana verebilmenizi sağlayan bir eklentidir.
- Panel: Drupal’da görüntülenmek istenen herhangi bir sayfanın, tek parça metin görünümü yerine birden çok farklı parçalara bölünerek gösterilmesini sağlamak için panel (panels) kullanılır.
- Yol: Drupal’da ziyaret ettiginiz sayfanın URL adresinde sitenin temel adresinden sonraki kısma yol (path) denir.
- Kalıcı Bağlantı: Dinamik olarak oluşturulan bir içeriği yeniden isimlendirerek anlaşılabilir bir bağlantı sekline getirmemek için Drupal’da kalıcı bağlantı (permalink) oluşturma imkânı bulunmaktadır.
- Yorum: Drupal’da site içeriğinin kullanıcılar tarafından yorumlanabilmesine imkan sağlayan esnek bir yorum eklentisi yer almaktadır.
- CCK-İçerik Yapılandırma Aracı: İçerik Yapılandırma Aracı (CCK – Content Construction Kit) temel olarak Drupal’da kullanıcı tanımlı içerik türleri oluşturmamıza ve yapılandırmamıza imkan sağlayan eklentidir. Makale (Article), Temel Sayfa (Basic Page), Günlük Girdisi (Blog Entry), Kitap Sayfası (Book Page), Yorum (Comment), Forum, Anket (Poll) olmak üzere yedi içerik tipi Drupal çekirdeği ile kullanıma hazır şekilde gelmektedir.
- Önyükleyici: Drupal’ın merkezi işlem birimi olan önyükleyici (bootstrap), web uygulamalarını ve web sitelerinin daha hızlı, modern bir yapıya kavuşturulmasına katkı sağlayan, farklı beceri düzeyleri ve kullanım seviyesine hitap eden birçok kodlamanın hazırlanmış hâlidir.
- Kullanıcı: Drupal’da kullanıcı web site kullanıcısını temsil eden bir varlık türüdür.
- Veritabanı: Drupal’daki tüm bilgi bir veritabanında saklanmaktadır. Drupal için yaygın olarak tercih edilen veritabanı MySQL’dir.
Drupal Kurulumu
Kurulum adımları kurulumun gerçekleştirileceği sunucu yapısına bağlı olarak ufak değişiklikler gösterebilir. Ancak kurulumu temelde kurulum dosyalarının topluluk sitesinden temini, kurulum yapılacak sunucuya aktarılması, kurulum adımlarının gerçekleştirilmesi ve sistemin yapılandırılmasından oluşmaktadır.
Kurulum hazırlıkları: Drupal kurulumu için öncelikle topluluğun sayfasından kurulum dosyalarının temin edilmesi gerekmektedir. Drupal’ın kurulumu için kurulumun gerçekleştirileceği web sunucusunun belli bazı gereksinimleri karşılaması gerekmektedir. Web sitesinin barındırılacağı web sunucusunun Apache, Nginx, Microsoft IIS ya da PHP desteği olan bir sunucu olması ve kurulum için yeterli disk alanının da tahsisi gerekmektedir. Kurulum paketinin özelliğine bağlı olarak veritabanı sürüm gereksinimleri değişmektedir. Kurulumun gerçekleştirileceği web sunucunun tercih edilen kurulum sürümüne bağlı olarak gereksinimleri hazırlanır. Daha sonra Drupal’ın güncel kurulum dosyaları topluluğun sayfasından indirilir. Kurulum için Drupal’ın güncel ve kararlı paketi olan (önerilen) sürüm tercih edilmelidir. Dosya içeriğinin kurulum yapılacak web sunucusunun dosya yönetim özelliklerine bağlı olarak web yayınının gerçekleştirileceği ana dizine (publicihtml) atılması gerekmektedir. Dosyalar aktarıldıktan sonra tarayıcıdan web sitesinin adresinin ya da kurulum yapacak dizinin yolunun girilmesi ile dil seçeneği gelir. Kurulum profili “Standart” tercih edildiğinde varsayılan ayarlarla Drupal çekirdeğinde yer alan kurulum gerçekleştirilir. “En az” seçeneği ise özel kurulum yapmak isteyen uzman kullanıcılar için önerilmektedir. Drupal içeriklerinin depolanacağı veritabanının yapılandırılması için gelen ekran üzerinden kullanmak istediğimiz veritabanı türünü tercih ederek gerekli bilgileri girmemiz gerekmektedir. Tercih edilen veritabanı türüne göre ayarlar değişiklik gösterebilmektedir. Veritabanı ile başarılı şekilde bağlantı sağlandıktan sonra kurulum süreci ilerleyecektir. Siteye özgü bazı tanımlamalar yapılır.
Drupal Yapılandırması ve Yönetimi
Çekirdek kurulumu ile birlikte yönetici araçları İçerik, Yapı, Görünüm, Modüller, Yapılandırma, Kişiler, Raporlar ve Yardım başlıkları altında yönetici arayüzündeki üst menüde toplanmaktadır. Yönetici arayüzünde üst menü dışında yapılandırmada kolaylık sağlamak adına her bir içerik ve bileşen için düzenleme imkânı sunulmuştur. Yönetim arayüzünde düzenleme seçeneğine sağ üst köşesinde bulunan “Düzenle” bağlantısına tıklayarak erişebilirsiniz. Ana gezinti menüsünün düzenleme simgesinden Bloğu yapılandır ’ı tıkladığımızda ise blok işlem ekranına doğrudan ulaşabilmekteyiz. Ana gezinti menüsünün blok yapılandırmasını düzenleme simgesi üzerinden gitmeden yapmak istediğimizde; öncelikle yönetici menüsündeki Yapı sekmesine tıklayarak, alt işlevlerden Blok yerleşimi’ne tıklayarak sitede yer alan bloklara ulaşmamız gerekmektedir. Blok yerleşimi bölümünde yer alan blokların içinden Ana gezinti menüsü bloğunu listeden bulup sağında yer alan “Yapılandır” düğmesinden ana gezinti menüsü blok yapılandırma ekranına ulaşabilmekteyiz. Ana gezinti menüsü için düzenleme simgesinden Menü düzenle bağlantısına tıkladığımızda ise yönetici araçlarından Yapı altındaki Menüler bileşeninde listelenen menülerden, Ana gezinti menüsü’nü bulup sağındaki Menü düzenle düğmesi ile ulaşabileceğimiz ekrana kolaylıkla erişebilmekteyiz.
İçerik: Drupal’da içerikle ilgili olarak veri girişleri yönetici menüsünde yer alan İçerik sekmesi altında gerçekleştirilmektedir. Listeden düzenlemek istediğimiz içeriğin baslığına tıkladığımızda içeriğin yer aldığı sayfada düzenlenme yapabileceğimiz, silebileceğimiz ve içeriğe yorum ekleyebileceğimiz işlem ekranı gelmektedir. Listenin sağında yer alan işlemler sütunundaki Düzenle düğmesine tıkladığımızda ise içerik ve özelliklerinin detaylı olarak düzenlenebileceği düzenleme ekranına ulaşabilmekteyiz. İçerik düzenleme ekranından oluşturduğumuz içerik türüne bağlı olarak sol tarafta içeriğin düzenleme yapabileceğiniz alanları, sağ tarafta ise içeriğin özelliklerini (bağlantı yapılacak menü, yorum ekleme seçenekleri, kalıcı bağlantı tanımı, yazar bilgileri ve yayınlama tarih seçenekleri) düzenleyebiliriz. İçerik bölümünde yeni içerik eklemesini +içerik ekle düğmesinden gerçekleştirebiliriz. İçerik türü ile ilgili işlemler ise Yapı sekmesinin altında yer alan İçerik türleri bölümünden gerçekleştirilmektedir. İçerik türleri ekranından +içerik türü ekle ile yeni içerik türleri oluşturabilir ya da altta listelenen içerik türleri ve onların tanımlı alanlarını Alanları yönet düğmesinden düzenleyebiliriz. Bu ekranda yer alan dört farklı sekme üzerinden içerik türü, alanları, alanlarının özellikleri, görünümleri düzenlenmektedir. İçerik türüne eklenen alanların form görünüm özellikleri Form görünümü yönet sekmesinden yapılmaktadır. Alanların görünümleri ise Görünümü yönet sekmesinden düzenlenmektedir.
Yapı: Sayfaların blok yerleşimi, içeriklerin ve formların görünümü, özelleştirilmiş içerik listeleri için gösterimler, site menüleri, içeriğin etiketlenmesi, kategorilendirilmesi ve sınıflandırılması için sınıflandırma, yorum formları ve görünümleri için yorum türleri, site iletişim formu ve yönetimi ile içerik türleri yönetici menüsündeki Yapı sekmesinden gerçekleştirilmektedir.
Görünüm: Sitenin görünümü Drupal katmalarının en dışında yer alan tema bileşeni ile sağlanmaktadır. Yönetim menüsünde tema ile ilgili işlemler ise Görünüm sekmesinde yer almaktadır.
Modüller: Drupal kurulumu ile gelen eklentileri yönetebildiğimiz ve ihtiyacımıza göre yenilerini ekleyebildiğimiz yönetim menüsü sekmesidir.
Yapılandırma: Site ile ilgili olarak kişilerin hesap ayarları, sistem bakımı, arama ve üstveri işlemleri, içeriklerdeki metin biçimleri ve düzenleme editörlerinin özellikleri, dosya işlemleri, geliştiricilere yönelik olarak performans, günlük izleme ve bakım işlemleri, bölgesel tarih, saat, dil ayarlamaları ve web servis düzenleme işlemleri Yapılandırma sekmesinden gerçekleştirilmektedir.
Kişiler: Drupal’daki site kullanıcıları Kişiler sekmesinden yönetilmektedir. Kişiler ekranında Listele, İzinler ve Roller olmak üzere üç işlem durumu söz konusudur. Listeleme sekmesinde mevcut kullanıcılar liste hâlinde sunulmaktadır.
Raporlar: Drupal’da mevcut güncellemeleri, sistemde gerçekleşen olayların günlüğünü, çeviri güncellemelerinin durumunu, arama sonuçları ve sistem bileşenlerinin durumlarını Raporlar sekmesinden takip edebilirsiniz.
Yardım: Drupal yapılandırması ve bileşenlerinin kullanımı konusunda bilgi dokümanlarına Yardım sekmesinden ulaşmak mümkündür.