-
-
Notifications
You must be signed in to change notification settings - Fork 359
As a user / future participant after the event, I will automatically get emails notifying me of subsequent events. #107
Comments
Below are preliminary suggestions and questions regarding this #107 and #274. The direction set forth here will also inform the text and email "mail merge" templates needed for #275 and #276. Assumptions / Suggestions
Questions
|
Also, I noticed after the fact that this comment may have been better on #274. However, since the RSVP, subscribe / unsubscribe, and email notices are all intertwined I'm not sure it matters much as long as it doesn't confuse this API issue. |
@allella A label is definitely the surest bet. If, and it sounds like, we will use the Subscribe component in a form alongside other elements to complete an I think "Active" color as Subscribe/unchecked status and grey/disabled for Unsubscribe/checked status would do. |
Let me know if I covered this logic flow correctly: 1. User is automatically subscribed to chapter notifications on joining (assuming user email address a required field)
2. User subscription at event RSVP level:
3. User subscription at chapter level through event specific email:
(?) something to evaluate/discuss, perhaps after MVP ships As for the user + chapter subscription relationship, autogenerate unique event keys based on userID + chapterID + eventID in new Subscription table? |
Thanks, replaying the logic highlighted some potential areas of confusion with only having subscriptions toggle on / off via This user story suggested getting upcoming event notifications AFTER you've attended, but with Meetup.com I believe it's possible to subscribe and get notices without ever having attended. That's a reasonable expectation too, though not explicitly an MVP story. I guess we could also have a button on a The question now is if subscribing and unsubscribe is connected to an I could see a use case for both and we already have an MVP story for both cases. If we do both then I suspect we'd need to add an |
To summarize, would the following be a reasonable MVP flow? Applicable to #107 & #275 & #274 Such email notifications would have a URL to allow the If we needed to trim the scope, then these emails could simply have a link going directly to the Applicable to #108 & #276 The |
@allella @ceciliaconsta3 I have been reading your comments in both this issue and #274 and already got some questions! But I will start off with one or two... Not sure if the
So, once the I hope my point is relevant to this issue. If so, what is your thought on this? |
@madaleneaza-design I think we've been operating on the assumption that a profile / subscription page is not a MVP feature. It's definitely a reasonable expectation to add one to the Roadmap. So far there's been no explicit MVP user story for a profile page to do anything since authentication will be using Google. Therefore, we don't have an immediate need for users to manage their email, password, profile picture, and such. Would you agree we can start by allowing subscribing or unsubscribing to an event or a chapter using the MVP interfaces we know are already required? If we didn't have a profile / manage your subscriptions page, for MVP, then we can still allow users to subscribe and unsubscribe using links or UI elements on these MVP interfaces.
@ceciliaconsta3 posted suggestions on checkbox vs switch vs buttons for the UI on #274 |
@allella Yeah I can agree and I cannot see why not (to allow subscribing and unsubscribing using the known MVP features), as long in terms of user experience, the links/ UI elements are easier to navigate and use in the layout (which I am sure it will be). I will hop onto #274 to post my response :) |
For the more technical side of the mail sending, we had a good conversation in today's meeting on using nodemailer and SMTP with free / cheap tiers of 3rd party transactional mailing services. |
@davidals brought up that we'd want a scheduled trigger to check for and send email notifications for event rsvps and other such "X days before" notifications. That's being discussed on #359. I referred the earlier suggested schema changes to allow for unsubscribing from a specific rsvps' notifications and a specific chapter's notifications. However, upon reviewing the talk about "Following" or "Unfollowing" a Chapter or RSVPs I found that "Following" an event may not make sense. So, here's a refined view of toggling email notifications on or off. Toggling
Toggling
|
I think it's also valuable to have an account setting for that. |
@ceciliaconsta3 @madaleneaza-design @davidals @Zeko369 One other consideration is the following: Canceling a RSVP vs Unfollowing a RSVP It's likely an organizer wants to see who cancelled their RSVP, which means we'd need an The event page would then have a "Cancel my RSVP" (button) to go along with the previously mentioned "Follow this Event" switch. It seems like a fair assumption that cancelling an rsvp would immediately sets the I was wondering if we should allow someone to follow an event without being subscribed to it, but I feel that could lead to confusion if someone clicks to follow an event and assumes that means they are RSVP'ed. That could be a real problem if people show up to an event and don't have a valid rsvp. So, it's probably best we don't show a "Follow this Event" UI switch unless the user has an active ( Thoughts? |
I think this is where language get's handy. Instead of "follow" call it "Interested", and the toggle should say something like "Notify me of updates to this event" Agree on canceling RSVP makes you stop receiving notifications. If you think about Facebook Events, there are 3 options "Not going, Interested, Going". |
Sounds good. So the "RSVP" buttons could be "Going" and "Not Going", depending on if the user already has an rsvp. Then, an "Interested" UI slider to toggle on/off interest regardless of the rsvp status. |
Needed in order to implements featured mentioned on issues freeCodeCamp#107, freeCodeCamp#276, freeCodeCamp#359
Here's the PR adding those fields: #374 |
* feat: Add columns to control notification flow Needed in order to implements featured mentioned on issues #107, #276, #359 * Replace with * Make interested field optional on constructors * Add defaults to new db columns Co-authored-by: David Sousa <[email protected]>
#640 gives us something to work with, but it's far from a complete solution. |
@allella @ojeytonwilliams Could you please let me know what work is remaining in this issue apart from the above UI changes? |
When a new event is created by an organizer for a specific chapter, we will want to query the user_chapter_roles table_ where _user_chapter_roles.chapter_id = events.id (this will be the event id of the newly created event) AND user_chapter_roles.interested = true. There's a basic example of the email to send to notify users about new events. We'd want to merge in values from the event and chapter tables, as indicated by the { } placeholders in the example in that link. We have a separate issue to handle the unsubscribe links in the email footer. That issue may require more conversation and it could be somewhat complicated if we are trying to allow opt-out without being logged in. So, for now, we can keep a placeholder where the unsubscribe links will go. Does that help? |
@allella Thanks a lot for your help. I've a few questions on your comment.
Currently we have the below functionality. When a new event is created by organizer in a specific chapter, We query user_chapter_roles table where user_chapter_roles.chapter_id=chapter.id( id of the chapter in which the event is created ) and user_chapter_roles.interested = true and send an email with below text.
Shouldn't this be assigned with chapter.id instead of event.id?
the basic example hyperlink is liked to schema spy. Could you please provide the text that should be used in the email ? PFB the template of the email that we are currently Sending when a new event is created(Code is already in the repo).
Sure, I'll add the place holder for unsubscribe link. |
@allella @Ravichandra-C I think this is largely done - we are automatically sending the notification emails already. If someone has user_chapter_roles.interested they will be emailed whenever a new event is created on that chapter. However we still need to
We should only set interested to be true if the user doesn't yet have a user_chapter_role for that chapter. I think that's all we need for now. |
@ojeytonwilliams ,In addition to the above changes ,Should I also include these UI changes as part of this issue or will they be worked on as separate issue?
|
@Ravichandra-C I'll handle that in a separate PR :) |
@Ravichandra-C I probably had an error above in the logic. I trust you understand what needs to be done on the technical side, so we should be good to proceed with what you have. Thanks |
@allella @ojeytonwilliams Thank you for explaining. I understood what needs to be done. I'll be working on it. |
@ojeytonwilliams , For setting the user_chapter_role.interested=true when an user rsvp to an event, I'm creating a new mutation with name SetUserInterestForChapter which takes the event_id as the parameter. Could you please let me know if we already have this mutation? I searched in the repo and also the generated/graphql.tsx but I did not find it, I just wanted to make sure that I'm not adding duplicate code. |
It makes sense that most users will be happy to get notified of future events for a chapter, but what if a user had previously toggled user_chapter_role.interested=false? It sounds like this user story would set user_chapter_role.interested=true without asking, but a user may not want to get future notifications. Would we want to show a toggle field on the RSVP form, set that toggle's default value to match the user's current value for user_chapter_role.interested, but still allow them to toggle / change it when they RSVP? There are events in my town that I might only attend once a year, or for a special occasion, but that doesn't mean I necessarily want to be forced to receive future notifications. Thoughts? |
@allella , This mutation will check if user already has a preference set in the database, if it is already set, then we are not doing anything.If it is not set then we are by default setting the user_chapter_role.interested = true. So if a user has already set his preference to false then, as we are not updating it, he will not get any future notifications. |
We definitely don't want to do that and Ravi's proposed logic should work as intended.
Seems reasonable, yeah. We could have it default to true when user_chapter_role.interested is not set and just mirror their settings once interested has a value.
We don't have any mutations that change user_chapter_role.interested, so please go ahead.
Cool. Just to aid any future searches: all mutations must be defined in either a |
No description provided.
The text was updated successfully, but these errors were encountered: