This commit is contained in:
@@ -22,7 +22,10 @@ BACKEND TODO / SYSTEM FOR RAVEN
|
||||
|
||||
|
||||
TODO: need a utility that can hash any adhoc collection of fields to work with various notify related objects
|
||||
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
|
||||
TODO: Auto delete APP notifications older than 90 days automatically by some kind of sweeper job
|
||||
TODO: auto delete notifyeventlog entries older than 90 days automatically by job
|
||||
todo:
|
||||
|
||||
|
||||
CREATING NOTIFICATIONS
|
||||
OBJECTS Saving an object triggers notification processing for that object:
|
||||
@@ -64,29 +67,21 @@ OBJECTS Saving an object triggers notification processing for that object:
|
||||
SMTP
|
||||
APP (meaning in notifications system inside application basically the old POPUP)
|
||||
|
||||
|
||||
TABLES WORKSHEET
|
||||
v7
|
||||
aNotifyEventOfInterest - subscribercount, ayatype, eventtype, "guidvalue" (extra info),created/creator/updated/updater
|
||||
v8
|
||||
similar but with hash maybe for faster checking? and no created/modifed stuff, guid value would maybe be some other thing to accomodate RAVEN as it seems to deal with id of specific or maybe things like status
|
||||
|
||||
v7 this is the main table where events are stored and delivered from (saved message is for quick notification)
|
||||
anotifyevent - ayatype, objectid, eventtype, appliestouserid (single subscriber event), aEventDate, ASAVEDMESSAGE
|
||||
|
||||
v7 all subscriptions - used to process deliveries (checks for generic event to see who subscribes to it)
|
||||
anotifysubscription - aNotifySubscription (aID, aUserID, aRootObjectType, aEventType, aPendingSpan, aPendingSpanUnit, aGuidValue, aCreated, aModified, aCreator,aModifier)
|
||||
v8 (timespan can be a single value, no need for units and shit in the db, just days or whatever the smallest unit is)
|
||||
|
||||
|
||||
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 )
|
||||
UI TODO
|
||||
Subscription form for user
|
||||
Subscription form for client (personal or set by administrator, probably set by administrator)
|
||||
Mass set for many users at once
|
||||
|
||||
|
||||
V8 TABLES / OBJECTS
|
||||
JOBS
|
||||
NotifySweeper
|
||||
APP notifications - deletes all unreceived APP notifications older than 90 days
|
||||
NotifyEvent -
|
||||
deletes any notifyevent with no event date created more than 90 days ago
|
||||
If has event date and it's passed then deletes it if created more than 90 days ago (pretty sure there are no back dated events, once it's passed it's past)
|
||||
|
||||
|
||||
ALL COREBIZ
|
||||
Need CRUD check for notification events
|
||||
Need to handle check of new tags vs existing tags (delta of tags) for any notification type
|
||||
@@ -131,7 +126,7 @@ notifysubscription table - contains all user (and customer) subscriptions to eve
|
||||
(aID, subscriberId, subscriberAyaType, ayatype, aEventType, advancenoticetimespan, aGuidValue, aDeliveryMethod, deliveryaddress, attachreportid, intags, outtags, HASH)
|
||||
|
||||
Notifyevent table - 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, HASH?
|
||||
created (timestamp used to clean out old stuck events), ayatype, objectid, eventtype, appliestouserid (single subscriber event), aEventDate, ASAVEDMESSAGE, HASH?
|
||||
|
||||
notifydeliverylog table - 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 )
|
||||
|
||||
Reference in New Issue
Block a user