At present the file areas names have arbitrary form, this is leading to multiple problems:
1/ blocks that start with the same words separamted by '_' can not be identified - this could lead to data loss when uninstalling blocks
2/ modules can not store stuff outside of module context
3/ files supported only in blocks and modules, other plugins have no way to implement access control in pluginfile.php
4/ backup areas rely on complex naming schemes
This new column allows us to exactly identify the owner of each file area in any context. Hopefully this will help devs to use file api correctly.
Steps:
- add column component to files table
- redefine pathnamehash - we should use really full path "/contexid/component/filearea/itemid/path/path/filename.ext" (much easier to remember, yay!)
- reshuffle file_storage and file_browser - the problem is nobody understands the current lib/file/*, we have to place these in separate dirs (why did I not do this earlier?)
- tweak file backup annotate files code
- global search & replace to use new frankenstyle component everywhere
- make repository support draft area only again (it is much, much easier to get the security right!)
- move filemanager renderer stuff back to where it belongs (core renderer is not a place for that, sorry)
- move mod/folder stuff back to own renderer
- new files/renderer.php
- etc.
- has been marked as being related by
-
MDL-21227 convert Feedback to new files api
- Closed
-
MDL-23683 Assignment module: submission for everybody or submission/online_submission duality
- Closed
-
MDL-23074 SCORM pluginfile broken
- Closed
- will help resolve
-
MDL-22237 Design way to save and retrieve file for backup with file API
- Closed