Skip to content
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

MailChimp Replacement #2595

Open
wants to merge 3 commits into
base: development
Choose a base branch
from

Conversation

angelalalacheng
Copy link
Contributor

@angelalalacheng angelalalacheng commented Aug 21, 2024

Description

  • We currently use MailChimp to send out our weekly progress updates. It is not user friendly and the price keeps going up. I’d like a replacement that an Admin can use via the app.
  • Take over the work of previous people: FE PR 1315 BE PR 540 led to 1784
  • Video of what’s needed

ORIGINAL REQUEST

  1. We currently use MailChimp to send out our weekly progress updates. It is not user friendly and the price keeps going up. I’d like a replacement that an Admin can use via the app:
  2. “Create Announcement” option for Owners
  3. Addition of this to Permissions Page
  4. Ability for those with access to input emails to add them to list
  5. Ability for those with access to import spreadsheet too add them to the list
  6. Unsubscribe function so people can automatically remove themselves from the list
  7. Integration with self-setup page so people can choose to subscribe as part of setting themselves up
  8. Template for easily inputting the image, YouTube link, and other details we share every week so anyone can easily produce what you see below
  9. Test send option to “test send” the blog to a designated email before sending
  10. Section/field input for anything else we’d like to say at the end
  11. Google also only allows limited sending, so we need this to send in batches of less than 100 (so 90) at a time and timed so that we don't get blocked as spam. Please build this into the email system too.
  12. If any auto-posting integration with social media is possible, I’d love to include that too… and anything else that would make this weekly process easier/fasterAdd feature that allows users to schedule their own blue square vacations/emergencies

Related PRS (if any):

This frontend PR is related to the #1080 backend PR.

Main changes explained:

  • Update src/components/Announcements/index.jsx for image upload plugins and remove useless functions.

How to test:

  1. check into current branch
  2. do npm install and npm run start:local to run this PR locally
  3. Clear site data/cache
  4. log as Owner user
  5. See backend how to setup the email sending account
  6. go to Dashboard→ Other Links→ Send Emails
  7. verify two functions: Broadcast Weekly Update and Send Email to specific user and remember to test sending the email with image.

Screenshots or videos of changes:

https://www.loom.com/share/1f66a2dd69fa4be4921370bae2a4c69b?sid=bf0393aa-cd39-44ba-ab9b-c37f6ddaf033

Note:

If your account want to receive email, you need to set the email subscription in the profile page.
Screenshot 2024-08-20 at 9 01 21 PM
Google also only allows limited sending, so we need this to send in batches of less than 100 (so 90) at a time and timed so that we don’t get blocked as spam.

@angelalalacheng angelalalacheng added the do not review Do not review or look at code without full context label Aug 21, 2024
@angelalalacheng angelalalacheng marked this pull request as ready for review August 21, 2024 04:28
@angelalalacheng angelalalacheng removed the do not review Do not review or look at code without full context label Aug 21, 2024
Copy link
Contributor

@manikittu810 manikittu810 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @angelalalacheng

I have noticed a small needed fix in the code, when a user is inputting nothing, and , when clicked weekly on the button "Broadcast Weekly update " and is still working without an error popup message.

Screen.Recording.2024-08-22.at.9.25.25.AM.mov
Screenshot 2024-08-22 at 10 02 49 AM

Thank you.

@one-community one-community added the High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible label Sep 6, 2024
Copy link

@panchalvatneu panchalvatneu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's unclear if this service sends emails in bulk. If we keep the recipient box empty does the email auto-send to everyone? but apparently gmail has a 100 emails limit? also where is the test send option? If we keep the email body empty the broadcast weekly update is still successful?
Screenshot 2024-09-07 162009

Copy link

netlify bot commented Sep 22, 2024

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit 31a6c38
🔍 Latest deploy log https://app.netlify.com/sites/highestgoodnetwork-dev/deploys/66f09e18584dd60008e605dd
😎 Deploy Preview https://deploy-preview-2595--highestgoodnetwork-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@angelalalacheng
Copy link
Contributor Author

Hello @angelalalacheng

I have noticed a small needed fix in the code, when a user is inputting nothing, and , when clicked weekly on the button "Broadcast Weekly update " and is still working without an error popup message.

Screen.Recording.2024-08-22.at.9.25.25.AM.mov
Screenshot 2024-08-22 at 10 02 49 AM
Thank you.

@manikittu810 Thank you for your review. I added the error popup message when a user is inputting nothing. It is helpful if you can try again.
Screenshot 2024-09-22 at 3 32 36 PM

@angelalalacheng
Copy link
Contributor Author

It's unclear if this service sends emails in bulk. If we keep the recipient box empty does the email auto-send to everyone? but apparently gmail has a 100 emails limit? also where is the test send option? If we keep the email body empty the broadcast weekly update is still successful?

Hi, @panchalvatneu
Thank you for suggestions. For the first and second question, I believe you could look into backend code which will be more clear. I implemented the that function in the backend and if still has any concerns, I' m happy with any feedback. About the third question, I think test send option can be done by "Send Email to specific user". You can input one email to see if the content is correct. As for the last question, I have done that error popup and it is helpful you could try again.

Copy link

@SFA23SCM35V SFA23SCM35V left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested the PR by verifying the Broadcast Weekly Update and Send Email to specific user functions. However, the email sending functionality, including sending emails with images, is not working as expected.
1

Copy link
Contributor

@manikittu810 manikittu810 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @angelalalacheng
Functions are not working as mentioned.

Screen.Recording.2024-09-27.at.4.01.39.PM.mov

Thank you.

Copy link

@Ankuriboh Ankuriboh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code works great, all functionalities worked as described. It is worth noting that I added my own TinyMCE editor API code that was reverted in #2232 (specifically, this line caused the editor to not load since we don't bundle it anymore as it was required for this open-source GPL version of the library).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants