This commit is contained in:
2020-07-08 20:36:21 +00:00
parent 775e45cd9a
commit c735399531

View File

@@ -20,6 +20,10 @@
###########################################################
BACKEND TODO / SYSTEM FOR RAVEN
TODO: Get all potential CONDITIONS so know what needed beyond the old aGuidValue
TODO: client and user notify together so any changes required to support that need to be sussed out here as much as possible in advance
CREATING NOTIFICATIONS
OBJECTS Saving an object triggers notification processing for that object:
- in v7 biz object just submits any possible notification and later it's checked to see if anyone subscribes
@@ -72,16 +76,23 @@ v8 (timespan can be a single value, no need for units and shit in the db, just d
v7 - logs deliveries, removes any older than 7 days (that's short!?)
aNotifyDeliveryLog (aRootObjectType, aRootObjectID, aEventType,aGuidValue, aDeliveryDate, aToUserID, aDeliveryMethod, aDelivered, aErrorMessage, aToClientID )
v7 - NotifyPopup contains UI deliveries
aNotifyPopUp (aID, aRootObjectType, aRootObjectID, aDeliveryDate, aToUserID, aMessage )
V8 TABLES
notifysubscription - contains all users subscriptions to events and delivery method, if user wants two delivery methods they have two entries here, no other table indicates events to be tracked
(aID, aUserID, ayatype, aEventType, advancenoticetimespan, aGuidValue, aDeliveryMethod, deliveryaddress)
(aID, aUserID, ayatype, aEventType, advancenoticetimespan, aGuidValue, aDeliveryMethod, deliveryaddress, HASH)
Notifyevent - contains all events, created by updating objects or directly in some cases and used by generator for processing as deliveries
ayatype, objectid, eventtype, appliestouserid (single subscriber event), aEventDate, ASAVEDMESSAGE
ayatype, objectid, eventtype, appliestouserid (single subscriber event), aEventDate, ASAVEDMESSAGE, HASH?
notifydeliverylog - intended for troubleshooting, logs deliveries with a cap on how many records it retains. Keeping this as a separate and distinct OPS ui thing
(aRootObjectType, aRootObjectID, aEventType,aGuidValue, aDeliveryDate, aToUserID, aDeliveryMethod, aDelivered, aErrorMessage, aToClientID )
notification - was popup, now the ones that show in the APP type notify delivery in the UI list; has fields for opening source and reading message and indicating read
Note: deliberately no delivery date, if it's in this table it's delivered to user, advancenotice and genprocess handle whether it's in this table or not
eventtype should generally be enough for message but the "message" field contains any extra info
COLUMNS: id, userid, ayatype, objectid, eventtype (for message in ui), message
###########################################################