Обзор

Discussions хранит все доски сайта в нескольких обычных списках SharePoint, поэтому действующие ограничения — это ограничения списков SharePoint Online плюс несколько фиксированных значений, заложенных в веб-часть. В этой статье перечислены эти значения в том виде, в каком они реализованы в версии 26.10.2, объясняется, как веб-часть остаётся в пределах порога представления списка, и даны рекомендации для сайтов с очень большими досками или очень длинными ветками. Сами списки и столбцы описаны в KB10426. Справочник списков и столбцов Discussions.

Ограничения в одной таблице

ЭлементЗначениеОткуда берётся
Тем, загружаемых на одну страницуПараметр Тем на странице: от 5 до 100 с шагом 5, по умолчанию 20Панель свойств, группа Вид
Тем на доске, досок на сайтеВеб-часть не ограничиваетДействуют ограничения списков SharePoint
Досок, предлагаемых в раскрывающихся спискахПервые 500 досок сайта, отсортированные по названиюФиксированное значение
Ответов, загружаемых для темыВсе ответы, читаются с сервера порциями по 500Фиксированное значение
Глубина вложенности ответовНе ограниченаМодель данных (материализованный путь)
Название темы255 символовСтолбец Title в SharePoint
Встроенное изображение10 МБ на файл; только файлы изображенийФиксированное значение, Изображение больше 10 МБ.
Вложений на тему или ответВеб-часть не ограничиваетВложения элементов списка SharePoint
Имя файла вложенияЗарезервированные символы заменяются на _; имена длиннее 120 символов обрезаютсяФиксированное правило
Элементов в одном разделе очереди модерации200 самых новыхФиксированное значение
Элементов в веб-части Discussions ActivityПараметр Максимум элементов: от 1 до 50, по умолчанию 5Панель свойств, группа Вид
Подписок, читаемых на пользователя и доску500Фиксированное значение
Классических элементов, читаемых импортёромПорциями по 2 000, пока исходный список не будет прочитан полностьюФиксированное значение

Как список тем остаётся быстрым

Список тем никогда не запрашивает у SharePoint всю доску целиком. Каждый запрос — это серверный запрос к списку Discussions Topics, ограниченный одной страницей из Тем на странице строк и отсортированный сначала по признаку Закреплена, а затем по Последней активности, новые сверху. Кнопка Показать ещё запрашивает следующую страницу по ссылке продолжения, которую вернул SharePoint, поэтому доска с десятками тысяч тем обходится в расчёте на страницу так же, как доска с двадцатью.

Каждый фильтр, который добавляет веб-часть, опирается на индексированный столбец — именно это удерживает запросы в пределах порога представления списка в 5 000 элементов:

ФильтрСтолбецГде используется
ДоскаVtxBoard (подстановка, индексирован)Каждый запрос
УтверждениеVtxApprovalStatus (индексирован)Участники: утверждённые элементы и свои собственные
Представление Без ответаVtxTopicType и VtxStatus (индексированы)Вопросы со статусом Open
Представление С ответомVtxStatus (индексирован)Статус Answered
Представление РекомендуемыеVtxIsFeatured (индексирован)Рекомендуемые темы
Представление Мои темыКем созданоТемы текущего пользователя
Раскрывающийся список категорийVtxCategory (индексирован)Выбранная категория
Порядок сортировкиVtxIsSticky, VtxLastActivity (индексированы)Каждый запрос

Исключение — поле поиска: оно добавляет условие содержит по столбцу Название темы, а это неиндексируемая операция. SharePoint всё равно сначала применяет индексированный фильтр по доске, поэтому поиск безопасен, пока одна доска остаётся заметно меньше 5 000 тем. На более крупной доске поиск может работать медленно или быть отклонён SharePoint с ошибкой порога представления списка; см. рекомендации ниже.

Постраничный список тем с кнопкой «Показать ещё»

Постраничный список тем с кнопкой «Показать ещё»

📝 Заметка
Веб-часть ищет только по названиям тем. Текст ответов и содержимое тем не просматриваются; чтобы найти их, используйте поиск SharePoint по сайту, который индексирует списки Discussions Topics и Discussions Posts как любые другие списки.

Длинные ветки

При открытии темы веб-часть загружает все её ответы, а не только первую страницу. Ответы читаются из списка Discussions Posts порциями по 500 через индексированную подстановку VtxTopic, после чего дерево ответов строится в браузере по столбцам родителя и пути. Глубина вложенности не ограничена, и внутри ветки нет шага «показать ещё ответы».

Практические следствия:

  • Ветке с 2 000 ответов нужно четыре запроса, прежде чем она будет показана; ветке с 10 000 ответов — двадцать. Страница становится заметно тяжелее задолго до достижения ограничений SharePoint, потому что все ответы отрисовываются сразу.
  • Глубоко вложенные ответы смещаются вправо уровень за уровнем. На узких экранах очень глубокие ветви становятся трудночитаемыми; модераторы могут закрыть исчерпавшую себя тему (Закрыта) и попросить открыть новую.
  • Счётчик Ответы в списке — это сохранённое на теме число, а не живой подсчёт (см. KB10432. Счётчики, последняя активность или лучший ответ выглядят неверно).

Изображения и вложения

Встроенные изображения, вставленные из буфера обмена, перетащенные или добавленные кнопкой Вставить изображение, загружаются в библиотеку документов Discussions Assets. Веб-часть создаёт папку на каждый календарный год (например, 2026) и сохраняет каждое изображение в ней под уникальным именем, поэтому ни одна папка не растёт бесконечно, и библиотека на многие годы использования остаётся заметно ниже порога представления. Изображения больше 10 МБ отклоняются ещё до начала загрузки; файлы, не являющиеся изображениями, редактор игнорирует.

Вложения, добавленные кнопкой Прикрепить файл, — это обычные вложения элемента списка на теме или ответе. Веб-часть не ограничивает их количество и размер; действуют ограничения SharePoint Online для вложений элементов списка. Перед загрузкой имена файлов приводятся к безопасному для SharePoint виду: символы \ / : * ? " < > | # % & { } ~ заменяются знаком подчёркивания, а имена длиннее 120 символов укорачиваются.

Библиотека Discussions Assets с папкой на каждый год

Библиотека Discussions Assets с папкой на каждый год

Очередь модерации, веб-часть Activity и подписки

  • Экран Модерация читает не более 200 элементов на раздел (темы, ожидающие утверждения; ответы, ожидающие утверждения; темы с жалобами; ответы с жалобами), новые сверху. Ожидающие и обжалованные ответы запрашиваются по всему сайту, а затем сужаются до текущей доски, поэтому на сайте с несколькими активными досками очень длинная очередь может показываться порциями: утвердите или отклоните видимые элементы, и появятся следующие.
  • Веб-часть Discussions Activity читает только то количество тем, которое задано в Максимум элементов (от 1 до 50), с фильтром по индексированному столбцу утверждения и сортировкой по последней активности, поэтому её недорого разместить на домашней странице.
  • Подписки читаются на пользователя и на доску, не более 500 строк, что намного больше того, на что один человек подписан на практике.

Счётчики и управление версиями

Количество ответов, количество просмотров, последняя активность и подобные значения хранятся на элементе темы и обновляются браузером пользователя, который отвечает или открывает тему. Каждое такое обновление создаёт новую версию элемента темы, потому что списки создаются с включённым управлением версиями. На очень активной доске журнал версий популярной темы растёт быстро; владелец сайта может уменьшить число хранимых версий в разделе Параметры списка → Параметры управления версиями (List settings → Versioning settings) списка Discussions Topics, не затрагивая работу веб-части.

❗ Важно
Не удаляйте индексы со столбцов Vtx и не переводите списки на другой шаблон. Веб-часть создаёт индексы при первом использовании и опирается на них в каждом запросе; доска, которая перерастёт 5 000 тем без индексов, начнёт выдавать ошибку порога представления списка.

Рекомендации для очень больших досок

  1. Делите по аудитории, а не по годам. Несколько досок на одном сайте (служба поддержки ИТ, HR, доска на каждый курс) используют одни и те же списки, но фильтруются по индексированному столбцу доски, поэтому каждая доска остаётся небольшой для запросов, а на сайте сохраняется единое место для поиска.
  2. Держите отдельные доски в пределах 5 000 тем, если ваши пользователи полагаются на поле поиска. Сверх этого ограничивайте поиск категориями и представлениями или направляйте пользователей к поиску по сайту.
  3. Используйте категории вместо множества почти одинаковых досок; фильтр по категории индексирован и ничего не стоит.
  4. Закрывайте завершённые ветки и начинайте новые, вместо того чтобы позволять одной теме накапливать тысячи ответов.
  5. Размер страницы. Значение по умолчанию — 20 тем на странице — хороший баланс; увеличение до 100 утяжеляет первую отрисовку на медленных соединениях, не меняя серверной стоимости одной страницы.
  6. Импорт. Импортёр классической доски читает источник порциями по 2 000 и записывает элементы по одному; классическая доска с десятками тысяч сообщений требует много времени, но не требует особой подготовки. См. KB10417. Как импортировать классическую доску обсуждений SharePoint в Discussions.

💡 Совет
Если вы планируете доску для всей организации, задайте представление по умолчанию и размер страницы, подходящие аудитории, как описано в KB10422. Представления, постраничная загрузка, поиск и счётчики: настройки отображения веб-части Discussions, и разместите веб-часть Discussions Activity на домашней странице, чтобы люди попадали к последним темам, не прокручивая доску.

Рекомендуемые статьи

My Tasks: разбиение на страницы, число строк, автообновление и мгновенная загрузка

Как веб-часть Vitextra My Tasks работает с длинными списками задач: ползунок размера страницы (от 5 до 50), постраничная навигация, переключатель «Разбиение на страницы», компактный список, автообновление каждые 60 секунд, сеансовый кэш на 15 минут для мгновенной загрузки и лимит в 100 задач для источников SharePoint и Project.

73 5 мин
Как установить List Filter Online и добавить её на страницу

Пошагово: загрузите пакет Vitextra List Filter Online в каталог приложений SharePoint, добавьте веб-часть List Filter на современную страницу, выполните минимальную настройку (сайт, список или библиотека, столбцы), опубликуйте страницу и обновите веб-часть до новой версии.

67 5 мин
Использование JSON форматирования столбцов SharePoint в List Filter Online

Как List Filter Online применяет JSON форматирования столбцов, заданный для столбцов списка SharePoint: включение параметра, поддерживаемые элементы, стили, атрибуты, токены полей и выражения, что не поддерживается и как веб-часть выполняет откат, с готовыми примерами.

80 7 мин

Поделиться