I’ve been giving this some thought. From my experience with megatopics and non-mega, but slowly updating ones, users hate it if the topics they were watching get closed, even if there are replacement ones.
This suggests two possible fixes, both of which would probably need some help in core or in a plugin.
- A new way to split topics that puts older stuff in a new topic and leaves newer posts.
- A way to split a topic, or spawn a sequel, that copies user watch / tracking / muted settings to the new topic.
More details on each idea:
Top of Topic Splitter
The way I see this working is mod selects a post and then clicks and all before and this triggers a new / modified create new topic popup. The new topic would default to same category, default to existing topic name with start and end dates, and default to creating a locked topic. The first and last (last being a system one) posts would have links to the main topic it was split off from. The existing topic would keep the first post, get a new post in the place of the moved ones (ignoring any other split topic special posts), and otherwise remain the same.
Probably would also want a rake job that fixes quote links in other topics, but that may be trickier.
Copy Watch Settings Splitter
This one is likely easier to do, but somehow also seems less satisfying to me. For one thing, links of the general form example.discourse/t/_/12345 (that is, going to the topic, not a post) become stale. Such links are likely if the topic is used by external discussion (“Submit ideas for the app here!”). When used, it would close the existing topic, change the title to indicate date span (by default), create a new topic in the same category copying title, first post and all tracking / mute settings. A link to the new topic would be added to the system close topic message in the old one.
Probably want to de-track / watch the closed topic for any user that didn’t participate in it. Scenario I thinking about here: User Elijah, who is active for a couple of months and then disappears for a year, who was explicitly watching a topic, might not care about the two created and closed middle topics that occurred while he was away, but might still be interested in following the lastest version when he returns.