Organic Group eklentisi kurulum ve kullanımı

Sosyal siteleri kurmak için yaptığım araştırmada Drupaldersleri nin kurucusu ve drupal gönüllüsü olan Onur arkadaşımızın çok açıklayıcı yazısına rastladım. Bu yazıyı alıntı yaparak sizinle aynen paylaşıyorum. Gerçekten çok iyi bir şekilde açıklamış.

Drupal sitelerimizde Facebook tarzı kullanıcı grupları işlevi eklemek için Organic Groups (OG) eklentisine ihtiyaç duyuyoruz. Ancak bu eklentinin kurulumu biraz karışık; yani sadece etkinleştirmekle herşey hazır hale gelmiyor. Bu anlatımda sitemizde Organic Groups eklentisini kurup etkinleştirdikten sonra nasıl ayarlamamız gerektiğine değineceğiz.

Kurulum ve Ayarlar

  1. Organic Groups aslında bir eklenti paketi olarak geliyor. Temel kullanım için bu pakette yer alan Organic Groups ve Organic Groups Views Integration eklentileri etkinleştirilmeli. Ayrıca gruplardaki mesajları sadece grup üyelerinin görebilmesi gibi bir erişim kontrolü kullanmak istiyorsak bu durumda Organic Groups Access Control eklentisini de etkinleştirmek gerekecek. Eklentinin temel kurulumu sağlandıktan sonra sorunsuz olarak çalıştığından emin olmadan drupal.org'da OG kategorisinde yer alan diğer Organic Groups eklentilerini denememeliyiz.
  2. Kurulumun ardından Yönet » Organic groups » Organic groups configuration (admin/og/og) sayfasına gittiğimizde sayfanın en üstünde İçerik Türleri kutusunu göreceğiz. Bu kutuda sitemizde tanımlı bulunan tüm içerik türleri listeleniyor. Her içerik türü için bir "usage (tr: kullanım)" şekli tanımlı. Kullanım şekli o içerik türünün grup içinde kullanılıp kullanılamayacağını, kullanılacaksa da nasıl kullanılacağını belirtir. Mevcut kullanım şekilleri şöyle:
    • Group node: Bu türe ait içeriklerin her biri bir grup haline gelir.
    • May not be posted into a group: Grup içinde bu içerik türüne ait içerikler oluşturulamaz.
    • Standard group post (typically only author may edit): Grup içinde bu içerik türüne ait içerikler oluşturulabilir.

    Burada yapılması gereken iki şey var; ilki grup olarak kullanılacak içerik türünü veya türlerini seçmek (genelde bu iş için standart sayfa ve makale içerik türleri yerine ayrı bir içerik türü oluşturulması tercih edilir.) Bunu yapmak için grup olarak kullanmak istediğimiz içerik türünü düzenleme sayfasına giderek (usage sütunun sağındaki "düzenle" linkleri bizi doğrudan o içerik türünü düzenleme sayfasına götürüyor) bu içerik türünü "Group Node" olarak işaretlemeliyiz. Ayrıca bu içerik türlerinde yorum ve dosya ekleme özelliklerini devre dışı bırakmalıyız. Yapılacak ikinci iş ise gruplarda grup üyelerinin oluşturabileceği içerik türlerini belirlemek; bunun için de grup içinde kullanılabilmesini istediğimiz içerik türlerini "Standard group post" olarak atamalıyız.

  3. Gruplarla ilgili içerik türlerini belirledikten sonra Group Details kutusunda yer alan diğer ayarları yapıyoruz:
    Groups directory control: Yeni oluşturulan bir grubun grup dizin sayfasında listelenip listelenmeyeceğini seçiyoruz:
    • New groups don't appear in the groups directory. Administrators control the directory exclusively: Yeni gruplar dizinde yer almaz; dizinde yer alacak grupları site yönetimi belirler.
    • New groups always appear in the groups directory: Yeni gruplar dizinde otomatik olarak listelenir.
    • Group creator chooses whether her group appears in the directory. Defaults to in directory: Grubu oluşturan kişi grubun dizinde listenip listelenmeyeceğini seçer. Varsayılan: "listelenir".
    • Group creator chooses whether her group appears in the directory. Defaults to not in directory: Grubu oluşturan kişi grubun dizinde listenip listelenmeyeceğini seçer. Varsayılan: "listelenmez".

    Registration form control: Yeni oluşturulan bir grubun üye kayıt formunda listelenip listelenmeyeceğini seçiyoruz:

    • New groups don't appear on the registration form. Administrators control the form exclusively: Yeni gruplar üye kayıt formunda yer almaz; formda yer alacak grupları site yönetimi belirler.
    • New groups always appear on the registration form: Yeni gruplar formda otomatik olarak listelenir.
    • Group creator chooses whether her group appears on the registration form. Defaults to on form: Grubu oluşturan kişi grubun formda listenip listelenmeyeceğini seçer. Varsayılan: "listelenir".
    • Group creator chooses whether her group appears on the registration form. Defaults to not on form: Grubu oluşturan kişi grubun formda listenip listelenmeyeceğini seçer. Varsayılan: "listelenmez".

    Audience checkboxes: İçerik oluşturma sayfasında içeriğin yayınlanacağı grupların seçilebilmesini sağlar. Burada sunulan gruplar sadece kullanıcının üye olduğu gruplardır. Kullanıcı bu özellik etkin ise oluşturacağı içeriğin yayınlanacağı bir veya birden fazla grup seçebilir (isterse hiçbirini seçmeyebilir de). Eğer bu özellik devre dışı bırakılırsa kullanıcı grup sayfası üzerinden bir içerik oluşturduğunda, içerik sadece o grupta yayınlanacaktır.
    Audience required: Audience checkbox özelliği etkin olduğunda kullanıcı içerik oluştururken o içeriği yayınlabileceği grupları seçiyordu; ancak dilerse hiçbir grubu seçmeyebiliyorda. Eğer bunu engellemek istiyorsanız, yani içeriklerin mutalaka bir grupla bağlantısı olsun ve o grupta yayınlansın istiyorsanız o halde bu seçeneği "zorunlu" hale getirin.
    Group home page view: Burada öntanımlı olarak og_ghp_ron görünümü seçilidir (uzun hali: organic groups - group home page - river of news). Bu görünüm Organic Groups sayfalarındaki konu özet listesini sunar. Eğer herhangi bir sebeple standart görünümü kullanmak istemiyorsanız kendi görünümünüzü oluşturup buradan seçebilirsiniz. Tabii bunu yaparken görünümün adının başında "og_ghp_" yazmanız gerekiyor.

  4. Bu sayfadaki son kutu Messaging & Notifications; buradan da çeşitli durumlarda (yeni içerik, yeni grup üyesi, vs.) kullanıcılara gönderilen e-posta mesajlarının başlık ve metinlerini düzenleyebiliyoruz.
  5. OG ayarlarını yaptıktan sonra, eklentiyle birlikte gelen çeşitli blokları etkinleştirmek için blok yönetim sayfasına (Yönet » Site kurulumu » Bloklar) gidiyoruz. Burada mutlaka etkinleştirmemiz gereken bir blok var: Group details. Bu bloğu etkinleştirip tercihen sayfanın en üstünde yer alacak şekilde bir blok alanına yerleştiriyoruz. Ayrıca tercihe bağlı olarak diğer grup bloklarını da etkinleştirebiliriz (hepsini etkinleştirip hangi bloğun hangi özelliği sunduğunu görmenizi tavsiye ederim, ama bunun için önce birkaç grup, grup içeriği ve birkaç grup üyesi oluşturmanız daha iyi olur).
  6. Organic Groups ve kurduysak ilgili diğer eklentilerin izinlerini ayarlamak üzere Yönet » Kullanıcı yönetimi » İzinler (admin/user/permissions) sayfasını ziyaret edip izinleri düzenleyelim.
  7. Evet, artık ilk gruplarımızı ve grup içeriklerimizi ekleyebiliriz. Hatta birkaç test kullanıcısı ile farklı kullanıcı hesapları üzerinden birkaç farklı grup oluşturun. Böylece hem yöneticisi olduğunuz hem de üyesi olduğunuz gruplarda neler yapılabiliyor, hangi özellikler var görebilirsiniz. Bu şekilde özel grup kullanımını ve kullanıcılara gönderilen e-postaları da deneyebilirsiniz.
  8. Organic Groups çekirdek sisteminin sorunsuz çalışmasını sağladıktan sonra, dilerseniz OG ile ilgili Organic Groups Mandatory Group (kayıt sırasında zorunlu gruplar) ve OG Vocabulary (gruplara özel taksonomi sistemi) gibi diğer birçok eklentiyi kurup deneyebilirsiniz.

Notlar ve Tavsiyeler

  • Yukarıda bahsedildiği gibi Organic Groups eklentisinin sunduğu gruplar birer düğümdür; dolayısıyla da grup düğümlerini sunacak bir içerik türü kullanılması gerekmekte. Normalde düğümlerin Başlık ve Gövde olmak üzere iki bilgi alanı vardır. Gruplar için kullanılacak içerik türünde bu alanların isimlerini içerik türü düzenleme sayfasından Grup Adı ve Grup Tanıtımı şeklinde değiştirmeniz kullanılabilirlik açısından tavsiye edilir.
  • Gruplar düğüm olduklarından düğümler üzerinden çalışan CCK ve Taksonomi gibi birçok eklentiden faydalanabilirsiniz.
  • Gruplar için tek bir içerik türü kullanmak zorunda değilsiniz. Örneğin sitenizde farklı CCK alanlarına veya sözlüklere ihtiyaç duyabilecek değişik grup türlerine ihtiyaç olabilir; bu durumda birkaç içerik türü oluşturup herbirini Group Node olarak atayabilirsiniz.
  • siteniz.com/group adresinde iki ayrı sekme halinde kullanıcının üye olduğu gruplardaki güncel yazıların bir listesi ve kullanıcının henüz okumadığı içeriklerini listesi sunulmakta. Bu yolu gezinti menünüze eklemeyi isteyebilirsiniz. Ayrıca her iki sekmenin de RSS beslemesi var.
  • Bir grubun yöneticisini değiştirebilmek için "düğüm yönetimi" iznine gerek vardır (bu iznin sadece güvendiğiniz kişilere verilmesi tavsiye edilir). Bu izne sahip bir kullanıcı içeriği düzenleme sayfasında yazar bilgisini değiştirerek grup sahibini değiştirebilir.
  • Düğüm yönetimi iznine sahip kişiler açık veya özel tüm grup içeriklerini görebilirler.
  • Gruplardaki üye yönetim işlemleri (üyelik onaylama, üye ekleme/silme, grup yetkilisi tayin etme) Group Details bloğundan erişilen grup üye listesi sayfasından yapılmaktadır.
  • Eğer sitenizdeki OG sistemini kullanmaktan vazgeçerseniz eklentileri devre dışı bırakmak yeterlidir. Böylece daha sonradan tekrar kullanmak istediğinizde eklentileri etkinleştirmek eski tüm ayarlarınızı ve verilerinizi geri getirecektir. Eğer herşeye sıfırdan başlamak isterseniz önce admin/build/modules/uninstall sayfasından og, og_views ve og_access eklentilerini kaldırmayı unutmayın.

Tema kullanımı

  • Her grup için sitede kullanılmasına izin verilen temalardan biri seçilebilir.
  • Gruplardaki mesajların özel ya da açık olduğunu $node->og_public belirtir. Bu değişkenden tema dosyasında yararlanarak özel ve açık içeriklerin görsel olarak ayırt edilebilmesi mümkündür.
  • OG ile birlikte phptemplate motorunu kullanan çeşitli şablon dosyaları gelmektedir. Bu dosyaları og dizininde yer alan themes klasörünün içinde bulabilirsiniz. Şablon dosyalarını kendi temanızın dizinine kopyalayarak grup anasayfa görünümünü (node-og-group.tpl.php) ve grup sayfasında yayınlanan içeriklerin görünümlerini (node-og-group-post.tpl.php) bu dosyalar üzerinden değiştirebilirsiniz.

Kaynak: og/readme.txt (Anlatımın önemli bir kısmı için bu dosyadan yararlandım; ancak bu dosyada olup da burada olmayan ya da tam tersi burada olup da dosyada olmayan bazı kısımlar var. Dolayısıyla readme.txt dosyasını da gözden geçirmenizi tavsiye ederim).

Metnin orijinaline buradan ulaşabilirsiniz.

Yorumlar

Teşekkürler Cihan, çok güzel anlatım olmuş.

Yeni yorum veya soru gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • You may insert videos with [video:URL]

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


3 + 1 =
Basit matematik sorusunuz çözünüz. Örn; 1+3= 4