Кратко:Кажется, что тематические темы не вызывают уведомления о новых темах для Подписчиков в момент публикации. Сценарий использования заключается в том, чтобы объединять тему уведомления о ежедневном скрам-митинге в один пакет для каждого рабочего дня, публиковать её в определённое время и отправлять напоминания участникам митинга.
Воспроизведение:
Убедитесь, что обычные пользователи (не администраторы) подписаны на определённую приватную категорию.
Проверьте, что эти пользователи, не имеющие активной сессии, получают уведомления по электронной почте о новых темах, созданных вручную в этой категории.
Вручную создайте новую тему в указанной категории, чтобы протестировать «контрольный случай»: пользователь должен получить уведомление по электронной почте о новой теме.
Затем создайте новую подготовленную тему в отдельной приватной категории, например, в категории «Персонал». (Опционально: измените владельца темы/первого сообщения.) Запланируйте публикацию темы на более позднее время, например, через 5 минут.
Дождитесь времени публикации…
Ожидаемое поведение:
Поскольку они подписаны на конкретную (приватную) категорию, обычные пользователи, не активные на сайте, должны получать уведомления по электронной почте для обоих типов тем: «обычных» и тематических.
Фактическое поведение:
Пользователи получают уведомления по электронной почте только для «обычных» (нетематических) тем, созданных вручную в указанной категории.
Я только что протестировал это на своём локальном сайте разработки. Мой пользователь не получил уведомление по электронной почте о совместной черновике, который планировалось опубликовать в защищённой категории, за которой он следит. Однако пользователь получает уведомления по электронной почте о темах, которые напрямую публикуются в защищённой категории.
Войдя под тестовым пользователем, я вижу, что он получил уведомление об «изменении» для темы, опубликованной из категории черновиков. Однако уведомление об «изменении» не генерирует письмо по электронной почте.
Редактирование: Я также попробовал вручную опубликовать совместный черновик, нажав кнопку «Опубликовать совместный черновик». Это тоже не создаёт уведомление о новой теме и не отправляет уведомление по электронной почте. Вместо этого для пользователей, следящих за категорией, создаётся только уведомление об «изменении».
Только для уточнения: я считаю, что именно то, что срабатывает уведомление об редактировании вместо уведомления о «новой теме», вызывает неожиданное поведение в данном случае.
Однако с точки зрения пользователей это новая тема. Тот факт, что временная метка обновляется, подтверждает эту точку зрения. (И обработка уведомлений как новой темы была бы последовательным поведением.)
Я полагаю, что UX должен функционировать с точки зрения пользователя, а не разработчика.
Обычные пользователи не будут знать об этом по умолчанию, поскольку тема была подготовлена вне их поля зрения и должна была быть показана как «новая» в назначенное время. Действительно, это основной сценарий использования тем с таймером, насколько мне известно.
Мы тщательно проверили это, когда проводили свой первый 3 декабря челлендж. Он полностью полагался на автоматически публикуемые темы, и пользователи получали уведомления в то время. Если это больше не работает, для нас это станет проблемой.
Я предполагаю, что обсуждаемая здесь проблема касается того, что происходит, когда черновик темы публикуется в её целевой категории. Те же правила применяются к публикации общего черновика, что и к перекатегоризации темы, поэтому оба случая можно обработать здесь.
При текущей функциональности пользователи, наблюдающие за категорией, получат уведомление об «изменении», когда общий черновик будет опубликован в своей целевой категории или когда тема будет перекатегоризирована в наблюдаемую категорию. Уведомления об изменении не генерируют электронные письма, поэтому пользователи не будут уведомлены по электронной почте при публикации черновика.
Определяет, создается ли уведомление «опубликовано» или «изменено», значение параметра new_record, используемого при вызове post_alerter.notify_post_users в задаче NotifyCategoryChange. Этот параметр по умолчанию равен true, но в задаче он теперь явно установлен в false. Это недавнее изменение. Возможно, для этого есть веская причина, о которой я не знаю.
Я люблю загружать свои темы как таймер в приватную категорию, а затем автоматически публиковать их в публичную категорию.
Но, как и у вас, даже когда я упоминаю команду с помощью @, никто не получает уведомление. Похоже, что повторная публикация не создаёт уведомление. Как упомянул @codinghorror, это должно быть похоже на отредактированную тему при изменении категории.
Оставив в стороне технические тонкости, есть ли способ запланировать пост и уведомить конкретную группу упоминаний (например, @ members)?
Похоже, это именно то изменение, но я не могу понять, что послужило его причиной:
Обновление:
Для тех, кому срочно требуется обходное решение, я смог использовать действие «Новое сообщение» в Zapier для отправки уведомлений в чат нашей команды вместо плагина Discourse Chat.
В итоге я полностью обошёл эту ошибку с темой по времени и запускал «Zap» на основе времени суток, публикуя его напрямую в целевую категорию. Таким образом, API будет инициировать событие «Новое», и я смогу использовать плагин интеграции с чатом Discourse для отправки соответствующих уведомлений.
Также можно отслеживать темы, а затем фильтровать «Новые темы» (Zapier всё ещё считает их новыми), которые появляются в целевой категории. Сначала я использовал этот подход, но выбрал более простое решение, описанное выше, чтобы автоматизировать ежедневное создание сообщений для начала нашего ежедневного стендапа.
Если пользователь уже видел сообщение, тип уведомления должен быть edited (отредактировано). Это происходит, например, когда автор темы (OP) добавляет категорию или тег, на которые подписан другой пользователь.
Однако, если пользователь ещё не видел сообщение, тип уведомления должен быть «new reply» (новый ответ). Это случается, например, когда тема находится в приватной категории и запланирована к публикации позже. В таком случае мы изменяем существующую тему, но с точки зрения пользователя это выглядит как новое сообщение.
Можете ли вы подтвердить, что это решает упомянутую проблему?
Вы знаете, должно ли это уведомление срабатывать для пользователей с настройкой Следить за первым сообщением или для фильтра интеграции чата Только первое сообщение?
Как я понимаю, когда категория добавляется (это происходит, например, при перемещении темы из приватной категории в публичную), уведомления получают пользователи обоих типов.
Во-первых, уведомляются пользователи, отслеживающие эту конкретную категорию. В зависимости от того, видели ли они тему ранее, принимается решение, должно ли уведомление иметь тип edited или new reply.
Затем уведомляются пользователи, отслеживающие первый пост, однако для них используется другой тип уведомления — watching first post.