Пространства — Администрирование¶
Пространства — это вики-подобные статьи. Раздел описывает, как настраиваются их видимость, структура, системные ДП и навигация. Собственного раздела администрирования у пространств нет — все настройки задаются через смежные домены (пользовательские настройки, категории, рабочие места групп, избранное, группы).

Механизмы администрирования¶
Автоадминка — через смежные домены¶
Формы автоадминки из смежных доменов, через которые настраиваются пространства:
| Alias формы | Название | Таблица БД | Папка |
|---|---|---|---|
custom-settings |
Пользовательские настройки | dbo.SettingsCustom | Системные настройки |
workplaces |
Рабочие места группы | dbo.UserGroupSettings | Пользовательский интерфейс |
favourites ¹ |
Избранное группы | dbo.UserLinks | Пользовательский интерфейс |
groups |
Группы | dbo.Groups | Пользователи и группы |
¹ Форма favourites — отдельная SPA-страница (/administration/favorites-groups), зарегистрированная в дереве автоадминки.
Кто может создавать пространства и разделы¶
Создание и редактирование пространств не требует глобальных прав администратора. Соответствующие методы админ-API помечены атрибутом AllowNonAdmin: общая проверка роли администратора для них не выполняется, права проверяются внутри сервиса по конкретному разделу или пространству. Если проверка не прошла, возвращается ошибка доступа.
| Операция | Метод API | Кому доступна |
|---|---|---|
| Создать пространство | POST /api/admin/spaces |
Глобальный администратор; член группы-администратора целевого раздела (CategoryGroupPermissions, действие CATEGORY_ADMIN); пользователь с правом «Администратор категории» (AdminCat) хотя бы на одной категории целевого раздела |
| Редактировать пространство (название, права групп) | POST /api/admin/spaces/{spaceId} |
Глобальный администратор; администратор самого пространства — право AdminCat на категории-пространстве |
| Получить разделы, доступные для создания пространств | GET /api/admin/spaces/available-categories |
Любой авторизованный; в ответ попадают только те разделы, где у пользователя есть одно из прав, перечисленных для создания |
| Создать раздел | POST /api/admin/categories |
Глобальный администратор (признак «бог» или специальное право CHSC); член группы-администратора родительского раздела. Раздел верхнего уровня, без родителя, создаёт только глобальный администратор |
| Редактировать, удалить, скопировать раздел | POST /api/admin/categories/{categoryId}, DELETE /api/admin/categories/{categoryId}, POST /api/admin/categories/{categoryId}/copy |
Только глобальный администратор |
Где выполняется проверка:
| Операция | Проверка |
|---|---|
| Создание пространства | SpacesAdminService.CreateSpace → CanCreateSpaceInCategory |
| Редактирование пространства | BaseAdminController.CheckAdminOrSubcategoryAdmin → Permissions.CheckGodOrSubcatAdmin |
| Создание раздела | CategoryAdminService.CreateCategory → CanCreateCategory |
Право «Администратор категории» на подкатегориях раздела определяется по дереву категорий пользователя (Categories.GetSubcategoriesInUserTree с действием AdminCat), поэтому администратору достаточно прав хотя бы на одну категорию нужного раздела.
Что происходит при создании пространства: создаётся категория с типом «Пространство» и IsWikiSubcat = 1, к ней применяется настройка по типу категории (системные ДП, иконка, цвет), а группам из запроса выставляются права «Администратор категории» (AdminGroupIds) и «Просмотр» (ViewerGroupIds) с пересчётом прав на категорию. При редактировании списки групп синхронизируются: перечисленным группам право включается, остальным — выключается.
Ключевые настройки¶
Конфигурация пространств (SettingsCustom)¶
Где настраивается: автоадминка → форма custom-settings → запись Key = SpaceSettings
Таблица БД: dbo.SettingsCustom
JSON-значение определяет:
- IsActive — включены ли пространства (если false — скрыты независимо от навигационных настроек)
- RootCatId — корневая категория дерева пространств
- ExtParams — системные ДП пространства (контент, обложка, родитель и др.)
Как применяется: эти настройки используются для построения дерева пространств и отображения статей.

Тип категории «Пространство» (Subcategories)¶
Где настраивается: автоадминка → форма subcategories
Таблица БД: dbo.Subcategories
| Поле | Что контролирует |
|---|---|
SubcatTypeID = «Пространство» |
Категория попадает в контур пространств |
IsWikiSubcat = 1 |
Включает вики-функциональность |
OneFMainVisibilityMode |
Определяет показ контента в лентах/списках |
Видимость блока «Пространства» (UserGroupSettings)¶
Где настраивается: автоадминка → форма workplaces
Таблица БД: dbo.UserGroupSettings
| Поле | Что контролирует |
|---|---|
SpacesVisible |
Показывает/скрывает раздел «Пространства» в левом меню |
Избранное: ссылки на пространства (UserLinks)¶
Где настраивается: SPA-страница /administration/favorites-groups (пункт favourites в дереве автоадминки)
Таблица БД: dbo.UserLinks
Ссылки типа «Пространство» и «Страница пространства» для быстрой навигации в конкретное пространство/статью.

| Поле | Что контролирует |
|---|---|
TypeId |
Тип ссылки (пространство / страница пространства) |
LinkedObjectId |
ID привязанного пространства/статьи |
Href |
URL для перехода |
Привязка группы к статье (Groups)¶
Где настраивается: автоадминка → форма groups
Таблица БД: dbo.Groups
| Поле | Что контролирует |
|---|---|
SpaceTaskID |
Кнопка перехода в статью пространства из сценариев интерфейса группы |
Типичные ошибки настройки¶
Частые проблемы при настройке пространств: вероятная причина, где проверить и запрос для диагностики в БД:
| Симптом | Причина | Где проверить | SQL-диагностика |
|---|---|---|---|
| Пользователь не видит «Пространства» | IsActive = false или SpacesVisible выключен |
Формы custom-settings, workplaces |
select [Value] from dbo.SettingsCustom where [Key] = 'SpaceSettings'; select GroupId, SpacesVisible from dbo.UserGroupSettings |
| Пространство есть в БД, но не в списке | Неверный RootCatId или категория не типа «Пространство» |
dbo.SettingsCustom, dbo.Subcategories |
select Id, SubcatTypeID, IsWikiSubcat from dbo.Subcategories where Id = {subcatId} |
| В статье нет контента/обложки/родителя | Неверные ID в SpaceSettings.ExtParams |
dbo.SettingsCustom → JSON ExtParams |
Проверить соответствующие ДП в категории пространства |
| Ссылка из избранного открывает не тот объект | Неверный TypeId или LinkedObjectId |
Форма favourites |
select * from dbo.UserLinks where Id = {linkId} |
| Кнопка группы ведёт в неверную статью | Неверный SpaceTaskID |
Форма groups |
select Id, SpaceTaskID from dbo.Groups where Id = {groupId} |
Связанные документы¶
См. также:
- Пространства — бизнес-логика — дерево, статьи, навигация
- Социальная сеть — администрирование — пересечение по вики-категориям
- Системные настройки —
custom-settings - Категории — администрирование — типы категорий, ДП