Here is my attempt to document visually the new file management system. I am posting in this forum for a discussion.
I know it looks prejudice, since I believe in the need to have course-level repository right in Moodle (Legacy Course Files)
Please let me know if there are any mistakes, and share your thoughts
Moodle 2.0 offers a new method of adding files to a course site which can be called “right-in-place.” This method takes a copy of a file and associates it with content on a particular course page.
One can compare the “right-in-place” method to a Facebook approach to post pictures right on the wall (though you can upload into the album too there and link to it).
It offers easy solution and fewer clicks for the light Moodle users. Plus, it saves them storage space, since file copies are stored only once on the background.
However, imho, it makes it hard for the heavy users, since it requires keeping mental track of the location of all copies of a file to be able to update them later.
It also does not offer easy sharing of resources within one course for multiple designers.
Suggestion to maintain separate repository system is not feasible for everyone, plus it does not really save any storage space and increases workload.
I am going to post 3 possible scenarios below (link to the album, just in case)
1. “Right-in-place” files in 2.0 can be either:
- a) uploaded from a local computer
- b) copied from an existing repository, e.g. from Legacy Course Files (if enabled) or Alfresco (if available)
- c) copied from another “right-in-place” resource (File, Folder, embedded with text editor) that you have added previously
Note that you have to maintain all of the copies separately, since they are independent from each other.
Surely a lot of the files that need to be used in lots of places are things like university policies, or standard images. Therefore, they are likely to get used in lots of different courses (and unlikely to be used in lots of different resources in one course). Course-sized buckets seems a rather arbitrary choice to me.
Actually we do not have any files used site-wide, but we do have repetitive files that are used on the course level. Course-level bucket is ideal, since smaller on are unmanageable.
E.g. cousres that created resoucres (books, labels, webpages, etc) with the use css files, banner images, etc.
If you start to manage and update such referenced files on the resource level, you are pretty much doomed.
We are having a similar 'doomed item'. We upload to the repository and that copies the files. Let's say we update a file in the repository. It doesn't update the copied file so now there are 2 versions.
I have a slightl tangential question.
Firstly, I found the course buckets in 1.9 inadequate. I'm trying to avoid course files for this reason. My problem is often files that need to be in "All science courses" "All Y1 courses"
What about two other buckets: Site and Category
Each with a link-to operation. (ie change the source, change all the references)
I could live with this.
Each person has these extra items in the file picker:
SITE FILES conceptually fles owned by he site eg help files.
CATEGORY FILES files owned by the category.
- Any teacher can link to any files.
- SITE: System managers upload/change files
- CATEGORY: Category managers can upload/change files
For these kinds of files as Tim suggests they need not have the security problems with people guessing URL's etc. That's actualy OK. I'm just trying to avoid a separate system lke Tim suggests.
It does NOT help with files that may relate to the second example above "All Y1 courses" which could be scattered over lots of categories.
Just a thought
How can an admin access a user's files in My Private Files in order to place/distribute those resources in a course site?
Why would I want to do this? We are providing assistance to our faculty during the transition from Bb to Moodle; instructional technologists will help "rebuild" each course, by request, for faculty.
So, if an admin compresses a directory of resources to be used in "Teacher A's" site, then uploads/unzips the archive in My Private Files, they are only accessible by the admin who did it... not Teacher A. The opposite is true, as well - if Teacher A uploads/unzips to MPF, the admin cannot help with placing those resources in the site.
We can't be the only institution faced with this problem. This extends, as others have said, into troubleshooting, general assistance, and so on.
So, how can I and my team of Instructional Technologists efficiently rebuild several hundred course sites in Moodle, yet allow the faculty to "own" the resources we're working with (i.e. how can they show up in the teacher's MPF area)?
Of course, I could login as the user and work from there. Or, I could add everything as site-files.
The first is not an option (to ask for their passwords and login as the user). The second defeats the purpose and utility of the My Private Files.... it would seem (if anyone ever "fixes" MPF to work as it should).
With no other option, it appears I have to upload files individually as site files.
On the other hand, since My Private Files does make multiple copies at the site level (but not on the server... ?), does that mean that I can use My Private Files (mine, as the admin), add the resources accordingly to a user's site (each week, for example), then DELETE the directory (parent and child folders) from MY My Private Files and have them REMAIN INTACT in the user's site?
As confusing as this sounds, it seems that's how the "behind the scenes" folks keep describing the functionality of MPF. That is, changing a file in MPF does NOT affect the multiple copies of the resource anywhere else (they must be changed individually).
Given that, deleting the original file from My Private Files (or complete folders full of files) should follow the same "rule" with regard to the one change NOT affecting other instances of the file dispersed throughout a site. Right?
If so, I’ve found my solution. Has anyone else tried this approach?
BTW - in another forum, the response from a Moodle team member (who will remain nameless) to a user seeking simple assistance was quite sarcastic and belittling, in my humble opinion. Like so many others who've posted, the question dealt with the confusion of the new repositories. C'mon - don't take it personally, we have legitimate concerns and they need to be heard. Being rude and disparaging the poster is not professional, and certainly not appreciated.
There ought to be a centralized FAQ page somewhere - with straightforward answers to common questions/concerns.
Hi there. I'm sorry you found a Moodle "team" member was sarcastic and belittling - I don't know the forum post you mean and I am not sure what you mean by "team" member unless you mean a developer but please be assured that most forum posters are like you, looking for solutions to make Moodle 2.0 file management best work with their needs and you are entitled to helpful replies. I don't know if mine is helpful as I am not knowledgeable on migration from BB to Moodle but just a couple of things struck me in your post:
* you don't need to ask for users' passwords to log in as them. Admins automatically have the ability to "log in as" another user by clicking on their profile and clicking the "log in as" link in the settings block down the side. You never need know their password - on the other hand, one could argue about privacy issues with logging in as others anyway (the ability to see any private messages for instance; should you choose to do so) but anyway you do have the ability without needing their personal details.
* I am not quite sure why you need to upload to private files and then add to the course? Why can you not just add straight into a course? If you don't want users to see them yet then upload them as a folder (add a resource>folder) and hide it with the eye. Tutors can then access the resources from the folder and put them elsewhere in the course if they wish.
There is a REpositories FAQ but it still needs a lot of work doing to it http://docs.moodle.org/20/en/Repositories_FAQ
And, talking about use of the outside repository…
In case you decide to use the outside system for file storage, and not Legacy Course Files:
- a) You have to set up and maintain a completely separate system (resources, cost)
- b) Designers will have to login to that system first to upload their files
- c) You, as an admin, need to set up folders and access permissions on the course-by-course basis in the outside system separately from Moodle. (It is very often that cousres have multiple designers, so they need one storage area)
- d) If your users will Copy files, then you are storing files twice: once in the repository, second in Moodle.
- e) If you allow external linking, and your users Link to files, then they either have to make all the files in the outside repository public,or they have to login to that repository and set up access permissions there as well. Otherwise students will not see the files.
Please note that not all repositories allow linking to files stored there.
2.0 repositories and their behavior:
Note: I do not have everything in front of me at his second, so there are some empty ones.
And just in case, since I have it:
From this last chart you can see that it is not possible to link to a folder located somewhere else via the Moodle File Picker.
1.9 Directory is gone, and 2.0 Folder resource is a new species. You can only copy files into it.
A workaround for the outside repository:
Go there, and create a folder with files. Set correct/matching Moodle access permissions. Copy URL of that folder. Go back to Moodle, and select Add a Resource > URL, and paste the link there that way.
Excellent series of posts - hopefully they get put to good use in Moodle Docs by HQ
My only comments are...
c) I'd argue that you wouldn't want to be setting up permissions on a course-by-course basis, since the alignment of one course to one content area is (to me) the reason that pouring loads of development work into Legacy Course Files. Instead, I'd be saying that you set up your content management structures in the LCMS to reflect the content ownership structures in your school/uni/whatever, which *may* be more aligned exactly with your courses, and will hopefully be simpler, since in many cases one faculty (for example) will be offering many courses, not the other way around. This was the whole point of my final Inconvenient Truth post.
e) This is the clincher for me, and I'm waiting to try out an integrated Alfresco repository to see if I can have content in Alfresco which is private from the outside world, but by virtue of the fact that an authorised user (teacher) has linked to it from a course then students can access it via Moodle. In other words, to the 'general public' the repository content is closed, but if you're coming in via your Moodle course then its open. This is how the Moodle 1.9/EQUELLA integration works, and it works well - if the Repository API doesn't support this kind of access then I need to do some serious rethinking...
Thanks again for the awesome posts, I hope you get some good feedback to them.
That's the issue We very-very often have instructors and designers who work on multiple courses together, and we are a regular academic institution. I had been working in other universities before - exactly the same scenario.
Same is true for the non-academic business users.
It is almost never one instructor who has "his" files. They are not his, they are course files, since others need access to those to either maintain or at least troubleshoot (instructional designers, support personnel, etc).
It is different in K-12 (school), that's for sure! ;)
But at the university/business level I see that the work is divided. Faculty teach. Designers develop. Support troubleshoots.
Correct, linking not to a file, but to a "ticket", aka masked url that one cannot guess, is the best.
But, this is not how Moodle File Picker works so far. I do not see that. Let's imagine that it will work with Alfresco, but this is only because alfresco can allow for that, correct? People with other repositories will be out of luck. And again you still need to maintain 2 systems Not everyone have resources or expertise for this.
Talking about equella - it is expensive. Not everyone can be contributors there. Which again kills the purpose, there is no easy file management.
Hi Mark sorry to bump this topic so late...
e) This is exactly how the edu-sharing System works. As a teacher you can uplaod and manage your stuff using a "virtual desktop". As long as you dont attach a "permissive" license such as CC or you dont "invide" other users or groups to your content - all of your files will remain private. You can then add your files to moodle as a ressource in your course (you can also upload files to the repository while assembling your course in moodle if you prefer that course of work).
The "link" between the learning content and the student is the tutor. The system uses 2 verifications to determine whether content will be displayed. First when assembling your course the system determines whether the teacher has the permission to link the item to a course (as opposed to the right to "just have a look at sth" by a fellow teacher). If a student clicks on a link the system checks whether that student is enrolled in the course containing the object and whether there really is an "approved" link to the object. If both conditions are met the file will be deliverd to the student (and rendered depending on the content type).
Oh and I forgot - its all Open Source
Mark, you said a while back:
This is the clincher for me, and I'm waiting to try out an integrated Alfresco repository to see if I can have content in Alfresco which is private from the outside world, but by virtue of the fact that an authorised user (teacher) has linked to it from a course then students can access it via Moodle. In other words, to the 'general public' the repository content is closed, but if you're coming in via your Moodle course then its open. This is how the Moodle 1.9/EQUELLA integration works, and it works well - if the Repository API doesn't support this kind of access then I need to do some serious rethinking...
How are you doing? Have you acheived this?
a) When I talk about costs, I also include increased support and workload
d) Sorry, I am not sure what you suggest here.
e) Access needs to be configured for each course individually every semester. It is not a one-time deal.
Based on my testing, GoogleDocs cannot be linked from the File Picker in Moodle. Only copied, which kills the purpose.
I am a bit lost in the rest of your comments. May be you can elaborate? ;)
A bug in the tracker has also been posted regarding the add a resource> file option - where there are UI features that allow the user to upload more than one file or create a folder, yet only one file (and never the full contents of a folder) are displayed from the multiple files listed. This is a bug.
If the intent is to only have one file linked, then the options for adding multiple files or creating a folder and adding multiple files to the folder should be removed from the UI for this "add a resource>file" tool.
Tracker is: MDL-21831
Sorry, but possibility to create sub-folders and upload multiple files into just one File Resource cannot be considered a bug at the moment due to how Moodle 2.0 works.
This option is needed if you have a "website", aka collection of files that reference each other.
E.g. you have an html page which is associated with css, images, and linked to a bunch of other html pages.
To upload such thing into 2.0, one can:
a) put them into Legacy Course Files or some outside repository, and the do Add a Resource > URL
b) use Add a Recourse > File resource, upload all "connected" files and folders there into one reource, and then set index.html, for example, to be a main file.
Thanks for the tracker feedback, Elena! I appreciate this.
Tim - I disagree with closing the ticket - it is a UI issue, not clearly defined for users in the interface, and I ask that it be looked at prior to closing. Or at the minimum, this should go into the documentation for Add a resource > File in 2.x.
Thanks for your hard work in trying to make clear how repositories work (+1 to your content going to Moodle Docs) and trying to convince the developers to advance them in an usable way.
I REALLY dislike the way repositories are implemented in 2.0. You tried during 2.0 development as hard as you try now to convince developers of the practical/usability problems of the new system (uploading files directly to a folder ready to use inside Moodle, automatic update of files...) but they only seem to see the "technical" advantages of the system. They seem to watch us from their ivory tower thinking "poor people, they are not using a proper document management system... let's force them to get one (Alfresco) if they want to get things done... for their own good, of course".
Don't misunderstood me: I thank the developers for it's hard work, and I love Moodle 1.9.x with its flaws (it seems that I REALLY love some of its flaws, like "course files"). I understand the technical advantages of the new system, but they should not burden Moodle admins and, even less, Moodle users. Repositories are the main change from Moodle 1.9.x to Moodle 2.0, so Moodle 2.0 shouldn't have been launched without a well-rounded repository system, but I feel like I'm using a beta. Ease of use is one of the main selling point of Moodle 1.9. I use and recommend Moodle for it in a great degree. It is not very smart, from a marketing perspective, to dynamite one of your strongest "brand associations".
I don't see the developers too much interested in advance this critical point as users are. There is little developers participation in this forum (yes, Tim, I know you are here, you are our last hope, it seems...). Hope I'm proved wrong and 2.0.x or 2.1 or ... give us great usability improvements in this area.
Rant over. I'll try to be more constructive in my next posts.
Thanks again, Elena. Don't give up
Alejo - I read this thread and it reminded me that when some of the talk about the new file repository system started there seemed to be a conscious desire to avoid building a single Moodle file repository system. Instead, Moodle wanted to be able to work with a variety of other file repositories and let those systems do what they do best. Part of the thinking is to avoid "feature creep" and to allow the Moodle developers to remain focused on the work of being a course management system. Mark makes this point more eloquently in his Moodle 2.0 files - an Inconvenient Truth post. It is always a tight rope and balancing act. I am hopeful that as the practical needs of folks continues to express itself - as it has begun to happen here - that real solutions will be found to help better deal with those situation. Please continue to create feature requests in the tracker for the needed functionality and vote on those issues. Peace - Anthony
For me it is not about having a full file management system implemented in moodle - it is about copying every document to every place, where it is used in moodle, instead of having one original file (wherever it is stored), that is accessable from within different courses by a link.
An additional file management system was not necessary for us with moodle<2.0 and I guess, it shouldnt be necessary in moodle>2.0 for us.
What I need in moodle is
- a simple way to establish links to documents and to activities in a moodle-course, of which I'm the owner (at the moment this is not comfortable to achieve, but works with help of the browsers features)
- allow students/members of course A to access a certain document stored (or certain activity available) in course B via a link from course A (allthough he/she is not member of course B). Since he/she is allowed to access the link in course A, he/she should be allowed to access the target of the link in course B
(at the moment, I know no way to achieve this in an acceptable way in moodle2.0 - we achieved it in previous moodle with meta-courses)
Happiness - Thomas
Dear all, I just installed my Moodle 2.03 Test-Server to explore things before I migrate our 1.9.12 production server.
The new repository system is a killer for Moodle 2. I am only looking at it from a system administrator's point of view:
- in 1.9 you have not only course files, you have also FILE-NAMES and everything lying plain on the server's file system, neatly separated
- this IS A GREAT advantage if you have to restore single files the users lost or changed erroneusly
- besides automated Moodle course backups I make a nightly backup to tapes of the whole server, so I not only can recover the database-dump but also single Moodle course backup files and every single file uploaded by teachers and students
- THIS GRANULARITY is very very handy and users can tell you their course id and the file-name and you can easyly retrieve the missed file from tape
- in 2.x everything gets hashed and stored in a way that is far beyond the teachers and students experience of files and folders containing files, so that you need the database table to lookup all those file ids. This means you have extra work to do if you want to retrieve a file from tape. On the other side I do not see any real gain worth that extra work. Even the criterion to upload files only once and to reference them instead of copying them into the course-folder becomes very very weak: users have x copies of their files spread over different hard disks, file server volumes, memory sticks, on web-space, but at least they know it is a copy and a real file and not an abstract entity like a link/reference or a diff-file which makes it difficult to track slight differences in the content of the files. Of course a CVS or document management system would be the best solution, but again, Moodle is an LMS and not a full featured document management system nor repository. Hence we have to find the best solution/compromise from the system administrator's and the user's point of view. And disk space has so dramatically grown over the last years that it has become worthless fighting against all those multiple copies of files, unless you could offer the teachers and students a one point overall repository, full featured, accessible and available from everywhere at anytime and where users can define their own access-permissions if they want to share their repository with other users, e.g. by web.
- the overall UI and user experience is not so easy to understand, especially for teachers who often have to upload a new version of their files. If they upload a new version with the same filename it gets stored in the repository - BUT IF I AM NOT MISTAKEN - all the references made to this file have to be renewed also, to make the new version available in the different courses - AWFUL. And if several people work together in similar courses where they upload/reference the same files there will be a great mess, as soon as they need to keep different versions of one and the same file(name). So if they upload and replace a file in the repository nobody will ever know wich version is referenced/active in which course. I think the idea of a repository with all its implications from Access-Permissions to referencing/linking is far beyond the simple purpose of uploading files on a per course bases.
Please correct my thoughts if I didn't understand the details.
Is there a means to make Moodle 2 behave like 1.9, with plain file and folder names in the course directories?
- If you are a developer or system administrator then its absolutely correct – as each file is only stored in the database once, and if a duplicate is uploaded then Moodle simply adds another pointer to that file from the resource, which can be in another course to the one which originally uploaded the file.
- If you are an end user, and this is the critical bit, you never know about this linking function, because at the user level you are only ever copying files from resource to resource, and so from your perspective you are keeping multiple copies of a file all over the place!
Technically speaking this is not correct, as the files are still STORED in the server's file-system and only referenced in the table mdl_files:
moodle:/moodleroot2/data # ls -lt
drwxrwsrwx 2 wwwrun www 4096 Jul 13 12:29 sessions
drwxrwsrwx 9 wwwrun www 4096 Jul 11 16:34 filedir
drwxrwsrwx 6 wwwrun www 4096 Jul 8 15:18 cache
drwxrwsrwx 5 wwwrun www 4096 Jul 4 12:27 temp
drwxrwsrwx 6 wwwrun www 4096 Jun 30 17:50 lang
drwxrwsrwx 2 wwwrun www 4096 Jun 29 15:46 trashdir
-rwxrwxr-x 1 wwwrun www 15 Mar 11 2008 .htaccess
moodle:/moodleroot2/data # cd filedir/
moodle:/moodleroot2/data/filedir # ls -lt
drwxrwsrwx 3 wwwrun www 4096 Jul 11 16:34 45
drwxrwsrwx 3 wwwrun www 4096 Jul 11 16:25 f9
drwxrwsrwx 3 wwwrun www 4096 Jul 11 15:32 fa
drwxrwsrwx 3 wwwrun www 4096 Jul 11 15:30 79
drwxrwsrwx 3 wwwrun www 4096 Jul 11 15:28 6e
drwxrwsrwx 3 wwwrun www 4096 Jul 4 12:27 da
drwxrwsrwx 3 wwwrun www 4096 Jul 4 12:27 e9
-rw-rw-rw- 1 wwwrun www 168 Jun 29 15:46 warning.txt
moodle:/moodleroot2/data/filedir # cd 45/
moodle:/moodleroot2/data/filedir/45 # ls -lt
drwxrwsrwx 2 wwwrun www 4096 Jul 11 16:34 3b
moodle:/moodleroot2/data/filedir/45 # cd 3b/
moodle:/moodleroot2/data/filedir/45/3b # ls -lt
-rw-rw-rw- 1 wwwrun www 6690955 Jul 11 16:34 453b5c84bce4552e60d52036192f5477c37be5e3
And if files have to be copied this is because the same file with the same filename could have different content in different courses where it is referenced. This will definitely confuse the normal user, besides the whole restoring question.
When you says that "in 2.x everything gets hashed and stored in a way that is far beyond the teachers and students experience of files and folders containing files, so that you need the database table to lookup all those file ids. This means you have extra work to do if you want to retrieve a file from tape."
I quite agee with you, but in my opinion it doesn't means that the new filesystem is bad but it certainly demonstrate that it is in an unfinished state :
We need tools, both administrators tools (and to me, Tim's "see/change a file in all places it is used" script is a wonderfull administrator tool even if it's against the '"Moodle rules") and users tools because as you said currently the filesystem is more difficult to use in 2.0/2.1 than it was in 1.9.
Do administrators and users know how files are "really" stored on their hard disks ? No, but they don't need to, because their OS (and other vendors) offers tools to do all they want to do with these files.
Sadly the Moodle 2.0/2.1 filesystem miss all these features
So rather than wanting to go back to the old filesystem (I am quite sure this battle is already lost) we must post issues in the tracker saying what we want to be able to do in the new filesystem both as an administrator POV and from and user POV (for instance for an administrator it is unacceptable to have to look in the mdl_files table to find the path to a given file, we need a tool for that anybody having administered a real Moodle site should know that !)
But I am quite confident for the administrators tools because even if the "moodle authorities" don't want to listen to us there are enought talented independant Mooodle developers ouside moodle.com to write them and the local folder is here ready to host them
This is where open source is really a win. Think if we were using a proprietary LMS with such a change, we would not be able to add the missing tools ourself.
you are absolutely right: "I am quite sure this battle is already lost", it is, for sure.
The idea of better controlling permissions on uploaded files, and all the innovations the repository system offers, is no question to further discussion.
But HOW this was technically solved, is quite worth the whole discussion taking place here.
a) a plain directory system where files and courses are clearly correlated without having to use extra tools or lookup tables in a database IS AN INVALUABLE advantage for system administrators
b) it is no question if you have to build up your server from scratch after a big big failure
c) I am administering Moodle since 2004 and NEVER had a total server loss
d) but in those years I migrated the whole Moodle-Server across 4 Hardware-Plattforms and it took me only a couple of hours to copy the whole data-disk. All the rest was to import the database dump and setting up the new server's OS, Apache, mySQL, PHP and Moodle came up running as if nothing had happened. And I had to change the data-disk several times to offer more space. This also can be achieved in a very transparent way: mount both disks, copy everything to the new disk, dismount old disk (but keep it another 6 months, just in case you need to fetch some files from there), change disk-path in Moodle's config.php. Moodle still IS a GREAT GREAT server and I would not want to change it, still from an admin's POV.
e) I never had a total loss BUT I HAVE LOTS of teacher incidents, missing this or that file, whole course is messed up (because they imported MS-Word-HTML), missing whole course, etc. etc. And my life was VERY VERY easy with 1.9 file system, no tables, no extra tools
f) imagine your system partially down, e.g. your mySQL-Database is down or corrupted. IN THIS CASE there is no tool, no Moodle tool, helping. This is the point of no return where you have to restore the whole system from tape. A partial recovery is not possible any more. But it was possible with 1.9 structures: you can recover the database dump, leaving the data-directory intact. Or the opposite, recover the whole or only parts of the data-directory, leaving the database as it is. In either case, missing a file or a whole course could be repaired by simply recovering the needed files from tape.
g) if I am not mistaken, if an uploaded file is not referenced any more, those files get deleted after a certain period of time. I am not sure if this is true for the referenced copies or if it is true also for uploaded files in the repository. Anyway dayly business shows us that user incidents are REAL. And they miss something when it is lost, either through automatic deletion, either because they deleted it themselves, however. BUT IT IS OUR job to give them back the data they miss. And if this can be done without extra tools, without lookup in the database, our admin life is the much simpler and easier.
h) in that perspective any extra tool that might help us is only a fix for something that worked without fix and without tool before. In other words, even sticking to the advantages of the 2 file system, everything should be done to keep things simple. The file system of an OS is a very simple database. No need to put another database on top of it. Even with simple file system structures, metadata and access permissions, resource-references, etc. etc. can be maintained in a database table. And what is the gain if an uploaded file is no more part of a course, but of a resource, only to be able to reference it more than once. Multiple reference IS A PROBLEM, even a button to UPDATE ALL REFERENCES will probably cause more harm than benefit, especially when teachers work in teams on different courses sharing one and the same file(name) and file-areas. Who will help them to keep track of the different versions they upload and the courses/resources where they want to keep one version rather than the new one. So I would have to teach them a fix again: NEVER UPLOAD a file with the same name! Change the name like that file01.pdf, file02.pdf so as to be sure you can reference the correct version in any course/resource, otherwise you will certainly loose track. And I would have to tell them also: NEVER USE THE UPDATE ALL REFERENCES button, unless you are the only teacher of your courses and you know well what you are doing.
I posted here months ago and rec'd a life-saving response from Elena. I'm still eternally grateful
I have a specific issue that illustrates "g" in Rosario's post; these issues ARE REAL. I am a very experienced and confident Moodle user (course developer). I have built an 8 course site in 2.0 and (with Elena's tip) have managed to overcome the difficulties of the file repository. However, there is one file that I uploaded, changed my mind about linking to it at that moment, and linked to another image. A few minutes later I went back to link to that image (on a new page) and it wasn't in the "list" (recent files or any other list). So, I uploaded it again...only to get an error message that the file name was already in use.
I waited one month. I tried to upload that same image. Again, the error message that the file name is in use. Whatever functionality "deletes unused files" after a few days didn't work. The file isn't in any repository list, yet it is there. WHERE?
It is insane to me to think that files are on the server, and with site Admin access, I still can't find them. It's bad enough to be unable to delete, move, or rename them, but to not even be able to link to them?
I worked around it. But I can see where a teacher or other contributor who has to have that content uploaded immediately, would be calling Rosario in a panic.
Everything else I've see with 2.x is really great, which makes the file repository even more frustrating. Penny
Penny, as far as I know, Moodle 2 lets you upload files with the same filename over and over again, because internally they get automatically other IDs/hash codes. And that's where it becomes messy also for the Teachers and possibly also for Students, if they have the same repository system (I didn't check). But I wonder if in the repositories the files are represented with other file names, so that you can see it, or if in the repository the file is really replaced with your new upload. This could well be. But if you referenced your file in a course (resource) then your first uploaded file was copied internally by Moodle and hashed down on the OS file directory system and gets references and meta-data in the database, lets say this file is fixed and really there, even if you could delete it from the repository, it will stay there - which from a certain point of view makes sense: from a point of view of consistency. And that's why, probably, now you can not see your first uploaded file any more: in the repository it was replaced by a new file with the same name and possibly new content. But your first upload is present like a ghost in the database and on the OS file-System. And that's why you should now RELINK all your references in courses/resources to this new file, making the original copy obsolete/orphaned.
In other words, a repository seems only to be sort of a fata morgana of what you upload, and hence far away from a normal user experience. In fact they are seeing a container full of objects that may be referenced somewhere in the courses/resources or may not. If they are referenced/linked, then a copy of the file goes hashed to the file-system and will be referenced with metadata in the database.
Even if you remove this file from the repository, the internal reference or even references and copies will stay there to insure data-consistency.
And the teachers would have to go into the courses/references to REMOVE the actual copies from the OS-file-system and from the database. If all references to a copy of an uploaded file are deleted this way, the copy on the OS file system gets orphaned and that's where Moodle says it will remove them automatically after a certain period of time. Hope so, otherwise our data-disk will get full of trash in a few weeks.
On the other hand, deleting a file out of the course-file-area in 1.9 meant the teacher knew that he was going to remove or replace THAT ONE file, not a copy, nothing but this file. And doing so he was sure he would only lose his references/links to it because when clicking on them he or the students would get an error saying that the desired file could not be found any more.
Now, far from this simple user experience, we have to go the other way round. The files in the repository DO NOT MEAN anything. They can be deleted, they can be replaced, everything you want, without affecting Moodle's courses/resources/etc. where you reference/link to these files. As soon as you link/reference them, copies are made to maintain data-consistency indipendently of the state of the repsitory. I understand that, no problem for me. But think about teachers working in teams as I said, working in DIFFERENT teams on DIFFERENT Moodle courses/resources... but dealing all together with different files with the same file-name (but different content), different courses/resources where they linked-in a copy of the original file, or the opposite, different file-names (different content) but having links in different courses/resources where they want to relink to the new content, but NOT ALL AT THE SAME TIME, because one of the teachers would like to maintain the original link and hence copy of the originally uploaded file, but possibly already deleted from the repository by a teacher of the team "thinking that every link/reference was going to be changed now, but he forgot that his colleague referenced the old file in another course/resource he did not know of..." you know all these stories. Again, from a point of view of data consistency, THIS MAKES SENSE, as nobody will be able to change the content referenced (and copied to the OS file-system) unless you RElink to another content/file.
To see what you are referencing in your course/resource you MUST go into the course/resource and verify THE CONTENT. Only if you know the content, you can decide whether to RElink to what you have just uploaded or if the original file you uploaded was deleted from the repository or worse, replaced without being RElinked or being deleted also from the course/resource where you linked it originally.
Please correct me if I misinterpreted the Moodle Docs concerning the new file system.
Ideally, what I would like to do is to allow each "Teacher" to have a single repository they can use, upload to, access via the file picker, download from, from inside Moodle. My current employer would not like that source to be off site, i.e. off their servers, so it has to be either a course repository, messy, or a site repository, which can also be messy.
What has occurred to me is a separate repository, created and maintained and used by the "teacher" on the local server, accessible only by the "teacher" as a repository, but I am not too sure how I can achieve that. Do I need some additional software. another PHP app on my server, that Moodle can use? A Flickr type program?
What I would really like is to just have links from Moodle to these on server, or local machine if you like, repositories to minimize the actual files stored in the moodledata folder.
Is this possible?
As I wrote in this thread or elsewhere, for teams of teachers it would be fine to link a repsitory to e.g. a file server share on a windows or linux server where they have common access rights. Our school will never allow to outsource server-share-files to webspaces or other providers/repositories. This would kill our IT infrastructure. I do not know if such a windows-share in our case could be mounted as WEBDAV Repository. But in Moodle you should be able to mount it only for specified teams of teachers, because our teams of teachers have, depending on their University, different windows-shares.
Have recently been tinkering with Alfresco and WebDAV repositories and so have updated Elena's repository behaviour chart to include these.
A couple of notes which may be relevant.
1. The WebDAV repository interface *may* (i.e. I have not yet tried it!) be a way to connect to Moodle 2.x to SharePoint as a repository. For example, see the first part (Step 1) of this Microsoft Education Labs white paper on how to set up a SharePoint document Library with a WebDAV interface.
2. In general, repositories with a WebDAV interface (e.g. SharePoint, Alfresco) may simplify things for users. A folder or drive in the user's desktop/file-system can be mapped to the WebDAV repository. Then users can add/edit files in this folder and they will be immediately available to Moodle via the repository interface, file-picker etc. i.e. users don't (necessarily) need to directly use SharePoint or Alfresco at all.
Neither of the above are complete solutions (still need to set up the external repository or repositories, set access permissions etc), but I hope they offer 'steps in the right direction'.
Here, you present the 'Outside repository' as somewhere that users upload files simply as a mechanism for getting them into Moodle. I don't think that is the common case in institutions that are big enough to have an institutional document management system.
If is much more likely that the document management system is where copies of all the institutions assets should be stored and versionned, so everyone always knows where to go to find the latest version.
So, people will have to put there files there anyway, and then it is just a convenience to be able to pull them straight into Moodle from there.
This is not what my experience shows
We are pretty big, but we do not just one document management system that fits everyone; and as far as I am aware, we will not get one any time soon.
We do have several central solutions available, but various colleges, coordinate campuses, departments, and individual users use their own methods.
We cannot connect to all of those :/
And still, one has to go outside to upload, set access permissions if you link, and store twice if copy.
"I[t] is much more likely that the document management system is where copies of all the institutions assets should be stored and versionned, so everyone always knows where to go to find the latest version."
I don't know if I'm out of it or what, but I have never worked at a university that was using something like Dropbox to manage files. Not in the US; not in Japan. I can't even imagine such a scenario, in fact. If a university is big enough that they have web servers to run Moodle on, they're not going to pay some third-party, consumer-focused cloud storage solution to host files. It doesn't make sense. They use regular network shares, FTP, webDAV... that kind of thing for that.
I do know of one univerity that uses Gmail. One.
This is ultimately the source of my confusion about the entire repository direction. It only makes sense if individual users can access their own GoogleDocs or DropBox or whatever, and that is what I assumed was the purpose. I am not alone in that, by any means. What large institution uses these services to handle their files? I'm sure there must be some, but I cannot imagine they are very common, either in business or academia.
So, people will have to put there files there anyway, and then it is just a convenience to be able to pull them straight into Moodle from there.
"Pull" being the operative word here. Even if such a case existed, then every time a file was updated on this shared resource, every single teacher would have to click on that resource in every single course they teach and re-copy it.
I cannot figure out what the benefit of this system is supposed to be. It is designed around a usage case that I do not think is very common, and even if it existed, it would still be horrendously tedious to use.
Here's what I'm hearing from my users, and what I would like to see as well:
Teachers need to have somewhere to upload files, and then link them. This is what I originally assumed was the point of Private Files. In my own case, I teach 6 classes. Not sections of a class. Six classes. As a sane (?) individual, I try to re-use a lot of materials between those classes, so as not to die. For example, both of the literature courses feature the same activity, so I use the same training materials, which I, of course, tweak and revise each semester. It should be possible to have somewhere to upload that file and link to it from File resources in both classes. Then I just have to replace that one file each semester and everything is updated. I have a "Typing Rules" handout that I make available to all my students. Again, that should just be sitting in "Private Files" and linked from File resources.
Basically, all the issues that I hear from forum posters and my own users could be fixed by allowing resources to link to a file in Private Files (or elsewhere), rather than copy it. Since everything copies, one has to do it over and over no matter what. Uploading to a repository first is just a totally unnecessary extra step.
Where did dropbox come from? That is a public file storage service. What I was talking about was something like an installation of Alfresco or Documentum within your university. Clearnly the impression I had formed that most univeristies have such a thing was faulty.
No one is forcing you to copy your shared resources into every course if you don't want to. The way the web works is that you put something on the web once, anywhere you like, and then link to it from anywhere else using a URL. Moodle helps you do to that.
But Moodle Private files is not a good place to put something if you want it accessible to anyone other than yourself.
And, I file uploaded to a course is specifically a file that should be accessible to students in that course, and no-one else. Clearly that is not what you want either.
What exactly do you want. It appears to be a set of files, that is quite widely available, but we need to pin it down:
- Are these files that are specific and personal to you, or are these files that are collectively owned by the whole of the department you work in?
- Are these files that can be publicly available on the internet and indexed by Google; accessible to any student on any course in your institution; or strictly accessible only to students who study one of your classes?
I think that Moodle can provide places to put files that match each of those criteria, but with greater or lesser ease of setting up.
reading these posts, I guess some of us want to use moodle this way:
- upload files from within moodle to a specific storage space, let me call it "content pool"
(perhaps from one single teacher, but also by any teacher who wants to share his scripts and presentations there)
- in my lesson-course, in which my students are enrolled, I place a link to a specific file stored in the "content pool"
(would be great, if this would work without the need of the browsers function to copy a link-adress, btw.)
- students enrolled in my lesson-course shall be able to access this file via the link in the "lesson-course", I placed there
- students shall not be able to access the stored files in the content pool directly
Maybe this was not on your mind when implementing repositories. Therefore, I'd rather call it "Content Pool".
Is it possible to use repositories this way and how?
Well, that is actually more or less how it works. At least if we only want the things you say.
However, a lot of people want this:
- Replace "File 1" with "File 1, version 2" - everywhere that file 1 is used.
Now the problem is that the way that Moodle stores the links, it specifically links to "File 1" the original version. There is no easy way to replace that with anything else. If you have lots of different links to File 1, that is a big pain.
However, there are various ways that upgrading File 1 everywhere it is used could be made to work automatically, and someone really needs to implement that.
This was actually my impression of what 2.0 was hoping to accomplish when I read the docs and roadmap, and the key reason we actually haven't moved from 1.9 to 2.0 yet.
It seems like change once - update everywhere is a feature a lot of people want. As well as having a simple folder repository that allows movement/reorganisation of files without breaking links to those files. I'm not sure how difficult it is to implement both those things.
At the moment it seems like 2.0 has actually resulted in more duplication of files because files are copied into individual resource locations, rather than linked from (1.9) course files. This has an advantage because you end up with a 'point in time' snapshot of that file... unfortunately it seem (myself included) that people would prefer a single reference copy.
The question I'm still trying to figure out is whether an external dms would actually result in providing change once - update everywhere functionality (I assume yes as long as the file is linked), as well as allowing files / folders to be re-organised and still retain linking integrity. If so... perhaps the pain of installing a new system (Alfresco seems the most likely, unless someone has a working sharepoint plugin which we already use) may be worthwhile.
For us - files really are organised by courses normally, but having access to other files within the same category would be helpful, but beyond that... other files are unlikely to be shared or used by others in practice.
If so... perhaps the pain of installing a new system (Alfresco seems the most likely, unless someone has a working sharepoint plugin which we already use) may be worthwhile.
We find ourselves in much the same situation. We have an institutional SharePoint 2010 which should perhaps be the 'repository of choice'. However, integration of SharePoint and Moodle seems to have stalled with SharePoint 2007 and Moodle 1.9
We did tinker with Moodle and Alfresco a while back and, apart from the pain of running an additional Java/Tomcat stack for Alfresco, found this to be very promising (and this was before the Moodle 2.0 repository API).
So, I think we may have to 'bite the bullet' and go for Alfresco. At the moment it seems to be the only (open source) show in town.
However, a lot of people want this:
- Replace "File 1" with "File 1, version 2" - everywhere that file 1 is used.
I do not agree, see my previous post here:
Multiple reference IS A PROBLEM, even a button to UPDATE ALL REFERENCES will probably cause more harm than benefit, especially when teachers work in teams on different courses sharing one and the same file(name) and file-areas. Who will help them to keep track of the different versions they upload and the courses/resources where they want to keep one version rather than the new one. So I would have to teach them a fix again: NEVER UPLOAD a file with the same name! Change the name like that file01.pdf, file02.pdf so as to be sure you can reference the correct version in any course/resource, otherwise you will certainly loose track. And I would have to tell them also: NEVER USE THE UPDATE ALL REFERENCES button, unless you are the only teacher of your courses and you know well what you are doing.
This is reversing the causal chain: if you offer multiple reference, then of course you want to offer a button to update all references at once. But NOT offering multiple reference, because it will cause more harm and a mess where more than one teacher work together, would be the best solution, as it was in 1.9
Even the argument to connect uploaded files to resources rather than courses is vain. Because resources/forums/etc. are ALL RELATED TO A CERTAIN COURSE at a higher level. So by inheritance an uploaded file becomes part of a course-file-area as it was in 1.9
And as I said, this course-file-area was very very transparent for system admins, as it lies plain on the OS's file-system, so that you can restore every single file from tape or another Moodle installation in case you change hardware.
Thanks for doing this! We need much more clarity on what "repositories" are, what they do, and how they work. This is a much needed start.
It does not require "keeping mental track of the location of all copies of a file to be able to update them later."
Moodle knows everywhere a file is used. It is just that no one has written a plugin to make that information available to users yet.
Except that I did, last week: http://moodle.org/mod/forum/discuss.php?d=174388 (It does need more work to be considered finished.)
Yes, it would be great to have this plugin, but, Tim, when?
We all know that almost anything is possible to develop, but it does not mean that it will happen. Everyone in limited with resources that they can spent.
The main concern is not even finding files, but their maintenance.
If you use 2.0 right-in-place concept, and you have added 5 (same) banners to 5 webpages in your course, then you will need update them one-by-one. You cannot update just one file any longer.
If the cousre has multiple designers, then this becomes even more troublesome.
Quizzes with images is another story. If I would be developing those myself, I would probably cry right now
There is no way to find and centrally manage "right-in-place" image files in questions.
Those unfortunate people who developed thousands of questions with images in 1.9 will be quite surprised after the upgrade.
We will be converting Moodle upgrade logic locally, therefore all previously linked files/images will remain links to the LCF area.
I guess I believe that the efforts need to be devoted to making LCF area to work as a solid course-level Repository.
I guess I believe that the efforts need to be devoted to making LCF area to work as a solid course-level Repository.
Something needs to function that way. Whether it's LCF or Private Files, it doesn't really matter. It's just that people need to be able to maintain these things without one million clicks and page-loads.
I am just indicating an interest in the discussion here, but I am travelling tomorrow, out of internet reach. In the next few days I also have a 20 hour bus trip. I'll be back later in the week sometime.
Well done. I will be interested to see what MoodleHQ has to say. I am sure there are some quick wins we could get, without creating a wose situation. But some of the deeper issues may take some time.
Thank you very much for these posts...I am working on my first full site in 2.0 and am at my wit's end. I spent a lot of time over the past several months getting familiar with the new features but I didn't pay much attention to the file linking and uploading because I didn't think it would be an issue.
However, when I started development on a 2.0 site, my tricks and shortcuts related to file linking are not working as they have in previous versions. I've spent HOURS trying to figure out what I'm missing - where are those settings, where is that file located, how can I delete that file, etc. - but after reading your posts, I'm thinking the trouble isn't me
Can you provide some insight on whether these two issues I'm having are caused by/would be resolved by the user vs. course-level repository argument?
Issue #1. As others have said, I reuse files (mostly images) throughout a course and a site. The most common use is something like this:
Tip: If you want to reuse this image and text over and over in courses throughout your site, upload the image to the front page (course #1). That will allow you to copy this HTML snippet and reuse it any where on the site, assuming your front page is open to everyone.
In 2.0, when I copy/paste my HTML code into the resource, the link is broken. I had concluded that the image was associated with each page, rather than linking to the same image in a folder, somewhere. But I assumed there was a way to find the URL and link it directly. I just thought I couldn't figure out how...
Issue #2. I posted this in another forum earlier this week. In 1.9 I use "link to file or website" as a section link throughout the course content. I put a link to the next section at the end of each section. When the student clicks "next" (by whatever means), it goes to the weblink, which automatically goes out to the course page, at the head of the next topic. It doesn't work this way in 2.0 and again, I've been assuming I just don't have the right settings. It is not as clear to me if this is one of the issues you describe, but maybe...
I convert training content for business customers, into relatively small Moodle sites. I don't have any of the large scale issues you describe, and my clients are never going to have external repositories like Amazon S3 for their Moodle content; our hosting plans are plenty big enough in terms of storage. What you said about teachers-developers-support: Absolutely! I develop and my clients will teach. There is no overlap.
I'd appreciate any insight you have on my two issues and if you need me to sign a petition to pass your proposed option #2, I will Thanks! Penny
Thank you for posting. Such examples are the best to showcase of what really happens.
Once you have uploaded your image, you used 2.0 right-in-place upload and uploaded it directly into the Label or Page. Correct?
So, now, you will need be“creative” to make it work
Take a look at the html code of you resource, you will see that you image source says “draftfile.php”, e.g. draftfile.php/13/user/draft/833634938/
This link is not static, it is generated when you look at the code. Next time you look at code- it will be different, e.g. draftfile.php/13/user/draft/7767458346.
Thus once you copy/paste the code into another resource, it will not work anymore.
Instead you now need to a) add a resource b) in the non-editing mode hoover over the image with a mouse and copy paste that url instead, e.g. h_ttp://moodle.org/pluginfile.php/140/mod_forum/post/766556/bee_2-50.gif
Then, when you add the new snippet, make sure that you change the location of the image, so it will not be draftfile something, but pluginfile.
This is a perfect example of when storing files in the Legacy Course Files area and linking to them like in 1.9 is the best solution.
Thus, if I would have a need for this, I would enable external linking for the installation and turn on Legacy Course Files. So later I would be able to embed a linked image once, like in 1.9
I too cannot make the URL resource to work
Oh...my! I would have NEVER figured that out on my own. Hovering over the image to get the URL works - and I can't thank you enough for that trick because I have been at a standstill, wondering how not to create a nightmare for myself and my client.
Yes...I did use the "right in place". The first time I copied the HTML, I assumed I had made some error when I saw "draftfile" and "brokenfile" in the path. When I went searching Moodle docs for where the "file list" resided, I came across the thread about not being able to delete a file - or overwrite it with one of the same name - which of course was also giving me heartburn. I still didn't put it all together until you started this discussion.
Regarding Issue #2, the "next" buttons are actually a plugin developed by Davo Smith, based on my "vision". Here is the story behind them and here is the plugin page. My URL trick (Jump to the next topic) works as HTML in a side box, and from the course page itself...but from within a page, they don't open the link regardless of whether I use the "next button" or the Navigation block. I will crack this nut if it kills me I'll let you know if/when I figure it out!
Thanks, thanks, thanks for the trick...and let me know if you want me to test any other scenarios. Penny
I'm trying to explore how and if Sharepoint 2010 could work with Moodle 2.
Alex Pearce has written some great posts on this - http://www.bfcnetworks.com/integrating-sharepoint-and-moodle-but-why/comment-page-1/#comment-14669
I've asked his advice and would like other input too.
Alex said in an edugeeks forumhttp://www.edugeek.net/forums/virtual-learning-platforms/74692-moodle-2-0-sharepoint-2010-a.html#post666022 "The problem in Moodle 2 is that it changes the file name when you upload a file but it also removes the file extension and sharepoint will block any file with a blank file extension."
That would preclude files going back into Sharepoint and take down the benefit of versioning, but can users use the file picker in Moodle 2 to pull in files FROM Sharepoint?
The benefit I'd see in at least having one-way traffic is that our people won't have to output documents to an external repository before using the file picker in Moodle.
If they can, is there a security risk that the Moodle API could open every document on our SharePoint to view? Is there someway to ring-fence a portion of the SharePoint off so that only sub sites with documents related to courses would be accessible from the file picker? Perhaps by a white list in the API?
Sorry, I will not be able to help with Sharepoint, as we do not have such repository locally.
In general, yes, outside repositories present limitations, as I have outlined above in a-e
May be more users would post their Sharepoint experience in this thread, where you have already posted as well
Do you have any good news about Moodle 2 and Sharepoint 2010 integration?
I need only the one way integration (browse files stored in Sharepoint 2010 from Moodle). Moodle use Active Directory to authenticate users...
Do you have any idea?
Thanks in advance!