This pull request is adding a much enhanced version of today's archive service, originally developed on behalf of and funded by ETH Zurich and used in production by ETH and SWITCH since February and October 2015.
One of the shortcomings of the current information architecture is that the same recording data is spread across multiple services: a recording is created in the scheduler, it will then live in the workflow service while being processed and last but not least end up in the archive. This leads to the same recording being represented within the system multiple times. With this pull request, at least one of those instances is removed by implementing the scheduler service in such a way that it shares its data with the asset manager.
The Asset Manager itself profits from the experience using and implementing against its previous incarnations. The API is much simpler and instead of trying to force type safety (which presents various problems implementing extended metadata), it supports flexible markup of entries along with corresponding querying capabilities through the use of a tagging api.
Last but not least, the new asset manager as well as the scheduler are implemented in a way that distribution of the service across multiple computing nodes would be possible. This is not the case for the existing scheduler and archive and presents a severe shortcoming of today's implementation.
A description of the changes of the asset-manager and scheduler can be found in the official docs as well: https://bitbucket.org/entwinemedia/matterhorn/src/74be64fc034b74574509238fb8fb26b9a715a418/docs/guides/user/docs/scheduler.md https://bitbucket.org/entwinemedia/matterhorn/src/74be64fc034b74574509238fb8fb26b9a715a418/docs/guides/user/docs/asset-manager.md