How can I duplicate a whole topic?

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?

1 Like

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

4 Likes

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

1 Like

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.

2 Likes

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?

6 Likes

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.

4 Likes

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.

1 Like

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. :slightly_smiling_face:

1 Like

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.

3 Likes

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 :grinning:

3 Likes

Well, you can search for the definition of topic in Google:

top·ic
/ˈtÀpik/
a matter dealt with in a text, discourse, or conversation; a subject.

It’s quite accurate. If you prefer a different word for personal reasons you are free to edit the text in Discourse via Admin, Customize.

As far as the original matter


Why not press the admin wrench on the topic and split the topic, so the replies about the “other” topic are in a different, but linked topic? That would be the simpler course of action, supported by a whole host of tools in Discourse.

1 Like

Because:

“I [wanted] 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.”

Unless there is a way to copy a post to a new topic while leaving it in the original topic as well that I haven’t figured out, the solution you propose isn’t allowing to maintain certain replies in both topics for comprehension purpose.

I see, if you have heavily intertwined replies with lots of quotes from various posts it could get tricky, but that should be relatively rare. I’ve moderated meta here in most forms for almost a decade now and I can’t think of many times I’ve encountered this “need” to duplicate an entire topic
 a regular topic split usually works well enough.

1 Like

Jeff, I have a use case where duplicating an entire topic would be extremely useful.

We use our instance for business collaboration, specifically a union. Each meeting we make a thread, 8 posts long, TOC style.

Each meeting posts 1-8 while very different within the topic are the same format month to month with just specific info pasted in. it would be stunningly useful to have the ability to make a template not just for the first post, but the whole topic, replicating it each month and inserting the monthly information.

Right now, I have a topic I created in a private category with the template for each post 1-8. I currently have to open it split screen with a new topic, copy post 1 from template topic to new topic, then post 2, then post 3, etc.

While this is a really unusual use case, there are some instances which could really benefit from an admin feature to clone a topic, or if there’s a way to expand the topic template to include multiple individual reply templates nested into the category with the topic template.

Right now, whether its a topic template or a wizard, all I can do is clone an unfilled post #1 basically.

1 Like

Hello,

Is Discourse Canned Replies not could be a better solution for this? You just have to make it once for topic and posts then you can simple select the templates.

4 Likes

You know
 that might work out well. Having looked at it, I’m really encouraged. @Don thanks!

4 Likes