Enabling the Nextcloud repository
Prior to using the Nextcloud repository, an administrator must first create a Nextcloud service in the OAuth 2 configuration. Afterwards, the repository can be enabled.
- Configure Nextcloud for use with Moodle.
- Create a Nextcloud service.
- Go to 'Manage repositories' in Site administration and enable the Nextcloud repository.
- On the Nextcloud configuration page, click Create a repository instance.
- Enter a Name (that will be displayed to your users) and, as the Issuer, select the service that was created in step 2. If you want, you can also change the "Moodlefiles" folder name (*) to something that you prefer.
(*) When users access an access controlled link, the corresponding document will be shared privately with them. That document will be placed in a folder by that name. You can choose a simple name that matches the name of your Moodle so that your users will understand where these files belong.
Access controlled links
Students may submit files from Nextcloud as 'access controlled links' in assignments. Once submitted, the student may no longer change them, but the teacher is allowed to edit them, for example to provide comments.
Teachers may display files from Nextcloud as 'access controlled links'. The teacher can update the files, but students can only view them. Changes made by teachers will be reflected in the course.
To enable this feature, ensure that:
- A system account has been connected in OAuth 2 services in Site administration. This account will own and control access to files submitted by students and teachers. Teachers will be able to edit the files but students will not. This must be a dedicated account for this purpose, i.e. it must not be an account that belongs to an individual.
- "Supported files" is set to "Internal and External".
- Optional: "Default return type" is set to "External (only links stored in Moodle)".
Please refer to Troubleshooting.
There is just one capability, View Nextcloud repository, which is allowed for the default authenticated user role.