Moving posts into an existing topic doesn't keep chronology

But you agree that year old posts being inserted as new is a terrible idea! :slight_smile:

The opposite of that is to keep chronology so that when a duplicate topic is created by someone and merged to an established topic, the new post gets put it at the right point.

2 лайка

Could I be so bold as to run a poll?

As a forum moderator, which behaviour would you prefer to see?

  • A) Merged posts are always inserted in chronological positions
  • B) Merged posts are always placed at the end of the destination topic (existing behaviour)
  • Moderator chooses A or B depending on the topic
  • Other (please comment)

0 voters

1 лайк

But the existing behaviour is not B.

The existing behaviour shoves the posts in a totally random point … in my case about 200 posts back and ‘2 years ago’ despite having dates of ‘1 day ago’.

In addition to this, when listing the posts in latest or category view, the most recently dated post (which comes from the newer merged thread) is marked … but it’s actually buried in the thread way earlier.

That has to be a bug?

Did you have any weird migrations on your site? Will I be able to repro this on try.discourse.org?

Yes this forum was a perfect once-run import from phpBB. Would that make a difference?

Don’t know, but I’ll give it a run at some point. I have reproduced it on 3 forums that have come from phpBB, but not on a clean install yet.

The option to do one or the other would be lovely. I like the other way, and so does my community, so the status quo is an irritant :slight_smile:

1 лайк

Just experienced this and agree that it is a difficult problem. Had two parallel discussions on exact same topic and interleaving merged list according to chronology looks like it might have worked better. Latest post to original (merged into) topic is now quite a ways up in the thread. Tradeoff hard to analyze at glance.

3 лайка

Разве в Discourse нельзя предусмотреть оба варианта и позволить модераторам или администраторам выбирать, какой использовать при слиянии?

5 лайков

Я хочу вставить перемещённые сообщения в конец существующей темы. Похоже, это невозможно, поэтому перемещённые сообщения появляются в неправильном порядке и отображаются после оригинального сообщения в теме.

Объединение тем, возможно, обычно не самая лучшая идея, но я ожидал бы, что посты будут отображаться в хронологическом порядке.

Текущий подход похож на ветвление: исходный первый пост и ответы на него, затем внезапно добавленный первый пост и ответы на него, после чего — последующие посты. На мой взгляд, это противоречит духу, если не букве философии Discourse.

На данный момент, возможно, лучшим решением будет закрыть одну тему и разместить вверху обеих тем какое-либо уведомление от администратора, привлекающее внимание к другой теме.

4 лайка

Мы тоже заметили эту странность. Мне кажется, что ментальная модель наших пользователей такова: темы по определению представляют собой хронологический список ответов. Независимо от того, отвечаю ли я на новый пост или на пост, опубликованный несколько месяцев назад, мой ответ добавляется в конец. Слияние тем нарушает эту модель, поскольку часть ветки вставляется в хронологию в той точке, где модератор выполняет слияние.

В абстрактном плане я понимаю обоснованность текущего поведения: оно сохраняет целостность обсуждения внутри присоединяемой темы. Но это также поднимает вопрос: зачем вообще объединяют темы.

В случае нашего сообщества мы хотим консолидировать обсуждение конкретной темы в одной ветке. Например, мы хотим создать одну тему, где люди смогут сообщить, поступили ли они в университет штата Огайо, класс 2025 года. Если кто-то создаст новую тему, она будет объединена с официальной темой. Ответы часто не зависят друг от друга. В большинстве случаев люди используют кнопку «Ответить», чтобы отреагировать на конкретное сообщение, поэтому не так важно, чтобы ответы располагались близко друг к другу на странице.

Если бы ответы были тесно связаны между собой, я не уверен, что существовала бы необходимость в слиянии веток. Вместо этого логичнее отвечать в одной теме со ссылкой на другую. Или, возможно, в обоих направлениях. И, возможно, закрыть одну из тем. Слияние подразумевает, что две темы в значительной степени перекрываются. Для обработки параллельных разговоров существуют другие (и лучшие) инструменты.

В любом случае, я просто добавляю один пример: такая реализация слияния плохо вписывается в ментальную модель наших пользователей и делает функцию менее полезной, чем она могла бы быть, если бы ответы располагались в хронологическом порядке.

6 лайков

Может быть, когда-нибудь появится опция в меню темы :wrench: «Сортировать сообщения по дате»?

Таким образом, поведение по умолчанию останется прежним: сообщения будут добавляться в конец. Если администратор считает, что тему лучше оформить, встроив эти сообщения в старое обсуждение, достаточно будет быстро нажать на такую опцию при необходимости.

19 лайков

Это вроде бы постоянно возвращается. Есть ли где-то запрос на новую функцию? Я бы очень это оценил.

4 лайка

Для этого существует задача rake, но на данный момент триггер в интерфейсе отсутствует.

2 лайка

Мне потребовалось использовать это для некоторых потоков электронной почты, которые при импорте были разделены на отдельные темы, поэтому я решил подробно описать этот процесс на случай, если он понадобится и кому-то ещё. Для этого у вас должен быть доступ к командной строке на сервере, где запущен ваш экземпляр Discourse.

Для начала переместите все желаемые посты в целевую тему, а затем получите ID темы. В адресной строке вы можете увидеть что-то вроде следующего, где ID темы — 24855:
/t/topic-slug/24855/9

На вашем сервере войдите в приложение Discourse, выполнив следующие команды. Возможно, вам потребуется освободить место, если доступно менее 5 ГБ.

cd /var/discourse
./launcher enter app

Если это прошло успешно, вы можете затем переупорядочить посты по их временным меткам с помощью следующей команды, заменив ID темы соответствующим образом.

rake posts:reorder_posts[24855]
5 лайков

Мы добавляем опцию «выберите своё отравляющее средство» при слиянии постов, чтобы вы могли выбрать, какой неверный метод наименее ошибочен для ваших сценариев использования. :wink:

8 лайков

Есть ли планы добавить это в дорожную карту в (ближайшем) будущем?

4 лайка

Я тоже очень заинтересован в этом! По крайней мере, на нашем форуме мы часто перестраиваем целые обсуждения в новые темы, поскольку они часто уходят от темы. Кроме того, мы часто перемещаем посты по причинам SEO, когда тема с пометкой «перемещено и закрыто» ранжируется лучше, чем последующая.

3 лайка

Это уже реализовано?

2 лайка