Duka написал(а):Очень интересная идея. Обязательно учтем это, когда пойдем рефакторить систему уведомлений.
Насколько я понял, вы хотите:
1. регистрировать свои типы уведомлений с возможность включать/отключать их персонально как с остальными настройками
2. иметь javascript-метод (а может быть и api) для отправки уведомлений по своему сценарию.
Да, верно. Можно даже не типы, а один тип - некое "прочее". Передаётся заголовок и тело сообщения, попадает в базу. И так и так на сервер улетает токен аккаунта, поэтому можно смело навесить ограничение по ролям, чтобы простые пользователи без прав даже найдя функцию не спамили другим.
API-метод: post
Параметры: userIdList (для группового уведомления), title, content.
title и content - разрешено html для ссылок, жирности, курсива и подчёркивания, остальное - в топку. Ограничение по размеру навесить.
Это и какие-нибудь "быстрые" методы (отправка определённой группе, например) выкинуть в графическом виде на панель админки. Голый API разрешить дёргать скриптами. Это решит много проблем, полагаю, и упростит жизнь различным ролевым форумам, коих тут большинство - не надо будет отдельно в какую-то тему тегать всех причастных или городить велосипеды и костыли через скрипты.
Если честно, не знаю, что лучше - просто JS или именно как API. Надо смотреть, что меньше повредит при попадании в руки неумёхи-энтузиаста. Полагаю, человек, который сумеет сам написать ajax, не поломав запятые и скобки, не станет пилить бесконечный цикл даже случайно. Базы надо беречь. Как разраб платформы я бы пользователям не давал ничего, конечно: жизнь показала, что не все понимают, что делают, а уведомления хранятся как-никак в базе. А вот как человек, пишущий для форума какие-то плагины, был бы рад новым возможностям.
Компромисс - хранить кастомные уведомления в определённой таблице и хранить не более скольки-то штук на пользователя в день, а записи старше недели удалять.
Но тут вам виднее, я всё же по другому стеку больше и по другим задачам. Спасибо за внимание