It sounds probably ridiculous since people usually want to avoid or remove duplicate threads. However I have a use case right now where I need to duplicate a thread. How can I do it?
Manually ? You can navigate to the raw contents of the topic by going to /raw/{topic_id} and copying everything there.
So, https://meta.discourse.org/t/195111 becomes https://meta.discourse.org/raw/195111
By the way, Discourse calls topics what you call “threads”
Edit: or, if you are TL4/staff you can just click edit and copy everything there
Actually that doesn’t do what I need. I want all the topic with all the replies. I want an exact duplicate of the thread, but with different topic_id
I found a way to “reproduce” a whole thread which was laborious but no way to truly duplicate it. (Retaining the likes for instance)
I create a new thread and put it in a non accessible category e.g. staff. I copy each reply from the original topic tread and paste it in a reply in the new topic thread. For replies I only need in the new topic thread, I just select and move them. Then I change ownership of the copied reply to the name of the poster of the original reply. Once I am done, I close the original thread and I change the category of the new topic to a public category.
Of course this is too painstaking to use on a regular basis. The reason I needed to do it this time was because someone created a topic with a very long title that could be interpreted in two different topic threads. We (moderators) noted the issue of long title (this will be restricted to less characters now) but didn’t realize at that time that it would cause a problem.
The conversation started and before we knew it, we had two very intertwined delicate conversations going on, with some offensive comments from one member that nevertheless provoked a rich series of responses in both matters.
To retain the richness of the contributions that had taken place, to reprimand the repeated offender, to use the event for community educational purpose and to permit both valuable conversations to grow each their way, I determined that it was best to split the topics apart, keeping only the pertinent interventions to each but not hesitating to repeat in both the interventions that were covering both matters for clarity comprehension purposes.
In the topic thread that retained the offensive reply, I also put a staff notice before the offensive post saying that it wasn’t in accordance with our community values but that we’d let it for educational purpose. I doctored that post in the following manner: I put the markdown code < del >
In front of the offensive language
I explained that to express his opinion in a constructive manner the member
would have been better wording it
< ins > this way instead.
That was a lot of work and thinking. I would not do that again manually. But the use case is definitely there.
That sounds like a lot of work! You might get better feedback next time when you don’t just ask for technical support (“How can I duplicate a topic?”), but explain the situation and what you want to achieve in your initial post. E.g. you probably could have just closed the topic, put a staff note as last post and link it to two new topics where the respective discussions could continue?
I can’t blame you for your comment: we often ask what is the goal when people ask for technical stuff about fmpro on our board.
However I was dead set on my intent to experiment this approach with the current situation. I knew about closing thread and starting two new topics. I wanted to use the existing material for educational purposes.
We have a very good community, lots of great contributions. However, we were born out of frustration with the vendor’s platform. So I have been using various approach and change management techniques to help people move away from the whining and bitching about the vendor.
Most have progressed in the way they express critical opinions about the product or the vendor. Unfortunately a few individuals had the tendency to stir the pot and brought upon the community a bad reputation and valuable members of the ecosystem whom have a closer or privileged relationship with the vendor won’t come near us. Which is unfortunate because we have grown organically as most people when they become aware that we exist like the forums and want to stay and these stellar members were bringing in valuable expertise and content.
Two very reputable and esteemed developers had to withstand bickering and had to “work” too hard to rectify information and lost the motivation and fun to contribute and removed themselves.
We did moderate but it was just unpleasant to constantly have the same irritating behaviours resurfacing and by trying to give everyone the right to their say, I eventually realize that it was somewhat unfair on everyone to have to exercise tolerance and forcing them to witness unpleasantries because a few would not refrain from being jerks.
Our FAQ did nit impress upon them the faculty to observe and recognize the faults in their interactions. Instead of do’s and don’ts, or guidelines people interpret how they want anyway, our new administrator decided to promote values instead. It turns out it is easier to moderate because we just say that post doesn’t abide by our community values so it was edited (or hidden until you modify it).
However we eventually realized that doing this didn’t help people who have been communicating poorly all their lives to know how to do better.
So now we are adding educational interventions, basically metacommunicating, directly in the threads. We’ll se how that turns out.
I know, @HAWK even edited my title to reflect that.
I use threads exactly to avoid what happened here: your suggestion was a solution to duplicate the topic (aka the initial post). However what I wanted was a solution to duplicate the whole thread (which is the the initial post aka topic + all the following replies.
In other words, when you create a new topic and people post replies, what you get is a thread.
That’s the thing – you don’t… There is literally no such thing as a thread in Discourse. The first post and all responses together are called a topic.
I will accept the concept you expose in the context of Discourse. However, linguistically, philosophically, and historically in the online fora domain, thread is what best describe the thing that has for components a titled initial post and the following replies. 
Agreed, but the thing that you’re missing here is that Discourse doesn’t have threading like all other forum platforms do. That is literally why we make this distinction.
You make a point. In this case a discussion or conversation might be a better term since it is less specific about the design uniting the components 
您可以在 Google 上搜索主题的定义:
top·ic
/ˈtäpik/
在文本、话语或对话中处理的事项;一个主题。
这相当准确。如果您出于个人原因更喜欢其他词语,可以通过管理员在 Discourse 中进行自定义编辑。
至于最初的问题……
为什么不点击帖子上的管理员扳手图标并拆分帖子,以便关于“其他”主题的回复可以放在一个不同的、但链接的帖子中?这将是更简单的解决方案,并且得到了 Discourse 中大量工具的支持。
因为:
“我[想]将主题分开,只保留与每个主题相关的回复,但毫不犹豫地在两者中重复涵盖这两个问题的回复,以达到清晰理解的目的。”
除非有办法在不从原帖删除的情况下将帖子复制到新主题,否则您提出的解决方案不允许在两个主题中都保留某些回复以达到理解的目的。
我明白了,如果回复中大量引用了各种帖子的内容,可能会变得棘手,但这应该相对少见。我在各种论坛上担任元版主近十年了,我想不出有多少次遇到过需要复制整个主题的情况……通常情况下,分割主题就足够了。
杰夫,我有一个用例,其中复制整个主题将非常有用。
我们使用我们的实例进行业务协作,特别是工会。每次会议,我们都会创建一个包含 8 个帖子的主题,格式为目录样式。
每次会议的帖子 1-8,虽然主题内差异很大,但每月格式相同,只需粘贴特定信息即可。能够创建一个模板,不仅用于第一个帖子,还用于整个主题,每月复制一次并插入月度信息,这将非常有帮助。
现在,我在一个私人类别中创建了一个主题,其中包含每个帖子 1-8 的模板。我目前必须在分屏中打开它,并新建一个主题,将帖子 1 从模板主题复制到新主题,然后是帖子 2,然后是帖子 3,依此类推。
虽然这是一个非常不寻常的用例,但有些实例可以真正受益于管理员克隆主题的功能,或者如果有一种方法可以将主题模板扩展到包含嵌套在类别中的多个单独回复模板以及主题模板。
现在,无论是主题模板还是向导,我所能做的就是复制一个未填写的帖子 #1。
你好,
Discourse Canned Replies 难道不是一个更好的解决方案吗?你只需要为主题和帖子创建一次,然后就可以简单地选择模板了。
您知道……那可能会奏效。看过之后,我真的备受鼓舞。@Don 谢谢!
我们也有一个用例。我们使用私信(PM)向一个组发送私密的帮助请求,但我们鼓励用户允许我们将他们的请求公开。我们更倾向于公开的帮助请求,这样更多人可以从帮助中受益。
理想情况下,我们会将 OP 的帮助请求和选定的回复复制到一个新的公开主题中,省略自动回复消息以及我们询问是否可以公开的回复等。
目前,我们将不得不将私信主题设为一个完整的主题,放在一个私有类别中,删除我们不想显示的回复,然后将其移动到一个公开区域。
你们为什么不反过来做呢?选择你们想公开的帖子,将它们移到一个新的对话中,然后将其变成一个公开主题?我感觉选择性地发布内容比删除所有不想发布的内容更安全。
你说得有道理。我猜我以为 OP 的帖子不能移到一个新主题。我会做一些测试,看看它是否可行。谢谢你的建议。
