Moodle 2.0 file management

As some of you may have read in yesterday’s blog post on the Moodle workshop I ran yesterday at the Australian Moot, there was some fairly robust discussion on how the file management functionality in Moodle 2.0 differs from that in 1.9. For my money, it is the single biggest change that many users will need to deal with when they move to 2.0, and I thought I’d write up a little piece here about the problems, reasons, solutions and a work around that will make things easier for those who are coming to terms with the changes as they play with 2.0 preview releases.

The history

First, its worth understanding the current 1.9 state of play in how files are managed.

Each course has a files area. You get the predictable stuff you’d expect for a files area like shown below – you can add files and folders, you can move them around, you can delete them – the usual.

A Moodle 1.9 files area
A Moodle 1.9 files area

The problems with this are many and varied, but the two biggies I know of are:

  • You cannot share files across courses, making each course a silo of information, which is tedious to manage and inefficient in terms of how files are stored; and
  • This files area isn’t totally secure in the sense that if a student knows a direct URL to a file and they are enrolled in the course, then they can access it. Normally this isn’t an issue, but if a teacher was to, say, publish a link to the Assignment1Answers.txt file one week, then a clever student could take a stab in the dark that there might be a file called Assignment1Answers.txt in there as well – and if there is then they can access it by modifying the original URL.

Most of the time the latter of these hasn’t been a problem – I’ve never met anyone personally who has been stung by it – but it is an undeniable flaw. The former problem (file sharing) is usually managed through an integration with an external LCMS like EQUELLA or Alfresco.

Another partially related problem

I never really thought about this until Martin’s discussion with the group yesterday, but, and I’ll say it loud and clear now – Moodle is not meant to be a file repository. When I look back at Martin’s original pedagogical drivers of social constructionism then it makes perfect sense that storing files should be low on the list of priorities. Learning in a social constructionist world isn’t about downloading and reading files, its about collaboratively constructing them with others – a critical distinction.

Learning in a social constructionist world isn’t about downloading and reading files, its about collaboratively constructing them with others

The problem though is twofold:

  1. Many online learning courses are nothing more than places to download lecture notes, i.e. a files repository; and
  2. Moodle has always supported this quite happily in the past, even with the limitations given above.

If anything this is an indicator of the problem of being known as the ‘swiss army knife’ of learning technologies – people use you for all sorts of stuff that you weren’t really intended for. I for one have used Moodle as a website, conference hub, community space and research hub – and many of these require good file management features which Moodle has been able to do well enough to meet the need – for better or worse.

The solution

The solution coming in Moodle 2.0 in layman’s terms – and please if there’s anyone from HQ reading then please correct me is to remove the concept of a bucket of files which resides within each course, and replace it with a file repository which controls access to files based on the resource/activity to which it is connected. Your ability to access the file is based on your access to the resource/activity.

To illustrate this in pictures, in Moodle 1.9 we access files like this:

Accessing files in 1.9
Accessing files in 1.9

Whereas in 2.0 it looks more like this:

File access in Moodle 2.0
Accessing files in Moodle 2.0

The good thing about this model is that it solves the two problems I listed, and apparently a whole bunch of other ones. Files can be shared across courses, and opening a file up to access via (say) a ‘Link to a file’ resource doesn’t open up everything else in the course files area, because there is no course files area – there are simply files which are being accessed by some resource/activity within the course.

So what’s the problem then?

Well firstly its worth mentioning how you get files into Moodle in 2.0 now that there is no course files area, which usually needs to be done as you are adding your resource/activity. You could always do this in Moodle 1.9 (i.e. add as you go), but in the past you could also construct a neat files area with all your folders, and once you did that then start to link to your files. This was something I would always mention in my training sessions as to me it was important that if you were going to store lots of files you should try and organise them in some way – just like I do on my laptop’s hard drive. *Cough*.

Now there is no link to a ‘Files’ area in the course admin block, so Moodle 1.9 users new to Moodle 2.0 are left scratching their heads about how they are meant to manage files.

Of course you can upload files, but they are stored in a hierarchy which is perfectly logical from a design perspective, and perfectly ugly from a user perspective who is looking to access a file they’ve already uploaded, namely because the file structure looks like this when a user enters their System Files on the File Picker:

If you didn’t notice, the hierarchy (quite logically) to get to a file is:

Category>Course>Resource>[[Something Called Page Content]]>File

which like I said, makes sense, but if I’ve forgotten which resource I uploaded my file from then it can be onerous to track down the right file. Also, the more resources I’ve got, the more difficult it is to find my way through the maze of Moodle-created folders.

So what’s the fix?

This is the tricky bit – how to make it usable for those Moodle users who do not have an external file repository with all the bells and whistles. I understand that Moodle isn’t a file repository, but I also believe that a big part of Moodle’s beauty is that it works straight out of the box without having to say ‘oh, no, it can only do that if you plug it in to other product x’.

To be fair, there are plenty of things 1.9 couldn’t do, like proper LCMS functions and videoconferencing which people were cool with having to plug into other systems for, but managing files is such a basic thing (for better or worse) for many elearning practitioners that this is something worth sorting.

I think/hope the fix won’t be too difficult, combined with some re-education of 1.9 users. I can see a couple of ways out of it which don’t compromise the current situation, namely:

  1. Provide a search feature, which will at least let me search files which I have access to as a teacher by virtue of being enrolled in a course which has a link to a file. This already exists in things like the Flickr repository connection, so I can’t see why it couldn’t be done in the Server Files area; and/or
  2. Allowing metadata tags to be stored against a file, which could then be clicked or searched, again based on my access to the files as determined above.

I think one or both of these will allow the best bits of the new file management architecture to stay, while allowing users to manage files a little better, but hopefully without putting too much focus on file management.

So what about right now?

As it happens I think I’ve worked out a neat work around for now, which will get past the problems faced by adding content directly through a resource/activity – I hope this doesn’t give the guys at HQ a heart attack for suggesting it, but its all I can think of right now and it seems fair…

I also should have shown that you can hide the original folder after you’ve created it, meaning you’ve got the underlying structure even if student’s can’t see it, but I forgot, and its hometime ๐Ÿ™‚

Summing up

I think the internal Server Files area is closer to being usable than I did when I first used it, and even just knowing the work around above makes me far more comfortable that I can actually structure some files. For those who would like to vote for the tracker changes, the link for a search function is here – I think it would be worthwhile, get on and vote for it if you do to.

Hope this somewhat lengthy post has been useful.

25 comments on “Moodle 2.0 file management

  1. Hey Mark, I’m really glad this usability issue was highlighted by the session yesterday. I’ve been thinking about it since. Even though ‘Private files’ is really the main place for a user’s collection of generic stuff, I totally agree ‘Server Files’ needs a search (even though it will be very CPU-intensive) and I’ve got some other ideas we can do too. I’m creating a new issue in the tracker with sub-tasks to discuss them all, should be up later tonight.

  2. Hi Mark,
    Great summary. Whilst we are hoping to implement Alfresco as part of our move to 2.0, some sort of search is going to make the browsing of server files more manageable.

  3. Great article Mark, and excellent workshop. The discussion in the workshop was certainly interesting and I’ve put a little thought into a part of a possible solution, let me know your thoughts before I look at adding it to the tracker:

    To ease existing users into M2.0, always have the file picker open in “Server Files tab -> Course level” of the hierarchy, rather than starting from the top. This is also likely to be more convenient, based on the assumption that an existing file is more likely to be in that area than anywhere else. Or maybe make this an option in the site admin (or even user preference?) settings.

    Search and meta tags are useful options, however a search function (however good) is no substitute for good interface design. 2 Different things which are both important.

    Cheers, Rob

  4. @Martin Dougiamas
    Hey Martin,

    Thanks for taking the feedback on board – when the time is right Iโ€™ll see if I can get some of the same folks who were in the workshop to have a play on and share some thoughts on the new functions.

    Any concerns with the workaround? Seems feasible as an alternative from a functional viewpoint.



  5. @Rob D
    Hey Rob,

    Sounds like a good idea to me – provided the hyperlinks are shown so you can navigate up and to another course. Would certainly make things easier to find, and an even better option would be to have this as a personal profile field as to whether it starts at a course or site view of files.

    I’d grab a couple of screenshots and post in the tracker – let me know when you do and I’ll vote for it for sure.

    Thanks for the ideas!


  6. Hi Mark,

    Thanks for this post, and again for the workshop.

    One question that didn’t get asked during the discussion about file storage is what happens as we continue through time, building more courses. This might be implicit in your post above, but the question a few of us had on the day was: [for those of us who don’t use external file repositories] if I upload a file attached to an activity/resource/etc in Course 1, and then create Course 2, do I need to remember that I first uploaded that file in Course 1? What does this mean for resources likely to be reused across multiple courses – by the time I get to Course 13, do I still need to remember I uploaded the file back in Course 1? What does this mean for courses built by different teachers? And so on.

  7. @Mark T
    Hi Mark,

    Good point – and in the current scenario I’d say yes, you would need to remember which course you’ve used a resource in to be able to re-use it (remember you won’t need to remember the original source, just *somewhere* that you’ve used it, to re-use the link). Of course there’s nothing to stop you from just uploading another copy of the file, but this would somewhat defeat the purpose of a shared files repository.

    By far the best place to pose these sorts of usage questions is on – best bet would be in the QA forum at

    Hope this helps, and thanks for the comments.


  8. Hi Mark,
    I’ve just posted in the moodle tracker about how lost I am without the old 1.9 “Course files” folder. I have watched your video “So what about right now?” but it does not help, as – when logged in as teacher – I cannot access the “Server files”, all I see is a “local files” folder but I cannot access that either, as I keep gettting an error message (using today’s 2.0 preview version).
    Please help!

    • Hi Joseph,

      Noticed you’ve put something in the Tracker as well, which is the best place to seek support for this sort of thing, particularly if you think something is a bug (and what you describe sounds like it is a bug to me). Keep talking through the scenarios in the Tracker and in the QA forum on and this will help the team at HQ improve this functionality – we’ll get there!


  9. Thanks for this post. I’m finding the files system (or lack of) rather frustrating myself. Yes, I understand the desire to move away from a files repository, but with how it is RIGHT NOW, teachers are not going to be able to FIND the files that they want to access from other courses, which defeats the purpose, doesn’t it?

    “I have that file on Moodle already, you can just link to that one…”
    “Cool, where is it?”
    “Wouldn’t have a clue!”


    • Hi Miriam,

      While I don’t disagree with your feelings about the current clunkiness of the Files interface, I guess I’d encourage people such as yourself who are obviously very experienced and knowledgeable members of the Moodle community to follow the great examples of people like Mary Cooch and Davo Smith in suggesting ideas for how to improve the current interface rather than just panning it. The tracker item for discussing improvements is here, get in there and suggest a way to make it usable without returning to the ‘bad old days’ of information silos in 1.9.


  10. Hi Mark,

    Tried the workaround but (as I’m sure you know by now) this method copies the files from your original folder against each individual resource. Therefore, you can’t simply go back into the original folder and update the file and have the update flow across to your subsequent resources.

    It’s a copy, not a link.

    Still looking for a satisfactory work-around… ๐Ÿ™

    • Bugga,

      There goes that one – so its still not really acting in the way I hoped it would.

      This would be another good comment to make in the Tracker about the expected vs actual behaviour – if you’re willing that is ๐Ÿ™‚

      Thanks for the post,


  11. Mark: Just checking in. How is this discussion progressing, and where are we up to?
    I note in there is huge discussion ad is defined as “closed” – I couldn’t find exactly a description of “course files” apart from martin’s essay here: ttp:// I get the feeling it’s only an interim solution.

    And the discussions eg and

    I was clear: some way to access other files uploaded to a course by other admins would be good, a “Conceptual Repository” maybe: click, access file, if it’s elsewhere in a repository it gets put into the Moodledata – if it’s already in Moodledata, have the system work it’s magic and use it.

    What is your thinking at the moment?


  12. @Derek Chirnside

    Hi Derek,

    Thanks for the comment.

    I’ve been talking this through over and over with lots of people, and I have to admit that although I was initially against it, I am now firmly in the camp that if content management features are a genuine requirement then they should be done in a separate CMS – not in Moodle.

    The problem as I see it is that trying to use an LMS for this purpose keeps coming back to the ownership of files residing within a course – wherever that course is – which is a bogus concept, no matter how you try and frame it. I think we’ve managed to become so comfortable with the problems that have been in Moodle 1.9’s file management (and other LMS file management systems I could name too I might add) for so long that its tricky to change – at least we knew all the problems before, even if we couldn’t fix them!

    As to whether the Legacy Course Files concept in Moodle will ever develop into a ‘file sync’ feature – I’m not sure. Although I can see that it would be a short term fix to the problem, it does nothing to address the deeper content management requirements that complex organisations have.

    This is not to say that Moodle *must* be used in conjunction with an LCMS like EQUELLA or Alfresco, but I just can’t see the LMS being the right place for a ‘serious’ fix to a problem that primarily relates to content management.

    Whatever the case, I look forward to getting some more brain power into this in 2011 – its going to be an exciting year ๐Ÿ™‚


  13. Thank you for taking the time to write this, Mark.

    I find the file management features of Moodle 2.0 (or lack thereof) a pain in the neck for a smooth work cycle. I strongly agree with Miriam’s comment above.

    I also find the suggestion of using a separate CMS in addition to Moodle slightly capricious, since I cannot think of any instance of Moodle that would not need basic CMS functionalities, like File Management for instance.

  14. Hi there, i would like to know how can i change one single file on a scorm course in moodle 2?
    Using the file picker i can only upload files to replace the entire course files, i can’t move them into other folders or upload one file into that specific folder.
    Can’t even find the course files on the server.
    Could you give me a help?

  15. @Ivan

    Hi Ivan,

    Just wanted to point out that Moodle *does* have File Management capabilities, they are just different from what many (me included) are used to. Users can still upload files, delete them, rename them – for me its more the underlying paradigm of how the whole thing hangs together that’s changed and caused so much pain – even if I completely agree with the reasons behind it.

    I can assure you that I’ll continue to make noise about it though, as I do agree that there has to be some improvements on how it is operating in 2.0.


  16. Mark ,
    Being new i am relatively unaffected by the 1.x legacy.
    But can you tell me if much has changed since what you wrote here or is it still valid?
    thank you

    • Hi Ralph,

      The underpinning structure I discuss above hasn’t changed, even though there are some improvements to the functionality on the way such as – mind you though that the basic premise of how 2.x files are stored will (AFAIK) remain the same.



  17. Fast forward to May 2012. mark, what workflow do you use now?

    How optimisitc are you for the new 2.3 work?


    • Hi Derek,

      Unfortunately this remains one of the unsolved puzzles of 2.0 – 2.2, however if the changes proposed for 2.3 (in particular the enhanced Files API work) deliver what they promise then I think we will be in a much happier place very soon.

      Here’s hoping!


  18. I am a 1.9 user, just experimenting with 2.4, 2.5 because the PHP upgrade on a shared server caused a lot of old code to be deprecated.

    I must say I rather hot fix my 1.9 than upgrade immediately because the new file manager is retarded. I am also a site administrator and I need to port the course files quickly between different Moodles and sync the local files on my computer with the course using FTP.

    I can’t do that now. I have to use the Moodle web interface to add and delete files 1 by 1, are you insane. The new MoodleData folder is all jibberish. I can’t run any server scripts to backup these folders. I have to login to Moodle to do that. What?

    All this because teachers don’t want their students to cheat because they stupidly put answers online. If you want shared files between course you can still do that using 1.9 file manager and just add some code to allow selected course folders to share. That way FTP still works and server side backups still work.

Comments are closed.

4 Pings/Trackbacks for "Moodle 2.0 file management"

  1. […] Much has been said about Moodle 2.0′s file management changes from 1.9, and part of the driving philosophy behind this change in focus is to allow Moodle to connect to external content management systems, with Alfresco being the first one to be shipped with Moodle (although hopefully it won’t be long before the EQUELLA integration is updated to support 2.0). […]