How to have Notifications shown every day at login

Version 1

    Details

    From the Notification workspace you can create a Notification. 

    The Notification is shown to each user the first time they login after the Notification is activated.
    Once the user clicks OK the Notification is never shown again. 

    Is it possible to show the Notification again every day?

     


    Resolution

     

    Whether a Notification is shown to a user is controlled by the Notification Cache. 
    When a Notification is created the Start Date/Time is set. 
    Each time a user logs in, the Notification records are checked. 
    If there is an active Notification (i.e. the Start Date/Time has passed but the End Date/Time has not) then the Notification Cache is checked. 
    If the Notification Cache does not contain an entry for the current user the Notification is displayed.
    When the user clicks OK on the Notification, the Cache is updated to state they have seen the Notification.
    The Notification is only shown once to each user.

    The solution involves clearing the cache periodically so that all users see all active Notifications at next login.

    The cache can be cleared manually by going to the Notification workspace and running the Quick Action "Clear FRS Notification Cache".

    To automate this:
    1) Create a Schedule Entry which runs when the notifications should be reset (e.g. daily).
    - Log in to the tenant with the Administrator role
    - Go to the Schedule Entry workspace
    - Click New > New Daily Schedule
    - Name your entry, e.g. Reset Notifications Daily
    - Enter a time when the Schedule should start
    - Set the End Time to be an hour later
    - Set the recurrence frequency
    - Set the start date and optional end date
    - Click Save

    2) Create a Workflow on the Schedule Entry object to run the web service which clears the notification cache. 
    - Go to Configure Application
    - Go to Build > Workflow > Workflows
    - Click Add new...
    - Set Business Object = ScheduleEntry
    - Name your Workflow, e.g. Reset Notifications Daily
    - Click Add Version
    - Click Configuration
    - Select the above created Schedule Definition and click OK
    - Add and connect up three blocks: Start > Run Web Service > Stop. 
    - Edit the Run Web Service block.
    Enter the WSDL used in the Quick Action "Clear FRS Notification Cache":
    $(ServerURL() + "/Services/FRSNotificationCache.asmx?wsdl")
    - Click "Load Service definitions"
    - Set Service Name = FRSNotificationCache
    - Set Operation Name = ClearNotificationCache


    - Click Save
    - Save the Workflow
    - Publish the Workflow version

    The workflow will call the web service and clear the cache, forcing the notifications to be displayed again on next login.