Skip to content

Broadcast Notifications Backend #4033

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Oanh-and-only-Oanh opened this issue Feb 25, 2020 · 10 comments
Closed

Broadcast Notifications Backend #4033

Oanh-and-only-Oanh opened this issue Feb 25, 2020 · 10 comments
Assignees
Labels
Dev Env Notifications P1 Urgent (resolve within 24 hours) QA Pass
Milestone

Comments

@Oanh-and-only-Oanh
Copy link

No description provided.

@Oanh-and-only-Oanh
Copy link
Author

Oanh-and-only-Oanh commented Feb 25, 2020

Please verify in the dev backend.

Test 1- let's do the following broadcast message: "Topcoder Bug Hunt now live. Join the hunt today!"
Recipient group: Members who have QA as a skill
Test 2- let's do the following broadcast message: "Mark you calendars, registration opens March 30 for next MM."
Recipient group: Members who are part of Competitive Programming track

Additional recipient groups may include:

  • All public members
  • Members in each of the following tracks- QA, Dev, Competitive Programming, Design
  • Members with "X" skill (ie Node.js) in profile.

@Oanh-and-only-Oanh Oanh-and-only-Oanh changed the title Testing Broadcast Notifications backend Broadcast Notifications Backend Feb 25, 2020
@SathyaJayabal
Copy link
Collaborator

@lakshmiathreya , can you please help me test this functionality?

@sachin-maheshwari
Copy link

{
"topic": "admin.notification.broadcast",
"originator": "admin-app-postman",
"timestamp": "2020-02-26T11:32:08.214Z",
"mime-type": "application/json",
"payload": {
"message" : "Topcoder Bug Hunt now live. Join the hunt today!",
"recipients": {
"groups": [],
"skills" : ["qa"],
"tracks" : []
}
}
}
{
"topic": "admin.notification.broadcast",
"originator": "admin-app-postman",
"timestamp": "2020-02-26T11:34:08.214Z",
"mime-type": "application/json",
"payload": {
"message" : "Mark you calendars, registration opens March 30 for next MM.",
"recipients": {
"groups": [],
"skills" : [],
"tracks" : ["DATA_SCIENCE"]
}
}
}
I pushed the above messages as mentioned.

@sachin-maheshwari
Copy link

Please note - on DEV "QA" skill is not available. So for testing purpose I am pushing same message for "Node.js" skill to test it.
{
"topic": "admin.notification.broadcast",
"originator": "admin-app-postman",
"timestamp": "2020-02-26T11:34:08.214Z",
"mime-type": "application/json",
"payload": {
"message" : "Topcoder Bug Hunt now live. Join the hunt today!",
"recipients": {
"groups": [],
"skills" : ["Node.js"],
"tracks" : []
}
}
}

@SathyaJayabal
Copy link
Collaborator

@luizrrodrigues , Will we be able to see this notification in the notifications popup on the front end?

@sachin-maheshwari @lakshmiathreya , How can we test if this notification is available to the target users?

@sachin-maheshwari
Copy link

@SathyaJayabal not sure if that will be able on community front-end pop-up or not.

You can find it in backend api response by using your JWT "user-token". For example - https://api.topcoder-dev.com/v5/notifications/list?read=false or https://api.topcoder-dev.com/v5/notifications/list?read=false&platform=community&per_page=2
Response would be like -
{
"items": [
{
"id": 106739,
"userId": 40153932,
"type": "admin.notification.broadcast",
"contents": {
"id": "6",
"group": "broadcast",
"title": "Broadcast Message",
"message": "message2 : This is new broadcast for 'Cognitive' group"
},
"read": false,
"seen": false,
"version": null,
"createdAt": "2020-02-20T12:07:56.132Z",
"updatedAt": "2020-02-20T12:07:56.132Z"
}.....

I think, need to incorporate the broadcast message structure in front-end.

@sachin-maheshwari
Copy link

Just further explaining the broadcast message design -
case #1 - "Topcoder Bug Hunt now live. Join the hunt today!"
Recipient group: Members who have QA as a skill

@Oanh-and-only-Oanh As per my interpretation on this - you want to send this message to all public QA member. correct ?
If yes, i designed the message like this -
{
"topic": "admin.notification.broadcast",
"originator": "admin-app-postman",
"timestamp": "2020-02-26T11:32:08.214Z",
"mime-type": "application/json",
"payload": {
"message" : "Topcoder Bug Hunt now live. Join the hunt today!",
"recipients": {
"groups": [],
"skills" : ["qa"],
"tracks" : []
}
}
}
So it'll send all public member only, not any private member.

For sending message to private/specific group, we need to mention in "groups" field as "," separated like - same message can be send for community member who is part of any group 'A' , 'B' or 'C'
{
"topic": "admin.notification.broadcast",
"originator": "admin-app-postman",
"timestamp": "2020-02-26T11:32:08.214Z",
"mime-type": "application/json",
"payload": {
"message" : "Topcoder Bug Hunt now live. Join the hunt today!",
"recipients": {
"groups": ["A", "B", "C"],
"skills" : ["qa"],
"tracks" : []
}
}
}

@Oanh-and-only-Oanh
Copy link
Author

@sachin-maheshwari, correct to your question above.

@sachin-maheshwari
Copy link

sachin-maheshwari commented Mar 3, 2020

@Oanh-and-only-Oanh I just want to confirm the definition of "public" member in our Topcoder system. As per me, public member will not belong any "private group". correct ?

@SathyaJayabal
Copy link
Collaborator

Verified the various tracks, groups and skills filter in dev backend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dev Env Notifications P1 Urgent (resolve within 24 hours) QA Pass
Projects
None yet
Development

No branches or pull requests

4 participants