I am looking for a way to mark Messages as New until the user clicks on the message or clicks a button to "Mark All Messages Read".
I read through how Views handles New nodes, and the granularity of that approach doesn't suite all message types.
We have:
- Messages directly related to a node or comment that can be tracked via standard Newness operations.
- Messages related to some other, untracked change with a link to go see it.
- Messages which, when seen in the right context, are no longer new (messages in a primary activity log, or private message listing).
#1 just needs light tweaking of existing solutions. #2 I think needs to borrow the concept of an Event ID from #1065278: Notifications/Messaging Integration, and add a special query string that a newness module would detect and use to mark the message "read".
For #3 it's a bit trickier. I don't know that anyone wants to get in the game of detecting whether an individual row in a View was actually seen by the user. I'm thinking there could be a link the user can click to confirm viewing, but maybe it would be easier to just expire newness after a week if the user has logged in (or even fancier, logged in and viewed one of several configured page paths where the activity would presumably have been listed.)
I realize this functionality might be outside the scope of Message as a project, but I wanted to get the braintrust in on the discussion ;)
Comments
Comment #1
Grayside CreditAttribution: Grayside commentedComment #2
funature CreditAttribution: funature commentedis there already a solution? maybe it's not a bad idea to try with flag...
Comment #3
vkouroub CreditAttribution: vkouroub commentedI have one question that's bugging me a lot. How does the system understand that a message has been viewed??? If it was a node then the viewing event would be the clicking the node title but i don't understand what's the event for message viewing. I need this to work some rules and i can't quite get it.
Comment #4
sacha05 CreditAttribution: sacha05 commentedI created a notification manager by using a custom module with a table containing two columns: uid and lastaccess and two simple functions.
In my case, I had a view rendering the messages so I used hook_view_post_render but anything can be used of course.
Comment #5
amitaibuNo patch.
Comment #6
Andre-BI am currently working on a message notification center: https://drupal.org/sandbox/baumeier.it/2078043 I have all known bugs fixed and will work on documentation and the remaining wishlist.MD entries next. There's a screencast showing the basic functionality, but it's from the earlier prototypes. The current status has more features and configuration options. Any feedback and help is appreciated. (even later when this goes into "application for full project access".
Comment #7
Pierre.Vriens CreditAttribution: Pierre.Vriens at In Petto commentedA pretty old issue, but still valid today I think. For anybody (still) interested in a possible solution, have a look at what I wrote in "How to allow users to manage their own Message Stack messages?", which IMO is pretty close to the question here.
I'd be interested to hear any feedback about my answer to it ... It can be summarized like so:
Comment #8
bluegeek9 CreditAttribution: bluegeek9 as a volunteer commented