Installation¶
Plugin Installation¶
Copy (or install via the release workflow ZIP, see Development) the contents of this repository to
<moodle>/local/suap.Navigate to Site administration → Notifications to trigger Moodle’s installation routines.
During installation (db/install.php), the plugin:
creates custom profile fields for course and user used by synchronization (functions
suap_bulk_course_custom_field()/suap_bulk_user_custom_field()indb/migrate.php);creates custom tables (
suap_enrolment_to_sync,suap_learning_path,suap_learning_path_course, plus those declared indb/install.xml:local_suap_relatorio_cursos_autoinstrucionaisandlocal_suap_restricoes_autoinscricao).
These functions are re-executed during upgrade steps (db/upgrade.php), allowing seamless addition of custom fields in future versions.
Settings Screen¶
At Site administration → Plugins → Local plugins → SUAP Integration (registered by settings.php via suap_admin_settingspage in adminlib.php), settings are grouped as follows:
Setting |
Description |
|---|---|
|
Token sent by SUAP / Integrador AVA in the |
|
Base URL of the AVA Panel (e.g., |
Setting |
Description |
|---|---|
|
|
|
Name used if the root category needs to be created. Default: |
|
Parent category of the root category. Default: |
Setting |
Description |
|---|---|
|
Preferences applied to every new user (student or teacher) upon account creation, one per line in |
|
JSON mapping |
|
Default authentication method for users whose role is not in |
|
Text in |
Setting |
Description |
|---|---|
|
Comma-separated list in single quotes (e.g., |
|
Enable creation of Entry / Class / Hub / Program groups inside course rooms. |
|
Same settings for coordination rooms. |
Capabilities¶
Defined in db/access.php:
Capability |
Description |
|---|---|
|
Granted by default to |
|
Granted by default to |
Warning
admin/index.php and admin/view.php check only is_siteadmin(), not local/suap:adminview. Site administrators always have access.
Testing the Installation¶
GET /local/suap/healthcheck.phpreturns{"component", "release", "version"}without requiring authentication — useful for confirming that the plugin is installed.POST /local/suap/api/?health(with headerAuthentication: Token <auth_token>) returns version info while validating authentication. See API & Services.