Asking advice for implementing various use cases

Created on 2 September 2022, about 2 years ago
Updated 8 May 2023, over 1 year ago

Problem/Motivation

Hi,
I have a need of notifications listed below. I am not sure is the module able to provide these
out of the box? Here are quickly written use cases. If module maintainers are interested to provide help creating these,
I would like to hear more and ready to sponsor this.

Use case of notification system:

--- flag
Show notifications of flags flagged on your profile page

Related modules: flag
prerequisite:
1. a flag named "Follow" and type "user" with "personal" scope is created.
(link type "ajax", display link on user profile page)
2. Permissions are set so that other authenticated users are able to flag other users

Use case 1
Receive a notification when a user follows your profile.

1. Authenticated user A flags user B profile page (clicks the "flag" link on his profile page)
2. User B logs in and access the site front page.
3. User B sees a number 1 on a "notifications" -block, (Number 1 means there is 1 new unread notification)
4. User B clicks notifications block and "a layer" (view) opens and loads the new notification
5. The notification -layer contains unread and read notifications:
Unread notification:
User (user name, a link to user profile page) + user picture (picture -field from users profile) started to follow you 2 hours ago.
Then the view may have read notifications styled differently showing they are read.
6. User B closes the notification layer, and the number 1 dissapears (which means no unread notifications)

--- Like & dislike
Show Notifications of liked content and comments from the like & dislike module

Related modules: /project/like_and_dislike + group module
prerequisite:
1. Like_and_dislike module (8.x-1.0-beta2 or newer) is installed and configured (at least comments and content should be enabled in the module configuration)
2. Permissions are set so that other authenticated users are able to like other users comments and content.
3. Like buttons are placed near the content and comments
4. Group module is installed and group content is enabled in the like and dislike module

Use case 1
Receive a notification when a user has clicked like button related to your comment.

1. Authenticated user A clicks a like button of a comment made by authenticated user B
2. User B logs in and access the site front page.
3. User B sees a number 1 on a "notifications" -block, (Number 1 means there is 1 new unread notification, if there are more, then the number is greater than 1)
4. User B clicks notifications block and "a layer" (view) opens and loads the new notification
5. The notification -layer contains unread and read notifications:
Unread notification:
User (user name, a link to user profile page) + user picture (picture -field from users profile) liked your content (content title, or comment body).
Also the view may show older already read notifications styled differently showing they are read.
6. User B closes the notification layer, and the number 1 dissapears (which means no unread notifications)

Use case 2
Receive a notification when a user has clicked like button related to a group content which is authored by you.

1. Authenticated user A clicks a like button of a content made by authenticated user B
2. User B logs in and access the site front page.
3. User B sees a number 1 on a "notifications" -block, (Number 1 means there is 1 new unread notification, if there are more, then the number is greater than 1)
4. User B clicks notifications block and "a layer" (view) opens and loads the new notification
5. The notification -layer contains unread and read notifications:
Unread notification:
User (user name, a link to user profile page) + user picture (picture -field from users profile) liked your content (content title, or comment body) in a group (group name).
Also the view may show older already read notifications styled differently showing they are read.
6. User B closes the notification layer, and the number 1 dissapears (which means no unread notifications)

--- comment received to a content which is authored by you
Show Notifications of new comments received to a content created by you

Similar steps as mentioned above.

-- group content notifications
Receive a notification if a group where you are a member has new content
(Stop receiving notifications if you leave a group)

COMMON FEATURES
All of the use cases mentioned here should be enabled (subscribed) automatically
so that user's do not have to separately subscribe to any of them. (just like in any social media platform)
Unsubscribing and subscribing back, should be possible on a group and content level.
For example group page should have a link "disable notifications" or mute notifications which would
only disable notifications from that particular group, not all of the groups where user is member.

------------------

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

💬 Support request
Status

Active

Version

2.2

Component

Code

Created by

🇫🇮Finland Youcanlearnit

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇮🇹Italy kopeboy Milan

    What I noticed that is relevant for those use cases (which are pretty general and mine as well) is this "problem" with the UI:

    the generated field "DANSE Subscription" (button with ajax link) in the Manage display tab for a content type, when enabled, is shown regardeless of the (viewing) user permission, and no message (either success or warning of access denied) is shown after clicking anyway.

    Would you suggest using/integrating with another module for the UI (eg: Flag) or should we add more documentation? I didn't find any related to this.

  • 🇩🇪Germany jurgenhaas Gottmadingen

    @kopeboy that sounds like a separate issue. If the widget doesn't behave correctly, then please describe the issue such that we can reproduce it in a new issue.

Production build 0.71.5 2024