You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This backend feature is meant to serve as a foundation of different event handling features. The center of the Events feature is the repository, even outside events are directed through the repository service.
It consists of two parts: an Event Distributor and the Processors. Both run inside the sensenet application app domain.
Event Distributor
content events (CRUD, versioning/approval events) are recorded
when an event occurs, all processors are notified in parallel
there are two types of processors:
synchronous: audit log, node observer
asynchronous: all new processors. These will run in the background, not blocking the content operation.
Later
other events (permission change, login/logout)
events are stored persistently
changed data (metadata only) is stored, one per event
called flags - if all set?, the event can be deleted (TBD)
short life cycle, events are cleaned up regularly to save storage space
the stored data is event-specific, but not related to the subscribers (observers), because the same event can be used by multiple different subscribers
Processor
a processor examines the event and decides whether it is relevant or not
processor types:
WEBHOOK
EMAIL (formerly Notification) (later)
SignalR (push notification for clients) (later)
all processors get the same event data
all processors get all events
aggregating events is the responsibility of the processor (e.g. sending batch emails once a week)
Considerations
the feature should not interfere with the events (does not block content save), runs in the background
processing should be scalable
new types of observers can be plugged in
how and where do we store subscriptions? (TBD)
filtering (for type, path, etc.) happens on the processor? (TBD)
robustness and disaster recovery:
an event should be passed to an observer once and only once
if processing terminates before calling all observers, the processor should resume the calling after recovery
Some UML
Components and data
Collaboration
The text was updated successfully, but these errors were encountered:
sensenet EVENTS
This backend feature is meant to serve as a foundation of different event handling features. The center of the Events feature is the repository, even outside events are directed through the repository service.
It consists of two parts: an Event Distributor and the Processors. Both run inside the sensenet application app domain.
Event Distributor
Later
Processor
Considerations
Some UML
Components and data
Collaboration
The text was updated successfully, but these errors were encountered: