novuhq / novu

Open-Source Notification Platform. Embeddable Notification Center, E-mail, Push and Slack Integrations.
https://novu.co
Other
34.46k stars 3.51k forks source link

[NV-2158] 🚀 Feature: WYSIWYG email template editor #3268

Open lukemawbey opened 1 year ago

lukemawbey commented 1 year ago

🔖 Feature description

The ability to edit email templates and brand layout using a WYSIWYG (WYSIWYM?) editor for more than trivial changes. eg: font, text size, bold, italics, underline, indent, links, lists (numbered, unnumbered), tables, layouts, etc. that consistently render/display correctly the same way in all major email platforms across mobile, tablet, desktop.

🎤 Why is this feature needed ?

To enable users to manage and update designs, layouts and content of email without needing to be an expert in HTML, nor an expert in variations of display across different email applications.

✌️ How do you aim to achieve this?

Implement/integrate a more fully featured WYSIWYG editor.

🔄️ Additional Information

No response

👀 Have you spent some time to check if this feature request has been raised before?

🏢 Have you read the Code of Conduct?

Are you willing to submit PR?

None

NV-2158

oba2311 commented 1 year ago

Thanks, @lukemawbey ! Could you please share a bit more -

lukemawbey commented 1 year ago

I would like product managers or product designers to be able to update email templates without needing the help of a software engineer. This (a) makes work more efficient (through not having to code HTML) and (b) streamlines changes/updates/etc through removing dependencies.

codingmickey commented 1 year ago

Instead of the current email editor(which allows only buttons and text for now in the GUI) image

What you need is an email editor similar to what Gmail or any other mailing service uses right?

zlanich commented 1 year ago

Hey all! I know adding a custom WYSIWYG to anything is a tall order, so I wanted to drop an idea here that may serve as a good thought exercise, even if it ends up not being practical to create a custom WYSIWYG editor just for Novu:

The editing experience would ideally be built using some existing WYSIWYG editor as a foundation, and you could use something like TinyMCE, or perhaps something like Wordpress's Gutenberg -- I've seen other folks using the WP Gutenberg editor to create a block-based building experience in other systems (ie. Drupal). I don't know what the entire Gutenberg codebase looks like, but I know the front end is React.

Ultimately, you would have to do something similar to MailChimp's editor, where you're taking blocks and compiling them down to HTML that is compatible with the age-old email clients. There is also plenty of tooling/frameworks out there to create columns, etc and have them compiled down to HTML that would otherwise be very messy and littered with edge cases for email clients.

My idea would be to use a block based editor, ideally in combination with some existing email authoring developer tooling/libs, and create a standalone "Email WYSIWYG" that could be integrated with Novu or anything else, assuming you bridge the gap for things like file uploads/CDN.

I have a client who wants this functionality, but it's just not reasonable to build it for them, so this has been on my mind for a long time. For anyone this resonates with, let me know your thoughts!

lukemawbey commented 1 year ago

@codingmickey yes. @zlanich 's comparison to mail chimp is good - and all other mass email clients oriented towards marketing teams that would not be expected to have HTML skills.