-
Functional Test
-
Blocker
-
Moodle 4.3
Test Pre-requisites
- The user has private files.
- The repository File system, Dropbox and Server files are enabled and visible. If using DropBox set the cache limit to 1.
Setup Dropbox account
- Apply for a free/trial account
- Follow instructions here: https://docs.moodle.org/27/en/Dropbox_repository
- Click the "Dropbox Developers" link to go to https://www.dropbox.com/developers/apps and sign in.
- Click on "Create an app" and select "Dropbox API app":
- Scoped access
- Full dropbox
- Make sure your moodle is in https (set the wwwroot to an https protocol and setup the server accordingly, even self signed certificates will work at this stage because the only thing blocking is the actual use of https in the redirect url)
- Add in the Oauth2 section the redirect url (https://<yoursite>/admin/oauth2callback.php)
- In permission check:
- account_info.read (should be checked)
- files.metadata.read (should be checked)
- files.content.read
- sharing.write
- sharing.read
- In your Moodle:
- Add a custom Oauth2 service: (<yoursite>/admin/tool/oauth2/issuers.php)
- Name it "Dropbox service"
- Copy the client ID and secret in the related fields
- Set "Service base URL" to https://www.dropbox.com/oauth2/authorize
- Set "This service will be used" as "Internal service only"
- Then:
- Go to Site Admin/ Repositories / Manage repositories
- Enable the Dropbox repository:
- OAuth2 service to your newly Oauth2 service created (Dropbox service)
- Cache limit 1
- Check this is working by going to your private files:
- Upload a file
- Select Dropbox as the repository
- Login
- Select a file
Test Steps
1. Edit your private files; launch file picker, pick a file from (File system)/(Dropbox)/(Server files) repo plugin respectively, and check/tick "Link to the file"
2. Click added file in file tree and make sure it is viewable
3. Create a file or folder resource, pick this file from private area as reference, save it and make sure this file is visible
4. Create a file or folder resource, pick the same file from private area as a copy, save it and make sure this file is visible
5. Update the file in the external repository and confirm that the file is also updated in #3 but is not updated in #4
(Note that the cache needs a purge for the thumbnail of a linked image to change over.)