Обзор
Discussions — это решение SharePoint Framework. Каждая доска, тема, ответ, лайк, жалоба, подписка, вложение и изображение хранятся в обычных списках SharePoint и библиотеке документов на сайте, где работает веб-часть, а каждое чтение и каждая запись выполняются через SharePoint REST API от имени вошедшего пользователя. Ничего не хранится за пределами вашего клиента Microsoft 365, и пакет не запрашивает разрешений Microsoft Graph. В этой статье хранение описано с той детализацией, которая нужна для проверки безопасности или оценки защиты данных.
Кратко для администраторов
| Вопрос | Ответ |
|---|---|
| Где хранится содержимое? | В четырёх списках и одной библиотеке документов на сайте, где размещена доска |
| Кто их создаёт? | Веб-часть, при первом использовании, от имени пользователя с разрешением Управление списками (Manage Lists) — владельца сайта; недостающие списки и столбцы позднее добавляются так же |
| Можно ли переименовать списки? | Да — веб-часть распознаёт их по фиксированным идентификаторам столбцов, а не по названию |
| Где хранятся вложения? | Как вложения элементов списков Темы обсуждений (Discussions Topics) и Сообщения обсуждений (Discussions Posts) |
| Где хранятся встроенные изображения? | В библиотеке документов Файлы обсуждений (Discussions Assets), в папке за каждый год |
| От чьего имени выполняются запросы? | От имени вошедшего пользователя — при каждом запросе |
| Какие разрешения API запрашивает пакет? | Никаких; Microsoft Graph не вызывается |
| Что отправляется в Vitextra? | Технические идентификаторы для проверки лицензии и телеметрия использования; никакого содержимого |
| Что происходит с данными при удалении веб-части? | Ничего — списки остаются на сайте, пока вы их не удалите |
Списки на сайте
Когда владелец сайта создаёт первую доску, веб-часть создаёт на уровне сайта перечисленные ниже списки. Они обслуживают все доски сайта: на сайте может быть несколько досок, и все они используют одни и те же списки.
| Название по умолчанию | Тип | Что содержит |
|---|---|---|
| Доски обсуждений (Discussions Boards) | Настраиваемый список | По одному элементу на доску: название, описание, режим (Discussion, QnA или Mixed), список категорий, счётчик тем и параметр Требуется утверждение |
| Темы обсуждений (Discussions Topics) | Настраиваемый список | Темы: заголовок, текст, подстановка на доску, категория, тип (Discussion или Question), статус (Open, Answered, Locked), признаки закреплённой и рекомендуемой темы, счётчики, последняя активность, принятый ответ, лайки, статус утверждения, упоминания, жалобы, прежний идентификатор |
| Сообщения обсуждений (Discussions Posts) | Настраиваемый список | Ответы: текст, подстановка на тему, подстановка на родительский ответ, материализованный путь и уровень, признак принятого ответа, лайки, статус утверждения, упоминания, жалобы, прежний идентификатор |
| Подписки обсуждений (Discussions Subscriptions) | Настраиваемый список | Кто подписан на какую доску или тему и с какой частотой |
| Файлы обсуждений (Discussions Assets) | Библиотека документов | Изображения, вставленные в редактор форматированного текста (из буфера обмена, перетаскиванием или загрузкой) |
Списки создаются видимыми в разделе Содержимое сайта, с включённым управлением версиями, отключёнными типами контента и отключённым быстрым (табличным) редактированием. У двух списков с содержимым включены вложения элементов; в библиотеке документов включено создание папок. Списки индексируются поиском, поэтому темы и ответы могут появляться в результатах поиска SharePoint, как любые элементы списков.
Набор списков и столбцов веб-часть поддерживает в актуальном состоянии сама. Когда модератор (пользователь с разрешением Управление списками) открывает страницу, на которой веб-часть была настроена до появления списка подписок или библиотеки файлов, недостающие списки и столбцы создаются автоматически. Настройка доски — Создать доску и Использовать доску — тоже всегда проверяет списки и добавляет столбцы, появившиеся в более поздних версиях, но только для пользователей с разрешением «Управление списками»; остальные пользователи лишь находят существующие списки. При этом ничего не переименовывается и не удаляется.

📝 Заметка
Названия списков берутся из языка интерфейса того, кто создаёт доску. В английском интерфейсе списки называются Discussions Boards, Discussions Topics, Discussions Posts, Discussions Subscriptions и Discussions Assets; в русском интерфейсе они получают русские названия из продукта. Названия можно изменить позже, не нарушая работу веб-части.
Как распознаются списки
Веб-часть не зависит от названий списков. В каждом списке есть маркерный столбец с фиксированным идентификатором: столбец Режим в списке досок, подстановка Доска в списке тем, подстановка Тема в списке сообщений, столбец Тип объекта в списке подписок и текстовый столбец Файл обсуждений в библиотеке документов. Веб-часть сначала ищет списки по названию, а если не находит, просматривает видимые списки сайта в поисках маркерных столбцов. Отсюда следует:
- вы можете переименовать список или изменить отображаемое имя столбца — веб-часть продолжит работать;
- нельзя удалять маркерные столбцы и остальные столбцы
Vtx— веб-часть сочтёт список отсутствующим или не сможет прочитать элементы; - списки должны оставаться на том же сайте, что и страница с веб-частью; доска не может обслуживаться с другого сайта.
Столбцы
Внутренние имена всех столбцов, добавленных продуктом, начинаются с Vtx; отображаемые имена локализуются так же, как названия списков. Полный справочник с типами, индексами и допустимыми значениями столбцов выбора приведён в статье KB10426. Справочник списков и столбцов Discussions. Что важно для проверки данных:
- Тексты тем и ответов (
VtxBody) хранятся как HTML. Редактор пропускает всё через санитайзер со списком разрешённых тегов перед сохранением, а веб-часть очищает содержимое ещё раз перед отображением, поэтому значение, отредактированное напрямую в списке, не может внедрить скрипты на страницу. - Люди хранятся в стандартных столбцах SharePoint типа «пользователь»: автор и редактор каждого элемента, упомянутые пользователи (
VtxMentions), пользователи, поставившие лайк (VtxLikedBy) или пожаловавшиеся (VtxReportedBy), последний ответивший (VtxLastReplyBy) и подписчик (VtxUser). Столбец «пользователь» ссылается на список сведений о пользователях сайта, а не на копию профиля. - Данные модерации — это статус утверждения (
VtxApprovalStatus: Approved, Pending или Rejected), счётчик жалоб и список пожаловавшихся. - Настройки доски (
VtxDescription,VtxMode,VtxCategories,VtxRequireApproval) и название доски записываются командой «Настройки доски» веб-части, которую модераторы открывают на панели команд; редактирование элемента в списке «Доски обсуждений» (Discussions Boards) даёт тот же результат. Категории хранятся по одной в строке. - Счётчики (
VtxReplyCount,VtxViewCount,VtxLikeCount,VtxTopicCount) — числа, которые обновляет веб-часть; их можно исправить в списке. Счётчик просмотров темы увеличивается не чаще одного раза за сеанс браузера.VtxTopicCountв элементе доски увеличивается при создании темы и уменьшается при её удалении; оба обновления выполняются «по возможности», а значение в веб-части не отображается. - Прежний идентификатор (
VtxLegacyId) хранит идентификатор элемента классической доски обсуждений, из которого запись была импортирована, чтобы импорт можно было запускать повторно без дублей.

Вложения и встроенные изображения
Файлы, которые пользователи прикрепляют к теме или ответу, хранятся как вложения элементов соответствующего списка — Темы обсуждений или Сообщения обсуждений — в стандартной папке вложений элемента SharePoint. Они наследуют разрешения элемента и удаляются вместе с ним.
Изображения, вставленные в текст сообщения, загружаются в библиотеку документов Файлы обсуждений. Веб-часть создаёт папку с названием текущего года (2026, 2027, …) и сохраняет файл в ней под уникальным именем, составленным из отметки времени, случайного суффикса и исходного имени файла, поэтому два пользователя могут загрузить screenshot.png без конфликта; папки по годам удерживают библиотеку в пределах порога представления списка на активных сайтах. Изображение больше 10 МБ редактор отклоняет. Сообщение ссылается на изображение по его адресу в библиотеке, поэтому читателю нужен доступ на чтение к библиотеке — унаследованный от сайта, — чтобы его увидеть.
Когда тема или ответ удаляются в веб-части (автором или модератором, после подтверждения), веб-часть удаляет из библиотеки Файлы обсуждений и встроенные изображения удаляемого текста. При удалении темы сначала удаляются все её ответы, начиная с самых глубоких, затем сама тема — вместе с изображениями всех этих сообщений; ответ, у которого ещё есть вложенные ответы, удалить нельзя. Очистка изображений выполняется «по возможности»: затрагиваются только файлы библиотеки Файлы обсуждений, ошибка не прерывает удаление, а изображение, которое убрали из сообщения при его изменении, остаётся в библиотеке.
❗ Важно
Удаление файла из библиотеки Файлы обсуждений не изменяет сообщение, которое на него ссылается: сообщение сохраняет адрес и показывает сломанное изображение. Удаление элемента списка удаляет вместе с ним его вложения. И то и другое можно восстановить из корзины сайта в течение обычного срока.
Что хранится на странице
Конфигурация веб-части хранится в свойствах веб-части на странице, как и у любой веб-части SPFx: выбранная доска и её название, идентификаторы и адреса списков, а также параметры отображения. Веб-часть Discussions Activity хранит выбранную доску, адрес страницы с доской, максимальное число элементов и переключатель названия доски. Содержимое не кэшируется ни в браузере, ни в локальном хранилище.
Учётная запись и разрешения
- Каждый запрос — это вызов SharePoint REST к текущему сайту с маркером вошедшего пользователя. SharePoint применяет к каждому вызову разрешения этого пользователя; веб-часть лишь решает, какие кнопки показать (см. KB10408. Разрешения в Discussions: кто может читать, писать и модерировать).
- Пакет не запрашивает разрешений API: на странице Доступ к API (API access) Центра администрирования SharePoint ничего не появляется, и Microsoft Graph никогда не вызывается. Подробности — в статье KB10413. Разрешения API и согласие администратора для Discussions; процедура из статьи KB10360. Как одобрить разрешения Microsoft Graph API для решений Vitextra в Центре администрирования SharePoint для этого продукта не требуется.
- Выбор людей для @упоминаний использует стандартный поиск людей SharePoint на сайте; упомянутый человек добавляется в список сведений о пользователях сайта, если его там ещё не было, — это стандартное поведение при заполнении столбца «пользователь».
- Веб-часть не отправляет электронную почту. Уведомления доставляет поток Power Automate, который настраивает владелец сайта; см. KB10414. Как работают уведомления в Discussions: подписки, упоминания и Power Automate.
Что отправляется за пределы клиента
| Назначение | Что отправляется | Куда |
|---|---|---|
| Проверка лицензии | Идентификатор клиента (Tenant ID), идентификатор объекта пользователя, адрес сайта, идентификатор, название и версия продукта | vitextra.com |
| Телеметрия использования | Событие при загрузке веб-части (продукт и версия, идентификатор и адрес сайта, идентификатор объекта пользователя, язык интерфейса, работает ли веб-часть в Teams) и технические сведения об ошибках | Azure Application Insights |
| Файлы продукта | Обычный запрос скриптов и значков веб-частей | static.vitextra.com, vitextra-storage.azureedge.net |
Ни одна доска, тема, ответ, вложение, изображение, подписка или упоминание не отправляется в Vitextra или третьим лицам. Общая картина по всем продуктам Vitextra, включая сетевые адреса, которые нужно разрешить, приведена в статье KB10363. Где продукты Vitextra хранят ваши данные: конфиденциальность, расположение данных и GDPR.
Жизненный цикл данных
- Удаление веб-части со страницы не затрагивает списки и их содержимое; добавьте веб-часть снова и выберите существующую доску, чтобы продолжить.
- Удаление пакета из каталога приложений или с сайта отключает веб-части, но сохраняет списки, которые остаются доступными для чтения в стандартных представлениях; см. KB10362. Как удалить решение Vitextra из SharePoint Online и Microsoft Teams.
- Удаление списков удаляет доски, темы, ответы, подписки и файлы; они попадают в корзину сайта.
- Хранение, обнаружение электронных данных (eDiscovery), аудит и метки конфиденциальности применяются к спискам так же, как к любому другому списку сайта; см. KB10412. Хранение, eDiscovery и метки конфиденциальности для содержимого Discussions.
- Экспорт возможен стандартной командой Экспорт в Excel каждого списка или потоком Power Automate; тексты экспортируются как HTML.