...
- Locked & unlocked assets
- An asset can be locked or unlocked by a course author.
- Locked assets are only accessible to users with course access.
- Unlocked assets are accessible to all.
- When a course creator updates an asset during a course, the new version of the asset should be served.
- Preserve previous versions of course assets for previous course versions.
- Filename persistence
- The asset filename is preserved in the Studio view of all assets and is part of the asset's URL (
static/<filename>
) - The asset downloads to a user as the same filename it had when it was uploaded to Studio.
- Also, if an asset is XML-imported with a filepath, the same filepath is present in a course export.
- For example, a course asset with a filepath of
handouts/handout1.txt
will be downloaded by a student ashandout1.txt
. - But on course export, the asset will exist at the same filepath of
handouts/handout1.txt
.
- For example, a course asset with a filepath of
- The asset filename is preserved in the Studio view of all assets and is part of the asset's URL (
- S3 storage of assets shouldn't be forced.
- For a development instance, GridFS storage or filesystem storage of assets should still be supported.
- As a guiding principle, we should have appropriate abstractions in place whenever we rely on AWS specific components to enable others to plug in other implementations.
- Course import/export
- Export should export all assets to the course tree, no matter where the assets are stored.
- Import should store all assets to the configuring asset storage upon course import.
- A course author should be able to give out a permanent URL to a course asset.
- Irregardless of whether the course asset is locked or unlocked.
- Changing course asset URLs should not break analytics.
- For both internal edX and partner (MITx) analytics.
- A method to determine how many times each course asset has been served should still be available, even if different.
- Assets that are copyrighted or are in danger of copyright violation should be able to be marked as such.
- These marked assets should be easily searched.
- Asset metadata should support this flag.
...