Загальне
Семенець А.В., Вакуленко Д.В.
Тернопільський національний медичний університет ім. І.Я.Горбачевського МОЗ України
РОЗРОБКА МОДУЛЯ СДО MOODLE ДЛЯ ЗАРАХУВАННЯ СТУДЕНТІВ НА ПЛАТНІ КУРСИ ЗА ДОПОМОГОЮ СЕРВІСУ «LiqPay» (ПРИВАТБАНК)
Резюме
Застосування вільно-розповсюджуваного ПЗ з відкритим кодом є важливим елементом сучасного підходу до реалізації освітнього процесу. В роботі показано досвід розробки модуля (плагіна) СДО Moodle для зарахування абітурієнтів на платні курси засобами сервісу LiqPay від АКБ «Приватбанк» з використанням відповідного АРІ. Описано програмну архітектуру розробленого модуля. Надано приклад практичного застосування вказаного модуля для організації платних курсів в рамках післядипломної освіти. Показано необхідність та розроблено додатковий елемент – окремий плагін для формування звітів про результати зарахування на курси та здійснені оплати.
Ключові слова: навчальний процес, програмне забезпечення з відкритим кодом, розробка програмного забезпечення, система дистанційної освіти, зарахування на курс, Moodle, LiqPay.
Вступ
Застосування інформаційних технологій в системі освіти набуло критичного значення. В умовах, коли біологічні небезпеки чи терористичні загрози стають глобальними проблемами, середовища дистанційної освіти стають не лише засобом отримання знань але й інструментом, що значно підвищує особисту безпеку абітурієнта. Концептуальні напрямки впровадження сучасних інформаційних технологій у галузі освіти включають впровадження інформаційних систем (ІС) керування навчанням (СКН чи LMS – Learning management system), в поєднанні з системами дистанційної освіти (СДО), та систем керування навчальними матеріалами (СКНМ або LCMS – learning content management system) [1].
Аналіз останніх досліджень. Впровадження сучасних програмних додатків в освітній процес
Безперечним лідером серед ПЗ СКН/СДО/СКНМ з відкритим кодом є СДО Moodle (https://moodle.org/). Автори застосовують вказане СДО, зокрема, в навчальному процесі ТНМУ, починаючи з 2006 року. Початково, СДО Moodle в навчальному процесі ТНМУ використовувалося лише для здійснення тестового контролю при самопідготовці студентів до занять. Протягом пізніших років було розширено підходи до застосування СДО Moodle в навчальному процесі ТНМУ [1, 2, 3] та здійснено значне розширення функціональних можливостей СДО Moodle за рахунок як стандартних сторонніх модулів – так і їх адаптації до особливостей навчального процесу в ТНМУ [4, 5, 6].
Важливо розуміти, що освітній процес в сучасному світі не обмежується академічною сферою. Розвивається велика кількість закладів післядипломної та спеціалізованої освіти, більшість з яких є недержавними організаціями або приватними закладами, та здійснюють підготовку фахівців на платній основі.
Постановка проблеми. Економічна основа діяльності вказаних недержавних / приватних закладів вимагає мінімізації супутніх організаційних та управлінських витрат, в тому числі і на роботу персоналу. Таким чином, виникає проблема автоматизації процесу зарахування абітурієнтів на курси по факту здійснення оплати за навчальний процес. Слід вказати, що для СДО Moodle вже розроблено цілий ряд модулів (плагінів) які реалізують функцію програмних шлюзів до платіжних систем (https://moodle.org/plugins/?q=payment) Однак всі вказані плагіни орієнтовані на роботу з міжнародними платіжними системами та сервісами оплати. На жаль, застосування вказаних систем часто обмежене або й зовсім неможливе на території України. У зв’язку з цим постає проблема щодо розробки модуля (плагіна) СДО Moodle який би підтримував таку, платіжну систему яка функціонує на території України та відповідає вимогам українського законодавства.
Метою роботи є представлення досвіду авторів щодо розробки модуля (плагіна) СДО Moodle для зарахування абітурієнтів на платні курси засобами API “LiqPay” (https://www.liqpay.ua/) від АКБ «Приватбанк».
Матеріали і методи. Розробка плагіну для зарахування на курс засобами API “LiqPay”
При проектуванні модуля авторами було вивчено функціонал та код наявних в СДО Moodle модулів (плагінів) програмних шлюзів до платіжних систем (https://moodle.org/plugins/?q=payment). В результаті, за основу було взято програмну архітектуру модуля СДО Moodle для зарахування на курс шляхом оплати через PayPal (https://docs.moodle.org/38/en/PayPal_enrolment) Програмний код вказаного модуля протягом тривалого часу є компонентом програмного ядра СДО Moodle (https://github.com/moodle/moodle/tree/master/enrol/paypal), має високу якість вихідного коду та доведену надійність його роботи.
Іншим джерелом вхідних даних стала документація до програмного інтерфейсу (API) “LiqPay” (https://www.liqpay.ua/documentation/api/home/). Важливо зазначити що в КБ «Приватбанк» розроблено, підтримується і вільно надається для використання, цілий ряд готових програмних бібліотек (SDK) для роботи з API “LiqPay” засобами найбільш популярних мов програмування. Серед них є версія для мови PHP (https://github.com/liqpay/sdk-php) - яка застосовується в СДО Moodle.
В процесі практичної реалізації плагіна авторами розроблено:
1. Структуру файлів плагіна що наслідує типову відповідно до рекомендацій для розробників СДО Moodle (https://docs.moodle.org/dev/Tutorial#The_skeleton_of_your_plugin).
2. Підключення програмного коду бібліотеки API “LiqPay” для мови PHP (https://github.com/liqpay/sdk-php).
3. Візуальний інтерфейс (форму) для керування опціями зарахування на платній основі (ціна, терміни, і т.п.) – див. рис. 1.
4. Алгоритм, та відповідний програмний код на мові PHP, що реалізує процеси: створення запиту до -, та обробки відповіді - сервера LiqPay в процесі здійснення оплати (https://www.liqpay.ua/documentation/api/aquiring/checkout/doc) з наступним (у випадку успішності вказаної операції) зарахуванням абітурієнта в курс за допомогою наявного програмного інтерфейсу СДО Moodle (https://docs.moodle.org/dev/Enrolment_API).
Рисунок 1. Діалог налаштування параметрів платного зарахування на курс з оплатою за допомого сервісу LiqPay
Інформація про всі операції щодо спроб платного зарахування абітурієнтів на курс за допомогою вказаного плагіну зберігається в базі даних (БД) СДО Moodle незалежно від результату (успішна оплата чи відмова). Деталі кожної фінансової транзакції реєструються засобами LiqPay та доступні користувачу облікового запису сервісу.
Отримані результати. Дослідна експлуатація та додаткові компоненти.
Розробка вказаного плагіну здійснювалася авторами в ініціативному порядку проте на замовлення спонсорської організації. По завершенню процесу розробки і тестування плагін було практично застосовано для реєстрації абітурієнтів для проходження платних курсів післядипломної медичної освіти. Плагін встановлюється в середовище СДО Moodle так само як і інші плагіни, та додається до курсу штатним чином. Приклад налаштування процесу платного зарахування показано на рис. 1. Підключений модуль доступний для реагування налаштувань в інтерфейсі керування курсом (рис. 2). Вигляд курсу з підключеним модулем показано на рис. 3. Сторінка з платіжним віджетом LiqPay для переходу до процесу оплати показано на рис. 4. Обробка платежу здійснюється процессінговими серверами системи LiqPay як описано в документації (https://www.liqpay.ua/documentation/api/aquiring/checkout/doc). У випадку успішного підтвердження оплати – абітурієнт перенаправляється на сторінку оплаченого курсу.
Рисунок 2. Діалог керування способами зарахування на курс з доданим модулем платного зарахування з оплатою за допомого сервісу LiqPay
Рисунок 3. Курс з підключеним модулем платного зарахування з оплатою за допомого сервісу LiqPay
Рисунок 4. Сторінка з платіжним віджетом LiqPay (1) для переходу до процесу оплати зарахування на курс
В процесі дослідної експлуатації замовник висловив побажання щодо більш детального та оперативного представлення інформації про зарахованих абітурієнтів. Для вирішення вказаного завдання авторами було розроблено окремий плагін для СДО Moodle типу «звіт» (report), що надає викладачам (на рівні курсу, див рис. 5, а) та адміністраторам і менеджерам курсів в СДО Moodle (на рівні сайту, див рис. 5, б) можливості переглядати інформацію про здійснені оплати, відповідні їм зарахування абітурієнтів на курси, а також – короткі фінансові дані.
а) б)
Рисунок 5. Доступ до звіту щодо платного зарахування на курс(и) засобами сервісу LiqPay (1): а) на рівні курсу; б) на рівні сайту
Вигляд сторінки звіту показано на рис. 6 Програмний код плагіну звіту розроблено з використанням стандартних програмних бібліотек СДО Moodle, зокрема tablelib (https://docs.moodle.org/dev/lib/tablelib.php) шляхом наслідування та розширення класу table_sql. Це дало можливість використати вже наявні програмні засоби для реалізації:
- посторінкового представлення вмісту (2);
- експорту даних звіту в різних форматах (3);
- сортування (4).
Рисунок 6. Звіт з інформацією про абітурієнтів, зарахованих у курси з оплатою засобами сервісу LiqPay
Також в програмному коді плагіну звіту забезпечено можливість безпосередньо з сторінки звіту керувати статусом абітурієнта в курсі (5) призупиняючи (suspend) та активуючи (activate) його статус (6).
Висновки
Освітній процес в сучасному світі не обмежується академічною сферою. Наявна велика кількість закладів післядипломної та спеціалізованої освіти, що є недержавними організаціями або приватними закладами, та здійснюють підготовку фахівців на платній основі. Для СДО Moodle існує цілий ряд модулів (плагінів) які реалізують функцію програмних шлюзів до платіжних систем, застосування яких переважно неможливе на території України.
В роботі представлено досвід авторів щодо розробки модуля (плагіна) СДО Moodle для зарахування абітурієнтів на платні курси засобами сервісу “LiqPay” (https://www.liqpay.ua/) від АКБ «Приватбанк». Описано програмну архітектуру модуля (плагіна) та методику його використання. Показано необхідність та розроблено додатковий елемент – окремий плагін для формування звітів про результати зарахування на курси та здійснені оплати.
Література
1. Semenets, A. (2013). АДАПТАЦІЯ ВІЛЬНО РОЗПОВСЮДЖУВАНОГО ПЗ З ВІДКРИТИМ КОДОМ МOODLЕ ДЛЯ ПІДТРИМКИ НАВЧАЛЬНОГО ПРОЦЕСУ У МЕДИЧНОМУ ВНЗ. Медична інформатика та інженерія, (4). https://doi.org/10.11603/mie.1996-1960.2013.4.2249
2. Semenets, A. (2017). ПРО НАЛАГОДЖЕННЯ СДО MOODLE ДЛЯ ПРОВЕДЕННЯ ТЕСТОВОГО ОЦІНЮВАННЯ З КУРСУ “ВИЩА МАТЕМАТИКА”. Медична освіта, (1). https://doi.org/10.11603/me.2414-5998.2017.1.7131
3. Semenets, A., Vakulenko, D., Martsenyuk, V., Kravets, N., Sverstyuk, A., Klymuk, N., Kuchvara, A., & Kutakova, O. (2018). ПРО ЗАСОБИ СДО MOODLE ДЛЯ ПІДГОТОВКИ НАВЧАЛЬНИХ МАТЕРІАЛІВ ДЛЯ КУРСІВ ХІМІЧНОГО ТА ФАРМАЦЕВТИЧНОГО СПРЯМУВАННЯ. Медична освіта, (4), 172-177. https://doi.org/10.11603/me.2414-5998.2018.3.8716
4. Марценюк В.П., Модуль реєстрації виконання студентами матрикулів практичних навичок та оцінок за ОСКІ в системі електронного контролю знань на базі СДО Moodle. / В.П.Марценюк, А.В.Семенець // Запорожский медицинский журнал. – 2013. – № 1. – C. 26-27.
5. Semenets, A. V. (2017). ПРО МОДЕРНІЗАЦІЮ МОДУЛЯ АДАПТИВНОГО ТЕСТУВАННЯ ДЛЯ СДО MOODLE. In Сучасні підходи до вищої медичної освіти в Україні: матеріали XIV Всеукр. наук.-практ. конф. з міжнар. участю (Тернопіль, 18–19 трав. 2017 р.) (p. 169). Ternopil: ТДМУ, «Укрмедкнига». Retrieved from http://conference.tdmu.edu.ua/index.php/SPVMOU/2017-SPVMOY/paper/view/2043
6. Semenets, A., & Martsenyuk, V. (2019). ПРО ДОСВІД РЕАЛІЗАЦІЇ СИСТЕМИ САМОЗАПИСУ СТУДЕНТІВ НА ВІДРОБКИ ПРАКТИЧНИХ ЗАНЯТЬ ЗАСОБАМИ СДО MOODLE. Сьома Міжнародна Науково-Практична Конференція MoodleMoot Ukraine 2019, Теорія і Практика Використання Системи Управління Навчанням Moodle, Київ, Інститут Інформаційних Технологій і Засобів Навчання НАПН України, 24 Травня 2019 р. [Електронний ресурс] https://repository.tdmu.edu.ua/handle/123456789/12502