Загальне
Мокрієв М.В.
Національний університет біоресурсів і природокористування України
ОКРЕМІ АСПЕКТИ ВИКОРИСТАННЯ MOODLE ДЛЯ КОРПОРАТИВНОГО НАВЧАННЯ
На сьогодні, в час активного насичення інформацією всіх сторін нашого життя, а особливо його професійного боку, важливим стає поняття навчання протягом життя. Кожна організація бажає, щоб її співробітники постійно підвищували свою кваліфікацію і бажано без відриву від виробництва. На допомогу цьому приходять сучасні технології дистанційного навчання. З їх допомогою можна налагодити корпоративне навчання прямо на робочому місці. Проте, дуже часто власники бізнесу висувають до платформ електронного навчання низку специфічних вимог, які важко задовольнити в процесі впровадження готового програмного рішення. Завжди знаходяться модулі та компоненти, яких не вистачає або які є зайвими для замовника.
Метою представленого в доповіді дослідження є дослідити та показати гнучкість системи електронного навчання Moodle для задоволення потреб корпоративного навчання. Всі наступні приклади будуть розглядатися суто в реалізації для системи Moodle.
Деякі вимоги до системи корпоративного навчання
Корпоративне навчання, на відміну від академічного, є доволі консервативним і з певною авторитарністю. Через це вимоги до платформи навчання виключають вольності у налаштуванні особистого навчального простору. Все має бути чітко на визначених місцях і ніхто не повинен мати права для своєї зручності щось змінювати, переставляти місцями блоки навіть на власній інформаційній панелі. Зайві компоненти, які не несуть навчального навантаження повинні бути прибрані з доступу та інтерфейсу.
Часто керівники відділів (або інших підрозділів) несуть відповідальність за підвищення кваліфікації своїх працівників, тож повинні мати крім звичайних прав, можливість контролювати процес навчання своїх підлеглих. Але без права впливати на результати навчання в системі.
Вимоги до захисту корпоративної інформації ставлять задачу пошуку методів заборони копіювання текстів, картинок та відео з сайту.
Співробітники повинні мати можливість не лише проходити курси з підвищення кваліфікації, але й отримувати відмітку про результат.
Також може бути ще багато різних додаткових вимог як то автоматизація зарахування на обов'язкові курси для нових співробітників, повідомлення керівнику, що хтось не справляється з вчасним проходженням курсу і таке інше. Проте, в цій доповіді ми не будемо занадто заглиблюватися.
Способи реалізації
Отже, реалізувати подібні вимоги до системи можна кількома способами:
1. Змінити код системи.
Оскільки Moodle є вільним програмним забезпеченням (open sourse) і розповсюджується під ліцензією GPL, то нам доступна одна з базових свобод описаних в цій ліцензії - право вільно змінювати код під свої потреби. Проте, це рішення невдале з кількох причин.
- можна порушити цілісність та безпеку системи
- після оновлення системи до новішої версії (навіть в межах мінорної версії) доведеться знову прописувати всі зміни
2. Знайти додаткові модулі, які змінюють сайт та додають необхідну нову функціональність.
Цей підхід вже є набагато кращим ніж перший, бо не порушує цілісність системи та дозволяє оновлювати сайт з основного дистрибутиву без загрози переписувати код після кожного оновлення. Проте, і він має свої мінуси:
- сторонній код може не повністю задовольняти ваші потреби, тож доведеться втручатися в його код, що в подальшому оновленні модуля потягне такі ж проблеми як і з оновленням ядра системи
- без проблемне оновлення ядра системи без без оновлення модуля може бути лише в мінорних версіях
- підтримка модуля розробником може припинитися, тож вам доведеться або підтримувати його власними силами, або відмовитися від нього, або відмовитися від оновлення ядра системи (що є неправильним рішенням).
Тож. цей спосіб підійде у випадку потреби серйозного розширення функціоналу основного дистрибутиву. І при цьому вибирати додатковий модуль необхідно зважаючи на його підтримку, потужну команду та вже певний час гарного функціонування. Зовсім не рекомендується брати сторонні модулі не з репозитарія на moodle.org, оскільки в цьому випадку небезпека отримати модуль, який не буде підтримуватися в майбутньому дуже зростає.
3. Написати необхідний модуль власними силами
Потребує в команді спеціаліста (або кількох), який знає та вміє веб-програмування та його специфіку для системи Moodle. Часто тримати у себе в штаті такого співробітника не має потреби. А замовляти написання модуля у стороннього розробника (особливо без подальшої підтримки) може вилитися у неможливість оновлення ядра системи, оскільки написаний модуль може не підтримувати особливості нової версії. Але тут ситуацію може спасати відкриття коду спільноті Moodle. І якщо модуль виявиться потрібним, його розробку можуть підхопити інші.
5. Скористатися закладеними можливостями ядра системи
Даний спосіб не підійде для введення нового глобального функціоналу. Проте, дозволить підлаштувати систему під власні потреби.
Саме цей спосіб рекомендується як перший крок до удосконалення системи. Не потрібно відразу лізти в код системи, встановлювати чи писати нові модулі. Можливо (з великою ймовірністю) це можна реалізувати правильним налаштуванням основного дистрибутиву. Але цей підхід також вимагає розуміння системи Moodle хоч трохи більше за середній рівень.
Далі буде продемонстровано деякі з практичних реалізацій для задоволення корпоративних вимог до навчального середовища.
Налаштування блоків Інформаційної сторінки та курсу однакове для всіх
Система Moodle стандартно дозволяє всім налаштовувати блоки на власній інформаційній панелі та викладачам у своєму курсі як завгодно. Проте, можемо багато блоків заборонити ставити на власній інформаційній панелі. Для цього в правах авторизованого користувача потрібно заборонити додавання блоків (потрібно відмітити для кожного блоку індивідуально) на власній інформаційній панелі (рис.1).
Рисунок 1 - Заборона окремих блоків на власній інформаційній панелі
А для того, щоб вставити всім однакові блоки без можливості їх зміни необхідно перейти до Керування / Сторінки сайту / Типова інформаційна панель. Після цього, налаштувати необхідні блоки та їх розташування. Щоб користувачі не могли прибирати блоки зі своїх місць, потрібно в Керування / Сторінки сайту / Теми / Установки теми прибрати можливість ховати блоки та переміщувати їх на бокову панель (рис.2).
Рисунок 2 - Заборона ховати блоки
Для того, щоб у всіх нових курсах з'являвся однаковий потрібний нам набір блоків, необхідно в config.php правильно налаштувати змінну $CFG->defaultblocks_topics, прописавши список типових блоків для нових курсів. Наприклад, так
$CFG->defaultblocks_topics = 'participants,tags:messages,online_users,recent_activity';
Детально можна прочитати в допомозі https://docs.moodle.org/36/en/Block_layout
Щоб викладач не додавав самостійно непотрібні блоки на курс необхідно в правах викладача заборонити додавати блоки в курсі (потрібно відмітити для кожного блоку індивідуально). Оскільки студенти і так не мають права змінювати блоки в курсі, то ці зміни стосуватимуться лише викладачів. Наприклад для блоку Календар див. рис.3
Рисунок 3 - Заборона вставляти в курсі блок Календар для викладача
Щоб викладач не зміг видалити потрібний на курсі блок, його можна зафіксувати від видалення на сторінці Керування / Модулі / Блоки / Управління блоками (рис.4)
Рисунок 4 - Заборона видалення блоку
Таким чином, на прикладі блоків показано як можна керувати правами та можливостями користувачів Moodle. Додатково про можливості роботи з блоками описано в документації https://docs.moodle.org/36/en/Blocks_FAQ.
Налаштування зовнішнього виду сайту поведінки окремих елементів
У більшості випадків існує вимога, що корпоративний навчальний сайт повинен виглядати по особливому. Підтримувати корпоративний стандарт у кольорах та символіці. А крім цього, окремі елементи можуть потребувати більш яскравого виділення.
Для цього Moodle має можливість імплементувати в себе додатковий код. Наприклад, Всі теми на основі базової теми Boost мають систему Пресетів (preset), яка дозволяє написати власний файл з кодом css та завантажити його на сайт. Але навіть і без цього кожна тема має можливість вписати додатковий css код. А використання стандарту CSS3 дає широкі можливості до зміни багатьох речей на сайті. Наприклад, для розфарбування таблиці налаштування Журналу оцінок в різні кольори (як було у версії 1.9) достатньо додати код
Лістінг 1
.item > .level2, .item > .level3, .item > .level4, .item > .level5 {background-color: #fff!important;}
.item.level2, .item.level3, .item.level4, .item.level5 {background-color: #fff!important;}
.level1, .categoryitem > .level1 {background-color: #f3dfd0 !important;}
.level2, .categoryitem > .level2 {background-color: #d0dbf3 !important;}
.level3, .categoryitem > .level3 {background-color: #d0f3d6 !important;}
.level4, .categoryitem > .level4 {background-color: #f0f0aa !important;}
.level5, .categoryitem > .level5 {background-color: #ebdef6 !important;}
Після цього сторінка налаштування журналу оцінок матиме вигляд як на рисунку 5
Рисунок 5 - Сторінка налаштування Журналу оцінок
Використовуючи такий підхід можна з легкістю прибрати можливість користувачам змінювати налаштування своїх уподобань на курсі, форумі, календарі (чи ще, де забажає керівництво) ввівши такий код, який просто прибере посилання на відповідні сторінки.
Лістінг 2
/*прибрати користувачу доступ до редагування своїх уподобань у форумі, курсі, календарі*/
a[href^="http://agro-online.expert/user/forum.php"], a[href^="http://agro-online.expert/user/course.php"], a[href^="http://agro-online.expert/user/calendar.php"] {display: none;}
Крім цього, система Moodle має можливість ще більше вплинути не лише на зовнішній вигляд, але і на поведінку. Для цього потрібно зайти на Керування / Сторінки сайту / Додатковий HTML. Тут ми маємо можливість прописати для всіх сторінок сайту додатковий код, додаткові стилі, додаткові скрипти тощо. Все це можна додавати в середину HEAD, відразу після відкриття контейнера BODY, або відразу перед його закриттям.
Наприклад, Журнал оцінок має одну незручну властивість - при перегляді оцінок обов'язковими є колонки, за якими можна ідентифікувати користувача за поштою, відділом і так далі. Ці колонки можна прибрати в налаштуваннях користувача, але тоді вони прибираються із інших сторінок, де вони потрібні. Вихід, дописати скрипт на JS, який прибере ці колонки лише в Журналі оцінок. Такий код потрібно розмістити перед закриттям теги BODY (рис.6.).
Рисунок 6 - Додатковий скрипт на сайт
Також ми можемо написати великі скриптові програми в окремих файлах і імплементувати їх до сторінок нашого сайту через SCRIPT SRC, таким чином значно розширюючи можливості системи.
Отже, в процесі налаштування Moodle під корпоративну систему навчання з врахуванням різноманітних вимог ми можемо здійснити роботу без втручання в програмний код ядра та код головних компонентів. Таким чином, всі наступні оновлення системи можуть проходити вільно без можливої втрати зроблених правок та напрацювань.