Есть ли способ заставить Discourse повторно отправить сообщение, когда пользователь редактирует его для внесения исправлений или изменений?
Привет, Эндрю ![]()
Что ты имеешь в виду под «переслать» пост?
То есть, если пользователь исправляет пост и редактирует его, то люди, которые используют только функцию электронной почты в Discourse, не видят исправленный пост, насколько я понимаю. Поэтому я спрашиваю: есть ли способ снова отправить отредактированный/обновленный пост автоматически или вручную? Или отправить уведомление об обновлении по электронной почте?
Я не верю, что это возможно, и это сделано намеренно
Это проблема для таких пользователей: если в сообщениях будут внесены существенные правки, они их никогда не увидят.
Если у вас есть официальная рассылка по электронной почте, вы можете публиковать важные правки в ней.
Если это критическая ошибка, единственное решение, которое я могу предложить, — попросить пользователя создать новое сообщение с исправлением. В этом случае все пользователи, следящие за темой или категорией, получат уведомление по электронной почте об изменении.
В большинстве случаев для решения этой проблемы предназначена настройка сайта email time window mins. По умолчанию она устанавливает задержку в 10 минут между сохранением сообщения и генерацией уведомлений по электронной почте. Это должно дать пользователям возможность исправить очевидные ошибки в своих сообщениях.
Хорошо знать об этом. Я думал, что по умолчанию сообщение отправляется сразу после публикации.
Также полезно, что есть пятиминутное окно для внесения незначительных правок без публикации истории редактирования, хотя в некоторых случаях было бы идеально иметь запись всей истории изменений. Есть ли способ для администратора просмотреть исходный пост и всю историю редактирования?
Вы можете частично управлять этим через настройки сайта, но если версия истории редактирования не создаётся, администратор не сможет просмотреть внесённые изменения.
Настройки следующие:
период прощения при редактировании: в течение (n) секунд после публикации редактирование не создаёт новую версию в истории поста.максимальное количество изменений при периоде прощения: максимальное число изменений символов, допускаемое в период прощения; если изменений больше, сохраняется ещё одна версия поста (уровни доверия 0 и 1).максимальное количество изменений при периоде прощения для пользователей с высоким доверием: максимальное число изменений символов, допускаемое в период прощения; если изменений больше, сохраняется ещё одна версия поста (уровни доверия 2 и выше).
Если редактирование происходит за пределами периода прощения или если изменение затрагивает более (по умолчанию) 100 символов для пользователей с уровнем доверия 0 и 1, либо более 400 символов для пользователей с уровнем доверия ≥ 2, будет создана новая версия. Если редактирование не удовлетворяет ни одному из этих условий, версия не создаётся, и просмотреть, что именно было изменено, будет невозможно.
О, понятно, как это работает — очень изощрённо.
Значит, решение — установить «edit grace» в ноль, это самый безопасный вариант.
Это зависит от вашей ситуации. Просматривая код сейчас, можно выделить несколько случаев, которые приведут к созданию новой ревизии при редактировании поста в пределах периода свободного редактирования:
- пост был помечен
- пост отредактирован другим пользователем (например, сотрудником)
- при редактировании поста указано «причина редактирования»
- изменён владелец поста
Похоже, они действительно всё продумали ![]()
Очень впечатляет, что для помеченного поста это было бы наиболее важно.
Я немного сбит с толку: как возможно, что у опубликованного поста, видимого в других странах, нет истории правок? Благодаря системе «милостивого редактирования» правки могут вноситься без публикации истории, что может означать, что предыдущие публикации удаляются без следа?
Копии могли быть сделаны любым, кто увидел пост до его редактирования, или если сразу после публикации была сгенерирована электронная почта с исходным текстом. Когда я публикую текст, зная, что у меня есть пять минут «милостивого периода» до публикации правок, это помогает мне не так сильно волноваться о вычитке перед тем, как изменения станут постоянными. Тогда это может превратиться в гонку, чтобы завершить все правки в течение пяти минут и избежать того, чтобы пост отображался как отредактированный.
Похоже, это довольно сильно отклоняется от первоначального запроса о поддержке:
Возможно, стоит вернуться к обсуждению именно этой темы.
Что касается запроса в службу поддержки, то, похоже, ответ был отрицательным: такого способа нет. Если бы он существовал, было бы хорошо об этом узнать. В противном случае это будет запрос на новую функцию.
Когда вы это говорите, вы имеете в виду людей, которые буквально никогда не заходят на сайт форума и не входят в систему, а только читают электронные письма, отправленные Discourse?
Я изучил настройки администратора для электронной почты и не нашёл опции для генерации и отправки новых писем при редактировании постов. Возможно, это можно было бы интегрировать как новую настройку функции для режима рассылки.
Существует опция, позволяющая пользователям создавать новые темы по электронной почте; по умолчанию она отключена. Если она включена, можно настроить уровень доверия; по умолчанию это уровень #2:
Да. На этом сайте это составляет подавляющее большинство пользователей, по каким-то причинам (они в основном перешли из старой группы рассылки). Мне трудно заставить их использовать веб-интерфейс, хотя я постоянно пытаюсь! И да, пользователи могут создавать новые темы по электронной почте и, конечно же, отвечать.
Так что, да, я думаю, что это была бы хорошая идея для запроса функции.
Кстати, я говорю об изменениях, внесённых после любых льготных периодов.
Спасибо за уточнение. Я согласен, что было бы хорошим решением уведомлять людей, если вносятся правки.
Отличное замечание от Саймона.
Это также указано в стандартных условиях использования: если условия редактируются, будут отправлены электронные письма:
В случае обновлений, содержащих существенные изменения, компания обязуется отправить вам электронное письмо, если вы создали учётную запись и указали действительный адрес электронной почты.
