Drupal | Drupal Hakkında Bilgiler | The Cry | 2011 | Yeni

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Herkeze Selam Tht Ailesi Bu Konu'da Drupal Hakkında Genel Olan Tüm Bilgileri Sizler İle Paylaştım Umarım İşinize Yarar.
Buradaki Bilgilerin Çoğu Veya Tamamı Resmi Olarak Drupal İle İlgilidir.
Başka Bir Forum Scriptinde Deneyemessiniz
Ve Sitenizdeki Oluşan Sorunlardan Biz Sorumlu Değiliz....




  1. Drupal Temel Özellikleri
  2. Drupal'e Genel Bakış
  3. Drupal Mantığı
  4. Sistem Gereksinimleri
  5. Localhost'tan web sunucusuna site taşımak
  6. Eklenti Ve Tema Kurulumu
  7. İçerik Oluşturma
  8. Özel İçerik Türleri ve CCK
  9. Yeni İçerik Türü Oluşturma
  10. İçerik Türlerini CCK ile Genişletmek
  11. İçerik Kategorileri ve Taksonomi
  12. Uygulama: İçerik Kategorileri Oluşturma
  13. Drupal'de Sürümler ve Güncelleme
  14. Drupal 5'ten 6'ya Geçiş
  15. Ara Sürüm Güncelleme Rehberi
  16. Eklenti Sürümleri ve Anlamları
  17. Drupal Eklentileri
  18. Drupal + SMF Entegrasyonu
  19. Views Kullanımı ve Örnekler
  20. Bir Görünümün Anatomisi
  21. Views: Temel Ayarlar
  22. Views: Fields (Alanlar)
  23. Views: Filters (Süzgeçler)
  24. Views: Sort Criteria (Sıralama)
  25. Views: Relationships (İlişkiler)
  26. Bir View'i Başka bir View İçinde Gösterme (Embed)
  27. Views: Arguments (Değişkenler)
  28. Yorumlarım Blok ve Sayfası
  29. Rasgele içerik gösterimi
  30. Bir terime ait son 5 içeriğin listelenmesi
  31. Drupal Görsel Eğitim Seti
  32. Son üyeleri göstemek
  33. Taksonomi sayfa görünümünü özelleştirme
  34. Flag: Kullanım ve Özelleştirme
  35. Flag eklentisinde ikon kullanımı
  36. Organic Groups : Kurulum ve Kullanım
  37. DDB: Gelişmiş Slideshow
  38. (1) Eklentiler ve Kurulum
  39. (2) Yeni Sunum içerik türünü oluşturma
  40. (3) Sunum içerik türünde içerik ekleme
  41. (4) Views ile sunum içerikleri için bir görünüm oluşturma
  42. (5) Slideshow oluşturma ve ayarlar
  43. (6) Tema düzenlemesi
  44. (7) DDB: Sonuç ve alternatifler
  45. Advanced Profile Kit ile Gelişmiş Profil Sayfaları
  46. Captcha ve reCAPTCHA kurulumu
  47. Views Attach ile Fotoğraf Galerisi
  48. Video: Site alanından video oynatma
  49. Dönemsel Görevler (Cron)
  50. Sunucunuzda Dönemsel Görevleri Ayarlamak
  51. Çoklu Site Kurulumları için Dönemsel Görevler
  52. Site Ayarları
  53. Dosya Sistemi Ayarları
  54. Bloklar
  55. Kullanıcı yönetimi
  56. Çok sütunlu sayfa yapımı
  57. İçeriklerimize resim eklemek
  58. Drupalde Otomatik Backlink Ekleme
  59. Yeni Blok Alanları Oluşturma
  60. Tema ile Standart Çıktıyı Değiştirmek
  61. Blok ile Banner yapmak
  62. Temel CSS konuları
  63. CSS: class ve id
  64. Tema Ayarları
  65. İçerik başlıkları ile ileri geri menü yapımı
  66. Artisteer ile Tema Yapımı
  67. Kullanıcı giriş formunu özelleştirmek
  68. Flash header ekleme
  69. Tema içinde Cufon kütüphanesi kullanma
  70. Drupal ve jQuery UI
  71. Otomatik Değişen Resimler Bloğu
  72. Drupal'de Türkçe karakter sorunları
  73. Site Arayüzündeki İngilizce Kelimeleri Türkçeleştirme
  74. İlgilendiğim içerikleri nasıl takip edebilirim?
  75. Drupal 6.x Kurulumu
TurkHackTeam.Net - The Cry
 
Son düzenleme:

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal Temel Özellikleri

Genel özellikler


  • Açık kaynak kodu (ing: open source): Drupal, kaynak kodu GNU Genel Kamu Lisansı 2 (GPL) altında ücretsiz olarak kullanılabilmektedir. Drupal'in özelliklerini istediğiniz gibi geliştirebilir ve değiştirebilirsiniz.
  • Özelleştirme: Drupal çekirdeğinde geniş özelleştirme seçenekleri sunmaktadır. Gerek içerik gerekse de gösterim biçimi ihtiyaçlara göre belirlenebilmektedir.
  • Eklentiler: Drupal kullanıcı topluluğu tarafından sunulan, çekirdek Drupal kurulumunun özelliklerini geliştiren çok çeşitli ve tamamı ücretsiz birçok eklenti bulunmaktadır.
  • Okunabilir URL: Drupal, Apache'deki mod_rewrite'ı kullanarak kullanıcı ve arama moturu dostu (ing: SEF) URL'ler oluşturmanıza imkan verir.
  • Arama: Drupal'deki içeriğin tümü mevcut arama eklentisi sayesinde indekslenerek aranabilmektedir.
  • Tema geliştirme: Drupal'in tema sistemi, içeriği gösterimden ayırarak sitenizin görünümünü içerikten bağımsız kolayca değiştirebilmenizi sağlar. Temalar standart HTML ve PHP kodlarıyla oluşturulduklarından herhangi özel bir tema kodlama dili bilmenize gerek yoktur.
Kullanıcı yönetimi


  • Üye hesapları: Kullanıcılar site üzerinden kayıt ve giriş yapabilecekleri gibi Jabber, Blogger, Livejournal veya başka bir Drupal sitesindeki hesaplarını kullanabilirler. Intranet ortamlarında kullanılmak üzere, Drupal bir LDAP sunucusuna entegre olabilmektedir.
  • Profil: Drupal'de yöneticiler üye profillerine yeni bilgi alanları (örn: doğum tarihi, yaş, yaşadığı yer, ilgi alanları, web sitesi, vb.) ekleyebilmektedir.
  • Rol bazlı izin sistemi: Yöneticiler her kullanıcı için tek tek izin düzenlemesi yapmak zorunda değildir. İzinler rollere dağıtılır ve kullanıcılar da rollere atanır.
İçerik


  • İçerik versiyonları: Drupal'in versiyon kontrol sistemiyle bir içeriği kimin, ne zaman ve nasıl değiştirdiğini takip etmeniz mümkündür. Bir içeriğin yeni versiyonunu istediğinizde önceki bir versiyonla değiştirebilmektesiniz.
  • Özel içerik türleri: Yöneticiler çekirdekle birlikte gelen makale, sayfa, anket, kitap ve forum gibi içeriklerin haricinde kendi özel içerik türlerini oluşturabilmektedir (örn: haber, inceleme, tanıtım, tarif, vs.).
  • Ortak kitap: Bu özellik sayesinde bir kitap oluşturup diğer kullanıcıların kitaba içerik eklemesini sağlayabilirsiniz. Özellikle kullanım kılavuzu oluşturmak açısından çok kullanışlıdır. drupal.org'daki el kitapları (ing: handbooks) ve sitemizdeki online kitaplar bu özelliği kullanmaktadır.
  • Anket: Drupal, üyelerin ve/veya yöneticilerin anketler oluşturmasını sağlayan bir anket uygulaması içermektedir.
  • Yorumlar: Drupal içeriğin yorumlanabilmesini sağlayan esnek bir yorum eklentisi içermektedir. Yorumları tarih sırasında gösterebileceğiniz gibi herhangi bir yoruma yazılan cevapları da gruplamanızı sağlayan alternatif yöntemler mevcuttur.
  • Blogger API desteği: Blogger API sayesinde içeriklerinizi yayınlamak için tarayıcınızı kullanmak yerine özel blog yazılımlarını kullanmanız mümkündür.
  • İçerik yayını: Drupal sitenizin içeriğini diğer sitelerin çekebileceği RDF/RSS formatında da sunabilmektedir.
  • Haber toplayıcı: Diğer sitelerden yapılan içerik yayınlarını toplayıp sitenizde yayınlayabilirsiniz.
  • Kalıcı linkler (ing: permalinks): Drupal’de oluşturulan her içeriğin kalıcı bir linki vardır. Bu sayede kullanıcılar kırık link korkusu olmadan farklı ortamlardan sitenizdeki içeriklere link verebilirler.
  • İçerik sınıflandırma ve etiketler: Güçlü ve esnek taksonomi sistemi sayesinde içeriğinizi sınıflandırmak için farklı hiyerarşik yapılara sahip kategori sistemleri oluşturabilir veya etiketleme sistemleri kullanabilirsiniz.
Platform desteği


  • Sunucu ve işletim sistemi: Drupal, Apache ve IIS sunucularda, Unix, Linux, BSD, Solaris, Windows ve Mac OS X sistemleriyle çalışabilmektedir.
  • Veritabanı: Birçok kullanıcı Drupal’i MySQL veritabanlarıyla kullansa da Drupal veritabanı soyutlama katmanı sayesinde PostgreSQL ile de çalışabilmektedir.
  • Çoklu dil desteği: Drupal uluslar arası kullanıcı kitlesinin ihtiyaçlarını karşılayabilecek bir çoklu-dil desteği sunar. Görsel arayüz kullanılarak metin çevirisi yapmak, mevcut çevirileri içeri aktarmak veya GNU gettext gibi çeviri araçlarından yararlanmak mümkündür. Türkçe çevirisini buradan, diğer dillerdeki çevirileri de buradan indirebilirsiniz.
Yönetim ve analiz


  • Web-tabanlı yönetim: Drupal sitelerinizi web tarayıcınızı kullanarak yönetebilirsiniz. İnternet bağlantısı olan herhangi bir bilgisayardan yönetim fonksiyonlarınıza ulaşmanız mümkündür; bunun için herhangi bir ek yazılım gerekmez.
  • Kayıt ve raporlama: Tüm önemli eylemler ve sistem olayları yöneticilerin inceleyebilmesi için otomatik olarak kayda alınır.
  • Analiz, takip ve istatistik: Drupal, popüler içerik, yönlendirici siteler, sayfa ziyaretleri gibi bilgileri web-tabanlı raporlar olarak sunmaktadır.
Topluluk özellikleri


  • Forum: Canlı ve dinamik bir kullanıcı kitlesi için kullanabileceğiniz forum ortamı Drupal ile birlikte gelmektedir. Forum sistemi Drupal için geliştirildiğinden Drupal'in bir parçası olarak çalışır ve herhangi bir entegrasyon sorunu yaşamazsınız.
  • İletişim: Drupal çekirdeğindeki contact eklentisi sayesinde üyeler site yönetimiyle ve diğer üyelerle e-posta üzerinden iletişim kurabilmektedir.
Performans ve ölçeklenebilirlik


  • Önbellekleme: Önbellek mekanizması veritabanına yapılan sorguları önbelleğe alarak performansı yükseltirken, aynı zamanda sunucu yükünü de azaltmaktadır.
  • Optimizasyon: Temanızda yer alan css dosyaları ve diğer eklentilerle birlikte gelen css dosyaları optimize edilerek tek bir dosya haline getirilebilmektedir. Böylece hem toplam boyutta bir azalma sağlanmakta hem de bir sayfanın yüklenmesi için sunucuya yapılan talep sayısı azaltılmaktadır. Drupal 6.x ile birlikte benzer optimizasyon işlemleri JavaScript dosyalarına da uygulanabilmektedir.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal'e Genel Bakış


kurcalamaya başlamadan önce, Drupal'in çalışma mantığını anlamak faydalı olacaktır. Böylece Drupal'in ihtiyaçlarınıza uyup uymayacağına daha çabuk karar verebilirsiniz.
İçerik Yönetim Çatısı

Her ne kadar drupaldersleri.org'da dahil olmak üzere birçok kaynakta Drupal'den bir içerik yönetim sistemi (İYS, ing: content management system, CMS) olarak bahsediliyor olsa da aslında bu kavram Drupal'i eksik olarak tanımlamakta. Drupal, sunduğu özelleştirebilirlik ve diğer ayarları sayesinde aslında bir içerik yönetim çatısı'dır (İYÇ, ing:content management framework, CMF). Bu iki kavram arasındaki farkı basitçe şöyle açıklayabiliriz. Diyelim ki bir çivi çakmak istiyorsunuz. Bu durumda hazır bir çekiç (iys) kullanabileceğiniz gibi eğer gerekli beceriniz varsa odun ve ****li (php ve mysql) kullanarak kendi çekicinizi yapabilirsiniz. Elbetteki kendi yaptığınız çekiç ihtiyaçlarınıza çok daha uygun olacaktır. Fakat herkes bu gerekli beceriye sahip olmayabilir. Drupal, bu iki uç örneğin arasındaki bir noktayı amaçlamaktadır ve size hazır setler (CMF) sunmaktadır. Yani daha önceden hazırlanmış olan parçaları kullanarak istediğiniz o mükemmel çekici kendiniz oluşturabileceğiniz gibi, daha sonradan ihtiyacınız olacak başka bir aleti de yine aynı parçalarla yapmanız mümkün olacak. Kısacası bir içerik yönetim çatısı olarak Drupal, kullanıcılara geniş bir hareket alanı sunarken aynı zamanda programlamacılık bilgisi olmayan kullanıcıların da kaliteli siteler üretebileceği bir yapıya sahip.
Voltran'ın Gücü

Bundan bir süre öncesine dönelim. Fotoğraf makineleriyle sadece fotoğraf çekilen, vidyo çekmek için kamera almanız gereken, telefon dendiğinde ise evdeki kocaman sabit telefonların aklınıza geldiği o dönemlere. O dönemde yaşayan birisi için bunların hepsinin tek bir alette biraraya gelmesi bir hayaldi ancak. Ancak günümüzde tüm bu özellikleri her geçen gün daha da küçülen cep telefonlarımızda bir arada bulabiliyoruz. Benzer şekilde, konu içerik sunmak olduğunda piyasada blog, galeri, resim paylaşımı, oylama, arama, dizin oluşturma gibi farklı işlevleri ayrı ayrı sunan betikler bulmak mümkün. Ancak, Drupal tüm bu özellikleri biraraya getirebileceğiniz bir set sunuyor sizlere.
Elbette Drupal bu konuda yalnız değil. Ancak, çoğu içerik yönetim sistemi, kullanıcılarına kendi şekillendirebilecekleri fonksiyonlar sunmak yerine hazır fakat özelleştirilmesi pek de mümkün olmayan fonksiyonlar sunmayı tercih ediyor. Örneğin içerik sınıflandırılmasını ele alalım. Bazı sistemler bir içeriğin sadece bir kategoriye ait olabileceği varsayımını yapmakta. Halbuki site gereksinimlerine göre kompleks hiyerarşik yapılar kullanılması gerekebiliyor. Bu gibi durumlarda sorunu yeni bir eklenti kullanarak aşmanız mümkün olsa da eğer sistemin altyapısı bu esnekliği planlayarak inşa edilmediyse farklı sorunlar ve uyumsuzluklarla karşılaşmanız olası. Drupal'in esnek yapısı sayesinde bu tür sorunlarla çok daha az karşılaşıyorsunuz. Örneğin Drupal'in içerik sınıflandırma eklentisi olan Taksonomi, alt ve üst kategoriler içeren hiyerarşik yapılara, bir içeriğin birden fazla kategoriye dahil edilebilmesine ve serbest etiketlemeye izin veren oldukça esnek bir yapıya sahip. Benzer esnek uygulamaları, Drupal'in çekirdeğindeki diğer fonksiyonlarda da görebilmek mümkün. Hatta bazen öyle yaratıcı Drupal uygulamalarıyla karşılaşıyorsunuz ki, fonksiyonları yazılış amaçlarının dışında çok daha farklı sonuçlar almak için kullanmış olabiliyorlar. Böyle durumlarda Drupal'in esnekliğine birkez daha hayran oluyorsunuz.
Herşeyin olduğu gibi esnekliğin de bir maliyeti olması kaçınılmaz. Çekiç örneğine dönecek olursak, hazır çekici aldığınızda kullanmasını zaten bildiğinizden zaman kaybetmeden işinize koyulabilirsiniz. Fakat bir çekiç seti aldıysanız parçaları incelemeniz ve belki de kullanım kılavuzuna göz atmanız gerekecektir. Burada şunu vurgulamak gerekiyor: seti kullanmak için odun ve ****l işlemeyi (php ve mysql) bilmenize gerek yok, sadece bu parçaları nasıl birleştireceğinizi (genel drupal kavramlarını ve çalışma mantığını) bilmelisiniz. Sonuçta belki zamanınızın bir bölümünü Drupal'in kavramlarını ve çalışma mantığını öğrenmeye ayırmanız gerekecek ama bir kez bu engeli aştığınızda Drupal size ancak özel kod yazmayla elde edilebileceğini düşündüğünüz birçok işlevi kolayca sunacak. Bir de "kodlama konusunda sıkıntım yok" diyorsanız, yapabilecekleriniz ancak yaratıcılığınızla sınırlı.
Güç Kaynağı

Drupal, şimdiye kadar sıkça bahsettiğimiz esnekliğini, içerik ve işlevleri soyut bir şekilde ele almasına borçlu. Genelde insanlar web sitelerini blog, haber, makale, galeri gibi ayrı fonksiyonlar içeren hiyerarşik sayfa kolleksiyonları olarak görüyorlar. Drupal'in bu konuya yaklaşımı ise daha farklı. Drupal bu içerik türlerini aynı temel kavramın (ing: node, tr: düğüm) varyasyonları olarak ele alıyor. Bir başka deyişle, statik sayfalar, blog yazıları, haberler, makaleler, forum konuları, yemek tarifleri, facebook tarzı üye toplulukları, fotoğraflar, vidyolar ve hatta bazı radikal eklentiler kullanıldığında yorum ve üyelerin kendileri de dahil olmak üzere tüm içerik türlerini tek bir havuzda topluyor. Bunların kullanıcıya ayrı olarak sunumu ise başka bir katmanda gerçekleştiriliyor. Aslında bu bir bakıma standartlara uyumlu sayfa kodlama uygulamalarındaki xhtml ve css ayrımına benziyor; düğümler içeriğe ait başlık, içerik, yazar, tarih gibi yapısal bilgileri tutarken, menü sistemi bunların ayrıştırılmasını, temalar ve Views, panels gibi eklentiler de düğüm içeriklerinin kullanıcılara sunumunu sağlıyorlar. İşlemlerin bu şekilde katmanlara ayrılması sayesinde saklanan veriler, erişim ve sunum açısından birbirinden farklı özelliklere sahip içerik türleri yaratmak oldukça basit bir hal alıyor.
Az önceki tanımlamalarımızda bir düğüm (ing: node) kavramından bahsettik. Peki bir düğüm tam olarak nedir? Drupal ile yeni tanışanların genellikle kafasını karıştıran bu kavramı şöyle açıklayabiliriz: düğümler temel veri kümeleridir. Örneğin bir haber içeriği oluşturduğunuzda aslında yapmış olduğunuz işlem başlık, içerik, yazar, tarih, kategori gibi bilgilerin bir kolleksiyonunu yani bir veri kümesini kaydetmektir. Drupal'de biz bu kümeye düğüm diyoruz.
Drupal farklı içerik türlerini ayrı ayrı sistemler olarak ele almak yerine düğümleri tek bir havuzda toplayarak aslında hepsinin ortak bir temele sahip olmasını sağlıyor. Bu ortak temel sayesinde tüm düğümler aynı şekilde işlenebiliyor; içerik yönetim, arama, ilişkilendirme fonksiyonları tüm içerik türleri için kullanılabiliyor. Bu durum pratikte şu anlama geliyor: bir oylama eklentisi kurduğunuzda sitenizdeki tüm içerik türlerinizi oylamaya açabilir, aynı arama fonksiyonuyla tüm içeriğinizi aratabilir, her içerik türünüzü yorumlamaya açabilir, Views, CCK, Taksonomi, Pathauto gibi en önemli eklentileri tüm içerik türlerinizle birlikte kullanabilirsiniz.
Doğuştan Ortak Kullanım İmkanı

Bir kişinin içerik girerek yayın yaptığı birden çoka (ing: one to many) tarzı bir uygulamayı birçok İYS sistemi kurulduğu anda sunmaktadır. Fakat çoktan çoka (ing: many to many) bir iletişim modeli içeren bir uygulama söz konusu olduğunda (ör: çok kullanıcılı blog) Drupal bir adım öne çıkmaktadır. Değişik İYS sistemleri bu özelliği sonradan yamayarak ve uğraştırarak elde etmenizi sağlarken, bu konu Drupal'in üzerine inşaa edildiği ana fikirlerden biridir.
Çeşitli sistemlerde bir blog oluşturup üyelerinizin blog yazılarınıza yorum yapabilmesini sağlayabiliyorsunuz. Peki ya her üyenize kendi bloglarını yazma imkanı tanımak isterseniz? Hatta her biri kendi blog temasını belirleyebilse? Üstelik üyelerin özel profil sayfaları olsa? Üstüne bir de forum ve wiki-benzeri bir ortam eklemek isterseniz? Hatta bir de kullanıcıların kendi fotoğraf galerileri olsun istiyorsanız?
Drupal'de çoklu kullanıcı uygulaması en temel seviyeden itibaren ele alınarak uygulandığı için, bu sayılan özellikleri içeren çoktan çoka tarzı bir site oluşturmak, birden çoka tarzı uygulamalardan pek de farklı değildir. Ortak kullanımla içerik oluşturma konusunda Drupal gerçekten çok başarılı bir sistemdir.
Hızlı Başla, Olabildiğince Özelleştir

Drupal'in sahip olduğu güç ve esnekliği anlatan bu kadar yazıdan sonra, basit bir site için bile fazlaca zaman harcamak zorunda olduğunuzu düşünebilirsiniz. Fakat bu konuda yanıldığınızı söylemek zorundayım. Çünkü FTP ile yapılacak bir yükleme sonrasında web tabanlı bir arayüz sayesinde Drupal sitenizi kurup kullanmaya hemen başlayabilirsiniz.
Çekirdekle birlikte gelen temalardan birini seçin ve içerik eklemeye başlayın. İsteseniz çekirdekte yer alan fakat kurulum sonrasında devre dışı bırakılmış olan forum ve yorum gibi eklentileri etkinleştirerek sitenize yeni işlevler kazandırın. Ortak yazılabilecek bir kitap oluşturun, anketler ekleyin, Taksonomi ile içeriğinizi sınıflandırın, üyelerinize içerikleri istedikleri gibi etiketleme imkanı verin. Tüm bunların hepsi birkaç tıklama ile mümkün!
Hazır gelen temaları beğenmediyseniz, kendi temanızı tasarlayın. Drupal tasarımınızda içeriğin geleceği yer tutucu PHP belirtkeleri (ing: token) kullanmaktadır. Üretilen kod çıktısı temizdir ve xhtml uyumludur. Eski sistem tablolar kullanılmamaktadır.
Drupal Akışı

Drupal'i daha iyi anlayabilmek için sistemdeki akışı bilmek önemlidir. Daha öncede bahsettiğimiz gibi, Drupal farklı görevleri olan katmanlardan oluşur. Sistemde 5 katman yer almaktadır:
drupal_katmanlar.gif


  1. Sistemin çekirdeğinde büyük bir düğüm havuzu bulunur. Sitede yayınlanacak içerikler önce veri olarak girilmiş olmalıdır.
  2. Düğüm katmanının üstünde eklentiler (ing: module) yer alır. Eklentiler, Drupal çekirdeğiyle birlikte gelen veya Drupal kullanıcıları tarafından geliştirilmiş, sitenize ek işlevler kazandıran kod parçalarıdır. Bu işlevlere örnek olarak düğümlerinize yeni veri alanları (ing: field) ekleyebilme, etkinlik takvimleri, e-ticaret fonksiyonları, belirli koşulları sağlayan içerikleri farklı şekillerde listeleme gösterilebilir. Drupal sitenize entegre edebileceğiniz binlerce eklenti vardır ve bu sayı sürekli artmaktadır (tüm eklentileri drupal.org sitesindeki Modules bölümünden indirebilirsiniz). Üstelik tüm bu eklentiler ücretsizdir ve bireysel Drupal kullanıcılarından Drupal'i projelerinde kullanan Sony gibi büyük firmalara kadar uzanan geniş bir kitle tarafından sunulmaktadır.
  3. Bir sonraki katman blokları (ing: block) ve menüleri içerir. Bloklar genellikle eklentilerden gelen çeşitli bilgileri sunarlar ve temanızın farklı bölgelerine yerleştirilebilirler. Blok çıktıları özelleştirilebileceği gibi, blok görünürlükleri de sayfalara, kullanıcı rollerine ve özel php koduna bağlı olarak ayarlanabilmektedir. Örneğin, "sadece anasayfada ve kayıtsız kullanıcılara göster" gibi.
  4. Bu katman farklı kullanıcı rollerinin sahip oldukları erişim yetkilerini tanımlamak için kullanılır. Yöneticiler farklı kullanıcı rolleri oluşturabilir, her role farklı izinler atayabilir. Kullanıcılar rolleri tarafından tanımlanan izinlere sahiptir.
  5. Drupal'in en dış katmanını tema oluşturmaktadır. Temanın büyük bir kısmını xhtml ve css kodları ve bunlara ek olarak içeriğin yerleştirileceği yerleri belirleyen PHP belirtkeleri (ing: token) oluşturur. Temalar ayrıca, eklentiler tarafından çıktı oluşturmak için kullanılan bazı fonksiyonların modifiye edilmiş kopyalarını da içerebilirler. Bu şekilde eklenti koduna müdahale etmeden tema üzerinden çıktıları şekillendirmek mümkün olmaktadır (örneğin arama sonuç sayfası Search eklentisinin kodlarına dokunmadan tema dosyaları ile değiştirilebilir). Her kullanıcı, yönetici tarafından izin verilen temalar arasından kendi temasını seçebilmektedir.
Çekirdekten yüzeye doğru olan akış, birçok şeyin Drupal'deki çalışma sistemini etkilemektedir. Örneğin; olması gereken bir işlevi bulamıyor musunuz? Belki de eklentiyi sitenize ftp ile yüklediniz ama etkinleştirmeyi unuttunuz. Bu durum eklenti katmanından sonraki katmanlarda istediğiniz sonucu alamamanız anlamına gelir (grafikteki A serisi). Eklentiyi etkinleştirdiniz fakat hala istediğiniz sonuç görünmüyor mu? Belki de B'deki gibi eklentinin sunduğu bloğu bir tema bölgesine yerleştirmemiş olabilirsiniz. Ya da C'deki gibi kullanıcı izinlerini ayarlamayı unutmuş olabilirsiniz. Eğer tüm aşamaları doğru olarak yaptıysanız artık son katmanda istediğiniz sonucu alabileceksiniz.
Harekete Geçme Zamanı

Artık elinizde Drupal haritanız da olduğuna göre, bir Drupal kopyasını yükleyip deneyebilirsiniz. Yine de karşılaştığınız sorunlar, kafanızı karıştıran konular olduğunda forumlarımızda çekinmeden dile getirebileceğinizi unutmayınız. Drupal kullanıcıları yardımlaşmayı ve paylaşımı seven kişilerdir; hepimiz elimizden geldiğince yardımcı olmaya çalışağız.
 
Moderatör tarafında düzenlendi:

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Sistem Gereksinimleri

Bu sayfada Drupal'in farklı konulardaki gereksinimleri listelenmektedir. Gereksinimler oldukça detaylı olarak verilmekle birlikte, paylaşımlı barındırma hizmetine sahip kullanıcılar için bazı detaylar anlamlı olmayabilir. Yine de bir Drupal projeniz için barındırma hizmeti satın alırken, bu hizmetin Drupal'e uygun olup olmadığını tespit etmek için bu bilgilerden faydalanabilirsiniz.
Web Sunucusu

Tavsiye edilen: Apache

  • Drupal geliştiricilerinin büyük bir kısmı Apache kullanmaktadır. Drupal'i, Apache 1.3 veya Apache 2.x kurulu Linux ya da Windows ortamlarında çalıştırabilirsiniz.
  • Temiz url (ing: clean urls, sef url) özelliği için Apache'nin mod_rewrite eklentisini kullanabilirsiniz.
Microsoft IIS

  • Drupal'in çekirdek kurulumu, PHP'nin doğru olarak yapılandırılmış olduğu IIS5 veya IIS6 ortamlarında çalışabilmektedir. Yine de Microsoft'un destekleme süreci sebebiyle IIS6 veya IIS7 kullanılması tavsiye edilir.
  • Temiz url (ing: clean urls, sef url) özelliğini etkinleştirebilmek için IIS7.0 CTP1 Microsoft URL Rewrite Module kullanılabilir.
  • Drupal'i fastcgi ile IIS7 sunucusunda kullanmak için Düzeltme kb954946'i kurmanız gerekmektedir. Doğrudan kurmak yerine düzeltmenin güncelleme paketi tarafından önerilmesini de bekleyebilirsiniz.
Drupal sunucudan bağımsız olarak çalışması için geliştirilse de henüz burada listelenmeyen diğer sunucu ortamlarına ait yeterli test sonucu bulunmamaktadır.
Alan

Drupal sitenizin kaplayacağı alan doğal olarak sitenize ekleyeceğiniz diğer eklenti ve içeriğe de bağlı olacaktır. Çekirdek Drupal kurulumu sıkıştırılmamış halde 2-4 MB civarı bir yer kaplamaktadır. Bu değer kuracağınız versiyona göre değişiklik gösterebilir.
PHP

Tavsiye edilen: PHP 5.2 ve üstü
Gereksinim: PHP 4.3.5 ve üstü


  • Drupal 4.7.5 ve üstü sürümler için PHP 5.2 kullanılabilmektedir.
  • Drupal 7 için PHP 5.2 ve üstü gerekecektir.
  • Çekirdek Drupal kurulumu için 16MB ve üzeri bir bellek gerekmektedir (eski drupal versiyonları 8MB ile çalışabilir). Sitenizde kullanmayı istediğiniz eklenletilere bağlı olarak bu değer yükselebilir. Örneğin sitenizde aynı anda 1600x1200 çözünürlükte iki resim dosyasını işlemek istediğinizde 96MB gibi bir bellek değerine ihtiyaç olabilmektedir.
  • Kullanacağınız veritabanı türüne göre gerekli php eklentileri kurulu ve etkin olmalıdır. Drupal mysql (orjinal mysql eklentisi), mysqli (güncel mysql kurulumları için iyileştirilmiş bir bağlaç) ve pgsql (PostgreSQL için) veritabanı bağlaçlarını destekler.
    Not: PHP 5.x çekirdek kurulumlarında artık mysql bağlacı devre dışı bırakılmış oluyor. Veritabanınıza uygun bağlacı kurmak için yukarıdaki linklerde verilen açıklamalara bakabilirsiniz. Ayrıca, Drupal 6.x, mysqli bağlacının etkin olması durumunda kurulum sırasında mysql seçeneğini sunmamaktadır.
  • PHP XML eklentisi (blogapi, drupal ve ping eklentileri için gereklidir). Standart php kurulumlarında bu özellik etkin durumdadır.
  • Resim işlemleri için (üye resimlerini boyutlandırma, image ve imagecache eklentileri) GD kütüphanesi veya benzeri bir resim kütüphanesi kurulmuş olmalıdır. GD kütüphanesi PHP 4.3 ve üstü sürümlerde hazır olarak gelmektedir. Imagemagick de Drupal çekirdeğindeki temel işlemler için kullanılabilse de diğer eklentiler tarafından yeterince desteklenmemektedir.
  • Drupal'in çalışması için aşağıdaki PHP yapılandırma direktifleri gerekmektedir (burada sadece öntanımlı php.ini-dist / php.ini-recommended versiyonlarından farklı olanlar listelenmiştir):
    • register_globals: off; bu öntanımlı bir değer olmasına rağmen bazı barındırma hizmeti sağlayıcıları tarafından değiştirilmektedir.
    • session.save_handler: user
    • error_reporting E_ALL & ~E_NOTICE olarak ayarlanmış olmalıdır. Drupal 6 için bu E_ALL olarak değiştirilmiştir.
    • Ayrıca session.cache_limiter: nocache olarak seçilmesi tavsiye edilir.
  • Bu ayarların bazıları Drupal ile birlikte gelen .htaccess dosyası tarafından içerildiği için sizin ayrıca yapmanıza gerek yoktur. Fakat bu .htaccess dosyasından yararlanılabilmesi için
    • apache veya uyumlu bir sunucu kullanıyor olmanız,
    • .htaccess dosyasının destekleniyor olması (AllowOverride None olmamalıdır),
    • PHP'nin Apache modülü olarak kurulmuş olması gerekmektedir.
  • Bazı paylaşımlı barındırma ortamlarında (ing: shared hosting), bu ayarlamaları kullanıcıların yapmasına izin verilmeyebilir. Bu durumda barındırma hizmeti sağlayıcınızdan gerekli değişikliklerin yapılmasını isteyebilirsiniz.
Veritabanı Sunucusu

Tavsiye edilen: MySQL 4.1 veya MySQL 5.0

  • Drupal 6 MySQL 4.1 ve üstünü desteklemektedir.
  • Drupal 5.x ve önceki sürümler MySQL 3.23.17 ve üstüyle çalışabilmektedir. Fakat MySQL 4.1 ve üstünü kullanmanız tavsiye edilir.
  • Drupal bazı ucuz veya ücretsiz barındırma hizmetlerinde sunulmayan özelliklere gereksinim duyabilmektedir. Dolayısıyla barındırma hizmeti sağlayacınızın aşağıdaki izinleri verip vermediğini öğreniniz:
    SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES.
    6.x serisiyle birlikte Drupal çekirdeği CREATE TEMPORARY TABLES ve LOCK TABLES izinlerine gerek duymamaktadır. Ancak bu izinler diğer eklentiler için gerekli olabilir.
  • Not: Eğer MySQL 4.1 ve üstü sürümlerde "Client does not support authentication protocol requested by server" hatası alıyorsanız, sorunun çözümü için MySQL AB tarafından önerilen çözümü kullanabilirsiniz.
PostgreSQL 7.4 ve üstü

  • Not: MySQL kodlarından yeterince soyutlanmamış eklentilerde sorun yaşamanız muhtemeldir. Böyle durumlarda d.o'da ilgili eklentinin proje sayfasına giderek proje sahibine durumu bildirip yardım isteyebilirsiniz.
  • Not2: PHP 5.2.6'nın pgsql eklentisinde Windows ile ilgili bir hata bulunmaktadır. Bu sorunu php_pgsql.dll dosyasını 5.2.5 versiyonundakiyle değiştirerek çözebilirsiniz.
Bazı çalışmalar yapılıyor olsa da Drupal'in henüz MS SQL ve Oracle desteği bulunmamaktadır.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Localhost'tan web sunucusuna site taşımak

Localhost'ta uzun bir hazırlık döneminden sonra Drupal sitenizi tamamladınız ve sıra artık sitenizi herkesin erişebilmesi için internet ortamına taşımaya geldi. Elbette bunun için herşeye sıfırdan başlayarak sitenizi web sunucusu üzerinde tekrardan kurabilirsiniz. Ancak karmaşık sitelerde bu işlem oldukça ciddi bir zaman kaybına sebep olacaktır. Bu gibi durumlarda localhost'ta çalışır durumda bulunan sitenizi olduğu gibi web sunucusuna taşımak düşünülmesi gereken bir alternatif. Bu anlatımda bu sürecin nasıl işlediğine bakacağız.
Anlatıma başlamadan önce ufak bir hatırlatma: localhost'ta sorunsuz olarak çalışan sitenizi web sunucusuna aktardığınızda bazı sorunlarla karşılaşabilirsiniz. Bu sorunlar genellikle localhost'taki ayarlarınızla web sunucusundaki ayarların farklı olmasından kaynaklanır. Örneğin bazı hosting firmalarının düşük php bellek limiti kullanması, php safe mode özelliğini ve open_basedir kısıtlamasını etkinleştirmeleri çeşitli sorunlara sebep olabilmekte. Bu gibi durumlarda, sitemizde benzer sorunlarla karşılaşan arkadaşların açmış oldukları konuları inceleyebilir ve hosting firmanızla iletişime geçip yardım isteyebilirsiniz. Biz yine de sorunsuz bir taşıma işlemi gerçekleştireceğinizi umarak anlatıma başlayalım.
Localhost'tan web sunucusuna site taşıma işleminin üç ana aşamadan oluştuğunu söyleyebiliriz:

  1. Dosya aktarımı
  2. Veritabanı aktarımı
  3. Düzenlemeler
Bu aşamaları sırasıyla inceleyeceğiz.
#1. Dosya Aktarımı

İlk aşamada localhost'ta bulunan sitemize ait dosya ve dizinleri web sunucusuna aktaracağız. Bunun için sitemize FTP erişimi sağlamamız gerekecek. Ben bu işlem için Filezilla programını kullanıyorum; kullanımı kolay, ücretsiz ve de hızlı; size de tavsiye ederim.
Programın kullanıcı arayüzü:
filezilla.jpg


  1. FTP bilgilerini* girip hızlı başlata basarak siteye ftp'den ulaşıyoruz.
  2. Localhost'taki dizin içeriği
  3. Web sunucusunun dizin içeriği
  4. Localhost'taki seçili dizin içeriği
  5. Web sunucundaki seçili dizin içeriği
  6. Aktarım durumu
*Bilgilerinizden emin değilseniz hosting firmanıza danışabilirsiniz.
Sitemizdeki dosya ve dizinleri web sunucusuna aktarmadan önce sunucu sekmesinden gizli dosyaları göster'i işaretleyerek bütün dosyaların görünür hale gelmesini sağlıyoruz. Bu sayede normalde gösterilmeyen .htaccess dosyasının durumunu da takip edebilirsiniz. FTP'den sitemize ulaştıktan sonra localhost'ta sitemize ait dosyaların bulunduğu dizini bularak tüm dosya ve klasörleri seçiyor ve sağ tıklayarak yükle diyoruz. Böylece yükleme işlemi başlamış oluyor.

TurkHackTeam.Net - The Cry
#2. Veritabanı aktarımı

Dosyalarımızın yüklemesi sürerken biz de sitemize ait veritabanın bir kopyasını alalım. Bunun için web tarayıcımızın adres satırına https://tik.lat/9ZhkR yazarak localhostumuzdaki veritabanları için bir kullanıcı arayüzü sunan phpMyAdmin sayfasına ulaşıyoruz.
phpmyadmin.jpg

Buradaki listeden web sunucusuna yüklemek istediğimiz sitemize ait veritabanını seçerek açıyoruz ve de Dışarı Aktar (export) sekmesine tıklıyoruz.
export.jpg

Bu sayfada Dışarı Aktar sütünunda yer alan Tümünü Seç linkine tıklayarak veritabanındaki tüm tabloların seçilmesini sağlıyoruz. Hemen alttaki listeden de kayıt formatı olarak SQL'i işaretliyoruz. Son olarak sayfanın alt tarafındaki Dosya olarak kaydetGit düğmesine tıklıyoruz. Böylece veritabanımızın bir kopyasını bilgisayarımıza kaydetmiş olduk. seçeneğini işaretleyip
Not: Çok fazla veri bulunan büyük ölçekli veritabanlarında zip, gzip veya bzip gibi sıkıştırma tekniklerinden birini seçmek dosya boyutunu küçülteceğinden daha uygun olacaktır.
Bu noktada eğer hala devam ediyorsa dosyalarımızın aktarımının tamamlanmasını bekleyebiliriz. Dosya aktarımı tamamlandığında sıra localhost'tan aldığımız veritabanı kopyasının web sunucusuna aktarılmasına gelecek. Bu işlem için hosting firması tarafından bize sunulan site yönetim panelini (Plesk, cPanel, vb.) kullanacağız.
Benim sitemde Plesk bulunduğu için anlatımı buna göre yapacağım ancak benzer işlemleri cPanel'de de MySQL veritabanı sihirbazını ve phpMyAdmin arayüzünü kullanarak yapmak mümkün. Plesk anasayfasında veritabanları düğmesine tıklıyoruz. Açılan sayfada yeni veritabanı ekle düğmesine tıklıyoruz. Veritabanı adı ve tipini belirliyoruz. Veritabanımızı oluşturduktan sonra kullanıcı adı ve şifresini oluşturarak üstüne tıklıyoruz ve boş veritabanımıza phpMyAdmin arayüzü ile ulaşıyoruz. Bu kez Dışarı Aktarİçeri Aktar (import) sekmesine tıklayarak bilgisayarımızda bulunan veritabanı kopyasını yüklemeye başlıyoruz. sekmesinin yanındaki
Not: Veritabanı dosyası çok büyükse içeri aktarma işlemi için phpMyAdmin arayüzü yerine bigdump.php gibi betikleri kullanmanız gerekebilir. Bununla ilgili anlatımlar çoğu sitede var onun için es geçiyorum.
TurkHackTeam.Net - The Cry
#3. Düzenlemeler

Dosya ve veritabanı aktarımı tamamlandıktan sonra heyecanla hemen sitenize erişmeye çalışırsanız alacağınız hata mesajları moralinizi bozabilir. Sitemizin çalışır duruma gelmesi için hala yapılması gereken bazı düzenlemeler var. Bunlar çok karmaşık işlemler olmasalar da doğru olarak yapmadığınız sürece sitenize sağlıklı bir erişim sağlamanız mümkün olmayabilir.
Mutlaka yapılması gereken tek bir işlem varsa o da settings.php dosyasındaki veritabanı erişim bilgilerinin güncellenmesidir. Bunun için localhostumuzda sites/default dizini altında bulunan settings.php dosyasını açıyor ve de şu satırları bularak düzenlemeye başlıyoruz.
Kod:
/*
 * Database URL format:
 *   $db_url = 'mysql://username:password@localhost/databasename';
 *   $db_url = 'mysqli://username:password@localhost/databasename';
 *   $db_url = 'pgsql://username:password@localhost/databasename';
*/

$db_url
= 'veritabanı tipi (mysql, mysqli, pgsql gibi...)://veritabanı kullanıcı adınız:şifreniz@localhost/veritabanı adınız';
$db_prefix
= 'varsa veritabanı önekiniz';


Elbette buradaki $db_url ve $db_prefix satırları herkesin veritabanı bilgilerine göre değişiklik gösterecektir. Dosyadaki mevcut bilgiler localhost'a ait veritabanı bilgileri olup bizim yapmamız gereken bunları web sunucumuzdaki veritabanı bilgileriyle değiştirmek. Bu değişikliği yaptığımızda dosyayı kaydedip yine Filezilla ile web sunucusundaki sites/default dizine yüklüyoruz (bu dizinde zaten aynı isimde bir dosya olacağı için üzerine yazdıracağız).
Not: Localhost'taki ve web sunucusundaki veritabanı sürücüleri farklı olabiliyor; örneğin localhost'ta siz daha gelişmiş olan MySQLi'yi kullanırken web sunucusunda MySQL kullanılıyor olabilir. Düzenleme sırasında buna da dikkat ediniz.
Normalde bu son işlem ile birlikte sitemiz artık sorunsuz olarak açılıyor olmalı. Ancak bu aşamada bende sitem açılmasına rağmen bir hata mesajı verdi. Kısa bir araştırmadan sonra kurulum sırasında localhost'ta geçici dosyalar için belirlenen klasörün (bende c:/xammp/tmp olarak geçiyordu) veritabanında aynı kalmasından dolayı sistemin bu klasörü web sunucusunda da aradığını ama doğal olarak bulamadığını farkettim. Eğer siz de bu hata ile karşılaşırsanız, Yönet » Site Ayarları » Dosya Sistemi (admin/settings/file-system) sayfasında Geçici dizin değerini düzenlemeniz (ör: sites/default/files/tmp) sorunu çözecektir.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal Mantığı

  • Bu makalemizde Drupal Mantığı ve genel çalışma prensiplerini anlatacağım.
  • İlk bakışta drupal, size yabancı bir dil gibi gelecektir. Bu yabancı dilin belli başlı terimleri Drupal Sözlüğü kısmında sitemizde bulunmaktadır. Bu sözlüğü yola çıkarken incelemenizi tavsiye ederim. Ayrıca takıldığınız yerlerde de göz atabilirsiniz.
Drupal'e ilk başlayanlar genelde yapıyı çözme safhasında karışık bulup vazgeçebilirler. Oysa drupal çok basit temel kurallara dayalı bir içerik yönetim platformudur. Ancak bu basit yapı teknik bakımdan yüksek bir düzeyin üzerine kurulmuştur. Tıpkı elektronik deney setleri gibi sök - tak mantığı olan bir yapısı vardır. Ancak bu kolayca birleştirilen yapı teknik bakımdan üstün özelliklere sahip içeriklerden oluşturulmuştur.
Sitenizi oluştururken şunu unutmayın; Tek seferde kusursuz bir site yapmak imkansızdır. Bu nedenle kendi başınıza deneme yanılma yöntemi ile ve değişik kurulumlar yaparak öğrenmeye çalışmanız en doğrusudur. Böyle bir çalışma ile neyi yapacağınız neyi yapmayacağınız gerektiğini öğrenirsiniz.
Hazırlayacağınız sitenize başlarken, birbirinin eşi iki drupal kurulumu yapmak ve tüm denemeleri bir sitede yapıp başarılı olan denemeleri de ikinci siteye aktarmak sizi gereksiz zaman kayıplarından kurtaracaktır.
Drupal Temeli : Çekirdek
TurkHackTeam.Net - The Cry
Drupal, bir çekirdekten oluşmaktadır. Bu çekirdek geliştirilebilir bir yapıya sahiptir. Drupal sitesinden indireceğiniz ana çekirdeği sitenize kurduktan sonra temel bileşenleri tek tek incelemeniz ilerisi için çok yararlı olacaktır. Bu inceleme, ilk defa drupal kullanacaklar için tavsiyemiz önce çekirdek üzerinde mümkün olduğunca uğraşın ve bu çekirdeği kendi başınıza çözmeye çalışın. Drupal Çekirdeğinin Temel Özellikleri sitemizde anlatılmıştır.
Göreceksiniz ki, sadece çekirdek kısmı bile bir çok değişik türde site oluşturabilmek için yeterli olacaktır. Forum, Blog, Haber, Sayfalar, Yorumlar, Kullanıcı fonksiyonları daha bir çok işlev hazır paketle birlikte gelmektedir.
Drupal Kurulumu sitemizde ayrıntılı olarak anlatılmıştır.
Drupal aslında bir lego seti gibidir. Ana seti aldıkdan sonra yüzlerce değişik özelliklerdeki fonksiyonu barındıran eklentileri bu çekirdek üzerine sorunsuz kurabilirsiniz. Hatta ileri derecede php bilgiliniz varsa kendi eklentinizi drupal standartlarına bağlı kalarak oluşturabilirsiniz. Ve hatta bunu Drupal ana sitesinde yayınlayabilirsiniz. Ancak her eklenti kendi sürümüyle çalışabilir. Drupal 5 için sadece bu sürüm için yaratılan eklentileri kullanabilirsiniz.
Evet, aslında en başta söylemeyi atladık, bu uçsuz bucaksız drupal dünyası kullanıcılara ücretsiz olarak sunulmaktadır.
Drupal Çeşitlendirmesi : Eklentiler

Eklentiler (modüller) çok çeşitli fonksiyonları ve bunların türevlerini içermektedir. Her biri farklı farklı özellik içeren bu eklentileri geliştireceğiniz projeye göre ekleyip çıkartabilirsiniz. Gereksiz eklenti yüklemenin, sitenizi ağırlaştıracağını ve yavaşlatacağını unutmayınız. Eklentiler kapı, pencere, mobilya gibi ev dekorasyonu ve tamamlayıcılarıdır. Bunlar sitenizin yaşamsal fonksiyonu halinede gelebilir. Bu nedenle iyi seçimler yapmanız gereklidir.

Drupal Eklenti ve Temalarının kurulumu sitemizde ayrıntılı olarak anlatılmıştır.
Drupal Eklentilerini kurarken ve kaldırırken uygun yöntemleri kullanmamanız veritabanınızı gereksiz meşgul edecektir. Bu nedenle en uygun şekilde kaldırma yöntemi şu şekilde olmalıdır. Önce Eklentiler sayfasından kurulumu yapılan eklentinin işareti kaldırın ve kaydedin. Daha sonra Eklentiler sayfasında yer alan Kaldır sekmesini tıklayarak eklentiye ait veri tabanlarını silmelisiniz. Üçüncü işlemde ise artık eklentiye ait dosyaları ftp alanınızdaki klasörünü silmektir. Böylece eklenti kaldırılmış olur.
Drupal Görselleri : Temalar
TurkHackTeam.Net - The Cry
Gelelim temalara... Temalar ana çekirdeğe giydireceğiniz elbiselerdir. Bu elbiseler üzerinde zaman zaman gerekli düzenlemelerde yapılabilir. Elbetteki bu düzeltmeler de php ve css bilginiz düzeyinde olacaktır.
Drupal için özel hazırlanmış temaları kullanabileceğiniz gibi benzer yapılarda olan Joomla, Wordpress, temalarınıda Drupal için kullanılabilir hale getirebilirsiniz. Ancak bunun için php dilleri ve css yapısı üzerine bilginiz olmalıdır.
Ana sitede bulunan Drupal Temaları her geçen gün gelişmekte ve çeşitlenmektedir.
Drupal İskeleti : Veritabanı
TurkHackTeam.Net - The Cry
Ancak çekirdek, eklenti ve tüm bu yapının kurulduğu bir iskelet vardır. Bu iskelete ise veritabanı (database) adı verilmiş. Veritabanı yapısı drupal ile çalışmalarınızda otomatik olarak düzenlenmektedir. Ancak sitenizi taşımak ve yedeklemek istediğinizde ***ürmeniz gereken en önemli şeylerden birisidir.
Drupal amatör kişilerin profesyonel site tasarlayabileceği bir sistemdir. Drupal siteniz herhalükarda bir veritabanı üzerine inşa edilmeli ve siteye ait bilgiler bu veritabanına kayıt edilmelidir. Veritabanını uzman kişiler bazen doğrudan şekillendirebilmektedirler. Drupal ise başlangıçta kendisine tanıttığımız veritabanını bizim için otomatik olarak şekillendirmekte ve kullanmaktadır.
Bu veritabanı sitenizin beynidir. Bu beyne zarar gelmesi ve yok olması sitenizin hafızasını yitirmesine sebep olacaktır. Bu nedenle sürekli olarak yedeklenmesini tavsiye ederim. Ancak Drupal sizin için bunu istediğiniz saat aralıklarında otomatik olarak yapabilmektedir. Drupal Otomatik Yedekleme işlemi için hazırlanan Yedekle ve Taşı
Sizler, Drupal dünyasını keşfederken öğrendiklerinizi gün gelip, size hayalgücünüzle sınırlı bir internet dünyası kurma şansını veren bu sistemle paylaşmalısınız. Çünkü, Drupal tüm bunları size karşılıksız sunarak, bilginin paylaştıkça artacağı ve bir okyanusa dönüşebileceği idd iasını ispatlamaktadır. Şimdi sıra sizde...
eklentisi sitemizde anlatılmıştır.TurkHackTeam.Net - The Cry
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Eklenti Ve Tema Kurulumu

Drupal çekirdeğiyle birlikte gelen eklenti ve temalar istediklerinizi tam olarak karşılamıyorsa, drupal.org sitesinde daha yüzlercesini bulabilirsiniz. dru pal.o rg ModulesThemes sayfasından indirebileceğiniz temaların kurulumları hemen hemen aynı şekilde yapılmaktadır (not: sadece yerleştirildikleri klasörler ve etkinleştirilme sayfaları farklı). Bu sayfada hem eklentilerin hem de temaların kurulum ve etkinleştirme aşamalarını takip edebilirsiniz. sayfasından indirebileceğiniz eklentiler ile

WwW.TurkHackTeam.Net/Org - The Cry 2011 DRUPAL

Ön Hazırlık

Kuracağınız eklentiler için Drupal dizinindeki modules dizinini, temalar için de themessites/all dizininde modules ve themes olmak üzere iki klasör oluşturmanız önerilir. Aşağıdaki anlatım da buna uygun olarak yazılmıştır. dizinini kullanabilirsiniz. Fakat bu dizinler çekirdek eklenti ve temalarını da içerdiklerinden kuracağınız yeni eklenti ve temalar için bu dizinleri kullanmanız tavsiye edilmemektedir. Bu sebeple Drupal dizinindeki
Not: Tek bir Drupal kurulumunda farklı domainlere sahip birden fazla site barındıran kullanıcılar, tüm siteler için ortak olan eklenti ve temaları sites/all dizine, farklı olanları ise sites/birinci_site.com, sites/ikinci_site.com gibi ayrı dizinlere koymalıdırlar.
WwW.TurkHackTeam.Net/Org - The Cry 2011 DRUPAL

Kurulum

01_indirme.png


  1. İstediğiniz eklenti veya temayı indirmek için drupal.org'daki ilgili proje sayfasına gidin. Projenin Drupal sürümünüze uygun olan versiyonunu Download linkine tıklayarak bilgisayarınıza kaydedin.
    • Not-1: Yeşil renkli resmi proje versiyonları daha güvenilir olarak çalışırlar. Kırmızı renkli olan versiyonlar ise geliştirme versiyonları olup, çalışmayan özellikler veya hatalar içerebilirler. Eğer projenin Drupal sürümünüze uygun yeşil resmi sürümü bulunmuyorsa veya kırmızı geliştirme sürümünden çok daha eskiyse, kırmızı sürümleri kullanabilirsiniz.
    • Not-2: Projelerin Drupal 5 uyumlu versiyonları Drupal 6 kurulumlarında çalışmayacaktır. Benzer şekilde Drupal 6 uyumlu versiyonlar da Drupal 4 ve 5 kurulumlarında çalışmaz.
  2. Bilgisayarınıza kaydettiğiniz .tar.gz uzantılı proje dosyasını Winzip ya da Winrar gibi bir sıkıştırma yazılımı kullanarak açın. Arşiv dosyasını açtığınızda proje dosyalarını içeren bir proje klasörü oluşacaktır.
  3. Proje klasörünü eklentiler için sites/all/modules dizinine, temalar için ise sites/all/themes dizinine taşıyın.
  4. WwW.TurkHackTeam.Net/Org - The Cry 2011 DRUPAL
023_projeyi_tasima.png

Etkinleştirme

Eklentiler

04_a_etkinlestir.png


  1. Yönet › Site kurulumu > Eklentiler (admin/build/modules) sayfasına giderek, yüklemiş olduğunuz eklentiyi listeden bulup yanındaki kutuyu işaretleyin. Daha sonra sayfanın altında bulunan "Ayarları Kaydet" düğmesine tıklayarak seçmiş olduğunuz eklentiyi etkinleştirin.
    • Not-1: Bazı eklentiler bir eklenti grubu olarak sunulmaktadır. Örneğin CCK eklentisini yüklediğinizde ana eklenti olan Content'in yanı sıra çeşitli ek özellikler sunan Number, Option Widgets, Text, Node Reference ve User Reference gibi diğer eklentiler de listede yer alır. Bunlar arasından istediklerinizi etkinleştirip istediklerinizi devre dışı bırakarak siteniz için en uygun yapıyı sunabilirsiniz.
    • Not-2: Eklentilerin Tanım kısmında "İhtiyaç duyanlar" ve "Gerekenler" gibi iki ayrı bilgi yer alabilir. Bunlardan ilki, çalışması bu eklentiye bağlı olan eklentileri belirtirken, ikincisi ise bu eklentinin çalışabilmesi için gerek duyduğu diğer eklentileri bildirmektedir. Bir başka deyişle, bir eklentinin "Gerekenler" kısmında belirtilen tüm eklentiler etkin olmadığı sürece o eklenti kurulamaz.
  2. Eklentinin işlevine göre, sisteminize yeni izin, blok, içerik türü ve ayarlar eklenebilir. Bununla ilgili detaylı bilgiyi eklenti klasöründe bulunan readme.txt dosyasından veya proje sayfasından öğrenebilirsiniz. Ayrıca gerektiğinde forumdaki Eklentiler bölümümüze konu açarak yardım isteyebileceğinizi de unutmayın.
Temalar

04_b_etkinlestir.png


  1. Yönet › Site kurulumu > Temalar(admin/build/themes) sayfasına giderek, yüklemiş olduğunuz temayı listeden bulup Etkin ve Varsayılan sütunlarındaki kutuları işaretleyin. Daha sonra sayfanın altında bulunan "Ayarları Kaydet" düğmesine tıklayarak seçmiş olduğunuz temayı etkinleştirin.
  2. Temayı etkinleştirdikten sonra, İşlemler sütununda ortaya çıkan "ayarlar" linkine tıklayarak tema ile ilgili ayarlamaları (site logosu ve favicon yükleme, site sloganı, arama kutusu, menüleri gösterme/gizleme vb.) yapabilirsiniz.
    • Not-1: Yeni seçtiğiniz tema öncekinde göre daha farklı blok bölgeleri sunabilir. Bu yüzden daha önceden ayarlamış olduğunuz bazı bloklar temayı değiştirdiğinizde görünmeyebilirler. Blok yönetim sayfasını ziyaret ederek, yeni eklemiş olduğunuz temanız için bu blokları uygun yeni pozisyonlarına atayabilirsiniz.
    • Not-2: Sitenizin yönetim sayfaları için normal site temanızdan farklı bir tema kullanabilirsiniz. Bunun için Yönet › Site Ayarları > Yönetim teması (admin/settings/admin) sayfasına giderek tema seçimi yapabilirsiniz.
    • Not-3: Tema kullanımıyla ilgili sorularınız için forumdaki Temalar bölümünü kullanabilirsiniz.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal sitenizi kurdunuz, temel ayarlarını yaptınız, belki birkaç eklenti etkinleştirdiniz ve artık sıra içerik oluşturmaya geldi. Sitenizde henüz bir içerik olmadığı zamanlarda, sitenizin ana sayfasında "Yeni Drupal sitenize hoşgeldiniz!" başlığıyla bir karşılama ve bilgilendirme yazısı göreceksiniz. Merak etmeyin bu yazı sitenize bir içerik ekleyip anasayfada yayınladığınızda kendiliğinden kaybolacak. O halde bir an önce içerik eklemeye koyulalım.
010_icerik_olustur.png

Öncelikle kullanıcı menüsünde yer alan "İçerik oluştur" linkine tıklayın. Böylece sitenizde mevcut olan içerik türlerinin listelendiği bir sayfaya yönlendirileceksiniz. Drupal standart kurumunda sadece iki içerik türü hazır olarak gelmekte. Bunlar makale (ing: story) ve sayfa (ing: page). Drupal bu iki türü şöyle tanımlıyor:
Makale Makale kullanıcılara herhangi bir konuda bilgi vermek için kullanılabilecek genel amaçlı bir içerik türüdür. Haber, duyuru ve hatta blog yazmak için de kullanılabilir. Makale türü, varsayılan ayarlar olarak kullanıcı yorumlarına açık olup, site anasayfasında özet biçiminde görüntülenir.WwW.TurkHackTeam.Net/Org - The Cry 2011 DRUPAL
Sayfa Yapı olarak makaleye benzese de bir sayfa genellikle zaman içinde sık sık değişmeyen içerikler için kullanılır. Örneğin bir sitenin "Hakkımızda" bölümü gibi. Sayfa türü, varsayılan ayar olarak kullanıcı yorumlarına kapalı olup, sitenin anasayfasında özet biçiminde görüntülenmez.
020_icerik_turu.png

Bunların haricinde çekirdekte yer alan çeşitli eklentiler etkinleştirildiklerinde bazı yeni içerik türleri de listeye eklenir:
Anket Poll eklentisi tarafından sunulur. Anket çoktan seçmeli bir soru olup, kullanıcıların ankette belirtilen seçenekleri oylamasına imkan tanır. Kitap sayfası (ing: Book page) Book eklentisi tarafından sunulur. Bu türde oluşturulan içerikler hiyerarşik olarak organize edilerek kitaplar oluşturulur. Forum konusu
WwW.TurkHackTeam.Net/Org - The Cry 2011 DRUPAL
Forum eklentisi tarafından sunulur. Bir forum konusu forum içinde yeralan sıralı tartışmanın ilk mesajını oluşturur. Günlük iletisi Blog eklentisi tarafından sunulur. Bir günlük iletisi, elektronik günlük ya da popüler deyimle bir blog içindeki bir sayfayı temsil eder. Elbette Drupal'deki tüm içerik türleri bunlar ile sınırlı değil. drupal.org'dan indireceğiniz birçok eklenti yeni içerik türleri sunabileceği gibi, Drupal'de kendi içerik türlerinizi oluşturabilmeniz de mümkün (bkz. Özel İçerik Türleri ve CCK). Biz şimdilik standart içerik türlerinden biri olan Makale'yi seçerek bir site açılış yazısı oluşturalım.
İçerik türleri listesinden Makale'yi tıklayın. Açılan sayfada makale içeriği için bir veri giriş formu bulacaksınız. Bu formdaki alanlar ve seçenekler şöyle:
030_icerik_giris.png


  1. Başlık: İçeriğinizin başlığı, ör: "Merhaba Drupal dünyası!".
  2. Gövde: İçeriğinizin ana metni. Anlatmak istediğiniz şeyleri bu kutuya yazıyorsunuz. Kutunun altında bulunan gri çubuğun üzerine farenizle tıklayıp basılı tutarak ve aşağı-yukarı oynatarak yazı alanı aşağı doğru genişletebilir veya daraltabilirsiniz.
  3. Özet Kesme: Normalde gövde alanına yazdığınız yazının ilk 600 karakterlik bölümü (yaklaşık bir paragraf), içeriğinizin özet olarak gösterildiği sayfalarda kullanılır. Bazen bu 600 karakter sınırı sebebiyle özet kesimleri tam olarak sizin tercih edeceğiniz bir şekilde yapılamayabiliyor. Dolayısıyla bu noktada kontrolü ele alıp, içeriğinizin özet gösteriminin nereden itibaren kesileceğini kendiniz belirlemek istediğinizde bu düğmeyi kullanıyorsunuz. Yapmanız gereken oldukça basit aslında: Yazının kesilmesini istediğiniz noktasına tıklayıp sonra "özeti buradan itibaren kes"e tıklıyorsunuz. Böylece Drupal Ajax desteğiyle içeriği istediğiniz yerden itibaren keserek iki kutuya ayırıyor. Üstteki kutuda özet görüntü içeriğini görebiliyor ve değiştirebiliyorsunuz. Buradaki örnekte biz kısa olan ilk paragrafın sonundan itibaren kesmeye karar verdik.
  4. Menü Ayarları: İçeriğe sitenizdeki menülerden herhangi birinden erişebilmenizi sağlar. Örneğin bir Hakkımızda sayfası hazırlıyor olsaydık bu sayfaya menüden ulaşmak isteyebilirdik. Bu durumda Menü Ayarları başlığı altında aşağıdaki bilgileri girerek, Hakkımızda sayfasının sitemizin birincil linklerinden erişilebilir olmasını sağlayabilirdik:
    • Menü Bağlantı Başlığı: Hakkımızda
    • Üst seviye öğesi: <Birincil Linkler>
    • Ağırlık: 10 (aynı menüdeki öğelerden küçük ağırlığa sahip olanlar önce listelenir).
    Buradaki örneğimizde oluşturduğumuz karşılama mesajı için herhangi bir menüye link vermek istemediğimiz için bu bölümü tamamen boş bırakıyoruz.
  5. Girdi Biçimi: Burada sitenizde etkin olan çeşitli girdi biçimleri listelenir. Girdi biçimleri, kullanıcılar tarafından gönderilen metinlerin işlenmesi için değişik yöntemler tanımlar. Her girdi biçimi, metin üzerinde değişiklikler yapmak için bir ya da birden çok filtreyi belirli bir sıra içinde kullanır. Filtreler genellikle üzerlerine uygulandıkları metin görüntülenmeden önce metinden bazı bölümleri çıkarmak ya da metine bazı elemanlar eklemek için kullanılırlar (ör: Filtered HTML girdi biçimi öntanımlı ayalarında img ve diğer bazı HTML etiketlerinin kullanılmasına izin vermez, eğer içerikte bu etiketler varsa dikkate alınmazlar ve silinirler). Kullanıcılar, içerik gönderirken kendilerine sunulan girdi biçimlerinden istediklerini seçebilirler. Çekirdek Drupal kurulumu Filtered HTML ve Full HTML olmak üzere iki girdi biçimi içerir. Çekirdekle birlikte gelen fakat devre dışı olan, içeriğinizde PHP kodları kullanmanızı sağlayan üçüncü bir girdi biçimi de mevcuttur. Hangi girdi biçimlerini hangi kullanıcı gruplarına sunduğunuza dikkat etmelisiniz, örneğin sitenize zarar vermek isteyen kişilerin PHP girdi biçimini kullanabiliyor olmalarını istemezsiniz. Biz örneğimizde hiçbir HTML etiketi içermeyen düz bir metin girdiğimiz için Filtreli HTML girdi biçimiyle yetineceğiz.
  6. Kitap Taslağı: Eğer Book eklentisini etkinleştirmediyseniz içerik eklerken bu bölüm görünmeyecektir. Kitap taslağı içeriğinizi mevcut kitaplar arasında uygun bir bölüme yerleştirmenizi sağlar. Eğer içeriğin herhangi bir kitabın parçası olmasını istemiyorsanız <hiçbiri> seçeneği seçili kalmalı. Eğer içeriğin yeni bir kitabın en üst seviye sayfası olmasını istiyorsanız, <yeni bir kitap oluştur> seçeneğini, mevcut bir kitabın bir parçası olmasını istiyorsanız o kitabı seçmelisiniz. Örneğimizde içerik herhangi bir kitaba ait olmayacağı için bu bölümü boş bıraktık.
  7. Sürüm Bilgisi: Daha önceden oluşturduğunuz bir içeriği değiştirmek istediğinizde, içeriğin hem eski hem de düzeltilmiş halinin ayrı ayrı kaydedilmesini istiyorsanız "Yeni sürüm oluştur" kutusunu işaretleyin. Buna gerek duymadığımız için örnekte bu kısmı boş bırakıyoruz.
  8. Yorum Ayarları: İçeriğinize diğer kullanıcıların yorum yapıp yapamayacaklarını buradan belirtiyorsunuz. Biz karşılama mesajında kullanıcılarımızın sitemiz hakkındaki görüşlerini almak istediğimizden yorumlara izin verdik.
  9. Yazım Bilgisi: Aslında hemen hemen hiç kullanmayacağınız bir bölüm burası. Eğer oluşturduğunuz içeriğin sizin kullanıcınız adına kayıtlı olmasını istemiyorsanız veya içerik gönderilme tarihini herhangi bir nedenden dolayı gerçek tarihinden farklı göstermek istiyorsanız bu bölümde bu değişiklikleri yapabilirsiniz.
  10. Yayınlanma Seçenekleri: Bu kısımda önemli bir kaç ayar var.
    • Yayında (ing: published): İçerik kaydedildiği gibi sitede yayınlanır. Bir yöneticinin ayrı olarak yayına almasına gerek kalmaz.
    • Anasayfaya yükselt (ing: promoted to front page): İçerik anasayfada özet olarak yayınlanır.
    • Listelerin üstünde kalıcı (ing: sticky at top of lists): Diğer içeriklerden daha önemli gördüğünüz içerikleri normal içeriklerden önce listelemek istediğinizde bu seçeneği işaretleyebilirsiniz. Bu şekilde belirtilen içerikler, gönderilme tarihine göre sıralama yapılan sayfalarda bu sıralamaya uymazlar ve listenin en üstünde gösterilirler.
    Site yöneticisi olarak içeriği kendimiz oluşturduğumuz için ve karşılama mesajımınızın anasayfada diğer tüm mesajların üstünde yer almasını istediğimiz için tüm seçenekleri işaretledik.
  11. Önizleme: İçeriğinizi kaydetmeden önce nasıl görüneceğini kontrol etmek için önizleme özelliğini kullanabilirsiniz.
  12. Kaydet: İçeriğinizi göndermeye hazır olduğunuzda Kaydet'e tıklayın.
Tebrikler! İlk içeriğinizi eklediniz. Artık sitenizin anasayfasına gittiğinizde aşağıdaki resimde olduğu gibi yeni içeriğinizin bir özet görünümü ile karşılacaksınız.
040_anasayfa.png
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Özel İçerik Türleri ve CCK

Sitenize İçerik Ekleme dersinde Drupal çekirdeği ile birlikte gelen çeşitli içerik türlerinden bahsedilmiş ve dilerseniz kendi özel içerik türlerinizi de oluşturabileceğiniz söylenmişti. Bu bölümde Drupal'in sağladığı en önemli esnekliklerden biri olan özel içerik türlerinin nasıl oluşturabileceğini anlatacağız.
Drupal'de özel içerik türleri oluşturma işlemini iki ana aşama da inceleyebiliriz:

  1. Yeni içerik türünü oluşturma
  2. Yeni içerik türünü genişletme
İlk aşama için gerekli fonksiyonlar Drupal çekirdeğiyle birlikte hazır olarak gelir. Böylece size hazır olarak sunulan içerik türlerini istediğiniz gibi değiştirebilir veya yeni içerik türleri oluşturabilirsiniz. Bu noktada oluşturacağınız yeni içerik türleri sadece Başlık ve Gövde alanlarına sahip olacaktır. Eğer içerik türlerinize yeni metin, sayı, tarih, link, resim, vidyo, ses, dosya, e-posta, içerik ve kullanıcı referansı gibi alanlar eklemek istiyorsanız ikinci aşamaya geçip CCK eklentisini kurmanız gerekmektedir.
Bu anlatımızda yukarıda bahsedilen iki aşamayı takip ederek önce kitap incelemeleri yazmak için kullanabileceğimiz yeni bir içerik türü oluşturup, daha sonra bu içerik türü için CCK ile birkaç içerik alanı ekleyeceğiz. Anlatımımız tamamlandığında ise kitap incelemelerini standart olarak girebileceğimiz bir tanıtım şablonu ortaya çıkmış olacak.
WwW. TurkHackTeam.Net/Org - The Cry 2011 DRUPAL
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Yeni İçerik Türü Oluşturma

Yeni bir içerik oluşturmak için Yönet › İçerik yönetimi › İçerik türleri › İçerik türü ekle (admin/content/types/add) sayfasına gidin.
020_icerik_turu_bilgileri.png

Bu sayfada içerik türüyle ilgili temel bilgiler girilip genel tercihler belirtilmektedir. Bu alanların işlevleri ve oluşturacağımız kitap tanıtım içerik türü için bu alanlara gireceğimiz değerler şöyle:

  1. İsim: Yeni içerik türünün adı. "Kitap Tanıtımı" olarak girelim.
  2. Tür: Yeni içerik türünün sistem adı. Sistem adında sadece küçük harfler, sayılar ve alt çizgi kullanılabilir. Bu yüzden biz "kitap_tanitimi" olarak giriyoruz.
  3. Tanım: Yeni içerik türümüz hakkında içerik türleri sayfasında gösterilecek kısa bir açıklama. "Yerli ve yabancı kitap tanıtımları" gibi bir açıklama yeterli.
  4. Gönderi formu ayarları (ing: submission form settings): Bu içerik türüne ait içerikler eklenirken formda gösterilecek etiketler ve açıklamalar bu kısımda giriliyor.
    • Başlık alanı etiketi (ing: Title field label): Bu türe ait içeriklerin başlık etiketleri. Öntanımlı değer: Başlık. Biz bunu "Kitap Adı" olarak değiştiriyoruz.
    • Gövde alanı etiketi (ing: Body field label): Bu türe ait içeriklerin gövde etiketi. Öntanımlı değer: Gövde. Kitap gövdesi pek bir anlam ifade etmeyeceği için bunu "Tanıtım Yazısı" olarak değiştirdik.
    • En düşük kelime sayısı (ing: Minimum number of words): Gövde alanına yazılacak yazının en az kaç kelime olmasını istediğinizi belirtiyorsunuz. Öntanımlı değer: 0. 0 seçişiyken herhangi bir sınır olmuyor. Biz bu şekilde bıraktık fakat birkaç kelimelik uyduruk içerikler oluşturulmasını engellemek için buradan 50-75 gibi bir değer seçilebilir.
    • Açıklama veya gönderim kılavuzu (ing: Explanation or submission guidelines): İçerik ekleyen kişiye çeşitli bilgi ve öneriler sunulabilir. Buraya girilen açıklama içerik ekleme formunun en üstünde yer alacaktır. Biz buraya "Kitap tanıtımı eklemek için aşağıdaki formu mümkün olduğunca eksiksiz ve hatasız olarak doldurunuz." gibi genel bir uyarı mesajı yazdık.
  5. İşakışı ayarları (ing: Workflow settings): Bu türe ait bir içerik gönderildiğinde yapılacak işlemleri buradan seçebilirsiniz. Burada yaptığınız tercihler bu türe ait tüm içerikler için geçerli olacaktır. Yöneticiler bu ayarları içerik bazında değiştirebilirler.
    • Yayında (ing: published): Bu türe ait içerikler kaydedildiği gibi sitede yayınlanır. Bir yöneticinin ayrı olarak yayına almasına gerek kalmaz. Biz kitap tanıtımlarını sadece güvendiğimiz kişilerin yazacağını varsayarak bu seçeneği işaretledik.
    • Anasayfaya yükselt (ing: promoted to front page): Bu türe ait içerikler anasayfada yayınlanır (özet olarak). Tüm kitap tanıtımlarının anasayfada yayınlanmasını istediğimiz için bu seçeneği de işaretledik.
    • Listelerin üstünde kalıcı (ing: sticky at top of lists): Bu türe ait içerikler gönderilme tarihine göre sıralama yapılan sayfalarda bu sıralamaya uymazlar ve listenin en üstünde gösterilirler. Bu istediğimiz bir özellik olmadığından boş bırakıyoruz.
    • Yeni sürüm oluştur (ing: create new revision): Bu türe ait içeriklerde düzenleme yapıldığında, değişiklikleri içeren yeni versiyon ayrı bir sürüm olarak kaydedilir. Böylece istendiğinde içeriğin önceki sürümlerine dönülebilir. Kitap örneğimiz için şimdilik bu özelliğe gerek duymuyoruz. Fakat ileride kitap tanıtım metinlerini tüm üyelerin düzenleyebilmesine izin verirsek, bu durumda yapılacak bazı hoş olmayan değişiklikleri geri alabilmek için bu özelliği aktif edebiliriz.
    • Çoklu dil desteği: Eğer içeriğinizin birden fazla dilde çevirilerini de yayınlamak istiyorsanız bu özelliği seçebilirsiniz. Biz bu özelliği devre dışı bıraktık.
  6. Yorum Ayarları (ing: comment settings): Buradan bu içerik türüne ait yorumlar ile ilgili ayarları yapabilirsiniz.
    • Varsayılan yorum ayarları: Bu içerik türü için yorum yapılmasını istemiyorsanız yorumları devre dışı bırakabilirsiniz. Eğer daha önceden yorum yapılmış bir içeriğe yeni yorum yapılmasını istemiyorsanız fakat mevcut yorumların görüntülenmesini istiyorsanız "sadece okunur" seçeneği uygun olacaktır. Biz kitaplarla ilgili diğer kullanıcıların görüşlerini almak istediğimizden yorumları "okunur/yazılır" olarak bıraktık.
    • Varsayılan gösterim kipi:
      • Kronolojik: yorumlar tarih sırasına göre sıralanır.
      • Parçalı: bir yoruma yapılan diğer yorumlar tarih sırasına göre sayfanın altlarında değil doğrudan cevaben yazıldıkları yorumun altında gösterilirler.
      • Açık: Yorum metinleri görünür.
      • Katlı: Yorum metinleri görünmez.
      Bizim örneğimiz için kronolojik açık liste en uygunu.
    • Varsayılan gösterim sırası: Yeniler mi yoksa eskiler mi önce gösterilecek, bunu belirliyorsunuz. Biz yenilerin önce gösterilmesini tercih ettik.
    • Her sayfa için varsayılan yorumlar: Her bir sayfa için varsayılan yorum sayısı. Artan yorumlar yeni sayfalar halinde listelenecektir.
    • Yorum kontrolleri: Yorum kontrol kutusunun konumu. Yorum kontrolleri kullanıcıların varsayılan gösterim kipini ve yorumların sırasını değiştirebilmelerini sağlar. Biz göstermemeyi tercih ettik.
    • Kayıtsız kullanıcı yorumları: Bu seçenek, kayıtsız kullanıcıların yorum gönderme izni olduğunda etkin hale gelir. Biz bunu istemediğimiz için olduğu gibi bıraktık.
    • Yorum konu alanı: Yorumlar için başlık girilip girilmeyeceğini seçiyoruz. Biz etkin olarak seçtik.
    • Yorumu önizle: Kullanıcıları, yorumlarını göndermeden önce önizleme yoluyla kontrol etmeleri için zorlamak istiyorsanız "zorunlu" seçeneğini işaretleyebilirsiniz. Biz "tercihe bağlı" dedik.
    • Yorum gönderme formunun konumu: Yorum yazma kutusu içeriğin hemen altında mı görünecek yoksa bir linke tıklayarak ayrı bir sayfadan mı yorum girişi yapılacak, bunu seçiyorsunuz. Biz "Gönderi veya yorumların altında göster" seçeneğini tercih ettik.
  7. Tüm ayarları yaptıktan sonra "İçerik türünü kaydet" düğmesine tıklayarak yeni içerik türünüzü oluşturun.
Bu noktada standart düğüm altyapısını kullanan, başlık ve gövde olmak üzere iki bilgi alanına sahip bir içerik türü oluşturmuz olduk. Elbette yeni içerik türünüzü bu şekilde de kullanabilirsiniz fakat içerik türünü yeni veri alanları ekleyerek geliştirmek için bir sonraki aşamaya geçmelisiniz.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
İçerik Türlerini CCK ile Genişletmek

Drupal'de tüm içerik türleri ortak düğüm altyapısını kullanırlar. Dolayısıyla oluşturduğunuz yeni içerik türü de bu düğüm altyapısına sahip olacak. Bir başka deyişle başlangıç olarak elinizde sadece düğüm adı ve düz bir metin girebileceğiniz basit bir içerik şablonu var (kitap adı ve kitap tanıtım yazısı gibi). İçerik türünüze yeni veri alanları ekleyerek geliştirmek istiyorsanız, Content Construction Kit (CCK) eklenti grubunu kurmanız gerekiyor. CCK eklenti grubu ana eklenti olan Content'in yanı sıra metin ve sayı alanları, seçim kutuları, kullanıcı ve içerik referansları sunan Number, Text, Option Widgets, Node ve User Reference gibi eklentilerle geliyor. Bunlara ek olarak drupal.org eklenti sayfasında CCK kategorisinden indirebileceğiniz diğer birçok eklenti ile içerik türünüze ekleyecek yeni veri alanları elde edebilirsiniz.
040_cck_swiss.png

Özetle, CCK standart düğüm altyapısının üzerine yeni veri alanları ekleyerek kompleks içerik türleri oluşturmanızı sağlıyor. Tek bir eklenti ile farklı gereksinimleri olan kitap tanıtımı, dizi-film tanıtımı, ürün tanıtımı, yazılım tanıtımı, site tanıtımı, müzik grupları tanıtımları, şiir, dilekçe ve yemek tarifi gibi çok farklı içerik türleri oluşturmanız mümkün. Bazı CMS'lerde tüm bu içerik türleri için ayrı eklentiler kullanmanız gerektiğini düşünürseniz Drupal'in CCK ile size sunduğu esnekliği çok daha iyi kavrayabilirsiniz.
Bu anlatımda kullandığımız kitap tanıtımı için kitabın yazıldığı dili seçebileceğimiz bir dil listesi eklemek istiyoruz. Bunun için herşeyden önce CCK eklenti grubunu kurup, içeriğindeki Content, Text ve Option Widgets eklentilerini etkinleştirmeliyiz (bkz. Eklenti ve Tema Kurulumu). Sonrasında ise Yönet › İçerik yönetimi › İçerik Türleri (admin/content/types) sayfasına giderek yeni oluşturduğumuz Kitap Tanıtımı içerik türünü bularak "manage fields" linkine tıklayacağız.
Açılan sayfada içerik türündeki mevcut alanların (ör: Kitap Adı, Menü ayarları, Tanıtım Yazısı) sıralanabilir bir listesi ve yeni alan ekleyebilmenizi sağlayan bir araç bulunuyor. Burada Dil alanı için aşağıdaki ayarları yapıyor ve "Kaydet"e tıklıyoruz.
050_alan_ekle.png

Bir sonraki sayfada eklediğimiz CCK alanı ile ilgili detayları girmemiz gerekiyor. Buradaki ayarlar eklenilen CCK alanının türüne göre değişiklik gösterebilir. Yardım metni alanına "Kitabın yazıldığı dili listeden seçiniz" şeklinde bir açıklama girip, Genel Ayarlar bölümünden bu alanı "Zorunlu" olarak işaretliyoruz. Böylece kitap tanıtımları yazılırken Dil seçimi zorunlu hale gelecek. "Number of Values" olarak "1" değerini seçiyoruz ki her kitap için sadece bir adet dil seçilebilsin. Diğer ayarları olduğu gibi bırakıp son olarak "Allowed Values List" (izin verilen değerler) kutusuna kullanıcılara sunacağımız dil seçeneklerini her satıra bir adet gelecek şekilde yazıyoruz. Örnek:
en|İngilizce
tr|Türkçe
de|Almanca
fr|Fransızca Tüm ayarları girdikten sonra "Save field settings" düğmesine tıklıyor ve ayarlarımızı kaydediyoruz. Tekrar CCK alanı ekleme sayfasına döndüğümüzde istersek içerik alanlarının sırasını da değiştirebiliriz.
060_CCK_sirala.png

Artık yeni özel içerik türümüz hazır sayılır. Kalan birkaç düzenlemeyi yapmadan önce yeni oluşturduğumuz içerik türüne ait bir içerik ekleyelim. Bunun için içerik ekleme sayfasına gidiyor ve yeni eklediğimiz içerik türünü seçiyoruz. Ve karşımıza Kitap Adı ve Tanıtım Yazısı ile birlikte bir de Dil seçim menüsü çıkıyor!
070_cck_secim.png

İçerik bilgilerimizi girip kitap dilini de Türkçe olarak seçtik (içerik ekleme konusunda detaylı anlatım için bkz. Sitenize İçerik Ekleme). İçeriğimizi kaydettiğimizde, içerik türünü oluştururken belirtmiş olduğumuz "Yayında" ve "Anasayfaya Yükselt" seçenekleri sayesinde, içeriğimiz anasayfada aşağıdaki gibi yayınlanmış olacak. Gördüğünüz gibi Dil: Türkçe bilgisi de Tanıtım Yazısı'nın özetiyle birlikte sunulmuş durumda.
080_anasayfa.png

Dersimizi sonlandırmadan önce son bir-iki küçük ayar daha yapalım. Yukarıdaki resimde de gördüğüz gibi "Dil:" ve "Türkçe" ayrı satırlara yazılmış durumda. Bunları aynı satıra almak istiyoruz. Ayrıca kitaplara ait Dil bilgisinin özet görünümlerde değil de sadece kitap tanıtım sayfasında yani "devamını oku" linkine tıklayarak ulaşabileceğimiz tam düğüm görünümünde görüntülenmesini istiyoruz. Bu ayarları yapmak için Yönet › İçerik yönetimi › Kitap Tanıtımı › Düzenle › Display Fields (admin/content/node-type/kitap-tanitimi/display) sayfasına gidiyoruz ve Dil CCK alanı için aşağıdaki ayarları yapıyoruz:

  • Label: Inline (etiket ve değeri aynı satırda yaz. Ör: "Dil: Türkçe" gibi)
  • Teaser: Hidden (özet görünümde Dil alanını gizle)
  • Full Node: Varsayılan (tam düğüm görünümünde varsayılan ayar seçili)
Bu ayarları'da kaydettiğimizde artık anasayfada kitap tanıtımları yayınlanırken Dil bilgisini görünmezken, tam düğüm görünümlerinde aşağıdaki gibi Dil bilgisini tek satır halinde görebiliyor olacağız.
090_son_hali.png

Son Söz
CCK gerçekten Drupal'e müthiş bir güç ve esneklik katıyor. Bu potansiyeli değerlendirebilmek ise sizin elinizde. CCK açık büfesinden yiyebildiğiniz kadar yiyin ;)
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
İçerik Kategorileri ve Taksonomi

Drupal'de içeriklerinizi kategorilere ayırma işlevi, oldukça esnek bir yapıya sahip olan Taksonomi sistemi (taxonomy) ile sağlanmaktadır. Taksonomi sisteminin temelinde sözlükler ve terimler yer alır. Sözlükler sınıflandırma biçimlerine karşılık gelirken, terimler ise kategorileri ifade ederler. Örneğin kitap satışı yapan bir sitede kitaplar türüne göre veya yayınevine göre sınıflandırabilir. Burada kitap türü ve yayınevi iki ayrı sözlüğe karşılık gelmektedir. Macera, Gizem, Tarih gibi türler kitap türü sözlüğüne ait terimleri, Metis, Altın Kitaplar, Arka Bahçe gibi yayınevleri ise yayınevi sözlüğünün terimlerini oluştururlar. Bu tarz bir sınıflandırma mantığını Taksonomi eklentisiyle oluşturmak çok basittir.
TurkHackTeam.Net/Org - The Cry 2011

Taksonomi sistemi ile neler yapılabilir?


  • Farklı sözlükler kullanarak her içerik türünüze özel sınıflandırma sağlayabilirsiniz. Ör: kitap kategorileri, film kategorileri, site kategorileri, vb.
  • Farklı içerik türleri tarafından ortak kullanılan sınıflandırma sistemleri oluşturabilirsiniz. Ör: Futbol kategorisini vidyo, fotoğraf ve haber içerik türleri paylaşabilir.
  • Alt kategoriler oluşturabilirsiniz. Ör: Haber -> Spor -> Futbol -> Turkcell Süper Ligi -> Beşiktaş
  • Bir içerik farklı sözlüklerde veya aynı sözlükte yer alan birden fazla kategoriye ait olabilir. Ör: incelemesi yazılan bir kitap aynı anda tarih, macera, gizem, Yurt Kitapevi gibi farklı kategorilere ait olabilir.
  • İçerikler daha önceden yöneticiler tarafından tanımlanmış kategorileri kullabilecekleri gibi, içeriği ekleme sırasında yeni kategoriler otomatik olarak oluşturulabilir.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Uygulama: İçerik Kategorileri Oluşturma

Bu anlatımda Drupal'deki Taksonomi sistemini kullanarak içerik kategorileri oluşturma konusunu ele alacağız. Anlatım örnek bir uygulama üzerinden yapılacak. Uygulamada daha önceden Özel İçerik Türleri ve CCK dersinde oluşturduğumuz Kitap Tanıtımı içerik türü için çeşitli kitap kategorileri (aşk, bilimkurgu, gizem, fantastik, tarihsel vb.) oluşturulacak.
Not: Taksonomi sisteminin öğeleri hakkında bilgi için İçerik Kategorileri ve Taksonomi üst sayfasına bakınız.
TurkHackTeam.Net/Org - The Cry 2011

Ön Hazırlık

Herşeyden önce Drupal çekirdeğiyle birlikte gelen Taksonomi (ing: taxonomy) eklentisinin etkinleştirmemiz gerekiyor. Bunun için Yönet » Site kurulumu » Eklentiler (admin/build/modules) sayfasına gidiyor ve Çekirdek - tercihe bağlı grubu altında yer alan Taxonomy eklentisini işaretleyip sayfanın altındaki Ayarları Kaydet düğmesine basıyoruz.
010_etkinlestir.png

Sözlük Oluşturma

Tanımlayacağımız kategorilerin yer alacağı sözlüğü oluşturmak için Yönet » İçerik yönetimi » Taksonomi (admin/content/taxonomy) sayfasına gidiyor ve Sözlük ekle sekmesine tıklıyoruz.
Açılan sayfada sözlük ile ilgili temel bilgileri girmemiz gerekiyor. İlk bölümde sözlük adı (1), sözlük tanımı (2) ve yardım metni (3) giriliyor. Örneğimizde kitapları türlerine göre sınıflandırmak istediğimiz için sözlük adını Kitap türü olarak girdik. Sözlük tanımı sözlüğün içeriği hakkında kısa bir bilgi vermek için kullanılıyor, buraya da kısa bir açıklama yazdık. Ayrıca içerik ekleme sayfasında içerik kategorileri seçilirken kullanıcılara gösterilmek üzere bu sözlükle ilgili genel kullanım bilgisi ve uyarıları da yardım metni kısmına girdik.
020_sozluk_olustur.png

Sayfanın devamında kategorilendirme yapacağımız içerik türlerini seçip sözlük ile ilgili yapısal ayarları düzenliyoruz. Bu bölümde yapılanlar şöyle:
TurkHackTeam.Net/Org - The Cry 2011

  • İçerik türleri (4): Sözlüğün geçerli olacağı içerik türlerini seçiyoruz. Biz oluşturduğumuz bu kitap türü sözlüğünü sadece kitap tanıtımlarını sınıflandırmak için kullanacağımızdan listeden sadece Kitap Tanıtımı içerik türünü işaretledik.
  • Etiketler (5): Eğer kendi oluşturacağınız kategoriler haricinde, kullanıcılar içerik eklerken kendi kategorilerini de oluşturabilsinler istiyorsanız bu seçeneği işaretleyebilirsiniz. Böylece kullanıcılar içerikle ilgili kendi etiketlerini girebilirler. Örneğimizde sadece önceden tanımlı kategorilerin kullanılmasını istediğimizden bu seçeneği devre dışı bıraktık.
  • Çoklu Seçim (6): Eğer bir içerik için birden fazla kategori seçilebilsin istiyorsanız bu seçeneği işaretlemelisiniz. Kitaplar farklı türlerin birleşiminden oluşabileceği için biz çoklu seçime izin verdik.
  • Zorunlu (7): Eğer bu sözlüğün geçerli olduğu her içerik türü için, içerik eklerken mutlaka kategori seçilsin istiyorsanız bu seçeneği işaretlemelisiniz. Böylece kullanıcılar yazdıkları her içerik için bir kategori belirtmek zorunda kalacak. Örneğimizde her kitabın en az bir kategoriye ait olmasını istediğimizden bu seçeneği işaretledik.
  • Bu sayfadaki son işlem olarak (8) Kaydet düğmesine tıklıyor ve sözlüğümüzü oluşturuyoruz.
Not: Ağırlık değeri oluşturduğumuz sözlüğün diğer sözlükler içindeki sırasını belirlemeye yarıyor. Bu sıralamayı daha sonradan sürükle bırak yöntemi ile de yapabilirsiniz. Biz olduğu gibi bıraktık.
030_sozluk_ayarlari.png

Terim Ekleme

Sözlüğümüzü oluşturduktan sonra otomatik olarak sitemizde tanımlı olan sözlüklerin listelendiği Taksonomi anasayfasına yönlendiriliyoruz. Burada yeni oluşturduğumuz sözlüğümüz de listelenmekte. Artık kategorileri ekleyecek bir sözlüğümüz olduğuna göre, sıra içerik kategorilerimizi girmeye geldi. Drupal'de içerik kategorileri sözlük terimleri olarak girilmekte. Bu işlemi gerçekleştirebilmek için yeni oluşturduğumuz sözlüğe ait terim ekle linkine tıklıyoruz.
040_terim_ekle.png

Terim ekleme sayfasında Tanımlama başlığı altında Terim adı (9) ve Tanım (10) bilgilerini giriyoruz. Örnekte, sitemize ekleyeceğimiz kitaplar arasında bulunması muhtemel bilimkurgu kitaplarını düşünerek, Bilimkurgu adında bir terim ekledik.
050_terim_bilgisi.png

Terim ekleme sayfasının alt kısmında ise ekleyeceğimiz terimle ilgili bazı detayları girebiliyoruz:

  • Üst Seviyeler (11): Eğer terimler arasında hiyerarşik bir yapı oluşturmak istiyorsanız, buradaki listeden şuan eklemekte olduğunuz terimin bir üst seviyesinde yer alan terimi seçmelisiniz. Örneğimizde Bilimkurgu kategorisinin Roman & Öykü kategorisinin bir alt kategorisi olmasını istediğimiz için listeden Roman & Öykü terimini üst seviye olarak seçtik.
    Not:
    Örnekteki Roman & Öykü ve diğer terimler daha önceden eklenmişti.
  • İlgili Terimler (12): Bu sözlükte yer alan mevcut terimler arasından şuan eklediğiniz terimle ilgili olan terimleri seçin. Biz terimler arasında böyle bir ilişki kurmaya gerek görmediğimizden boş bıraktık.
  • Eşanlamlılar (13): Bu kısımda eklediğiniz terimle aynı anlama sahip diğer kelimeleri, kısaltmaları veya aynı kelimenin farklı yazılış biçimlerini her biri ayrı bir satıra gelecek şekilde yazabilirsiniz. Örneğin; bilimkurgu için bilim-kurgu, scifi, sci-fi, vb. yazılabilir.
  • Ağırlık (14): Eğer girdiğiniz terimlerin alfabetik sıralama yerine kendi belirlediğiniz bir sırada listelenmesini istiyorsanız ağırlık değerleri verebilirsiniz. Biz alfabetik sıralamayı tercih ettiğimiz için 0 olarak bıraktık.
  • Tüm bilgileri girip ayarları yaptıktan sonra Kaydet (15) düğmesine tıklayarak yeni terimimizi (kategorimizi) oluşturuyoruz.
060_terim_detaylari.png

Benzer şekilde oluşturmak istediğimiz tüm kategorileri terim olarak ekliyoruz. Eğer terimler arasında hiyerarşik bir yapı oluşturmak istiyorsanız ve terimlerin üst-seviye bilgilerini terimleri oluştururken girmediyseniz, Taksonomi anasayfasına dönüp buradan sözlüğe ait terimleri listele linkine tıklayın. Açılan sayfada eklemiş olduğunuz terimleri göreceksiniz. Burada terimleri sürükle-bırak yöntemiyle yeniden sıralayabilir ve seviyelerini değiştirebilirsiniz (alt-seviye yapabilirsiniz).
070_terim_siralamasi.png

Tüm bu işlemler sonunda, içeriklerimizi sınıflandırmak için gerekli olan kategorilerimizi hazırlamış olduk. Artık yeni bir içerik eklerken tanımlamış olduğumuz kategorileri görebileceğiz.
TurkHackTeam.Net/Org - The Cry 2011
İçerik Kategorisi Seçimi

Oluşturduğumuz kategoriler artık yeni bir içerik eklerken veya mevcut içerikleri düzenlerken bir liste olarak sunulacak. Aşağıdaki örnekte daha önceki dersimizde oluşturduğumuz bir kitap tanıtımının düzenleme sayfası görülüyor. İşte yeni kategorilerimiz karşımızda. İçerik için uygun olan kategoriyi listeden seçerek içeriğimizi kaydediyoruz.
080_icerik_terimleri.png

Kategori seçimini yaptıktan sonra, seçtiğimiz kategoriyi içeriğin özet ve tam sayfa görünümlerinde görebilmemiz mümkün. Kategorilerin gösterilecekleri yeri ve diğer görsel özelliklerini kullandığınız tema belirliyor. Garland temasında içerik kategorileri içeriğin sağ alt köşesinde yer alıyor.
090_icerik_terim_ekli.png

Ek Bilgiler


  • Herhangi bir kategori (terim) linkine tıkladığınızda o kategorideki içeriklerin özet görünümlerinin listelendiği bir sayfaya yönlendirilirsiniz. Bu sayfayı Views eklentisi ile modifiye etmeniz mümkün.
  • Terim linkleri normalde taxonomy/term/term-id-numarası şeklindedir. Pathautokitap-turu/gizem-gerilim şeklinde değiştiren kurallar tanımlamanız mümkün. ekletisi ile bu linkleri
  • Sitenizdeki kategoriler için site menünüze link eklemek istiyorsanız, ilgili menünün ayar sayfasına gidip öğe ekle linkine tıklayın. Açılan sayfada yol kısmına kategorinin linkini (ör: taxonomy/term/1) girin.
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal'de Sürümler ve Güncelleme

Drupal sitelerimizin ana sürüm ve ara sürüm güncellemeleri ile ilgili olarak hazırlanan anlatımlar burada listelenecek. Bu sayfada ayrıca sürüm isimlendirme ile ilgili temel bilgileri de bulabilirsiniz.
Drupal 5 ile birlikte daha önceleri üç basamaklı olan (ör: 4.7.6) sürüm isimlendirmede Y.X formatına geçildi. Dolayısıyla artık Y ana sürümü, X ise ara sürümleri gösteriyor. Örneğin Drupal 5.14 sürümünü ele alacak olursak, bu isimlendirme Drupal 5.x ana sürümüne ait 14. güncelleme anlamına geliyor. Benzer şekilde Drupal 6.8 de, Drupal 6.x ana sürümüne ait 8. güncelleme sürümüdür.
Ana sürümler (Y)

Genellikle yılda bir kez yayınlanırlar. Şuan itibariyle (05.01.09) en son yayınlanan ana sürüm Drupal 6'dır. Bir sonraki sürüm olan Drupal 7 ise geliştirme aşamasında olup, Dries Buytaert'in tahminine göre 2009'un son çeyreğinde yayınlanacak.
Ana sürümler arasında yapısal anlamda önemli farklar bulunur ve bu yüzden bir ana sürümde kullanılan eklentiler diğeriyle uyumlu değildirler (bazen ufak birkaç değişiklik ile uyumlu hale getirilebilirler). Sitemizde kullandığımız hayati öneme sahip harici eklentilerin tamamının yeni sürüm için yayınlanan versiyonları olmadan sitemizi bu yeni sürüme güncellemek pek de mümkün değildir. Bu da güncelleme işlemini geciktiren/zorlaştıran bir faktördür.
Herhangi bir anda biri eski, biri yeni ve biri de geliştirme aşamasında olmak üzere 3 ana sürüm bulunur. Bunlar bugün itibariyle sırasıyla şu şekildedir: Drupal 5, Drupal 6 ve Drupal 7. Bugün yapılacak bir site için Drupal 6 kullanılması tavsiye edilir.
TurkHackTeam.Net/Org - The Cry 2011

Ara sürümler (X)

Bir ana sürüm yayınlandıktan sonra tespit edilen hataların ve güvenlik açıklarının giderilmesi için hazırlanan sürümlerdir. Örneğin 2007 Ocak ayında yayınlanan Drupal 5 için geçen 2 yıl içinde 14 ara sürüm yayınlanmıştır.
Eklentiler ara sürüm değişikliklerinden etkilenmezler; bu yüzden ara sürüm güncellemelerini uygulamak ana sürümlere göre daha kolaydır.
Ara sürüm güncellemeleri genellikle yeni özellikler sunmazlar. Bununla birlikte sitenizin güvenliğini tehdit eden açıkları giderdikleri için her zaman kullandığınız ana sürüm için yayınlanan en güncel ara sürümü kullanmanız tavsiye edilir.
TurkHackTeam.Net/Org - The Cry 2011
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal 5'ten 6'ya Geçiş

Bu sayfada Drupal 5.x sitelerimizi 6.x'e güncellerken takip etmemiz gereken yöntem ve dikkat edilmesi gereken hususlar yer almaktadır. Anlatım gerçek bir güncelleme sırasında alınan notlardan derlenmiştir.
TurkHackTeam.Net/Org - The Cry 2011
Önsöz

Anlatıma başlamadan önce Drupal 5'ten 6'ya geçiş sürecinin söz konusu sitenin büyüklüğüne ve güncellemeyi yapan kişinin deneyimine göre değişen bir zaman alacağını unutmayın. Duruma göre 5-10 saatinizi bu işe ayırmanız gerekebilir. Bu yüzden başlamadan önce tüm bu işlemler için yeterli zamanınız olduğundan emin olun. Sonuçta güncelleme işleminin yarım, sitemizin de uzun bir süre kapalı kalmasını istemeyiz. Ayrıca her zaman ihtiyatlı davranmakta fayda vardır; bu yüzden sitelerinizi yedeklerini almayı ihmal etmeyin. Hatta yayında olan sitenizi güncellemeden önce bir kopyası alıp localhost'ta bu işlemleri gerçekleştirin. Böylece normalde başta hesapta olmayan ama sitenizi 6.x'e güncelledikten sonra ortaya çıkabilecek muhtemel sorunları da görme fırsatınız olur.
Not: Güncelleme işlemlerine başlamadan önce, Drupal 6 dağıtımıyla birlikte gelen UPGRADE.txt dosyasını da gözden geçirmeniz tavsiye edilir.
Drupal 6'ya Geçiş Aşamaları


  1. Ön Hazırlık
  2. Mevcut Sitenin Yedeğini Almak
  3. Ön Güncelleme
  4. 6.x’e Geçiş
#1. Ön Hazırlık


  1. Sunucu konfigürasyonunun 6.x için burada verilen minimum gereksinimleri karşıladığından emin olmalıyız.
  2. Sitede kullanılan eklentilerin 6.x uyumlu sürümleri olup olmadığını kontrol edelim. Eğer tüm eklentiler için 6.x sürümleri varsa sorun yok, fakat bazı eklentiler için bu sürümler bulunmuyorsa burada siteyi 6.x’e yükseltme kararını gözden geçirmeliyiz.
    Eğer 6.x sürümü olmayan eklentiler
    • sitenin çalışması açısından kritik değilse,
    • önemli olmalarına rağmen site bir süre bu eklentiler olmadan idare edebilecekse ve bu eklentilerin 6.x sürümlerinin geliştirilmesi aktif olarak devam ediyorsa,
    • 5.x versiyonunda geçici bir çözüm olarak kullanılmış ve 6.x’te bu eklentiler olmadan veya başka yollarla bu eksiklikler giderilebilecekse
    siteyi 6.x’e yükseltme kararında ısrar edebiliriz.
    Bunların haricindeki durumlarda mevcut 5.x sitemizi 6.x’e yükseltmek ciddi sıkıntılar yaratabilir; dolayısıyla bu işlemi bir süre daha ertelemek iyi olacaktır.
    Bazı eklentilerin 5.x’den 6.x’e güncellenmesi bazı özel işlemler gerektirebilir (ör: CCK). Bu tür eklentilerin proje sayfalarında güncelleme ile ilgili uyarı ve bilgiler verilmektedir. Eklentilerin 6.x uyumluluklarını kontrol ederken bu uyarılara dikkat etmeli ve ilgili eklentileri bir kenara not etmeliyiz. Bu uyarıları unutur veya dikkate almazsak güncelleme sırasında ve sonrasında sorunlar yaşayacağımız kesin.
  3. Site temamızın 6.x uyumunu kontrol edelim. Hazır bir tema kullanıyorsak temanın 6.x sürümü olup olmadığını kontrol etmeliyiz. Eğer temamızın 6.x sürümü yoksa, 5.x ile 6.x temaları arasındaki farkların anlatıldığı bu dokümandan yararlanarak bunu kendimiz yapmayı deneyebilir veya sitemize uygun 6.x sürümü olan başka bir tema tercih edebiliriz.
    Not: Tema, güncelleme tamamlandıktan sonra önem kazanacak bir konu. Tüm güncelleme işlemleri sırasında Drupal’in varsayılan teması olan Garland kullanılacak. Bu yüzden siteyi yükseltmek açısından mevcut temanızın bir önemi yok.
  4. Kullandığımız eklentilerin en güncel 5.x ve 6.x versiyonlarını koymak için iki ayrı klasör oluşturalım ve drupal.org’dan bu versiyonları indirip 5.x ve 6.x klasörlerine kaydedelim.
#2. Mevcut Sitenin Yedeğini Almak

Yedek alma işlemi hem veritabanı yedeğini hem de dosya yedeğini almayı kapsıyor. Veritabanı yedeği site yönetim paneli (cPanel, Plesk, vb.), phpMyAdmin veya Backup and Migrate eklentisi üzerinden alınabilir. Dosya yedeğini alırken de Drupal sitemizin tüm dosya ve klasörlerini almak en güvenli yol olacaktır. Eğer komple bir yedek almayacaksanız, sonradan kurduğunuz eklenti ve temaların yanı sıra site ayarlarının kayıtlı olduğu settings.php dosyasının da yer aldığı sites ve site üzerinden yüklenen dosyalarınızın bulunduğu files dizinleri ile eğer değişiklik yapmış iseniz robots.txt ve .htaccess dosyalarınızı mutlaka yedekleyin.
#3. Ön Güncelleme


  1. Siteyi bakım moduna alalım (admin/settings/site-maintenance sayfasından). Böylece güncelleme işlemleri, siteyi gezmeye ve işlem yapmaya çalışan kullanıcılar tarafından kesintiye uğratılmayacaktır.
  2. Site teması olarak Garland’ı veya başka bir çekirdek temayı seçelim.
  3. Tüm eklentileri en son yayınlanmış 5.x versiyonlarına güncelleyelim (ör: Sitede CCK eklentisinin 5.x-1.7 versiyonu kullanılıyorsa ve 5.x için drupal.org’da yayınlanan en güncel CCK versiyonu 5.x-1.10 ise, CCK eklentisini 6.x’e yükseltmeden önce 5.x-1.10 versiyonuna güncellemeliyiz).
    Not:
    Bütün eklentileri tek bir defada güncellemek yerine birkaç defada yapmak oluşabilecek sorunları tespit edebilmek açısından faydalı olacaktır. Ayrıca her eklenti güncellemesinin ardından update.php’yi çalıştırmayı unutmayın.
  4. Siteyi mevcut ana sürümün en yeni versiyonuna güncelleyelim (ör: Sitede Drupal 5.6 kullanıyorsa ve şuanda 5.x serisinde en güncel versiyonu 5.12 ise siteyi 6.x’e yükseltmeden önce 5.12’ye güncellemeliyiz). Bu işlem için Ara Sürüm Güncelleme Rehberi'nden yaralanabilirsiniz.
  5. Güncel 5.x sitemizin tekrardan bir yedeğini alalım (bkz. 2. Mevcut Sitenin Yedeğini Almak).
#4. 6.x’e Geçiş


  1. Çekirdek harici tüm eklentileri devre dışı bırakalım. Ayrıca 6.x ile birlikte artık kullanmayacağımız eklentiler varsa ve bu eklentiler Kaldır bölümünde listeleniyorsa bunları işaretleyerek sistemde bulunan kayıtlarını tamamen silelim.
  2. Site dizininde bulunan tüm Drupal dosya ve klasörlerini silelim veya sunucu üzerinde başka bir dizine taşıyalım.
  3. Drupal 6 dosyalarını site ana dizinine kopyalayalım.
  4. 3. adımın sonunda yedeğini aldığımız files dizini, sites/default dizininde yer alan settings.php dosyasını ve eğer üzerlerinde değişiklik yapıldıysa robots.txt ve .htaccess dosyalarını yeni kurulumun üzerine taşıyalım.
  5. 5.x’te Block Cache eklentisini kullandıysak phpMyAdmin ile veritabanımızda yer alan cache_block tablosunu silelim.
  6. Update.php’yi çalıştıralım (sitemiz.com/update.php). Bu işlemin sonunda yapılan güncellemelerle ilgili bir özet sunulacak. Eğer işlemler sırasında herhangi bir sorun yaşanmadıysa sitemizin altyapısı artık Drupal 6’ya yükseltilmiş olacak.
  7. Eklentilerimizin 6.x uyumlu versiyonlarını sites/all/modules dizinine taşıyarak etkinleştirip güncelleyelim. Bu işlemi yaparken tüm eklentileri bir defada yapmak yerine grup grup ve hatta tek tek yapmak çok daha sağlıklı olacaktır. Bazı eklentilerin güncellemelerinin diğerlerinden önce yapılması gerekebilir. Örneğin CCK paketinde yer alan Content eklentisi diğer tüm CCK eklentilerinden önce etkinleştirilip güncellenmelidir (update.php ile). Bu yüzden CCK’yı Imagefield, Filefield, Embedded Media Field vb. CCK grubu eklentilerinden önce tek başına taşıyıp kurmalı, etkinleştirmeli ve güncellemeliyiz. Eğer CCK’yı güncellemeden önce diğer eklentileri de sites/all/modules dizinine taşırsak, bu eklentiler etkin olmasalar bile update.php çalıştırıldığında güncellenmeye dahil edilirler ki bu durum CCK güncellemesinde sorun yaratacaktır. Bu yüzden mümkün olduğunca toplu taşıma ve güncellemelerden kaçının.
    Not: Şuan itibariyle bazı CCK alanları 6.x güncellemesi sonucunda inaktif durumda kalıyorlar. Bunları veritabanında yer alan content_node_field_instance tablosunda ilgili kaydın widget_active değerini 1 yaparak etkinleştirmek mümkün. Bu işlemi yaptıktan sonra site önbelleğini temizleyip içerik türü alan düzenleme sayfasına gidip bu alana ait ayar sayfasından ayarları güncelleyip kaydetmek gerekiyor.
    Not2: Ben güncellemeyi yaparken Views ile daha önceden oluşturulan görünümleri 6.x’te kullanamadım, bu yüzden hepsini tekrardan oluşturdum. Bildiğim kadarıyla şuan Views için 5.x’ten 6.x’te aktarım yok.
  8. Yeni temayı yükleyip etkinleştirelim ve blok yerleşimlerini gözden geçirelim.
  9. Performans ve önbellek ayarlarını gözden geçirelim.
  10. Herşeyin hazır olduğuna emin olduktan sonra siteyi tekrardan yayına alalım.TurkHackTeam.Net/Org - The Cry 2011
Sonsöz

Eğer buraya kadar gelebildiyseniz sitenizi Drupal 6'ya yükseltmişsiniz demektir, tebrikler. Her ne kadar önümüzdeki birkaç ay içinde Drupal 7 yayınlanacak olsa da, Drupal 7'nin yaygın olarak kullanılmaya başlaması 2009 sonbaharını bulur. Bu yüzden yeni Drupal 6 sitenizi daha uzun bir süre kullanabileceksiniz :)
TurkHackTeam.Net/Org - The Cry 2011
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Ara Sürüm Güncelleme Rehberi

Drupal 5'te harici bir eklenti olarak sunulan Update Status, Drupal çekirdeğine ve diğer eklentilere ait güncellemeler olup olmadığını kontrol edip gerektiğinde site yöneticilerini uyarıyordu. Bu eklenti Drupal 6'da çekirdeğe eklenmiş olarak geliyor. Eklenti sitemizde etkin olduğu sürece, tespit ettiği güncellemeleri yönetim paneli sayfalarında bildiriyor. Drupal'de ara sürüm güncellemeleri yeni bir özellik sunmasalar da tespit edilen hataları ve güvenlik açıklarını giderdikleri için bu tür güncelleme uyarılarını dikkate almak ve sitemizi en kısa zamanda güncellemek yararımıza olacaktır.TurkHackTeam.Net/Org - The Cry 2011
Güncelleme işlemlerinin detaylarına girmeden önce ufak bir hatırlatma yapalım; bu anlatımda ara sürüm güncellemelerini ele alıyoruz. Yani kullandığımız bir Drupal 5 sürümünden daha yeni olan diğer bir Drupal 5 sürümüne veya Drupal 6 sürümünden yeni başka bir Drupal 6 sürümüne geçiş ile ilgileniyoruz. Eğer amaç sitenizi Drupal 5'ten Drupal 6'ya yükseltmek ise bunun için Drupal 5'ten 6'ya geçiş başlıklı anlatıma bakınız. Yine de ana sürüm yükseltirken de ara sürüm güncellemesi yapmak gerekebileceğinden buradaki anlatıma da ihtiyacınız olacak. Evet, hatırlatmamızı da yaptığımıza göre artık güncelleme işlemlerine geçebiliriz.
Ara sürüm güncelleme aşamaları


  1. Mevcut Sitenin Yedeğini Almak
  2. Yeni Sürümü İndirmek
  3. Güncelleme Öncesi
  4. Yeni Sürüme Geçiş
  5. Siteyi Tekrardan Açmak
#1. Mevcut Sitenin Yedeğini Almak

Not: Esas amacınızı Drupal 5'ten 6'ya geçmek ise ve bu konuda yazılan anlatımı takip ederken ara sürüm güncellemesi yapmak için bu anlatıma atladıysanız, yedek alma işlemini zaten yapmış olmalısınız. Dolayısıyla burada bu işlemi tekrardan yapmaya gerek yok; bir sonraki adımdan devam ediniz. Ancak amacınız sadece ara sürüm güncellemesi yapmak ise, işe burada anlatılan yedek alma adımıyla başlamayı unutmayın!
Yedek alma işlemi hem veritabanı yedeğini hem de dosya yedeğini almayı kapsıyor. Veritabanı yedeği site yönetim paneli (cPanel, Plesk, vb.), phpMyAdmin veya Backup and Migrate eklentisi üzerinden alınabilir. Dosya yedeğini alırken de Drupal sitemizin tüm dosya ve klasörlerini almak en güvenli yol olacaktır. Eğer komple bir yedek almayacaksanız, sonradan kurduğunuz eklenti ve temaların yanı sıra site ayarlarının kayıtlı olduğu settings.php dosyasının da yer aldığı sites ve site üzerinden yüklenen dosyalarınızın bulunduğu files dizinleri ile eğer değişiklik yapmış iseniz robots.txt ve .htaccess dosyalarınızı mutlaka yedekleyin.
#2. Yeni Sürümü İndirmek

Eğer Update Status eklentisini kullanıyorsanız sitenizdeki mevcut sürüm ve bu sürümden daha yeni olan diğer sürümler aşağıdaki resimdeki gibi listeleneceklerdir. Bu durumda yapmanız gereken basitçe en son yayınlanmış olan sürüme ait Download linkine tıklayıp bu sürümü bilgisayarınıza kaydetmek. Eğer Update Status kullanmıyorsanız en güncel versiyonu sitemizin anasayfasındaki linklerden indirebilirsiniz.
ders_update_110_uyari.png

Not: Ara sürüm güncellemelerinde doğrudan en son sürüme atlamak mümkündür. Yani Drupal 6.2'de 6.4'e geçmek için önce sitemizi Drupal 6.3'e güncellemeye gerek yok; doğrudan 6.4'e geçebiliyoruz.
#3. Güncelleme Öncesi

Güncelleme işlemine başlamadan önce yapılması gereken bazı işlemler var. Bunları şöyle sıralayabiliriz:

  1. Sitemize yönetici girişi (id'si 1 olan kullanıcı hesabı ile) yapalım.
  2. Siteyi bakım moduna alalım (admin/settings/site-maintenance sayfasından). Böylece güncelleme işlemleri, siteyi gezmeye ve işlem yapmaya çalışan kullanıcılar tarafından kesintiye uğratılmayacaktır.
  3. Site teması olarak Garland’ı veya başka bir çekirdek temayı seçelim.
  4. Çekirdek harici tüm eklentileri devre dışı bırakalım.
  5. Yönet » Site ayarları » Performans (admin/settings/performance) sayfasından tüm önbellek ayarlarını devre dışı bırakalım ve önbelleği temizleyelim.
#4. Yeni Sürüme Geçiş

Bu adımda FTP aracıyla eski sürüme ait dosyaların yerine yeni sürüm dosyalarını yerleştireceğiz. Bunun için:

  1. Site dizininde bulunan tüm Drupal dosya ve klasörlerini silelim veya herhangi bir aksaklık durumunda hızlıca geri dönebilmek için sunucu üzerinde başka bir dizine taşıyalım.
  2. Yeni Drupal sürümüne ait dosyaları site ana dizinine kopyalayalım.
  3. Anlatımın ilk adımında yedeğini aldığımız files dizini, sites/default dizininde yer alan settings.php dosyasını ve eğer üzerlerinde değişiklik yapıldıysa robots.txt ve .htaccess dosyalarını yeni kurulumun üzerine taşıyalım (veya daha önceden yapmış olduğumuz değişiklikleri yeni sürümle gelen dosyalara da uygulayalım).
  4. Update.php’yi çalıştıralım (sitemiz.com/update.php). Bu işlemin sonunda yapılan güncellemelerle ilgili bir özet sunulacak. Eğer işlemler sırasında herhangi bir sorun yaşanmadıysa sitemiz yeni sürüme başarıyla güncellenmiş olacaktır.
#5. Siteyi Tekrardan Açmak

Güncelleme işlemini tamamladıktan sonra sitemizi tekrardan eski görünümüne kavuşturmamız gerekecek. Bunun için:

  1. Güncelleme öncesi devre dışı bıraktığımız çekirdek harici eklentileri tekrardan etkinleştirelim. Bu işlemin ardından her ihtimale karşı update.php'yi bir kez daha çalıştırmak iyi olacaktır.
  2. Site teması olarak eski temamızı seçelim.
  3. Yönet » Site ayarları » Performans (admin/settings/performance) sayfasından önbellek ayarlarını eski haline getirelim.
  4. Sitede rasgele dolaşıp herhangi bir sorun olup olmadığını kontrol edelim.
  5. Herşeyin hazır olduğuna emin olduktan sonra siteyi tekrardan yayına alalım.
TurkHackTeam.Net/Org - The Cry 2011
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Eklenti Sürümleri ve Anlamları

Alpha, Beta, RC, Dev ve HEAD

Drupal.org sitesinden tema veya eklenti indirirken sürüm adında çeşitli kavramlarla karşılaşabiliyoruz. Bu kavramların çoğu aslında Drupal'e özel kavramlar değil; yazılım geliştirme süreçlerini ifade eden genel kavramlar. Dolayısıyla bunların diğer birçok yazılım için de kullanıldığını görebilirsiniz. Bir yazılım, eklenti ya da tema geliştirilirken çeşitli aşamalardan geçer. Bu aşamaları şöyle sıralayabiliriz:

  • Alpha: Geliştirme süreci henüz tamamlanmamışken, ana işlevlerin test edilmesi ve geri bildirim alma amacıyla yayınlanan sürümdür. Yayında olan sitelerde kullanılmamalıdır. İlerleyen zamanlarda kodda ciddi değişiklikler yapılabilir.
  • Beta: Geliştirme sürecinin sonlarına doğru yayınlanan ve son sürümde bulunması hedeflenen özelliklerin çoğunu içeren test sürümüdür. Alpha'da da olduğu gibi, yayında olan sitelerde kullanılması tavsiye edilmez.
  • RC (release candidate): Geliştirme süreci sonunda kritik sorunlar giderildiğinde yayınlanan ana sürüm öncesi son test sürümüdür. Genellikle ciddi bir sorunla karşılaşılmadığında kısa bir süre sonra ana sürüm yayınlanır.
  • Public Release: Genel kullanıma sunulan, hatalardan arınmış, kararlı ve sorunsuz çalışan (ya da öyle olduğu iddia edilen :)) sürümdür.
Bu genel kavramlar yanında, Drupal'e özel dev, head gibi kavramlar ve renklendirme yöntemleri de var. Bunların ne ifade ettiklerini şöyle açıklamaya çalışacağım:

  • Yeşil renkli resmi proje versiyonları daha güvenilir olarak çalışırlar. Kırmızı renkli olan versiyonlar ise geliştirme versiyonları olup, çalışmayan özellikler veya hatalar içerebilirler. Not: Yeşil-kırmızı renk kodlamasını yukarıda anlatılan yazılım geliştirme süreci açısından düşünecek olursak, aslında alpha, beta ve rc versiyonlarının kırmızı, public sürümünün ise yeşil olması beklenir. Ancak bu her zaman böyle olmayabiliyor. Geliştiriciler, çeşitli sebeplerle, geliştirme süreci devam eden alpha, beta ve rc sürümleri de yeşil olarak gösterebiliyor. Eğer projenin Drupal sürümünüze uygun yeşil resmi sürümü bulunmuyorsa veya kırmızı geliştirme sürümünden çok daha eskiyse, kırmızı sürümleri kullanabilirsiniz.
  • dev, "development" yani geliştirme kelimesinin kısaltması olarak kullanılıyor. Eklenti kodunda yapılan değişiklikler öncelikle bu versiyon üzerinde uygulanır, belirli aralıklarla da dev versiyonları kararlı yeşil sürüm olarak sunulur. Dolayısıyla dev versiyonları kullanmak yeşile göre nispeten risklidir. Ancak bir eklentinin yeşil versiyonu yoksa, veya yeşil versiyon uzun bir süredir güncellenmemişken dev yeni güncellenmişse önce bir test sitesinde deneyerek sorun çıkarmadığından emin olup sonra yayında olan sitelerinizde kullanabilirsiniz.
  • HEAD ise, ana geliştirme sürümünü ifade eden ve artık pek kullanılmayan bir kavram. Bunun yerine, geliştirme süreci dev sürümleri üzerinden yürütülüyor. Yine de aklınızda bulunsuz; head sürümleri yayında olan sitelerinizde kesinlikle kullanmayın.
TurkHackTeam.Net/Org - The Cry 2011
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal Eklentileri

Drupal'deki işlevler eklentiler (ing: module) tarafından sunulmaktadır. Aslında Drupal çekirdeği de bazı temel eklentilerin (node, user, block, system, vs.) biraraya gelmesi ile oluşur. Bu çekirdek eklentiler haricinde drupal.org'daki Modules sayfasından indirebileceğiniz binlerce eklenti olduğunu da unutmayın!
Drupal dünyasındaki binlerce eklentinden bazılarını sitemizin Eklenti sayfasında sizler için tanıttık. Eğer kullandığınız fakat orada tanıtımı yapılmamış eklentiler varsa, bunların tanıtımında bizlere yardımcı olabilirsiniz. Bunun için sağ taraftaki kullanıcı menüsünden İçerik Oluştur'a tıklayıp açılan sayfadan Eklenti'yi seçin ve tanıtımınızı yazarak gönderin. Tanıtım editörlerimiz tarafından gözden geçirildikten sonra Eklenti sayfasında yayınlanacaktır.
El kitabının bu bölümünde hem Drupal çekirdeğiyle birlikte gelen hem de drupal.org'dan indirebileceğiniz harici birçok eklentinin kurulumu ve kullanımıyla ilgili anlatımları bulabilirsiniz. Eklenti tanıtımlarında olduğu gibi eğer kullanımını ders olarak hazırlayabileceğiniz eklentiler varsa bunun için bu sayfanın altında yer alan "Alt-sayfa ekle" linkine tıklayıp anlatımınızı yazarak gönderebilirsiniz.
Not: Türk Drupal kullanıcıları arasında ingilizcesi Module olan bu kod parçalarına "eklenti" denmektedir. Bunu ilk kim nerede kullanmış bilmiyorum ama "eklenti" kelimesi "module" kelimesinin karşılığı olarak kabul görmüş durumda. Dolayısıyla sizlere de bu genel kullanıma uymanızı tavsiye ederim.
TurkHackTeam.Net/Org - The Cry 2011
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Drupal + SMF Entegrasyonu

Bu bölümde Drupal sitenizi SMF: Simple Machines Forum sistemiyle nasıl entegre edebileceğiniz anlatılmaktadır. Anlatım iki sistem arasındaki entegrasyonu sağlayan SMFforum eklentisiyle birlikte gelen Readme.txt dosyası temel alınarak yapılmıştır.

  1. http:// drupal. org/project/smfforum adresinden smfforum eklentisini indirin.
  2. Buradan smf_api_2 arşivini indirin.
  3. smfforum klasörünü sites/all/modules dizinine taşıyın.
  4. smf_api_2 arşiv dosyasını sites/all/modules/smfforum/includes/ dizinine açın.
  5. Smf forumunuza admin olarak giriş yapın.
    Not: Drupal'deki ve smf'deki kullanıcı adlarınız ve şifreniz aynı olmalıdır.
  6. Tarayıcınızda yeni bir sayfada Drupal sitenizi açıp admin olarak giriş yapın. Yönet > Site Kurulumu > Eklentiler sayfasına giderek SMFforum ve Profile eklentilerini etkinleştirin.
  7. Yönet > Site Ayarları > SMFforum sayfasına giderek foruma ait yol bilgilerini girin.
    SMF root (forumun settings.php dosyasının yolu).
  8. Ayarları kaydedip SMFforum'un SMF veritabanına bağlanıp doğrulama yaptığından emin olun. Eğer SMF ve Drupal'de giriş yapmış olduğunuz halde "You are not authenticated in SMF now." şeklinde bir hata mesajı alıyorsanız muhtemelen ayarlarınız yanlıştır.
  9. SMF forumunuzun ayarlarına gidip Sunucu (ing: server) ve çerez (ing: cookie) ayarlarınızı gözden geçirin.
  10. SMF profil alanlarının Drupal'deki profile eklentisindeki alanlarla eşleştiğinden emin olun. Drupal'deki profillerde eksik olan profil alanları varsa bunları oluşturun.
  11. Yönet > Site Kurulumu > Bloklar sayfasına giderek SMFforum: Hidden authentication bloğunu etkinleştirin. Diğer SMF bloklarını da isteğe bağlı olarak etkinleştirebilirsiniz.
TurkHackTeam.Net/Org - The Cry 2011
 

The Cry

Kıdemli Üye
19 Eki 2007
3,111
10
"-Her Yerden-"
Views Kullanımı ve Örnekler

Views eklentisi Drupal'in en güçlü ve popüler eklentilerinin başında geliyor. Views ile çeşitli eklentiler tarafından hazır olarak sunulan içerik listelerininin yapısını değiştirebiliyor ve hatta kendi içerik listelerinizi oluşturabiliyorsunuz. Listelerinizi blok, sayfa, rss gibi farklı yerlerde ve liste, tablo, çoklu sütun, içerik özet listesi gibi farklı biçimlerde sunabiliyorsunuz. Üstelik Drupal 6.x'le birlikte yapabilecekleriniz sadece düğümlerle sınırlı değil; yorumlar, kullanıcılar, kategoriler gibi diğer içeriklerin de listelerini oluşturabilmeniz mümkün.
Kim Korkar Views'ten?

Drupal'in genelindeki "zor öğrenme, esnek kullanım" durumu Views için de geçerli diyebiliriz. Views bilginiz belirli bir noktayı aştığında ise yapabilecekleriniz nerdeyse sınırsız. Views öğrenim sürecinizi kısaltmak adına, bu kitap bölümünde Views konusunda bilgi edinebileceğiniz anlatımlara ve örnek uygulamalara yer vereceğiz. Eğer sizin de paylaşmak istediğiniz Views uygulamalarınız varsa, Örnek Views Uygulamaları başlığına alt bir sayfa açarak anlatımınızı ekleyebilirsiniz.
Views Kurulumu ve Hazır Görünümler

Views eklentisi diğer eklentiler ile aynı şekilde kuruluyor (bkz. Eklenti ve Tema Kurulumu). Views'i etkinleştirmek üzere eklenti yönetim sayfasına gittiğinizde, Views başlığı altında, kullandığınız sürüme göre değişebilen çeşitli Views eklentilerini göreceksiniz. Buradaki eklentilerden sadece size lazım olanları seçebileceğiniz gibi tamamını da işaretleyebilirsiniz. Her koşulda Views ve Views UI eklentilerini etkinleştirmeniz gerekmektedir.
ders_views_010_views_etkin.png

Views eklentisini etkinleştirip Views yönetim sayfasına (admin/build/views) gittiğinizde Views ile birlikte gelen bazı hazır görünümler listelenecektir. Bu görünümleri kısaca gözden geçirelim:
ders_views_020_hazir_gorunumler.png

ders_views_011_archive.png
archive: Arşiv görünümü, Wordpress vb. blog yazılımlarındakilere benzer şekilde, içeriklerin aylık olarak listelendiği birer blok ve sayfa sunar. Her ayın yanında, o ayda yayınlanan içerik sayısını görmek mümkündür.
comments_recent: Sitenizdeki son yorumları listeleyen birer blok ve sayfa sunar. Bloğun alt bölümündeki linke tıklayarak ulaşılan sayfada yorumlar ilgili konu+yorum başlığı+yorum şeklinde listelenir.frontpage: Sitenizin içerikleri tarihe göre sıralayan standart anasayfasıyla aynı işleve sahiptir. Eğer tarih sıralaması dışında bir sıralama kullanmak veya standart anasayfa içeriğini değiştirmek istiyorsanız bu görünümü istediğiniz gibi düzenledikten sonra Yönet » Site Ayarları » Site Bilgisi sayfasından varsayılan anasayfa olarak bu görünümün yolunu girin.glossary: Sitenizdeki içeriklerin alfabetik olarak gruplanmış bir listesini sunar. Listenin üstünde harfler ve her harfin yanında o harfle başlayan içerik sayısını görebilirsiniz.
ders_views_012_glossary.png

taxonomy_term: Seçilen bir kategorideki içeriklerin özet görünümleriyle listelendiği standart taksonomi listelerini taklit eder. Eğer taksonomi sayfalarını değiştirmek istiyorsanız bu görünümü etkinleştirip, istediğiniz şekilde düzenleyebilirsiniz.tracker: Çekirdekteki Tracker eklentisinin sunduğu yeni gönderiler sayfasını taklit eder. Eğer standart sayfayı değiştirmek istiyorsanız, bu görünümü etkinleştirip istediğiniz gibi düzenleyebilirsiniz. Bir görünümü etkinleştirdiğinizde çeşitli düzenleme seçenekleri sunulur. Bunlar:
ders_views_021_gorunum_edit.png


  • Düzenle: Mevcut görünüm üzerinde değişiklik yapabileceğiniz sayfaya yönlendirilirsiniz.
  • Dışarı aktar: Görünümüzü başka bir siteye aktarmak veya oluşturduğunuz görünümle ilgili sorularınız olduğunda görünümüz hakkında detaylı bilgi vermek amacıyla bir kod sunulur. Bu kodu aktarmak istediğiniz sitede Views ana yönetim sayfasındaki İçerik aktar sekmesine tıklayıp "Paste view code here: " yazan yere yapıştırarak görünümüzü aktarabilirsiniz.
  • Clone: Mevcut görünümün bir kopyasını oluşturup yeni bir görünüm olarak kaydeder. Benzer görünümler oluşturmak istediğinizde klonlama işlemi oldukça pratik bir yol sunar.
  • Disable: Görünümü devre dışı bırakır.
Detaylar

Görünümler seçtiğiniz kriterlere göre veritabanını sorgulayan ve sonuçları sunan görsel araçlardır. Bir görünüm SQL komutlarına karşılık gelen çeşitli bölümlerden (fields, relations, filter, argument, sort criteria) oluşur. Görünümlerin yapısındaki bu bölümlerle ilgili anlatımlar ve örnek Views uygulamalarını bu kitaba alt sayfa olarak eklenecektir.
TurkHackTeam.Net/Org - The Cry 2011
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.