Drupal Tabanlı E-Öğrenme Portalı: offCourse

Hayat çok hızlı akıyor, zaman kavramı özellikle son yıllarda çok farklılaştı, her şey çok daha hızlı ve hareketli duruma geldi. İnsanlar isteyerek veya istemeyerek kısa zamanda çok daha fazla iş başarma gayreti içindeler.  Bilgisayarlar, internet ile insanların hayatlarını değiştirip bilgiye erişimi çok daha kolay hale getirdi.  Durum böyle olunca internet üzerinden eğitim almak giderek daha popüler hale geldi.

E-öğrenme tanım olarak bireylerin internet teknolojileri aracılığıyla gerçekleştirilen web tabanlı eğitim, öğrenim ve bilgi yönetimi faaliyetlerine verilen ad. Özellikle üniversiteler gibi eğitim kurumları ile yakından çalışan biri olarak kurumların çalışanlarına e-öğrenme yolu ile yeni kazanımlar sağlamasının yolunu aradığını gözlemliyorum. Çeşitli hazır e-öğrenme yazılımları mevcut, kimi yazılımlar cloud dediğimiz bulut servisler üzerinden hizmet veriyor kimi yazılımlar ise self hosted yani kurumların kendi sunucularına kurularak çalışıyor. Her kurumun dinamikleri ve dolayısı ile de ihtiyaçları farklılık gösteriyor. Kimi kurumlarda farklı eğitim yöntemleri kullanılıyor kimi kurumlarda ise eğitim sonrasında raporlama, takip ve analiz çok daha önemli oluyor.

offCourse Elektronik Eğitim A.Ş. tarafından bize bir e-learning yazılım geliştirme projesi teklif edildiğinde bize iletilen ihtiyaçlar ve talepleri dikkate alarak, yukarıda bahsettiğimiz noktadan da hareketle bu ihtiyacı mevcut yazılımlar ile çözemeyeceğimize, kuruma özel bir yazılım geliştirme kararı verdik. Bu kararı alırken en çok güvendiğimiz konu Drupal’ın esnek yapısı ve güçlü mimarisi oldu.

Bu e-öğrenme sistemde olması gereken temel özellikleri aşağıdaki şekilde sıralayabiliriz;

  • Bu sistemin çok esnek olması gerekiyordu, geliştirme sonrasındaki ihtiyaçlar paralelinde yeni eklemeler yapılabilmeli, istediğimiz şekilde raporlar üretebilmeliydik.
  • Kurumsal ve bireysel dersler sunulabilmeli, bireyler isterlerse tek başlarına bu uygulama üzerinden ders alabilmeli veya kurumlar kolayca çalışanlarına ders tanımları yapabilmeliydi.
  • Kullanıcılar bireysel eğitimleri kredi kartları ile kolayca satın alabilmeliydi.
  • Çok esnek bir ders tanımlama ekranı olup ders içinde yer alacak duyuru, video, test/quiz, ödev gibi eğitim materyalleri tekrar tekrar kullanılabilir olmalı ve derslere kolayca eklenebilmeliydi.
  • Dersler eğitimi alan kullanıcılar tarafından kolayca takip edilebilmeli, eğitime kaldığı noktadan devam edebilmeliydi.
  • Kurumsal kullanıcılar sınıf ve proje oluşturabilmeli, sınıfta ilgili eğitimi alan kullanıcıların performansları firma yetkilileri tarafından detaylı şekilde takip edilebilmeliydi.
  • Eğitimlerde yer alan videolar kullanıcılar tarafından stream yöntemi ile izlenebilmeli, kullanıcılar bu videoları sadece web sitesi üzerinden görüntüleyebilmeliydi.
  • E-öğrenme sisteminde üyelik çok kolay olmalı, hatta kullanıcılar sosyal medya hesapları ile de web sitesine kolayca kayıt olabilmeliydi.
  • Her şeyin ötesinde e-öğrenme portalı güvenli bir altyapıya sahip olmalıydı.

Aslında yukarıda sıraladığımız maddeler dışında geliştirme aşamasında dikkate alınması gereken daha fazla konu vardı ama bunlar yeterli olur sanırım. İhtiyaçlar net ve anlaşılır şekilde belirlendikten sonra sıra tasarım ve yazılım geliştirme sürecine geldi.

Başarılı projelerin en önemli başlangıç noktası doğru bir görsel tasarım ve yazılım mimarisinin oluşturulmasıdır. Eğer müşterinin isteğini doğru bir şekilde anlayabilirseniz, istenen ürünü ortaya çıkarmanız çok da zor olmayacaktır. Biz de bu çerçevede çok temiz, anlaşılır, kolay okunur ve modern bir tasarım ortaya çıkardık.

Başarılı bir Drupal projesinin en önemli adımı doğru bir site yapılandırma ve içerik modeli oluşturmaktır. Daha işin en başında projeyi doğru bir şekilde planlarsanız sonrasında çok daha hızlı ilerlersiniz. Biz de öyle yaptık, öncelikle siteyi yapılandırdık, gerekli modüleri kurduk, ayarlarını yaptık sonrasında da içerik türlerini oluşturduk ve bu içerik türlerinin arasındaki ilişkileri kurguladık. E-öğrenme portalının en temel içerik türünü ders olarak belirledik ve bu içerik türü etrafında quiz/test, duyuru, video, açıklama, ödev gibi diğer içerik türlerini oluşturduk.

Drupal her ne kadar size hazır modüller ile kolayca geliştirebileceğiniz bir altyapı sağlasa bile, özel ihtiyaçlar çerçevesinde özel modül geliştirmesi yapmanız gerekebiliyor. Biz de offCourse için çok sayıda özel modül geliştirmesi yaptık. Eğitimi alan kullanıcıları her aşamada bilgilendirmek için rules’u aktif kullandık ancak rules’un tetiklenmediği noktalarda ek geliştirmeler yaptık. Bu yazı içinde çok fazla teknik detay ile sizi sıkmak istemiyorum. Sonuç olarak topluluk tarafından desteklenen Drupal modülleri, özel tema ve modül geliştirme ile gurur duyduğumuz, başarılı bir projeyi hayata geçirmiş olduk.

Bir e-öğrenme (e-learning) projesini niçin Drupal ile geliştirmeniz gerektiği ile ilgili birkaç maddeyi aşağıda paylaşıyorum ama aslında bu listelediklerimizden çok daha fazla sebep var.

  • Drupal güvenli, esnek ve ölçeklenebilir bir altyapı sağlar.
  • İçerik türleri ile her türlü içerik yapısını kolayca oluşturabilirsiniz, sonrasında yeni alanlar ve içerik türlerini oluşturma gibi işlemleri kolayca yapabilirsiniz.
  • Views ile her türlü içeriği listeleyebilir, kullanıcı yetkilerine göre içerik gösterimini sağlayabilirsiniz.
  • Drupal, her türlü sistem ve altyapı ile entegre edilebilir, hem ödeme sistemleri hem de Amazon gibi web servisler ile entegrasyon sağlanabilir.
  • Çok esnek bir kullanıcı ve rol yapısı sağlar.
  • İhtiyaç halinde çoklu dil desteği ile istenilen sayıda dil eklenebilir.
  • Aktif ve çalışan geliştirici topluluğu ile sürekli gelişen/geliştirilen bir içerik yönetim platformudur.

offCourse şu anda aktif olarak hem bireysel kullanıcılar hem de ülkemizin çok önemli firmaları tarafından kullanılmaktadır.