Canvas LMS’e bir sertifika sistemi entegrasyonu nasıl sağlanır? Canvas LMS sertifika oluşturma adımlarını birlikte görelim.
Geçtiğimiz yazılarımızda Turkcell Zeka Gücü projesi kapsamında yapmış olduğumuz çalışmalarımızdan bahsetmiştik. Turkcell Zeka Gücü’nün Çevrimiçi Eğitim Portalı ayağında Canvas LMS çözümünü kullanmıştık. Bu yazımızda Canvas LMS’e bir sertifika sisteminin entegrasyonunu nasıl sağladığımızdan bahsedeceğim.
Canvas LMS, açık kaynak kodlu bir LMS sistemi. Bu LMS sisteminde öğrenciler derslerini kolaylıkla alabildikleri gibi;
- Tartışma ortamlarını kullanabilir.
- Ödev ve proje teslimi yapabilir.
- Sınavlarını çevrimiçi olarak iletebilir.
- Kendi portfolyosunu oluşturabilir.
- Ortak çalışma alanlarında çalışabilir.
- Bireysel performansını görüntüleyebilir.
Artistanbul olarak Turkcell Zeka Gücü projesi kapsamında çevrimiçi eğitim portalı çözümümüz olan Canvas LMS ürününü, ülke çapında 96 BİLSEM okulunda 25 bin öğrencinin kullanımına açtık. Proje kapsamında Maker ve Kodlama Kiti’ne sahip olan öğrenciler bu portalı kullanarak, etkileşimli olarak bu kitin kullanımını öğrendikleri gibi, eğitim sonunda projelerini diğer akranlarıyla paylaşabilecekleri bir ortama kavuştular. Bu büyük toplulukta öğrenciler, bitirdikleri eğitimlerin sonunda Başarı Belgesi almaya hak kazanıyorlar.
Canvas LMS’in açık kaynak olan sürümünde ne yazık ki bir sertifika sistemi bulunmuyor. Öğrencilere katılım belgesi verilmesi için sertifika sistemi satın almak yerine kendi çözümümüzü nasıl uygularız/geliştiririz’i düşünerek, Artistanbul’un yazılım geliştirme ve eğitim departmanları ortaklaşa bir sistemin geliştirmesine başladık.
Özgür Yazılım’ın Gücü Adına!
Artistanbul olarak özgür yazılım ürün ve eklentileri kullanma, geliştirme ve katkıda bulunma faaliyetlerini çokça gerçekleştiriyoruz. Sertifika Sistemi için Wkhtmltopdf kütüphanesini ve ottopia isimli geliştiricinin geliştirmiş olduğu CertificateBuilder projesini kullandık. Açık kaynak olan CertificateBuilder, PHP tabanlı çalışan bir PDF Sertifika/Katılım Belgesi yaratma projesi. Bu projeyi Turkcell Zeka Gücü Başarı Belgesi’ne uygun çıktı vermesini amaçlayarak hemen geliştirmelere başladık.
Adım 1: Başarı Belgesinin Tasarımını Giydirmek
Turkcell Zeka Gücü projesine ait görsel tasarım çalışmasını Saime ve Deniz arkadaşlarımız birlikte tamamladılar. Başarı belgesi tasarımını sistem içerisinde kullanabilmemiz için CertificateBuilder projesi içerisinde bulunan templates dizini içerisine yeni bir dizin oluşturarak HTML ve CSS tasarımıyla giydirme çalışmasını yapmamız gerekiyordu. Dilerseniz, default dizinini de örnek olarak kullanabilirsiniz.
Not: Görsel tasarımınızı giydirirken Başarı Belgesi tasarımının değişken kısımlarını da göz önünde bulundurmalı ve önceden belirlemelisiniz. Sistem, her kullanıcı için gelen parametrelere göre isim, tarih ve eğitim adı gibi alanlarda değişkenlik sağlar.
Adım 2: Belgeyi Form ile İndirmeyi Sağlamak
Hazırlamış olduğumuz tasarımı deneyebilmek ve LMS sistemi üzerinden gelecek Katılım Belgesi taleplerini karşılayabilmek amacıyla Bootstrap kullanarak bir form oluşturduk. Bu form ile kullanıcı ismini ilgili kutucuğa yazarak doğrudan Başarı Belgesi’ni indirebilir hale getirdik.
Adım 3: Belgeyi Parametre ile İndirmeyi Sağlamak
CertificateBuilder projesinde formun iletimi POST metodu ile sağladığından dolayı adres çubuğunda herhangi bir parametre kullanımımız söz konusu olmuyordu. Adres çubuğunda isim parametresi ile indirilebilir olmasını sağlamak amacıyla form içerisinde ve certificate.php dosyası üzerinde POST metodu ile gönderme/alma yapan kodları GET metodu ile değiştirmemiz gerekti.
Not: Adres çubuğuna yazacağınız parametreleri certificate.php içerisinde karşılayabilecek şekilde tanımlayınız.
Adım 4: Canvas LMS’ten Kullanıcı İsim Verisi Almak
Geliştirmiş olduğunuz sertifika sistemi ile Canvas LMS’in birbirinden bağımsız platformlar olduğu düşünüldüğünde, kullanıcı verisini Canvas LMS içerisinden nasıl alabileceğimiz konusunda beyin fırtınası yaptık. Çözümümüz Canvas LMS User API kullanımı oldu.
Kullanıcı verisini Canvas LMS User API ile kolaylıkla okuyabiliyoruz. Bu sayede elde ettiğimiz API verisi içerisinden kullanıcıya ait isim ve soyisim verisini alıp, GET metodu kullanarak isim parametresiyle eşitledik.
Not: Kullanıcı isim verisini API kullanarak alabilmeniz için kullanıcının Canvas LMS üzerinden üyelik girişi yapması gerekir.
Hepsi bu kadar!
Geliştirmiş olduğumuz sistemi GitHub üzerinden yakın zamanda paylaşacağız. Aklınıza takılan her türlü soru, görüş ve önerilerinizi maker@artistanbul.io adresine iletebilirsiniz. Sorularınızı cevaplamaktan mutluluk duyacağım.
Bir sonraki yazımda görüşmek dileğiyle.