НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
169 of 182 menu

Таблица workspace

Таблица workspace является центральной таблицей модуля Workspaces, который предоставляет возможности для создания нескольких стадий контента (например, "Stage", "Live") и управления публикацией изменений между ними. Каждая запись в таблице представляет отдельное рабочее пространство.

Поля

Поле Тип данных Описание
id varchar(128) Уникальный машинный идентификатор рабочего пространства. Используется для программного обращения к workspace.
uid int Идентификатор пользователя, создавшего рабочее пространство. Внешний ключ к таблице users.
label varchar(255) Человекочитаемое название рабочего пространства, отображаемое в интерфейсе администратора.
created int Временная метка создания рабочего пространства в формате UNIX timestamp.
changed int Временная метка последнего изменения рабочего пространства в формате UNIX timestamp.
parent varchar(128) Идентификатор родительского рабочего пространства, если текущее workspace является его потомком. Используется для создания иерархии workspace. Может быть NULL.

Как это работает

Модуль Workspaces позволяет редакторам работать с контентом в изолированной среде, не затрагивая основное (Live) рабочее пространство. Пользователи могут создавать несколько workspace для разных целей (например, "Релиз_Апрель", "Кампания_Лето").

Когда пользователь активирует определенное рабочее пространство, все изменения контента (создание, редактирование, удаление сущностей) записываются в соответствующие таблицы ревизий (например, node_revision), но помечаются как принадлежащие этому workspace. Это позволяет одновременно вести работу над разными наборами изменений.

После завершения работы в workspace пользователь может выполнить деплой (публикацию) изменений в Live-пространство. Система сравнивает изменения между workspace и целевым пространством, разрешает конфликты и применяет все изменения атомарно.

Поле parent позволяет создавать иерархические цепочки workspace. Например, можно создать workspace "Верификация" на основе "Stage", а затем выполнить деплой из "Верификации" в "Live". Это обеспечивает многоступенчатый процесс контроля качества контента.

Пример SQL-запроса

Получить список всех рабочих пространств с информацией об их создателях можно следующим запросом:

SELECT w.id, w.label, w.created, u.uid, u.name as username FROM workspace w LEFT JOIN users u ON w.uid = u.uid ORDER BY w.created DESC;

Смотрите также

  • таблицу users,
    которая хранит учетные записи пользователей
  • таблицу node,
    которая содержит основные данные материалов
  • таблицу node_revision,
    которая хранит ревизии материалов
  • таблицу workspace_association,
    которая связывает сущности с рабочими пространствами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить