How it works
Thread Split groups a sequence of threads into a chain. The original thread is the first part; each subsequent split closes the previous part and creates a new one with the same title pattern, an automatic continuation post, and the previous part's watchers carried forward.
Vocabulary
| Term | Meaning |
|---|---|
| Chain | A linked sequence of threads that started from a single original thread. Stored in xf_mc_threadsplit_chain. |
| Part | One thread inside a chain. Each part is an ordinary thread plus a row in xf_mc_threadsplit_chain_thread recording its part_number. |
| Original thread | The first part of a chain. The original_thread_id on the chain row never changes, even if that thread is later deleted. |
| Current part | The most recent part of the chain. New posts go here. |
| Continuation post | The system-generated first post of every new part except the first. Quotes the final post of the previous part by default and links back to it. |
Lifecycle of a split
When a part hits its threshold and the conditions are right:
- The current part is closed to new posts.
- A new thread is created in the same forum with a title derived from the title template (default:
{title} (Part {part_number})). - A continuation post is written as the first post of the new thread, using the continuation post template.
- Watchers of the previous part are migrated to the new part if Migrate watchers on split is on. Users who muted the previous part are not migrated.
- Active viewers of the previous part receive a soft notification if Notify active viewers on split is on.
- The chain's
current_part_idis updated; the chain'spart_countincrements.
Split modes
The split mode controls when the threshold actually triggers a split.
| Mode | Behaviour |
|---|---|
| Hard | Splits immediately when the threshold is reached. Predictable; may cut a conversation mid-flow. |
| Grace | Waits for a quiet period (default 5 minutes with no new posts) before splitting. Better for live discussion threads. |
A safety ceiling (default 1500 posts) acts as a backstop: if a thread on grace mode keeps receiving posts and never quiets down, the safety ceiling forces the split. Hard mode ignores the ceiling because it splits at the threshold anyway.
Modes and ceilings are configured at AdminCP > Setup > Options > [MC] Thread Split > Split mode.
Where the split is decided
Per-thread overrides win over per-forum overrides, which win over the global options. The first non-null setting wins:
thread override → forum override → global option
If every layer is null for a setting, the global default applies. See per-forum overrides and per-thread overrides.
What does NOT happen
- Chains do not unify pagination. Each part is a separate thread with its own page numbering. Cross-part navigation is provided by the continuation post and the chain navigation block.
- Posts are not moved. Splitting closes the previous part where it stands. The new part starts empty (apart from the continuation post).
- Old parts are not deleted. Historical parts remain readable.
- Auto-split does not run on locked threads. Closing a part as part of the split does not trigger another split on the same chain.