Open edX’i özelleştirme yazılarımızın üçüncüsündeyiz. Bu sefer birlikte XBlock nedir, onu öğreneceğiz.
Open edX’e farklı servisleri entegre edip, görünümünü de özelleştirdikten sonra sıra hazır gelen ders bileşenlerinin yetmediği durumlarda ne yapacağız sorusuna geldi. Özellikle bazı eğitim ekiplerinin ihtiyaçları, ders bazında yapılabilen bazı şeyleri dersin birimleri seviyesinde yapmamızı gerekli kılıyordu (örneğin her ünite sonunda öğrenciye rozet vermek). Bu noktada XBlock’lar ile tanıştık.
XBlock nedir?
XBlock, geliştiriciler olarak, eğitim ekiplerinin kullanacağı bağımsız ders bileşenleri geliştirebilmemiz için edX tarafından tasarlanmış bir bileşen mimarisi olarak tanımlanabilir. XBlock’lar ile sadece bir satır metin gösterebileceğiniz gibi kompleks entegrasyonlar geliştirebilir veya yeni problem tipleri yaratabilirsiniz.
XBlock, edX tarafından Open edX’e yeni özellikler eklemek için en öne çıkarılan yöntem ancak altı çizilmesi gereken bir nokta var: XBlock’lar bir derse bağlı olarak var olabiliyor. Serinin ilk bölümünde bahsettiğim eklentilerden temel farkı da bu. Sisteminizde yüzlercesi yüklü olabilir ama sadece bir derse eklenmiş olanlar işlevini yerine getirebilecektir.
XBlock örnekleri
Topluluk tarafından geliştirilmiş birçok XBlock’a ulaşmak mümkün. Bunlara örnek verecek olursak:
- Google Drive üzerindeki belgelerinizi derse eklemenizi ve öğrencilerinize göstermenizi sağlayan bir örnek:
- Jupyter defterlerinizi derse eklemenizi sağlayan, ilginç bir örnek:
Kullanıma hazır daha fazla örneğe Open edX belgelerinden erişebilirsiniz.
Bir XBlock geliştirmek
XBlock’ları sitenin bir bölümünü sunan küçük web uygulamaları gibi düşünebilirsiniz. Her XBlock, ders içerisinde çalışarak öğrencilerin isteklerini işler ve bir HTML sunar. Yine birçok XBlock’un özelleştirme yapılabilmesi için Studio’da bir arayüzü bulunur. Bir başka deyişle LMS ve Studio, XBlock’unuzu sunan bir “runtime” olarak çalışır.
Kendi XBlock’larınızı geliştirmek için inceleyebileceğiniz birçok örnek var. Hızlı bir başlangıç için SDK deposundaki örnekleri incelemenizi öneriyorum. Yine aynı depoda şablon bir proje mevcut. Bunu da `bin/workbench-make-xblock` betiğiyle özelleştirip geliştirmeye başlayabilirsiniz.
XBlock geliştirirken dikkat edilmesi gereken iki şey var:
- Her XBlock bağımsız olarak çalışabilmelidir. Eğitim ekipleri, başka bir XBlock’a ihtiyaç duymadan XBlock’unuzu derslerine ekleyebilmelidir.
- Geliştirdiğiniz XBlock diğer XBlock’larla yan yana çalışabilmelidir. Eğitim ekipleri, ihtiyaçlarına göre farklı XBlock’ları aynı anda kullanabilmelidir.
Nihayet, ne kadar küçük olursa olsun, geliştirdiğiniz XBlock’u herkesin yararlanabileceği şekilde belgelendirip kaynak kodunu açarak sunarsanız, Open edX ekosistemine büyük bir katkıda bulunmuş olursunuz.
Geribildirim: Open edX Ironwood Geldi, Hoş Geldi! - Artistanbul