Hi Chris, > Here's a tricky question, what happens when the agent wants to delete > some metadata from the core - how does it do this if the core is just > taking the union of the two metadata files (its original metadata and > the agents new metadata)? > > e.g. The instructor notices the room is incorrect, so deletes the room > metadata key. > > We need to support: > 1. agent does nothing with metadata > 2. agent changes metadata values > 3. agent adds new metadata keys > 4. agent removed metadata keys > > The problem with a declarative approach (which we are taking by > ingesting media packages instead of operations, and which I fully > support because it lowers coupling) is that the lack of a particular > field doesn't clarify if that means a removal of the field or just a > lack of updating that field.
you are right that this is a problem with our current approach, which I like for the same reasons you do: it keeps efforts on the capture agents low in the default environments. So far I don't know of any capture agent that supports changing metadata locally, and the scenarios that we have been discussing on list recently seem artificial, however not completely off. I have two answers to the challenge you describe: First one would be that at some point, the apture agent may need to start talking to the core (e. g to modify the mediapackage that is waiting for ingest). If we don't want that, we'll need to develop a protocol that allows the capture agent to, upon ingest, signal how the workflow's mediapackage should be merged with the ingested one. A single "replace mediapackage" flag as part of the ingest operation may be enough to tell the core to skip the workflow's mediapackage and merging strategy and use whatever is coming from the capture agent. Thinking about it more, the second approach seems much easier and more solid. Thoughts? Tobias _______________________________________________ Matterhorn mailing list [email protected] http://lists.opencastproject.org/mailman/listinfo/matterhorn To unsubscribe please email [email protected] _______________________________________________
