Please follow the steps below if you would like your tool to be integrated in the Up2U Moodle infrastructure.
To add or update new tools or plugins into Moodle for Up2U, we need both to install and configure them, with configuration requiring both common settings across all Up2U instances as well as settings which are specific to particular Up2U deployments. In order to simply repeated configuration and deployment, we have automated Moodle tool installation and configuration via a series of template config files and environment variable files.
Even if you have admin access to one of our deployments, do not install or configure tools by hand via the Moodle web interface; your changes will most likely be overwritten by future development, and will not be portable across deployments.
envs-templates/
to a folder envs/
suit a local installation, and customise docker-compose.yml
to point to local folders for, e.g., data. (Do not commit your envs/
or docker-compose.yml
to Github!)moodle/Dockerfile
to add commands to download and install your tool or plugin to the appropriate locations in /var/www/html/
inside the produced Docker image. Note that some types of tool (specifically, LTI-integrated tools) do not need any installation. In rare instances, you may need to edit mysql/Dockerfile
too, but this is unlikely. auth_saml2
named idpname
and showidplink
, being given the values "Login via SAML2" and 1 (="Yes"), respectively.moodle/configs
named template-
<tool_name>.scsv
, copying one of the existing files in that folder. Make sure there is a line for every configuration variable which needs to be set for your tool, in the format <tool_name>; <variable_name>; <value>
where <tool_name>
is how Moodle refers to your tool, <variable_name>
is the variable name and <value>
is the value. If <value>
should be the same across all Moodle instances, enter it directly here. If it will vary across instances, instead choose a label for it, e.g., TOOL_NAME_VARIABLE_NAME
, and put ${TOOL_NAME_VARIABLE_NAME}
for <value>
, e.g., 'auth_saml2'; 'showidplink'; 1 'auth_saml2'; 'idpname'; ${AUTH_SAML2_IDPNAME}
. Go to step 9.mysql/configs
and copy the relevant template-<tool_name>*.sql
files for your tool, replacing labels (in the same format as in step 7) to fit your tool as appropriate, as well as any fixed values which should not vary across deployments. Go to step 9. envs-templates/
for your tool called <tool_name>.env
, and populate it in the format TOOL_NAME_VAR1_NAME= TOOL_NAME_VAR2_NAME=
etc..env
file into envs/
and edit it to contain specific values, e.g., AUTH_SAML2_IDPNAME="eduGAIN Login"
. moodle/config/moosh-*
for examples.docker-compose exec moodle /configure.sh
and docker-compose exec mysql /configure.sh
..env
files (see other .env
files for examples)envs/
folder and docker-compose.yml
modifications from the commit!) and raise a pull request against the main repository/branch. Separately, send concrete versions of your .env
file(s) for each main Moodle instance to Allan and Michał, and we'll commit them to the project's private repository (.env
files may contain authentication details/secrets which should not go on a public Github repository) and configure them for deployment
Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.
|