bruno пишет:Понятно.
Но тоже не совсем гуд.
А нельзя разве как-то стыковть два файла вместе при этом не нарушая визуальной целостности темы?
Т.е. разбивать точно также файл темы на части, но при этом не разделяя саму тему?
По-моему технически это примерно также может выглядеть.
Так подобная стыковка нескольких файлов темы в рамках одной темы была реализована в более ранних версиях (по крайней мере, в ExBB 1.9.1 и первых сборках ExBB Full Mods), только вот работало это не очень. Сложность заключается не столько в обеспечении визуального единства одной темы в нескольких файлах, сколько в обработке таких тем. Чтобы не описывать всё долго, приведу пример. Предположим, Вы удаляете (перемещаете) тему, в которой много ответов (как Вы потом предложили, 500 страниц). Пиковый расход ресурсов (как следствие, увеличение нагрузки на сервер) и пиковое снижение скорости работы форума увеличится примерно в
n раз, где
n - кол-во файлов, из которых состоит тема (в текущей реализации, не допускающей деления тем на файлы, n = 1). Но помимо расхода на удаление (перемещение) файлов темы, который по сути не такой большой, есть также дополнительные расходы, такие как обновление профилей пользователей, оставлявших в удаляемой (перемещаемой) теме сообщения. Если тема удаляется, то из информации статистики сообщений пользователя (которая есть в файле профиля каждого пользователя) нужно вычесть число сообщений, которые пользователь оставил в удаляемой теме (соответственно обновляется и счётчик сообщений пользователя, значение которого также хранится в файлах профилей пользователей). Если тема перемещается, то также обновляется статистика сообщений пользователя (для исходного раздела, из которого перемещается тема, и конечного раздела, в который перемещается тема). Подобное обновление профилей "на лету" - довольно ресурсоёмкая задача, нагрузка на удаление/перемещение темы (с учётом уже имеющегося
n) возрастает ещё в приблизительно
m раз, где
m - кол-во пользователей, отвечавших в тему, причём отношение
m/n лежит в пределе приблизительно от 1,5 до 3. Снижение же нагрузки методом разбиения темы на файлы (при сохранении единства представления темы, как Вы предлагаете) можно получить только для случая просмотра темы, либо при обработке темы частями. Последний метод наиболее универсальный, но его применение не удобно и не всегда практически реализуемо в рамках единого представления, поэтому и было принято решение разделять большие темы на части
Используемый вариант разбития тем на части мне нравится и как концепция, форум по сути сам себя архивирует, закрывая старые дискуссии и открывая их продолжения. На многих крупных форумах (например, onliner.by или приведённый выше ru-board.com) подобная практика широко распространена, только там разделения выполняются администраторами/модераторами вручную, у нас же это сделано автоматически
Многие форумные движки (яркий пример - IPB) чтобы снижать и без того сильную с их стороны нагрузку на сервер, при удалении тем не обновляют счётчики сообщений у пользователей, отвечавших в удаляемые темы, т.е. обновление информации профиля "на лету" невозможно (подобный вопрос обсуждался
здесь). Для актуализации информации там применяется метод полного пересчёта сообщений пользователей, но пиковая нагрузка этого метода (равно как и частая необходимость его применения) также далеко не лучший вариант