This commit is contained in:
@@ -1,5 +1,16 @@
|
||||
# Notification specifications
|
||||
|
||||
|
||||
|
||||
|
||||
############### LAST STATE OF THIS 2020-05-15 12:56:44:
|
||||
Had gone over cases and triaged them, not super fleshed out yet how it works behind the scenes but basically
|
||||
same as v7, object save triggers notification check which puts items into and takes them out of notify event table
|
||||
recurring job processes them
|
||||
Ideally would like to see event of interest check with cached data but need to consider how many different things would be in that, could be huge
|
||||
since I will be adding so many new notification types and they are more complex.
|
||||
|
||||
|
||||
Important cases:
|
||||
client viewing ui (was popup in v7) https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3783
|
||||
Restrict to involved people only: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/892
|
||||
@@ -7,8 +18,10 @@ Restrict to involved people only: https://rockfish.ayanova.com/default.htm#!/rfc
|
||||
|
||||
ALL EVENT TYPES INITIAL RELEASE
|
||||
================================
|
||||
|
||||
|
||||
## OLD
|
||||
WorkOrderStatusChange [PERSONAL, GENERAL]
|
||||
WorkOrderStatusChange [GENERAL]
|
||||
ContractExiring (User notify, add more notify before time frames in cases) [GENERAL]
|
||||
CSRAccepted [CUSTOMER]
|
||||
CSRRejected [CUSTOMER]
|
||||
@@ -26,11 +39,12 @@ ScheduleMarkerImminent (will rename) [PERSONAL]
|
||||
ScheduleMarkerCreated (will rename) [PERSONAL]
|
||||
WorkorderItemScheduledUserCreatedUpdated [PERSONAL]
|
||||
WorkorderItemScheduledUserEventImminent [PERSONAL]
|
||||
WorkorderCloseByDatePassed (user) [personal?, general]
|
||||
WorkorderStatusChanged (user) [PERSONAL, GENERAL]
|
||||
WorkorderItemOutsideServiceOverdue [personal?, general]
|
||||
WorkorderItemOutsideServiceReceivedBack [PERSONAL, GENERAL]
|
||||
WorkorderItemPartRequestPartsReceived [PERSONAL, GENERAL]
|
||||
WorkorderCloseByDatePassed (user) [general]
|
||||
WorkorderStatusChanged (user) [GENERAL]
|
||||
WorkorderItemOutsideServiceOverdue [general]
|
||||
WorkorderItemOutsideServiceReceivedBack [GENERAL]
|
||||
WorkorderItemPartRequestPartsReceived [GENERAL]
|
||||
|
||||
|
||||
## NEW
|
||||
Daily_Notify_health_check (biz and ops) [GENERAL]
|
||||
@@ -41,13 +55,19 @@ WorkorderItemPartRequestCreated case 3652 [GENERAL]
|
||||
ContractExpiring - Customer version in addition to User version [CUSTOMER]
|
||||
WorkorderTotalExceedsThreshold - Custom notification case 1745 "the andy" [GENERAL]
|
||||
WorkOrderStatusAge "deadman" delivery if not changed before XX time period [GENERAL]
|
||||
|
||||
QuoteStatusAge [PERSONAL (prepared by), GENERAL]
|
||||
UnitWarranyExpiry case 1361 [GENERAL]
|
||||
UnitMeterReadingMultipleExceeded case 1254 [GENERAL]
|
||||
DefaultNotification case 3792 used for all system and old Quick notifications [EVERYONE]
|
||||
TagNotification case 3799
|
||||
|
||||
|
||||
|
||||
PERSONAL? OR COVERED BY TAG FILTER ALREADY BETTER?
|
||||
WorkorderItemPartRequestPartsReceivedWhenIAmScheduled [PERSONAL]
|
||||
WorkorderItemOutsideServiceReceivedBackWhenIAmScheduled
|
||||
WorkorderItemOutsideServiceOverdueWhenIAmScheduled
|
||||
WorkorderCloseByDatePassedWhenIAmScheduled
|
||||
WorkorderStatusChangedWhenIAmScheduled [PERSONAL]
|
||||
|
||||
|
||||
Not for certain but in the hopper to think about:
|
||||
@@ -71,13 +91,22 @@ General
|
||||
|
||||
All notifications can be optionally filtered IN or OUT via tags on notification related object. I.E. a workorder status change can be ignored or only see if it's tagged "region-new-york" etc
|
||||
|
||||
All users can receive general notifications which come from both the system itself and from other users using the new ad-hoc send notification from any form
|
||||
|
||||
UI
|
||||
Subscribe from the object itself's menu rather than centralized subscription setup (new)
|
||||
Admin can still subscribe users on their behalf (new)
|
||||
|
||||
SYSTEM
|
||||
-=-=-=-=-=-=-=-=-=-
|
||||
EVENT_OF_INTEREST_CLASS
|
||||
|
||||
Internal workings:
|
||||
|
||||
Should cache the event of interest for quick saving processing and save db getting hammered every time an object is saved
|
||||
|
||||
|
||||
|
||||
One enum list of NotificationType for any possible notification that can be processed
|
||||
Notify type is divided by actual type and then by actual delivery method
|
||||
No delivery schedule anymore, let user decide how to handle at their device end, not our concern, just deliver immediately always
|
||||
@@ -85,6 +114,7 @@ Notify BEfore shoudl support multiple time frames, not just one
|
||||
Users not involved should not be notified, have choice on that`
|
||||
e.g. if a user is not booked on a workorder and is just a lowly tech they don't care about other workorder status changes
|
||||
|
||||
|
||||
Types of notifications sitting in delivery queue:
|
||||
Deliver if something not changed before date "DEADMAN SWITCH"
|
||||
upon change that negates it from source object it removes the event as no longer required
|
||||
@@ -134,11 +164,5 @@ Maintenance
|
||||
|
||||
|
||||
|
||||
MISC
|
||||
=-=-
|
||||
|
||||
- NOTIFICATION SUBSCRIPTIONS
|
||||
- NOTIFICATION DELIVERIES (user or all if manager account)
|
||||
|
||||
- What is "Slack"?
|
||||
- should we tie into it for notifications?
|
||||
Reference in New Issue
Block a user