Closed Natalia-Ch closed 7 years ago
Как в этом случае контролировать процесс: кому по каждой ноде уже отправлялось письмо, а кому нет? А если вы захотите опубликовать ранее добаленный, но не опубликованный материал?
Реализованный вариант ничем не плох, на самом деле, с учетом того, что сотни тысяч записей в таблицах для mysql - это нормальное дело. Мне просто интересно с точки зрения архитектуры и минимизации дискового пространства... я бы такой алгоритм попыталась реализовать:
То есть, если в таблице есть строки, то они должны быть отправлены. В этом и контроль.
"А если вы захотите опубликовать ранее добаленный, но не опубликованный материал?"
В таблицу должны попадать только опубликованные материалы. Запись в таблицу не только при добавлении материала со статусом "опубликовано", но и при смене статуса с "не" на "опубликовано".
Можно сделать проще. Просто добавить кнопку с очисткой устаревших данных. Я подумаю над этим.
Проделал достаточно много работы. Обновил модуль до версии 1.0.4. Основные изменения - возможность группировать материалы в одном письме. Но для этого нужно будет переделать шаблон "Сообщение о появлении нового контента". Еще в настройках появилась специальная галочка, чтобы не хранить информацию в таблице. Еще сделал форму для очистки этой таблицы.
Еще вопрос возник про таблицу email_subscribe_readed_nodes. Как я поняла при подписке юзера в нее копируются все nid уже существующих материалов. Не могу понять зачем? Если на сайте тысячи и даже десятки тысяч материалов и при этом сотни подписчиков, то таблица получится огромной и будет расти как на дрожжах с каждым новым подписчиком. Не логичнее было бы в эту таблицу писать nid-ы только вновь добавленных материалов? А после оправки письма подписчику и их удалять. То есть таблица будет содержать лишь nid-ы новых материалов для каждого подписчика.