is-04
is-04 copied to clipboard
IS04 Subscription updates
Hi
I’ve been using a product which supports NMOS - 04/05 , which is registered in a NMOS RDS (an easy NMOS container in this case) , it appears as a node , with a device and its various resources, that belong to it. I also have a separate application which is subscribed to the NMOS resources in the RDS under the Query API.
I navigate to the said NMOS product’s own web interface and change the label of the product.
Which subscription updates would I expect to receive in this case for the change in the product label , should these all be “modification” subscriptions ? – reflecting the same product which has only changed its label ? – modification of node, device etc
Or should I be seeing a removal of the various resources - receiver, device , node , followed by addition of node, device , receiver etc ? – which seems a bit surprising as this is just a change in a product label and the product is still “present”.
After carrying out the test I received a series of deletion of resources and then an addition of them again with the same IDs.
This produces a lot of noise , and could also be confusing to a user , seeing a node be removed and re-added , which could be confused for a device restarting or there being network issues.
I think it would be more optimal for any minor change such as the label one above , to have only modification updates.
I agree, I don't think changes to resource properties like the label should need the resources to be DELETE
d from and then rePOST
ed to the Registration API, so long as resource identifiers are being preserved - see Identifier Mapping.
We may have been assuming this was obvious best practice, but we know what they say about assumptions... The lack of documentation around subsequent modifications has recently been noted - see #177 - even though the Registration API itself clearly describes 200 OK
as the response for resource updates.
There is also a known lack of automated testing for these kind of updates in the NMOS API Testing Tool because such updates can only be triggered via proprietary APIs or user interaction. At JT-NM Tested events, implementers were made aware if their products were spamming the Registry, but this was a manual process. The infrastructure currently being added to the Testing Tool for (semi)automated Controller testing - see https://github.com/AMWA-TV/nmos-testing/pull/616 - may allow this kind of test case to be automated in the future.
Architecture Review Group review: place on backlog
Hi , I wondered if there had been any update to the above item ? - as it seems to be to be quite important that devices aren't suddenly removing all their resources and re-adding them again for minor changes .
Perhaps something could be added to spec ? about this remove all , re-add all procedure as something to be avoided in order to preserve a stable system. I.e only update the resources that are needed to be changed.
Hi Jamie, The behavior you see with lots of noise from a simple label update is addressed in the ongoing NMOS IS-13 activity IS-13. The new spec allows annotations including labels, tags, etc to be dynamically added, changed, etc without reregistrations.
The activity also presents a good opportunity for interested parties to look over the use cases, give feedback to the Business Owner and Tech lead, and better yet jump in and do an implementation or encourage any vendors you work with to jump in and contribute.
The vendor you are working with likely would be interested in using the annotation API more fully for labeling and describing other NMOS resources as well. If you would like to discuss more feel free to reach out to me or @peterbrightwell in NMOS Incubator.
Here's a screenshot from AMWA's NMOS Testbed that shows part of what you can do with the new IS-13
This is from the Ely Workshop and shows an updated nmos-js controller displaying new labels.
Here's the pertinent API for dynamic changes to items: setting.
We recognize that there are no automated tests for it. However, we think the spec is clear enough based on https://specs.amwa.tv/is-04/releases/v1.3.2/docs/Behaviour_-_Registration.html#registration-updates