From f1056844bb3c5f370791fc095d2fcde26817fef6 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 9 Jul 2020 00:14:17 +0000 Subject: [PATCH] --- devdocs/specs/core-notification.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/devdocs/specs/core-notification.txt b/devdocs/specs/core-notification.txt index 268e549e..23b9a7c9 100644 --- a/devdocs/specs/core-notification.txt +++ b/devdocs/specs/core-notification.txt @@ -22,10 +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: 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: - +TODO: Never creates a duplicate APP or EMAIL notify, so checks a hash in history log before sending +TODO: HASH uniquely identifies a notification delivery and it's logged with the history so before a new delivery is sent it's compared to the delivery log and if it was sent + in the last 90 days then it skips it. This will avoid duplicated emails or runaway notifies etc. + Hash needs to be unique to the destination user, teh source object and the event type exactly, if there is any difference then it should not hash the same CREATING NOTIFICATIONS OBJECTS Saving an object triggers notification processing for that object: @@ -131,7 +131,7 @@ Notifyevent table - contains all events, created by updating objects or directly 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 ) + (aRootObjectType, aRootObjectID, aEventType,aGuidValue, aDeliveryDate, aToUserID, aDeliveryMethod, aDelivered, aErrorMessage, aToClientID, HASH ) notification table - 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