Context: I'm writing a media_derivatives "engine", for Internet Archive. I have everything working in regards to read/write operations to IA via the S3 api, but now is the time to decide how to store the initial upload (source file), and the derivatives (mp4, ogg, flac, etc, etc) produced by IA.
If I'm understanding the code correctly, the media_archive streamwrapper currently stores the identifying information for the bucket/item (archive://v/itemname/org/filenamewithoutextension) -- I could store the uploaded file using that schema and then use display formatters to display different derivatives in that bucket, but it seems strange to me not to have the individual derivatives stored using media_derivatives.
I could store the initial upload as described above, and then store the additional derivatives individually using media_derivatives, using a slight variance in the schema (archive://v/itemname/der/filenamewithextension), but then media_archive would need to handle both the concept of remote "buckets" and individual derived files...
Any ideas on the best way to handle this would be appreciated. I also think that it might make sense to move the engine code I've written into a submodule of this module at some point once it gets a bit more stable as opposed to creating another release of internet_archive -- so I'm interested if you have any feedback on this as well.
Thanks!