A part of the consultancy I that do with organisations, I run specialised workshops on different areas of Moodle. Today I will be running a workshop on Moodle file management, so I went through the process of setting up Dropbox as an example repository for external file storage.
As I have seen some misunderstanding of how this works before online, I thought it would be good to do a quick post on it. But as I did not have time to write a quick post, so here is a long one instead – apologies for the misuse of quote
Dropbox and Moodle Workshop Demo.
So for the workshop I had to set up three new Dropbox users.
- A user for the institution
- A user – Paul Jones who will be the student in the Moodle course
- A user – james Smith who will be the teacher in Moodle.
The institution account is for registering the Moodle site so that users in Moodle can avail of Dropbox integration.
The teacher account is for adding some teaching/course files into Dropbox
The student account is for adding his own files into Dropbox.
Firstly I created the institution account
Then I registered at Dropbox for API key https://www.dropbox.com/developers/apply
I clicked on Create an APP and filled in the form
- Called it LTS MOODLE
- Added a Name, and Description
- Selected Full Dropbox as the option (This is important and the Moodle docs say to do so)
Once that was done, it gave me the details for the connection (API key and secret) as below:
To enable testing with users I Clicked on Enable App with up to 5 users:
You cannot apply for production status without having users linked successfully to the Dropbox account.
I created a teacher account under the name James Smith and added 4 word documents into his Dropbox account as below:
I created a student account under the name Paul Jones and added 2 images into his Dropbox Photos account as below
So with the Dropbox accounts created and working, on with the show..
So as Admin within my Moodle 2.3.2 site, I had a number of tasks to do
a) enable and configure the Dropbox repository
b) create the new users in Moodle which I used the user upload csv option
c) create a new course area and put in James as Teacher and Paul as student
Within Moodle I first enabled the Dropbox repository.
This was in the settings Under Site Administration -> Plugins -> Repositories -> Manage Repositories
I then configured the Dropbox API setup in the repositories plugin area using the API key and Dropbox secret that I had created earlier.
I also set the cache size to 0 – (zero) so all files would be cached regardless of size. Files are only temporarily cached on Moodle.
I then created the CSV to upload the users using the minimum of user information just username,password,email,firstname,lastname
And lastly, I created the course and added James as teacher and Paul as a student.
So that was the basic preparation out of the way.
So for the demo itself, I then logged out of everything, dropbox, Moodle etc to clear the cache and have no active logins on any site.
For the purpose of the demo I used Google Chrome as the student and Firefox (my preference) as the teacher. I find this is always a good approach when doing testing of courses using one browser for each role.
Teacher within Moodle
So I logged in as the teacher on Firefox and accessed the course. I had two tasks to do, firstly to create an assignment and then to add a file from Dropbox.
So I enabled editing and created an assignment for the user to upload a file.
I then wanted to add in the Terms and Conditions file that I had in the Dropbox of James.
I selected Add File on the activity Chooser
Gave it a Name and Description that will appear on the Moodle course page
Then under the Content area I clicked on the Add button to launch the file picker. The file picker allows you to choose files from whichever sources are enabled including in this case Dropbox.
As I am not logged in to the Dropbox on the web, it prompts me to log in:
I clicked on login and it brought up a window for me to log in, so I logged in with the James Account.
It then prompted me to allow the Moodle site to connect to my Dropbox.#
So to proceed I clicked Allow.
Moments later I could see my Dropbox in the File Picker, and the four files I had uploaded earlier including my terms and conditions file.
I clicked on the terms and conditions file to select it and was prompted to make an important decision:
The important point was this:
- if I wanted to make a copy of it to add it into Moodle
- or just to create an alias/shortcut to the file which would leave the original in Dropbox and just link to it so that when people accessed it, it would take the Dropbox file. This means that the Dropbox based file can be updated and the link in Moodle will update itself once the cache expired.
I selected Create an Alias and clicked on Select this file.
Back in the Add file page, I selected Force Download as the Display option and saved and returned to course. I always recommend the force download option for files so the user will not have the experience of the browser embedding which can sometimes be off-putting.
So that was that with the teacher account, assignment created and a file linked from Dropbox.
Over to the student.
Student within Moodle
I logged in as the student on Google Chrome and accessed the course. First thing I did was click on the Terms and Conditions file.
It immediately downloaded the file for me, without prompting as Chrome does. I opened it and it was fine. So although the file was stored in the teachers Dropbox and linked into Moodle, the student did not require a Dropbox login to view the file.
Then I went on to the assignment. It was a photo assignment and asked for the student to upload a file.
I knew that I had a photo in the student Dropbox account, so I clicked on Add to launch the file picker.
I then selected Dropbox as a source for the file and it prompted me to log in.
I logged in as the student account I had created earlier.
It then prompted me to confirm I wanted to link the Moodle site to the account. So I clicked Allow.
I then was shown my Dropbox account. I knew i had placed the photos in the Photos folder, so I clicked on it
I saw my two pickers so I selected the smaller one and it prompted me to confirm.
I clicked on Select this file, and it added the file into my Moodle assignment for me.
I clicked on Save changes, and that was it done.
So what can you take from this walk-through?
Dropbox has a good but strict usage policy which requires any application or website that wants to connect to it, to
- Apply for a developer API
- Actually do some testing
- Finally apply for production status.
They key aspect is here that Moodle when installed on your website is Your Application, so you need to go through the process.
This is required whatever the application is. It is not difficult and not even very time-consuming for the testing phase. The whole test above took less than twenty minutes although I do not know how long it takes for production approval.
Teachers can use Dropbox as a source for their files, and either link to them so that the can just update the file in Dropbox but others can access without even knowing it is in Dropbox, or take a copy of the file into Moodle.
Students can use Dropbox to store their files until they need to add into Moodle for their work.
So all in all it is pretty straight forward and simple enough to use.
If you have any questions on this, feel free to add a comment below!