Üniversiteler ve eğitim kurumları dijital varlıklarının tamamını tek bir platform üzerinde yürütmez. Halka açık web sitesi, başvuru portalı, akademisyen sayfaları ve haber akışı bir içerik yönetim sisteminde tutulur; dersler, sınavlar, notlar ve sertifikalar ise bir öğrenme yönetim sisteminde yer alır. Pratikte bu çoğu zaman CMS tarafında Drupal, LMS tarafında Moodle anlamına gelir; çünkü ikisi de kendi kategorisinde en yaygın kullanılan açık kaynak platformdur. Buradaki asıl soru şudur: Bu iki sistem, birbirinden kopuk iki ada gibi değil de tek ve bütünleşik bir sistem gibi nasıl çalıştırılır?
Bu rehberde Moodle ve Drupal entegrasyonunun gerçekte nasıl işlediğini adım adım ele alıyoruz. Kurumların bu iki sistemi neden birbirine bağladığını, sorumluluğun LMS ile CMS arasında nasıl paylaşıldığını, teknik yapı taşlarını (tek oturum açma, kullanıcı senkronizasyonu, kursların Drupal'da gösterimi ve LTI), H5P'nin bu ikisi arasındaki özel rolünü ve uzun vadede sürdürülebilir kalan bir yaklaşımın nasıl seçilip planlanacağını inceliyoruz.
Moodle ve Drupal Neden Entegre Edilir?
Entegrasyonun gerekçesi basittir: Öğrenciler ve personel tek bir kurumla muhatap olur; dolayısıyla iki kopuk giriş ekranıyla, iki ayrı kullanıcı diziniyle ve iki farklı görsel kimlikle uğraşmak zorunda kalmamalıdır. Drupal ve Moodle entegre edildiğinde öğrenci, web sitesindeki bir program sayfasını okuduktan sonra o programın kursunu LMS üzerinde ikinci kez giriş yapmadan açar. Kurum da kimlik yönetimini iki ayrı yerde değil, tek merkezden yürütür.
- Tek kimlik, tek giriş: Tek oturum açma (SSO), web sitesi ile LMS için ayrı ayrı şifre tutmanın yarattığı zorluğu ve destek yükünü ortadan kaldırır.
- Tutarlı marka: Tasarım, navigasyon ve tanıtım sayfaları gibi halka açık deneyimi Drupal yönetir; Moodle ise buna uyumlu bir arayüzün ardında eğitimi yürütür.
- Merkezi kullanıcı yönetimi: Hesaplar ve roller yetkili tek bir kaynaktan yönetilip ilgili sisteme aktarılır, iki kez ayrı ayrı tutulmaz.
- Kurs keşfi ve tanıtımı: Drupal'ın içerik ve SEO gücü kursları dış dünyaya tanıtır; Moodle bu kursları kayıtlı öğrencilere sunar.
- Veri akışı: Kayıt, tamamlanma ve sertifika verisi ihtiyaç duyan sistemler arasında hareket eder; böylece panoları ve raporlamayı besler.
LMS ve CMS: Rekabet Değil, İş Bölümü
Sık rastlanan bir yanılgı, Drupal ile Moodle'ı rakip sanmaktır. Oysa değillerdir; farklı problemleri çözerler ve entegrasyonun amacı, her birine en iyi yaptığı işi bırakmaktır. Drupal, yapılandırılmış içeriği modellemek ve yayınlamak için tasarlanmış bir içerik yönetim sistemidir; sayfalar, profiller, portallar, çok dilli siteler ve karmaşık editöryal iş akışları onun alanıdır. Moodle ise eğitimi sunmak ve takip etmek için tasarlanmış bir öğrenme yönetim sistemidir; dersler, etkinlikler, sınavlar, notlandırma ve tamamlanma takibi de onun alanıdır.
En sade anlatımıyla Drupal "web sitesi ve kimlik" katmanının, Moodle ise "öğretme ve öğrenme" katmanının sahibidir. Drupal birincil site ya da portal olarak kalır, öğrenme iş akışlarını ise arkadaki Moodle yönetir. Öğrenci tanıdık ve markalı bir arayüzün içinde kalır; kataloğu, kayıt kurallarını ve notları ise Moodle arka planda tutar. Tek bir platformu her iki işi birden yapmaya zorlamak, projelerin çoğunlukla yanlış gittiği noktadır. İyi tasarlanmış bir entegrasyonda ise her sistem kendi işine odaklanır.
Moodle–Drupal Entegrasyonunun Yapı Taşları
Entegrasyon tek bir düğmeden ibaret değildir; birbirini tamamlayan bağlantılardan oluşur ve çoğu proje aşağıdaki dört yapı taşını farklı biçimlerde bir araya getirir. Bunlardan kaçını uygulayacağınız, iki sistemin ne kadar sıkı çalışması gerektiğine bağlıdır.
Tek Oturum Açma (SSO)
SSO neredeyse her zaman ilk ve en önemli parçadır. Kimliği doğrulanmış bir kullanıcının, ikinci kez kullanıcı adı ve şifre girmeden Drupal'dan Moodle'a geçmesini sağlar. Bunun için üç yaygın protokol kullanılır ve doğru olanı kurumun mevcut kimlik mimarisine göre değişir: SAML, OpenID Connect (OIDC) ve OAuth 2.0. Eğitim kurumlarında sık görülen yöntem, Drupal'ı kimlik sağlayıcı (IdP), Moodle'ı hizmet sağlayıcı olarak konumlandırmaktır. Bu yöntemde kullanıcılar Moodle'a Drupal kimlik bilgileriyle giriş yapar, iki sistem arasında kimlik verileri (metadata) paylaşılır ve roller birbirine eşlenir. Kurumda merkezi bir kimlik sağlayıcı zaten varsa (üniversitelerde sık görülen bir kurulumdur), Drupal ve Moodle ikisi birden o ortak sağlayıcıya bağlanabilir.
Kullanıcı ve Rol Senkronizasyonu
SSO kimlik doğrulamayı, yani kullanıcının kim olduğunu kanıtlamayı üstlenir. Senkronizasyon ise hesapların kendisini, yani oluşturma ve güncelleme işini üstlenir. Yetkili sisteme yeni bir kişi eklendiğinde senkronizasyon, o kişinin LMS hesabını otomatik olarak açabilir ya da güncelleyebilir; böylece yöneticiler iki ayrı dizini elle yönetmek zorunda kalmaz. Rol eşlemesi bu noktada özel dikkat ister. Örneğin bir Drupal "üyesi" Moodle'da "öğrenci" rolüne eşlenebilir; ancak bir Drupal "birim yöneticisi" Moodle'da tam yetkili yönetici değil, sınırlı bir raporlama rolüyle tanımlanmalıdır. Rolleri olduğu gibi kopyalamak yerine bilinçli biçimde eşlemek, entegrasyon büyüdükçe izinleri güvende tutan şeydir.
Kursların Drupal İçinde Gösterimi
Bir entegrasyon, Moodle kurslarını, kategorilerini ya da öğrenme yollarını Drupal sitesinin içinde gösterebilir. Böylece aday ve kayıtlı öğrenciler kataloğu markalı web sitesi deneyimi içinde gezer; kayıt ve ders teslimi ise Moodle üzerinde tutulur. Drupal'ı öğrenmenin etkili bir giriş kapısına dönüştüren şey tam da budur: Tanıtım sayfaları, arama ve kurs listeleri Drupal tarafında yer alır, tek tıkla Moodle'daki canlı kursa geçilir. Bu yapı, Drupart bünyesinde Drupal4edu ekibinin Sabancı Üniversitesi, Yıldız Teknik Üniversitesi ve Işık Üniversitesi gibi kurumlar için kurduğu çok katmanlı Drupal platformlarının (ana site, fakülte siteleri, başvuru portalları) üzerine doğal biçimde oturur.
LTI: Öğrenme Araçlarını Bağlayan Standart
Özel SSO ve senkronizasyon yöntemlerinin ötesinde, eğitime özgü ve bilinmesi gereken bir standart daha vardır: 1EdTech (eski adıyla IMS Global) tarafından geliştirilen LTI (Learning Tools Interoperability). LTI, bir öğrenme platformu ile harici bir aracın, özel bir API geliştirmeye gerek kalmadan güvenli biçimde haberleşmesini sağlayan evrensel bir bağlayıcıdır. Güncel sürüm olan LTI 1.3, "LTI Advantage" başlığı altında üç önemli hizmet sunar. Deep Linking, bir eğitmenin harici aracın içeriğine göz atıp belirli bir öğeyi doğrudan derse eklemesini sağlar. Assignment and Grade Services (AGS), araçta alınan puanları otomatik olarak Moodle not defterine aktarır. Names and Role Provisioning Services (NRPS) ise aracın, kimin hangi rolle derse kayıtlı olduğunu görmesini sağlar. Drupal'da barındırılan bir araç ya da içerik kaynağı için LTI çoğu zaman özel bir entegrasyondan daha temiz bir yoldur; çünkü not ve katılımcı akışı sıfırdan kurgulanmak yerine hazır bir standart tarafından yönetilir.
H5P Bağlantısı: Drupal'ın Moodle Sınıflarındaki Sessiz Rolü
Bu hikayenin, çoğu entegrasyon rehberinin gözden kaçırdığı bir parçası var. Etkileşimli öğrenme içeriği (sınavlar, etkileşimli video, sürükle-bırak alıştırmaları) hazırlamak için yaygın olarak kullanılan H5P, aslında Drupal ekosisteminden çıktı; diğer sistemlere yayılmadan önce Drupal tabanlı bir platform olarak geliştirilip yayınlandı. Bugün pek çok Moodle dersi H5P içeriği kullanıyor ve bunun standart yollarından biri LTI üzerinden çalışıyor: Etkileşimli içerik bir platformda oluşturulup barındırılıyor, bir Moodle etkinliğinin içinde gösteriliyor ve öğrencinin aldığı puanlar LTI'nin not hizmetleri aracılığıyla Moodle not defterine geri dönüyor.
Bu durum iki açıdan önemli. Birincisi, Drupal ile Moodle'ın dünya genelinde sınıflarda zaten birlikte çalıştığının somut bir kanıtı; üstelik çoğu kurum bu içeriğin Drupal kökenli olduğunu bilmeden kullanıyor. İkincisi, uygulanabilir bir mimariye işaret ediyor: Bir kurum, zengin etkileşimli içeriği Drupal tabanlı bir ortamda üretebilir, bu içeriği kendi kontrolündeki altyapıda "kurum içinde" saklayabilir ve her şeyi tek bir platforma bağımlı hâle getirmek yerine standart tabanlı bir bağlantıyla Moodle içinde sunabilir. Verinin nerede tutulacağı ya da içeriğin kime ait olduğu konusunda katı gereksinimleri olan kurumlar için bu ayrışma bir dezavantaj değil, tam tersine bir avantajdır.
Entegrasyon Yaklaşımını Seçmek
Tek bir doğru mimari yoktur; doğru yaklaşım ölçeğe, mevcut kimlik altyapısına ve ne kadar verinin akması gerektiğine bağlıdır. Aşağıdaki tablo başlıca seçenekleri ve her birinin nereye uygun olduğunu özetler.
| Yaklaşım | Ne yapar | Kime uygun |
|---|---|---|
| SAML / OIDC SSO | Kimlik sağlayıcı üzerinden Drupal ve Moodle'da birleşik giriş. | Kurumsal düzeyde, merkezi yönetilen kimlik gereken kurumlar. |
| Oturum tabanlı SSO + kullanıcı senkr. | Ortak giriş artı ikisi arasında otomatik hesap oluşturma ve güncelleme. | Drupal'ın yetkili kullanıcı dizini olduğu kurulumlar. |
| LTI (1.3 / Advantage) | Not ve katılımcı hizmetleriyle standart tabanlı araç başlatma. | Araç/içerik gömme ve özel kod olmadan not senkronu. |
| Kurs gösterimi | Moodle kataloğunu ve yollarını Drupal sitesinde gösterme. | Drupal'ı tanıtım ve keşif ön yüzü olarak kullanma. |
| Veri / raporlama senkr. | Kayıt ve tamamlanma verisini sistemler arasında taşıma. | Panolar, uyumluluk raporlaması ve sertifika takibi. |
Gerçek kurulumların çoğu bu yaklaşımlardan birkaçını birlikte kullanır. Örneğin bir üniversite portalında SSO ile kurs gösterimi birlikte uygulanabilir; gömülü etkileşimli içerik için ise LTI ile not senkronu bir arada kullanılabilir. Buradaki temel ilke, kurumun gerçekten ihtiyaç duyduğu bağlantıları kurmaktır; çünkü eklenen her bağlantı, sonradan bakımını üstlenmeniz gereken bir bağlantıdır.
Pratik Bir Entegrasyon Yol Haritası
Moodle–Drupal entegrasyonu bir modül kurulumu değil, bir altyapı projesidir. Uygulanabilir bir sıralama şöyle görünür:
- Doğruluk kaynağını tanımlayın. Herhangi bir bağlantı kurmadan önce, kimlik ve kullanıcı verisine hangi sistemin sahip olacağına karar verin. Bu çoğu zaman merkezi bir kimlik sağlayıcı, bazen de Drupal olur.
- SSO protokolünü seçin. Mevcut kimlik altyapınıza göre SAML, OIDC ya da OAuth 2.0 arasında karar verin ve hem Drupal modülünde hem Moodle eklentisinde sürüm uyumluluğunu teyit edin.
- Rolleri açıkça eşleyin. Her Drupal rolünün hangi Moodle rolüne karşılık geleceğini yazılı hâle getirin; raporlama ve yönetim izinlerini gereken titizlikle ele alın.
- Hangi verinin hangi yöne akacağını belirleyin. Kayıt, tamamlanma ve not verisinin tamamını varsayılan olarak senkronlamak yerine, her biri için yönü ve sıklığı ayrıca tanımlayın.
- Staging ortamında test edin. Giriş akışlarını, hesap sağlamayı, rol eşlemeyi ve not dönüşünü canlıya almadan önce her iki sistemin üretim dışı kopyalarında doğrulayın.
- Sürüm güncellemelerini planlayın. Moodle ve Drupal kendi sürüm döngülerini takip eder; ikisinden biri güncellendiğinde uyumluluğu kimin izleyeceğine baştan karar verin.
Bu çalışma iki platformu, bir kimlik katmanını ve kurumun veri kurallarını birlikte kapsadığı için mimari her zaman kuruma özeldir. Bu nedenle kapsamı en baştan dikkatle belirlemek, sonradan harcayacağınızdan çok daha fazla zaman kazandırır.
Planlanması Gereken Entegrasyon Tuzakları
- SSO'yu entegrasyonun tamamı sanmak: Ortak giriş yalnızca kimlik doğrulamadır. Kullanıcı senkronizasyonu ve rol eşleme olmadan yine iki dizin tutmaya devam edersiniz.
- Rolleri eşlemek yerine aynalamak: Drupal rollerini doğrudan Moodle'a kopyalamak, kimsenin amaçlamadığı yönetici erişimleri dağıtabilir. Her rolü ihtiyaç duyduğu en düşük yetkiye eşleyin.
- Sürüm uyumluluğunu göz ardı etmek: Bugünkü sürümlere uyan bir SSO modülü ya da LTI eklentisi, bir sonraki büyük Moodle ya da Drupal güncellemesinde bozulabilir. Kurmadan önce desteklenen sürümleri teyit edin, her güncellemede yeniden kontrol edin.
- Gerektiğinden fazla veri senkronlamak: Her alanı ve kaydı sistemler arasında taşımak kırılganlığı ve gizlilik riskini artırır. Yalnızca gerçek bir kullanım senaryosunun gerektirdiğini taşıyın.
- Staging testini atlamak: Giriş ve not dönüşü hatalarını bir kopyada bulmak, dönem ortasında öğrencilerin karşısında bulmaktan çok daha ucuzdur.
- Sahipliği tanımsız bırakmak: Entegrasyonun sahibi hiçbir ekip değilse, bir sonraki platform güncellemesinden sonra sessizce çürür. Bu sorumluluğu ilk günden atayın.
İyi kurgulandığında bir Moodle–Drupal entegrasyonu kuruma iki dünyanın da en iyisini sunar: Drupal'ın içerik ve kimlik platformu olarak gücünü, Moodle'ın öğrenme ortamı olarak derinliğiyle birleştirir. O Drupal katmanını kurmak ve entegre etmek, tam olarak Drupart bünyesinde Drupal4edu ekibinin üniversiteler için yaptığı iştir. Sabancı Üniversitesi, ODTÜ, TED Üniversitesi, Yıldız Teknik Üniversitesi, Yeditepe, Acıbadem, Medipol, Özyeğin, Kadir Has, Işık ve İstinye Üniversitesi gibi kurumlarda web sitesi, portallar ve entegrasyonlar tek ve bütünleşik bir platform olarak ele alınır. Her platformun kendi yapınızda nereye oturduğuna hâlâ karar veriyorsanız, Drupal ile neler yapılabilir yazımız çevredeki senaryoları özetler; eğitimde Drupal sayfamız ise kurumsal bağlamı daha derinlemesine ele alır.
Moodle ve Drupal Entegrasyonu Hakkında Sıkça Sorulan Sorular
Drupal, Moodle'ın yerine LMS olarak kullanılabilir mi?
Rahatça değil ve genellikle tavsiye edilmez. Drupal bazı öğrenme özelliklerini destekleyecek şekilde genişletilebilir; ancak dersleri, etkinlikleri, sınavları, notlandırmayı ve tamamlanma takibini özel bir LMS kadar iyi yönetmek için tasarlanmamıştır. Daha doğru yaklaşım Moodle'ı Drupal ile değiştirmek değil, ikisini entegre etmektir. Drupal en iyi yaptığı işe (web sitesi, portallar, kimlik ve içerik) odaklanırken pedagojiyi Moodle yürütür. Bir CMS'i LMS'e dönüştürmeye zorlamak, çoğu zaman iki sistemi entegre etmekten daha pahalıya mal olur ve daha az sonuç verir.
Drupal ile Moodle arasında hangi SSO protokolünü kullanmalıyız?
Bu, mevcut kimlik altyapınıza bağlıdır. SAML, kurumsal ve yükseköğretim ortamlarında yaygın kullanılır ve merkezi kimlik sağlayıcılarla iyi çalışır. OpenID Connect (OIDC) ve OAuth 2.0 ise modern ve geniş desteğe sahip alternatiflerdir. Kurumunuzda zaten merkezi bir kimlik sağlayıcı varsa hem Drupal'ı hem Moodle'ı ona bağlayın. Yetkili kullanıcı dizini Drupal ise, Drupal'ı Moodle için kimlik sağlayıcı olarak konumlandırmak denenmiş ve sağlam bir yoldur. Önemli olan, kararı vermeden önce her iki tarafta da modül ve eklenti sürüm uyumluluğunu teyit etmektir.
Notlar ve tamamlanma verisi Drupal'a geri senkronlanır mı?
Doğru bağlantı kurulduğunda senkronlanabilir. LTI Advantage kullanıldığında, harici bir araç Assignment and Grade Services üzerinden puanları otomatik olarak Moodle not defterine gönderebilir. Tamamlanma ya da kayıt verisini panolar veya raporlama için Drupal'a taşımak ise ayrı bir senkronizasyon işidir; burada hangi verinin, hangi yönde ve ne sıklıkla taşınacağına bilinçli olarak karar verirsiniz. Genel kural şudur: Yalnızca bir raporlama ya da uyumluluk ihtiyacının gerçekten gerektirdiği veriyi senkronlayın.
Moodle–Drupal entegrasyonunun bakımı zor mudur?
Bakım yükü, kurduğunuz bağlantı sayısıyla ve sürüm uyumluluğu konusundaki disiplininizle doğru orantılıdır. Bağımsız sürüm döngülerine sahip iki sistem zamanla birbirinden uzaklaşır. Bu yüzden kalıcı yaklaşım şudur: Yalnızca ihtiyaç duyduğunuz bağlantıları kurun, rol eşlemelerini ve veri akışlarını belgeleyin ve her Moodle ya da Drupal güncellemesinde uyumluluğu izleyecek net bir sorumlu belirleyin. Kapsamı dar tutulan ve sahibi belli olan entegrasyonlar sürdürülebilir kalır; her şeyi senkronlayan ve kimsenin sahiplenmediği entegrasyonlar ise kalmaz.