Overhaul the current filesystem to use content hashes
The goals of the new filesystem are:
* allow files to be stored within Mahara (as we do now).
* use a consistent and flexible approach for all file handling throughout Mahara
* track where files originally came from
* avoid redundant storage, when the same file is used twice
* fully support Unicode file names, irrespective of the capabilities of the underlying file system
Roadmap:
* Use sha-256 to calculate the content hash of files (this is because sha-1 collisions are feasible now)
* Changes to the database structure to enable use of the new file structure
* A migration/upgrade script to facilitate moving from the old file structure to the new one
* Backwards compatibility with the old file structure for plugins that are yet to be updated (potentially)
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Marcus Boon
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by