massenergize / frontend-admin

Frontend for the Admin Portal. This web interface is used by Community Admins (cadmins) to administer community-specific portals and by Super Admins to administer the entire MassEnergize web platform.
4 stars 4 forks source link

Sending or scheduling email to groups or users in admin portal #1103

Open BradHN1 opened 1 year ago

BradHN1 commented 1 year ago

User Story. As a super admin or community admin I want to send messages to one or more users based on filters So that we can communicate more effectively, and track responses

SAdmins or CAdmins both should be able to send out a message to specific groups of users through the admin portal.

Front end implementation: Implement a new feature for SAdmins (later CAdmins enabled with feature flag for community) Under Messages menu, a new option: Send message

Dialog will have a To selection: For Sadmins: Radio buttons: Super Admins, Community Admins, Community Contacts, Users Depending on the radio button chosen, the drop-down below it will list in alphabetical order all the users in that category, with an option to choose all (default) or choose none, and then choose specific users to send to.

From selection: for SAdmins the default from and reply-to address will be their email and name. Can select MassEnergize Support, a Community Contact (if they have a sender signature, add this later), or no-reply.

Message Subject Message text - HTML field which has ability to add images

Send, Schedule (send at a chosen time), Save (for future sending (can add this later)), or Cancel When message sent, saved to DB as message sent,

Related API ticket implements new route messages.send with inputs as described above, including the list of user ID's to send to, message content and the scheduled time.

For now, superadmins can go on PostMark website to track who opens, clicks or responds to messages. Ultimately within admin portal it would be nice to access that information through a PostMark API for the message in question, which would be a later ticket.

This is priority 1 since we want to use this to send out a message to community contacts as soon as we can.

taiwotkj commented 1 year ago

This is great! @BradHN1

I have an idea: I know it's already worked into the story, but maybe we can start separating the Acceptance Criteria for functional stories like this. It will help us when testing so that we can catch the requirements in acceptable detail. Thoughts?

taiwotkj commented 1 year ago

Another question I have is about priority levels - how do we use them? What does priority 1 mean? what's the ranking (is 1 highest and 5 lowest)?

BradHN1 commented 1 year ago

This is great! @BradHN1

I have an idea: I know it's already worked into the story, but maybe we can start separating the Acceptance Criteria for functional stories like this. It will help us when testing so that we can catch the requirements in acceptable detail. Thoughts?

Thank you @taiwotkj - I appreciate the suggestion, and some guidance on this would be helpful. I'll try to get to this later next week.

BradHN1 commented 1 year ago

Another question I have is about priority levels - how do we use them? What does priority 1 mean? what's the ranking (is 1 highest and 5 lowest)? Priorities should mean (but we haven't been consistent): Critical - something is quite broken and stopping us from prorgess, please get to this ASAP Priority 1 - include this in the current 2 week sprint if possible, Priority 2 - Not necessary for this sprint but soon no priority - Thinking about this.

BradHN1 commented 1 year ago

@abdullai-t - some feedback on the Admin portal implementation now in Dev: The user should receive just one copy of the message, but from Dev the message is getting sent more than once, like 3 times typically.

Under "Send Messages" -

About the message format and template, for now make the a couple minor changes:

abdullai-t commented 1 year ago

@BradHN1, fetching the entire list of the audience without pagination will cause the page to load slowly. This would be detrimental to our user experience in the long run.

BradHN1 commented 1 year ago

This concern could be mitigated by loading the list on the fly, a page at a time, when scrolling down the list or searching the list. To It is not acceptable to only be able to select certain users who happen to be in the first page. We need to be able to send messages to any user.

For community admins, there are not that many users, perhaps a few hundred. For super admins, there may be many more but the user experience is not that important for super admins

On Nov 20, 2023, at 8:29 AM, Abdullai Tahiru @.***> wrote:

@BradHN1 https://github.com/BradHN1, fetching the entire list of the audience without pagination will cause the page to load slowly. This would be detrimental to our user experience in the long run.

— Reply to this email directly, view it on GitHub https://github.com/massenergize/frontend-admin/issues/1103#issuecomment-1819067052, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADBVDZFT755G6C34VPM272TYFNLLVAVCNFSM6AAAAAA5VYRMWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJZGA3DOMBVGI. You are receiving this because you were mentioned.