Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Pros
    • Dedicated entity and model does not impact existing ones
    • Information required to determine if a data update should be published or not is not spread in multiple entities, then could be most efficient to retrieve.
    • Generic and flexible solution that should be able to support consistent evolution
  • Cons
    • Design is a bit more complex to handle all cases. Need to be refined.
    • Not necessary a con but design for Yang model filtering still need to be detailed:

...

Notification configuration is specified in the application.yaml with the following for each type:

  • Default behaviour for entities not enabled specificallyApplication level enabled flag
  • A list of entities datasapces that are enabled for notification. These entities dataspaces are identified with their name. Regular expressions car be provided to specify multiple names. For application type, such a list is not neededIf the dataspace list is empty, then no publication is made even if it is enabled at the application level.

Ideally, this configuration should be also easily provided using environment variables when the application is starting.

Snippet below represents notification configuration section from application.yaml file.

Code Block
languageyml
titleapplication.properties
linenumberstrue
notification:
  data-updated:
    configuration:
      application:
        default-enabled: false
      dataspacefilters:
        default-enabled: false
        specific-enabled:
          - .*-published
      schema-set:
        default-enabled: false
        specific-enabled:
  -datspaces:
        - .*-published
      anchor:
        default-enabled: false
        specific-enabled:
          - .*-published
  topic: ${CPS_CHANGE_EVENT_TOPIC:cps.cfg-state-events}

...