refactor notification and enrollment ID capabilities #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously any change to a set, enrollment, or declaration would trigger a notification (which, in turn, sends out the MDMv1
DeclarativeManagement
command). This PR introduces the capability to set anonotify=1
URL param which defers notification for your actual changes. We also introduce a/v1/notify?...
endpoint which allows specifying all changed items. To enable this the storage backends now "roll-up" all the enrollment IDs (to optimize the case of many overlapping set<->id<->declarations). It is hoped, in the end, that this reduces unnecessary notifications (MDMv1 command sends) and reduces load for both KMFDDM and e.g. NanoMDM.With the above added support we introduce a new tool:
./tools/syncdir.py
. From its docstring: