3.1. Промени на архитектурата и обратна съвместимост с базовата разработка
Глобална променлива свързана с потребителите
Инсталирането на позволенита беше постигнато посредством включването н BEST на една нова глобална променлива $USER. Формата на тази променлива е както следва:
$USER->capabilities[ best_capability ][ course_id ]
където 'best_capability' е конкатениране на полетата в таблицата 'role_capabilities'.
Запазени служебни имена на роли
- user - потребител
- admin - администратор
- teacher - преподавател- без авторски позволения
- teacheredit преподавател - автор
- student - студент
- creator - автор
- guest - гост - посетител
Ролята на "преподавател - автор" е запазена в BEST само от съображения за обратна съвместимост с базовата разработка Moodle v.1.5.4.
Таблицата user_admin също ще бъде запазена, а ролята admin ще бъде тествана само в рамките на тази таблица. Това е направено поради факта, че при тестване на позволение, ролята admin винаги ще върне логическа стойност true.
Всички позволения за посетителите, на ниво сайт ще бъдат като за ролята 'user' . Това дава възможност на администратора на BEST да назначава позволения които да прилага към всеки потребител на BEST. Например, позволението 'edit own profile' в рамките на даден модул от учебните дайности. В този случай в таблицата 'role' полето courseid ще бъде установено в състояние 0. Полетата 'timestart' и 'timeend' би могло да се използват за ограничаване на достъпа до сайта на BEST.