Notifications не создает уведомления на email

Добрый день!
Вопрос по дополнению Notifications. Jmix 2.4.0.
Не смог воспользоваться допонением, чтобы вручную создавать уведомления с отправкой на email.
После анализа исходных кодов дополнения, выяснил, что канал для отправки уведомлений EmailNotificationChannel создается, но в дополнении реализовано так, что всегда по умолчанию устанавливается канал InAppNotificationChannel и переключить его невозможно. Исправить это можно только переписав дополнение.
Посмотрел версии 2.2.0 и 2.5.1, там тоже самое.
Планируется ли когда-нибудь в будущем доработка этого дополнения, чтобы в нем можно было создавать сообщения и отправлять на email?

Добрый день!

Экран из аддона Notifications работает только с In-app уведомлениями. Чтобы отправить уведомление с каналом Email, нужно использовать CreateNotificationAction. Он откроет диалог создания уведомления со всеми доступными опциями.

Например:

<view xmlns="http://jmix.io/schema/flowui/view">
    <actions>
        ...
        <action id="createNotificationAction" type="ntf_createNotification"/>
    </actions>
    <layout>
        <button id="sendNotificationButton" action="createNotificationAction"/>
    </layout>
</view>

image

Я создал задачу, чтобы добавить пример в документацию: Add an example of Email sending to Notifications add-on · Issue #1004 · jmix-framework/jmix-docs · GitHub

1 симпатия

Получается вызывать этот action нужно не из экрана дополнения InAppNotificationListView, а из какого то своего.
Понял, спасибо!

Добрый день, Артём!

Мы переосмыслили данное поведение и создали задачу, чтобы создавать оповещения с любым каналом прямо из экрана: Unable to create notification for any channel besides In-app using OOB notifications view · Issue #4439 · jmix-framework/jmix · GitHub.
Текущее поведение фактически является ошибкой, поэтому исправление будет доступно уже в ближайшем багфикс-релизе (2.5.2).

Спасибо, что поделились проблемой!

Добрый день, Роман!
Это хорошо. Тогда заодно исправьте и другую проблему, я ее у нас проекте уже поправил, но все же расскажу.
Когда создаешь шаблон сообщения с помощью аддона Message Template или просто в коде, то потом пользователь при просмотре видит такую картину
image
вместо красивого форматированного html отображения
image
Я посмотрел, там в методе createReadNotificationDialog() нет проверки на ContentType сообщения и все запихивается в TextArea. Этот метод тоже пришлось переписать и добавить проверку:

if (reloadedNotification.getContentType().equals(ContentType.PLAIN.getValue())) {
    TextArea textArea = new TextArea();
    textArea.setValue(reloadedNotification.getBody());
    textArea.setReadOnly(true);
    textArea.setSizeFull();
    layout.add(textArea, actionsLayout);
} else {
    Html html = new Html(reloadedNotification.getBody());
    Span span = new Span();
    span.setSizeFull();
    layout.add(html, span, actionsLayout);
}

Но конечно в интерфейсе при редактировании шаблонного сообщения, которое уже было сгенерировано и отправлено, все равно xml формат в текcтовом поле отрисовывается, но тут уже сами смотрите, так оставить или придумать чего, лично мне тут не принципиально)

На эту проблему есть задача - Support HTML content type in IN-APP notifications · Issue #2922 · jmix-framework/jmix · GitHub.

Если есть возможность, пожалуйста, оставьте комментарий или реакцию, чтобы мы смогли повысить его приоритет.