Based on the work done in MDL-68360, provide an API supporting course upload.
Work here includes:
- Introduce a hook, allowing plugins to return an array of handlers (file_extension_handler objects only initially, but mustn't be strict on type
- Provide a method to get all handler objects for a given file_provider type object. This will need to query the hooks for all plugins and return the relevant handler objects. Relevant here means that for a file_provider, return those objects which are file_extension_handler type objects only, as these are all we support right now.
- Provide a means to process an upload which must be given a file_provider and a modules's processor classname (from the file_extension_handler) and return the cmid of the fully created module.
- Other methods, as identified.
Then, based on this API, we'll be able to write some code for managing the state of an import for a user in