Drupal projeleriniz için ilgi çekici eklentiler

02 Mayıs 2009 - 05:42

Drupal ismini duymayanınız varsa diye hızlı bir şekilde tanımlayayım; Drupal, açık kaynak kodlu ve geliştirilebilir bir içerik yönetim sistemidir. Eklenti ve tema desteğine sahip olan Drupal ile yapamayacağınız şeylerin sayısı çok ama çok azdır. Ayrıca arayüz çevirileri sayesinde kendi dilinizde geliştirme ve yayınlama yapabilirsiniz.  Drupal bu gücünü, sahip olduğu geniş eklenti ve tema desteğine borçludur. Drupal'ı hayata getiren Dries Buytaert o kadar esnek bir çekirdek yazmıştır ki, alanındaki diğer tüm içerik yönetim sistemlerinden çok daha fazla geliştirme barındırmasına rağmen, Drupal yine de oldukça yüksek performans sağlayabilmektedir. Oldukça kolay tema geliştirilebilmesi ve birçok tema motoruna da destek vermesi, Drupal'ın tercih edilmesinin diğer sebeplerinden biridir. Şuan itibariyle Drupal'ın desteklediği tema motorları şunlardır:

Dediğim gibi Drupal'ın tema ve eklenti desteği fazlasıyla yeterli. Eğer Drupal ile bir proje geliştirmek istiyorsanız, geniş eklenti yelpazesinden işinize yarayacaklar arasından onlarca seçim hakkınız doğuyor. Tabii hemen hemen tüm Drupal projelerinde bulunması fayda yaratacak olan bazı eklentiler var; Administration menu Bu eklenti, kullanıdığınız temadan bağımsız olarak sitenin en üstüne yaklaşık 20 pixel yüksekliğinde, sadece yetkililerin erişebileceği bir bar ekliyor ve buradan tüm site fonksiyonlarına erişimi açılır (drop down) menüler sayesinde oldukça kolaylaştırıyor. Content Construction Kit (CCK) CCK oldukça işlevsel ve çok kullanılan bir eklentidir. CCK ile Drupal'ın standart düğüm (node) yapısının dışında, her bir içerik türü için yeni veri alanları oluşturabilirsiniz. Şöyle ki; standart Drupal yapısında her bir düğüm "Başlık" ve "Gövde" olmak üzere iki farklı alandan oluşur. CCK ile bu iki alanın dışında örneğin "Bağlantı" veya "Telefon numarası" isimli alanlar ekleyebilir ve ardından içeriğinizi eklerken oluşturduğunuz bu alanlara veriler girebilirsiniz. CCK bir eklenti olmasına karşın, "Çatı eklenti" olarak da adlandırılabilir. Çünkü CCK'nın da kendi altında eklentileri mevcuttur. Önemli olan nokta; herhangi bir CCK eklentisi kullanabilmeniz için önce CCK'yı sisteme yüklemeniz ve etkinleştirmeniz gerektiğidir. Content Templates (Contemplate) Drupal'da her bir düğüm (node) yani gönderi, 3 temel görünüme sahiptir. Tüm düğümlerin listelendiği sayfalardaki "Teaser" yani kısaltılmış sürüm, bu düğümlerin herhangi birine tıklandığında görüntülenen "Full node" yani tam sürüm ve RSS takibi yapan kullanıcılar için biçimlendirilmiş olan "Feed" yani besleme sürümü. Contemplate eklentisi sayesinde, bu 3 temel görünümün tüm yapısıyla oynayabilirsiniz. PHP'nin tüm nimetlerinden yararlanabileceğiniz Contemplate arayüzü, sitenizdeki düğüm yapısında bulunan tüm öğeleri PHP değişkenleri olarak kullanımınıza sunmaktadır. CCK ile kullanıldığında ortaya çıkan sonuçlar gerçekten başarılı oluyor. Comment Notify Oldukça basit ve yine oldukça az kaynak kullanan bir eklenti Comment Notify. Adından da anlaşılacağı gibi, sitenizdeki herhangi bir içeriğe, bir ziyaretçi / kullanıcı tarafından yorum gönderilmesi durumunda size bu durumu e-posta ile haber verir. IMCE IMCE, Drupal içerisinde kullanabileceğiniz zengin metin editörleri (WYSIWYG) için dosya / resim gönderme aparatıdır. IMCE, sitenizdeki kayıtlı her kullanıcı için kota ve kişisel klasör desteği sağlar. Oldukça güvenli ve stabil çalışan bir eklentidir. Eğer bol medya barındıran içerikler oluşturuyorsanız, sizin için olmazsa olmaz eklentilerden biridir diyebilirim. Lightbox2 Meşhur Lightbox uygulamasının Drupal entegrasyonudur. Eklenti sayfasından yapabileceğiniz ayarlar neticesinde, içeriklerinizdeki resim ve sayfa bağlantılarını popup veya yeni pencerelerde açmak yerine, aynı sayfa içinde hoş görsel efektlerle kullanıcılarınıza gösterebilirsiniz. Meta tags Benim haz aldığım yazmak, okunmak değil diyorsanız bu eklenti size göre değil. Ama eğer okunmak da yazmak kadar güzeldir diyenlerdenseniz, olmazsa olmaz bir eklenti Meta tags. SEO (Arama Motoru Optimizasyonu) artık internette olmazsa olmazlar arasında. Arama motorlarının gözüne girebilmek ve sizi biraz olsun tanıyabilmelerine yardımcı olmak için sitenizin görünen yüzünün ardında yapmanız gereken en önemli işlemlerden biri de içeriğinizle alakalı Meta etiketleri oluşturmak ve düzenlemektir. Meta tags bu aşamada devreye girer ve üzerinizden büyük bir yük alır. Oluşturduğunuz her içerik için belirleyeceğiniz anahtar kelimeleri "Meta keyword" ve yine aynı içerikten kısa bir kesiti de "Meta description" olarak tanımlayarak HTML kodlarınıza ekler. Meta tags ayrıca standart Meta verilerini düzenlemenizde de size yol gösterir. Pathauto Söz konusu SEO olduğunda, en az yukarıda belirttiğim Meta tags eklentisi kadar önemli olan bir diğer eklenti de Pathauto eklentisidir. Drupal kendi içinde "Clean URL" yani temiz bağlantı desteğini barındırmaktadır. Nedir temiz bağlantı ? Önce kirli bağlantıdan örnek vereyim. Temiz bağlantı özelliği etkinleştirilmemiş bir Drupal sitede, yönetim panelinin adresi şu şekilde olacaktır http://www.siteadi.com/?q=admin Temiz bağlantı özelliği etkinleştirilmiş bir Drupal sitede ise aynı sayfaya şu adresten ulaşılabilir http://www.siteadi.com/admin

  • Peki neden Pathauto ?

Varsayalım ki "PSBoy.com güzel bir siteymiş" başlıklı bir içerik oluşturduk. Bu durumda bu içerik şu şekilde bir temiz bağlantıya sahip olacaktır http://www.siteadi.com/node/83 >     "83" sözkonusu içeriğin benzersiz kimlik numarasıdır. Fakat aynı senaryoda Pathauto kullanıldığını varsayarsak, aynı içerik şu şekilde bir temiz bağlantıya sahip olacaktır http://www.siteadi.com/yazi/psboycom-guzel-bir-siteymis Bir üstde bulunan Meta tags eklentisiyle birlikte kullanıldığında arama motorlarında dikkat çeken bir yükseliş görüntülenmesi kaçınılmazdır. Tabii ki SEO süreci sadece bu iki eklenti ile başarıya ulaşmaz. SEO sürecine doğrudan etki eden onlarca hamle ve strateji vardır. Konudan çıkmayalım, bu konuyu farklı bir yazımda paylaşacağım. Poormanscron Drupal'ın dönemsel görevlerini çalıştırabilmeniz için sitenizi barındırdığınız sunucunun Cron uygulamasına erişiminizin olması gerekir. Çoğu kullanıcının tercihi olan paylaşımlı barındırma hizmetlerinin az kısmında bu yetki kullanıcıya verilir. Eğer geri kalan çoğunluktaysanız, bu eklenti sizin için. Poormanscron eklentisi, sitenizdeki her sayfa ziyaretinde, belirlediğiniz zaman aralığının dolup dolmadığına bakar. Eğer belirttiğiniz zaman aralığı dolmuş veya aşılmış ise arka planda Drupal'ın cron.php dosyasını çalıştırır, böylelikle dönemsel görevleriniz aksamadan yerine getirilmiş olur. Site map Site map eklentisi adından da anlaşılacağı gibi, Drupal sitenizin içeriklerine dair indeks sayfası oluşturur. SEO için yine etkili yöntemlerden biridir. Eklentinin etkinleştirilmesinin ardından siteadi.com/sitemap sayfası eklenti tarafından oluşturulur ve içerik indeksi RSS beslemelerine verilen bağlantılarla birlikte bu sayfada listelenir. PSBoy.com'da kullandığımız Site map örneği. Terms of Use Eğer sitenize kayıt olan kullanıcılara, kayıt işlemi esnasında onaylatmak ve teyit almak istediğiniz koşullarınız varsa, Terms of Use eklentisi ile bunu yapabilirsiniz. Terms of Use ile aynı işi yapan birden çok eklenti var aslında ama benim tercihim Terms of Use eklentisi. Çünkü bu eklenti, kullanım koşulları adını verebileceğimiz metni, sitenizdeki diğer herhangi bir içerik gibi düğüm (node) olarak kaydeder. Haliyle, kullanıcılarınıza kayıt işlemi esnasında göstereceğiniz bu metni biçimlendirmeniz de oldukça kolay oluyor. Token Token aslında tek başına hiçbir işe yaramaz. Yardımcı eklenti olan Token, bu yazıdaki bir çok eklenti tarafından desteklenmektedir. Token'ın varoluş amacı, Drupal sitenizdeki belirli eylem ve görevler için sistem değişkenleri atamak ve bu değişkenleri diğer eklentilerde kullanmaktır. Örneğin Token eklentisi ile bir düğüm (node) başlığını yazdırmak için [title] yazmanız yeterlidir. Aynı düğümün ID'sini belirtmek için ise [nid] yazabilirsiniz. Lakin Token eklentisinin değişken biçimlendirmesi kullanıldığı eklentiye göre değişiklik gösterir. Benim yukarıda verdiğim [title] ve [nid] örnekleri, Token eklentisinin Pathauto içinde kullanım şeklini temsil ediyor. Flag Flag eklentisi, Drupal sitenizdeki herhangi bir içeriğe kullanıcılar tarafından belirleyebileceğiniz türlerde işaretler bırakmaya yarar. En sık kullanım şekli gördüğüm kadarıyla "Favorilerime ekle" yada "Bu içeriği şikayet et" şeklinde. ImageCache Eğer sitenizin içeriği ve kullanıcı kitleniz resimlerle içli dışlıysa bu eklenti kaçınılmaz gerekliliğe sahiptir diyebilirim. Bir CCK alt eklentisi olan ImageField eklentisi ile birlikte kullanıldığında, her resim upload işleminin ardından, mevcut resim dosyasına belirleyeceğiniz görevleri uygulayan bir eklentidir. Örneğin gönderdiğiniz her resim dosyası için 3 farklı boyut ayrıca bir tane de mevcut resmin siyah-beyaz versiyonunu oluşturabilirsiniz. ImageAPI ImageAPI eklentisi de tıpkı Token eklentisi gibi, kendi başına bir işe yaramaz ama örneğin ImageCache eklentisini kullanmak isterseniz, ImageCache sizden ImageAPI eklentisini isteyecektir. ImageAPI, içinde 2 farklı imaj kütüphanesi barındıran bir köprü eklentisidir. Bu imaj kütüphaneleri, Drupal sitenizdeki resim işleme (kesme, yeniden boyutlandırma, renklendirme gibi) uygulamalarında kullanılmaktadır. Privatemsg Drupal sitenize, kullanıcılar arası site içi mesajlaşma özelliği ekleyen Privatemsg ile üyeler arası etkileşim sağlayabilirsiniz. Her kullanıcı kendi mesaj kutusuna sahiptir. Diğer bir kullanıcıya mesaj gönderebilir ve mesaj alabilir. Ayrıca tüm mesajlar gelen kutusunda saklanabildiği gibi, istenirse silinedebilir. CAPTCHA Genellikle yorum formları barınıran sitelerdeki SPAM sorununa karşı geliştirilmiş olan görsel doğrulama tekniği CAPTCHA'nın drupal entegrasyonu olan bu eklenti ile sitenizdeki belirleyeceğiniz formlara ister imaj, ister metin tabanlı kullanıcı doğrulama kutucukları ekleyebilirsiniz. Bu eklenti ayrıca, sorulan sorulara verilen yanlış cevapları kayıt etmektedir. Google Analytics Google firmasının gelişmiş istatistik hizmeti Google Analytics'i kullanıyorsanız, bu eklenti ile bu servisin gücüne güç katabilirsiniz. Google Analytics arayüzü tarafından sunulan JavaScript kodu temanıza yada açtığınız herhangi bir bloğa eklemek yerine Google Analytics ID'nizi bu eklentiye belirtiyorsunuz ve o herşeyi sizin için olması gereken hale getiriyor. Tagadelic Web 2.0 diyince ilk aklıma gelen şeylerden biri "Etiket Bulutları"dır. Tagadelic eklentisi ile, Drupal sitenizdeki içeriklerde belirttiğiniz tüm etiketleri, etiket bulutu formatında kullanıcılarınızla paylaşabilirsiniz. Wysiwyg API Drupal projelerinizde, içerik oluştururken en çok ihtiyacınız olan şey biz zengin metin editörüdür. Wysiwyg API eklentisi, tıpkı yukarıda belirttiğim ImageAPI eklentisi gibi köprü eklentidir. Bu eklentiyi kurmanızın ardından, desteklediği WYSIWYG editörler arasından istediğinizi seçerek kullanmaya başlayabiliriniz. Benim tercihim herzaman TinyMCE ve IMCE'nin bu eklentiyle birlikte kullanılmasından yana olmuştur. Views merlinofchaos tarafından geliştirilen bu mükemmel eklenti, tüm Drupal bağımlıları tarafından saygı görmektedir diye düşünüyorum. Views eklentisi oldukça geniş ve detaylı bir eklentidir ama yaptığı işi kabaca özetlemek gerekirse; Views, Drupal sitenizdeki hemen hemen tüm kayıtlar üstünde, görsel veritabanı sorguları oluşturmaya ve bu sorguların sonuçlarını bir blok yada sayfada, yine sizin belirleyeceğiniz bir kalıpta görüntülemeye yarar. Views eklentisi kurulduğunda, içeriğinde örnek uygulamalarla birlikte gelir. Öyle sanıyorum ki; henüz son kullanıcı düzeyinde yayınlanmamış olan Drupal 7 sürümünde bu yok ama Drupal 8 veya 9 (ya da adı ne olacaksa) versiyonlarında bu eklenti, Drupal tarafından çekirdek eklenti olarak genel dağıtımda yerini alacaktır. Kendi Drupal deneyimlerim ve Drupal ile geliştirdiğim onlarca proje sonrasında, sizin de projelerinizde gerçekten önemli rol alabilecek eklentileri paylaşmak istedim. Bu yazıyı PSBoy.com için yazmıştım, burada da bir kopyası olsun istedim. Umarım faydasını görürsünüz, hepinize iyi çalışmalar.

Yeni yorum gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • İzin verilen HTML etiketleri: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimlendirme seçenekleri hakkında daha fazla bilgi

Image CAPTCHA
Enter the characters shown in the image.