[ https://issues.apache.org/jira/browse/ISIS-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood updated ISIS-1176: ------------------------------ Fix Version/s: (was: 2.4.0) 2.1.0 > Provide the capability to push notification messages to end-users without > refreshing (using web sockets or Atmosphere etc). > --------------------------------------------------------------------------------------------------------------------------- > > Key: ISIS-1176 > URL: https://issues.apache.org/jira/browse/ISIS-1176 > Project: Isis > Issue Type: New Feature > Components: Core > Affects Versions: core-1.8.0 > Reporter: Dan Haywood > Priority: Minor > Fix For: 2.1.0 > > > For example, if an end-user submits a long-running job, then the action > should acknowledge the request. When the job completes then we should > provide a mechanism to notify the user (if they are using the system). > ~~~~~~~~ > (Jul 2015, Dan): > One likely technology will be web sockets or Atmosphere; Wicket integrates > with both. > (Oct 2016, Martin on mailing list suggested): > The simplest way is to use > AbstractTimerAjaxBehavior/AjaxSelfUpdatingBehavior. This would do polling, > i.e. every N seconds an Ajax call will be made to check whether there is new > data to show. > If you need to do server push, i.e. whenever new data comes to push it > immediately to the client then I'd suggest Wicket Native WebSocket instead of > Atmosphere. Nowadays all browsers support WebSocket (IE10+ and all others) > and almost everyone deploys on web server that support JSR 356 - > https://ci.apache.org/projects/wicket/guide/7.x/guide/nativewebsockets.html. > It's usage is as easy as Wicket Ajax. > Another option is Server Send Events > (https://github.com/wicketstuff/core/tree/master/wicket-html5-parent/wicket-html5) > demo: > https://github.com/wicketstuff/core/tree/master/wicket-html5-parent/wicket-html5-examples/src/main/java/org/wicketstuff/html5/eventsource > ~~~~~~~~~~~~ > One possible design is a persisted entity to hold the messages, keyed by > (username, datetime). We could then have a service that a completing action > could call, to save the message. > This service could check if the user is currently logged on, and if so could > notify the user via Atmosphere or similar. > I also think it might be nice if the Wicket UI could provide a way for the > user to view the last 5 (say) messages, a bit like a notificatoin center. I > think that Mac does this, and Windows 10 will do, Thus, if the user is *not* > logged on when the job completes, then we can still bring the notification > message to their attention when they next log on. > Perhaps this could be added as a button on the footer bar? And/or the > messages could slide in from this footer bar. (This is the way that the MS > Azure portal works, and it's not too unpleasant). -- This message was sent by Atlassian JIRA (v7.6.3#76005)