Перейти к основному содержимому

Content Commons -- общая библиотека активов и модерация

Контент, предоставляемый пользователем, совместно используемый между продуктами (песни WorshipCommons, уроки Lessons.church, шаблоны FreeShow, шаблоны веб-сайта B1) проходят через одну очередь модерации, а не отдельный поток рецензирования для каждого продукта. Эта страница охватывает жизненный цикл представления/одобрения, общую модель данных активов и то, где живет модерация.

The asset spine​

Две таблицы несут каждый элемент commons, независимо от продукта:

  • assets -- публичная строка идентификации. status: pending | published | unpublished | removed. Данные, специфичные для типа (детали песни, авторы), живут в вспомогательных таблицах, присоединенных по assetId.
  • assetFiles -- каждый файл, прикрепленный к активу (аудио, изображения, документы), заменяя старые столбцы path + разделенные запятыми files в отдельных таблицах контента.
  • submissions -- единица модерации. Жизненный цикл: draft → pending → approved | rejected | withdrawn. Представление может быть совершенно новым активом или редактированием существующего опубликованного (автором оригинала или третьей стороной).

Одобрение представления запускает продукт-специфичный publish hook (Api/src/modules/commons/helpers/publishHooks/, например song.ts), который расширяет представление в собственные записи продукта.

Submission flow​

CommonsSubmissionController (Api/src/modules/commons/) - это сталкивающийся API конечного пользователя: создайте черновик, пресигнуйте и прикрепите файлы, отправьте на рецензирование или отведите. Его реальные клиенты - внешние сайты производителей (сайт WorshipCommons, Lessons.church, FreeShow, галерея шаблонов веб-сайта B1) -- не B1Admin.

Moderation queue​

Очередь живет в B1Admin → Server Admin → Commons (B1Admin/src/serverAdmin/components/CommonsTab.tsx), гейт разрешением Permissions.server.admin -- то же самое, которое гейт Churches/Impersonate/Jobs на той странице. Это внутренний инструмент только для персонала ChurchApps, не то, что видят отдельные церкви.

Три под-вкладки:

  • Queue -- каждое представление, ожидающее во всех продуктах, фильтруемое по типу продукта/активов. Каждая строка показывает новый актив против редактирования-от-автора против редактирования-от-третьей-стороны фишку, одобрение послужной список автора, сводку diff поля/файла и возраст (помеченный прошлых 72ч). Review открывает ящик с дифф на уровне поля, предварительным просмотром файла и встроенным предварительным просмотром продукта только для чтения; Одобрить/Отклонить поддерживают ярлыки клавиатуры (j/k для навигации, a/r для действия).
  • Reports -- отчеты об авторском праве и политике/качества по опубликованным активам, разделены на две очереди плюс разрешенная история. Член персонала претендует на отчет, затем разрешает его с резолюцией (подтверждено/отклонено/дублировано) и действием (нет/не публиковать/удалить).