Moodle – Öğrenci Bilgi ve Yönetim Sistemi Entegrasyonu

Moodle-OBS entegrasyonu ve toplu aktarımlar yapmak için bir çok yöntem bulunmaktadır. Bunlara örnek vermek gerekirse manuel excel dosyaları oluşturarak, Flat file, External database enrolment ve Moodle Rest API sayılabilir.

Araştırdığımda birçok moodle kullanıcısı olan kurum bu süreci önceki tecrübelerine dayanarak entegre etmiş durumda ancak bir çoğuda süreci manuel olarak yönetmektedir. Bende yeni bir moodle kullanıcısı olarak süreç hakkındaki tecrübelerimin faydalı olacağını düşünerek bir akış paylaşmak istedim.

Kullanıcı ve kayıtlanma sayıları büyüdüğünde bu durumu yönetmek zorlaşmaktadır. Bir takım kurumsal istisnalarda duruma eklendiğinde yani düzenli verinin dışına çıkıldığı durumlarda bu aktarım işi içinden çıkılmaz bir hal almaktadır. Flat File ve External database enrolment çözümleri daha düzenli ve moodle çekirdeğinin oluşturduğu çözümler olsada istisnaları yönetmede çok iyi değillerdir. Kullanımda daha katı kuralları vardır ve esnek kullanıma uygun değillerdir.

Sonuç olarak dinamik dışarıdan müdahaleye gerek kalmayan bir entegrasyon istiyorsak, bunun için en iyi çözüm Moodle Rest API kullanmak olacaktır.

Bu entegrasyon sürecinde en önemli paydaşımız tabiki öğrenci bilgi sistemini oluşturan firma, kurum/kuruluş. Bize veriyi sağlayacak olan OBS sisteminden kurum gerekliliklerine göre bize en uygun veriyi sağlamalarını istememiz gerekmektedir. Bu veriyi bir API, CSV dosyaları ya da uzaktan erişişebileceğimiz bir veritabanı ile bize sağlayabilirler. Çalıştığım kurumda Veritabanı ve API alternatifi sağlanmaktadır.

Yaptığım OBS-Moodle entegrasyonu ile;

  • 50 bin öğrenci ve eğitmen
  • 17 bin ders
  • 300 bin ders kayıtlanmasını (Ekle-Sil hareketliliği ile buradaki rakam iki katına çıkıyor)

dinamik bir şekilde sorunsuz tamamladık.

Moodle API

İhtiyacımız olan API metotlarını şöyle sıralayabiliriz. Bunları ben ihtiyacımıza göre grupladım. API metotlarının kullanımına moodle içerisinde Site Yönetiminde API Dokümantasyonu diye aratarak ulaşabilirsiniz. Her metot için gereksinimler ve kullanım biçimi detaylı olarak anlatılmıştır.

Kullanıcı
core_user_get_users
core_user_create_users
core_user_update_users
Ders
core_course_get_courses
core_course_create_courses
core_course_update_courses
core_course_get_courses_by_field
core_course_search_courses

Kategori
core_course_get_categories
core_course_create_categories
core_course_update_categories
Kayıtlanma
enrol_manual_enrol_users
enrol_manual_unenrol_users
core_enrol_get_enrolled_users
core_enrol_search_users
core_enrol_get_users_courses

Yazı devam edecek şimdilik bu kadar 🙂

(Visited 758 times, 6 visits today)