notifications from the social network

Bug #1158979 reported by Robert Bruce Park on 2013-03-22
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Friends
Medium
Unassigned
qml-friends
Medium
Ken VanDine

Bug Description

Currently our support of "notifications" is limited to simply displaying a notification bubble when we download new messages. But social networks have other things to notify about (like friend requests or event invitations or whatever).

To what extend do we want to support that? It would be simple to query the notification API endpoint for eg, facebook, and then display notification bubbles for what we find, but those are very ephemeral... is there perhaps a more permanent place for us to store that information for the user? I don't think they would fit very well in the DeeModel, so we might need to consider creating a separate DeeModel for that, or perhaps something else entirely. Or perhaps we should leave that to the frontends to implement on their own.

Changed in qml-friends:
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Ken VanDine (ken-vandine)
Ken VanDine (ken-vandine) wrote :

It might be useful to have 2 additional dee models, one for Notifications and one for Errors from the service.

The notifications could contain pending notifications from various services and a column for seen/acknowledged. Then the client could display them to the user and let the user act on them.

The errors could contain errors from the dispatcher that occur for scheduled operations, not the async operations specifically performed from a client. For example, if there are errors during a refresh for a facebook account, the dispatcher could append the error to the errors model and the client could display that to the user. As requested in bug https://bugs.launchpad.net/ubuntu/+source/friends-app/+bug/1166351

Robert Bruce Park (robru) wrote :

Seems like a reasonable plan, but for memory reasons I feel like we should only have one model. Schema could look like this:

id:str (if any)
message:str
severity:int (define 0 as "notification", 1 as "warning", 2 as "fatal error", or maybe even get more fine-grained if necessary)
seen:bool

Then the client could decide how to display each level of severity and how to determine if they were acknowledged or not.

Another nice thing about doing this in a deemodel is that different client apps would all have the same seen state, so you wouldn't get the same error bothering you from multiple apps. just one app would tell you the error first.

Are you wanting this landed in raring or is this a trunk-next idea?

Changed in friends:
assignee: Robert Bruce Park (robru) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers