Drupal 7 Önincelemesi

Drupal 7Drupal, sürekli devam eden iyileştirme çalışmaları sayesinde her yıl yeni bir ana sürümle karşımıza çıkıyor. Biz Drupal 6'yı daha yeni yeni kullanmaya başlamışken ve hatta çoğu 5.x sitesi hala 6.x'e yükseltilmemişken, Drupal 7 sürümü olanca hızıyla geliştirilmeye devam ediliyor. Henüz "code freeze" olarak adlandırılan, yeni özellik eklemenin bırakılıp tespit edilen hataların giderilmeye çalışıldığı aşamaya geçmemiş olsa da, bu noktada Drupal 7'nin geliştirme sürümü ile bir test sürüşüne çıkmaya karar verdim. Bakalım 2009'un başlarında yayınlanması planlanan bu yeni sürümde ne gibi değişiklikler var...

Drupal 7'yi indirmek üzere Drupal proje sayfasına gittiğimde, dikkatimi çeken ilk şey dosya boyutunun yaklaşık 250 KB kadar büyümüş olması oldu. Benzer bir durum 5.x'ten 6.x'e geçişte de yaşanmıştı. Drupal 5.x yaklaşık 750 KB iken, Drupal 6.x yaklaşık 1MB, Drupal 7.x ise 1.25 MB civarında. Yani Drupal çekirdeği her ana sürümle birlikte gittikçe genişliyor.

Drupal 7'yi indirip kuruluma geçtiğimde bir başka değişiklikle daha karşılaştım. Artık standart kurulum profilinin yanında bir de uzman kurulum profili sunuluyor.

Kurulum profilleri

Standart profil, eskisi gibi makale (ing: article) ve sayfa (ing: page) içerik türlerini hazır olarak sunuyor. Bunun yanı sıra Tags (tr: etiketler) adından hazır bir sözlük de içeriyor. Bu sözlük serbest etiketleme özelliğine sahip ve makale içerik türü için etkin durumda. Böylece kullanıcıların kurulumla birlikte hızlı bir şekilde blog tarzı bir site elde edebilmeleri amaçlanmış sanırım.

Uzman profil ise, adı üstünde ileri seviye Drupal kullanıcıları için hazırlanmış. Aslında verilen isim yanılgıya sebep olabiliyor; yani isme bakıp detaylı özellikler bekliyorsanız hayal kırıklığına uğrayabilirsiniz çünkü bu kurulum profili neredeyse boş ve tertemiz bir sistem sunuyor. Öntanımlı hiçbir içerik türü veya sözlük bulunmadığı gibi, çekirdekteki tercihe bağlı eklentilerden de sadece Database logging eklentisi etkin durumda. Yani yorum özelliğini dahi kendiniz etkinleştirmeniz gerekiyor. Bu sebeple de, profilin uzman kullanıcılar için olduğu belirtilmiş. Yani Drupal'i tanıyan, ne yaptığını bilenler için.

Herhangi bir profili seçip kuruluma devam ettiğimizde, dil seçiminden sonra bir başka yenilikle daha karşılaşıyoruz: Drupal gereksinim raporu. Normalde Drupal sitelerimizin raporlar bölümünden erişebildiğimiz Durum Raporu'na benzer bir formatta hazırlanan bu gereksinim raporu, bize kurulum yaptığımız sunucu hakkında bazı bilgiler sunuyor ve sunucu ayarlarının Drupal ile uyumlu olup olmadığını belirtiyor. Ayrıca kurulum öncesinde yapmayı unuttuğunuz bazı işlemler (ör: settings.php dosyasının oluşturulması) varsa bunları da bu sayfada görebiliyorsunuz.

Gereksinim raporu

Kurulum sonlarında kullanıcı hesabını oluştururken ufak bir değişiklik daha dikkat çekiyor. Daha önceden alt alta sunulan şifre girişi ve şifre doğrulama kutuları artık yanyana konumlandırılıyor. Ufak görsel bir değişiklik belki ama güzel göründüğünü söylemeden geçmek istemedim.

Şifre girişi

Kurulum sonrasında da dikkatimi çeken birkaç şey oldu. Bunlardan biri de menü oluşturma linkleri. Drupal ile yeni tanışan kullanıcılar için menü oluşturma konusunda oldukça faydalı olacağını düşündüğüm bir özellik. Kullanıcılar menü öğeleri nereden ekleniyor diye arama yapmaya gerek duymadan doğrudan bu linklere tıklayarak menü öğesi ekleme bölümüne gidebiliyorlar.

Menü öğesi ekleme

Yazının başında da bahsettiğim üzere standart kurulumla birlikte artık hazır bir Tags sözlüğü geliyor. Bu sayede, kullanıcı kurulum sonrasında yeni bir makale içeriği oluşturmak istediğinde yazısı için etiket girebiliyor. Yani bunun için eskiden olduğu gibi önce bir sözlük oluşturmasına gerek kalmamış.

Tags sözlüğü

Kullanılabilirliği iyileştirme anlamında eklenen diğer bir özellik ise izin açıklamaları. Önceki Drupal sürümlerinde, kullanıcılar bir izinin tam olarak ne anlama geldiğini tahmin etmek durumunda kalabiliyordu. Bu sorunun önüne geçebilmek için, artık izin düzenleme sayfasında izinlerle birlikte izin hakkında kısa açıklamalara da yer verilmiş.

İzin açıklamaları

Dikkatimi çeken bir başka ufak yenilik ise yardım ikonları. Sitenin farklı bölümlerinde karşımıza çıkan bir ikonlara tıklanıldığında konuyla ilgili detaylı bilgi alabiliceğimiz sayfalara yönlendiriliyoruz.

Yardım ikonları

Drupal ile birlikte kullanılmaya başlanılan sürükle-bırak yöntemi artık daha fazla bölümde kullanılacak. Örneğin artık dil yönetim sayfasında ve anket seçeneklerini sıralamada sürükle-bırak yapabileceğiz.

Drupal 7 ile birlikte daha önceki sürümlerde bulunan bazı çekirdek eklentilere veda ediyoruz. Bunlar ping ve throttle. Zaten her iki eklentiyi de hiç kullanmamıştım. Dolayısıyla eksikliklerini hiç hissetmeyeceğim. Geliştiriciler de benzer bir izlenim edinmiş olacaklar ki bu eklentileri çıkarmaya karar vermişler. Çıkarılan eklentilerin yanında bir de yeni eklene bir eklentimiz var: Simpletest. Bu eklenti ile sitemizin mevcut kodu üzerinde testler yapıp bir sorun olup olmadığını anlayabileceğiz. Bu "kod testi" konusunun özellikle Drupal geliştiricileri arasında son zamanların popüler konularından biri olduğunu hatırlatmak isterim.

Son bir yenilikten daha bahsederek önincelemeyi sonlandıracağım. Yine benim daha önce kullanmadığım özelliklerden biri olan Erişim Kuralları Drupal 7'de bulunmayacak. Bunun yerine IP adresi engelleme sistemi getirilmiş.

İşte, Drupal 7'nin erken bir sürümünü incelerken edindiğim izlenimler ve karşılaştığım değişikler özetle böyle. Elbette bu değişiklikler buzdağının sadece görünen kısmı. Çoğunlukla arayüz ile ilgili değişiklerden bahsetmeme rağmen Drupal 7'de kullanıcıların doğrudan göremeyeceği kod seviyesinde de birçok değişiklik ve yenilik olacaktır. Ayrıca Drupal 7 henüz "code freeze" aşamasında değil, yani ilerleyen haftalarda başka yeni özellikler de eklenebileceği gerçeğini de unutmayalım.

Simpletest sadece geliştiriciler için

Yeni gelen Simpletest eklentisi hakkındaki açıklamanız biraz kafa karıştırıcı olabilir. Simpletest yalnızca Drupal'ın ve eklentilerin geliştirilmesi aşamasında kullanılması gereken bir eklenti. Son kullanıcıların Simpletest'i kullanmasını tavsiye etmiyorum.
Testler çalıştırılırken veritabanında yeni bir Drupal kurulumu oluşturuluyor, Testler bittiğinde de oluşturulan bütün tablolar kaldırılıyor. Herhangi bir problem oluştuğunda veritabanında istenmeyen tablolar kalabilir.
Simpletest ile ilgili hala verilecek kararlar var. Örneğin Simpletest'in kararlı sürümle birlikte yayımlanıp yayımlanmayacağı belirsiz. Ben yayımlanmaması taraftarıyım. Yalnızca geliştirme sürümünde yayımlanması son kullanıcıların gereksiz yere testler çalıştırmasını önleyecektir.

onur serkan kullanıcısının resmi

katılıyorum

Yorumunu biraz geç farkettim, kusura bakma. Açıklama için teşekkürler. Simpletest'in son kullanıcılar açısından pek faydası olacağını ben de düşünmüyorum. Hatta aksine bilinçsiz kullanımdan dolayı ek sorunlar getirekse, çekirdekte yeralmaması en iyisi olacaktır.

Drupal 7

Öncelikle teşekkürler bu analiz için.

Throttle eklentisini ben kullanıyordum ama hayırlısı bakalım.

Ayrıca, default bir editör de yer alacak diye okumuştum, ne kadar doğru bilmiyorum?

SQLite

Bugün SQLite desteği geliştirme sürümüne kabul edildi. Bkz: http://drupal.org/cvs?commit=154579

Artık Drupal 7'nin çalışması için PHP ve HTTP sunucusu (Apache, Lighty, vb.) yeterli.

onur serkan kullanıcısının resmi

pratikte?

SQLite yeni duyduğum bir kavram, biraz araştırdım fakat pratikte bunun nasıl bir etkisi olacacağını kestiremiyorum doğrusu. Anladığım kadarıyla kullanıcılar MySQL, postgresql vb. veritabanı sunucularını kullanmadan sitelerini kurabilecekler. Ancak bu diğer alternatife göre sıkça tercih edilen bir kullanım tarzı mı olacak acaba yoksa sınırlı sayıda kullanıcının tercih edeceği sıradışı bir uygulama olarak mı kalacak?

Sıradışı uygulamalar ortaya çıkacak

Büyük çoğunluk MySQL veya PostgreSQL ile devam edecektir. Olması gereken de bu.
SQLite ile birlikte sıradışı uygulamalar ortaya çıkabilir. Örneğin install.php ve update.php gibi Drupal çekirdeğini tam olarak kullanamayan scriptler birer eklenti olarak yeniden yazılacaklar. Veritabanı sunucusu ile erişimin kesildiği durumlarda Drupal sadece okunabilir (read only) durumda çalışmaya devam edebilecek.

onur serkan kullanıcısının resmi

ilginç

Anlaşılan birçok ilginç olasılık ortaya çıkacak. Özellikle okunabilir durum olayını merak ettim.

onur serkan kullanıcısının resmi

Drupal 7'de CCK alanları

Bu ayın ortalarında CCK geliştiricileri, Dries ve muhtemelen birkaç geliştiricinin daha katılacağı bir çalışma grubu, CCK alanlarının Drupal 7 çekirdeğine dahil edilmesi için bir çalışma yapacak. Sonuçları ne olur bilmiyorum fakat CCK'nın en popüler üç eklentiden biri olduğunu düşünürsek çekirdekte yer alması sanırım birçoğumuz için iyi bir haber olacak.

onur serkan kullanıcısının resmi

2009 tahminleri

Dries Buytaert'in 2009'un ilk gününde yayınladığı Drupal Kehanetlerine göre Drupal 7 2009'un son çeyreğinde yayınlanacakmış; yani Drupal 6 sitelerimiz daha uzunca bir süre yayında olacak :)