Poll: How Do You Use the Jmix Email Templates Add-On?

Hi everyone,

We’d love to hear from you!
Please select features of the Email Templates add-on that you have used in your projects:

  • Using embedded GrapesJS HTML editor to create templates
  • Using HTML Report output as a template
  • Sending emails manually using the Email Templates UI
  • Generating and sending emails via the Email Templates API
  • Advanced validation of parameters
  • Using Quartz scheduler to generate and send emails via API

0 voters

Your feedback is very important, as we’re working on a new add-on for Jmix 2 with similar functionality.
Understanding how you currently use these tools will help us make sure the new add-on truly meets your needs.

Cast your vote and feel free to share your experiences or suggestions in the comments!

Hello, sorry for the late reply :slight_smile:, I will add some thoughts, and structure them as I can.

For me, this questions relates to GrapesJS(HTML editor), Templates, emailing add-on(e-mail history), and bpm add-on (e-mail sending element).

With CUBA 7.2, I was sending e-mails from the bpm process, using a bpm script element to map the email template parameters and send e-mail. This was hard for users because they had to make email template, and then script the parameters map, and invoke the beans to send email. The positive was that e-mail templates have ignore if null option, which is very important if you want to re-use same template for different bpm process branches, otherwise, you must make copies with minute differences which are later harder to manage and update.

Jmix BPM brought bpm email element, and I use that, but I still need a script element to assign emailing list to it. There is text editor for both text and HTML content, so HTML content needs to be done with an outside tool. I use Komposer https://sourceforge.net/projects/kompozer/ which is simple and without bloat, and then paste that into bpm email element. It would be nice to have HTML editor on the email element, with option to show both HTML rendered and as text.
Problem with bpm element is that it does not have the option to ignore if null, so it will break unless you use something like this ${variables:getOrDefault(someVariable,’’)} . There should be a checkbox ignore if null on the bpm element and all the normally referenced process variables ${variablle} can be interpreted by this without user having to code, or if you will put e-mail template add-on with that function there, it would be convenient to have visual process variable to email template mapper.

GrapesJs seems to produce a bit bloated HTML code, and the project itself is moving to some sort of “studio.” It definitely looks awesome, and it’s nice to have the option to offer this to customers who need it. However, a normal customer does not want complexity; they just want a simple e-mail template to write and insert some logos and disclaimers—something like you can find in content management systems.

E-mail history view can be improved with HTML component because you need to scroll down a lot to find and press Show content button. I think that this functionality needs to stay to preview it in the browser tab itself like now, but also additionally to use HTML component to render the HTML if it is HTML content, and text if it is text. Probably the same HTML component that would be used in bpm email element.

Kind regards,
Mladen

I have created GrapeJS as a component, which saves the content in the database.

If I want to send an e-mail, I parse this content as a free marker and replace dynamic variables.
I also have a second table that stores the mail accounts and where I can define which mail account is responsible for which template.

By default, all templates are imported once from the classpath and transferred to the database.

I really miss the last point (being able to manage several e-mail accounts via the UI).