Управление контентом: от одной базы до целой системы
Привет, Хабр! В этой статье хочу показать, что управление процессом создания контента, его публикации и отчётности может быть не коробочным решением или тем, что часто видно в обычной таблице, а гибкой системой, собранной на базе платформ-конструкторов типа Notion и Buildin.ai.
Начну с того, что если бы контент-мейкеры и пиарщики были техногиками и владели этими инструментами, то вопроса о том, как им управлять контентом, даже не стояло бы. Потратив от пары часов до пары дней, они бы собирали себе системы своей мечты со всеми нюансами их бизнес-процесса, форматами данных, числом площадок, подходами к чистоте данных, отчётности и прочему. Но техническая сторона чаще всего далека от творчества и умения ярко и осмысленно выражать свои идеи, особенно в формате профессиональной деятельности, на которую оказывают влияние бизнес-требования и начальство.
Именно поэтому стандартный подход к управлению контент-планом и системой управления производством лежит где-то между простой таблицей в Excel или коробочным решением со стандартным набором CMS-инструментов.
Но это неминуемо приводит к жёстким фрустрациям:
-
в таблицу нельзя вставить всё, что хочется;
-
в таблице нельзя создавать связи между записями;
-
в коробках всегда чувствуешь себя зажатым логикой тех, кто их делал;
-
в коробках всегда приходится искать ход конём, так как они никогда не отражают именно твой бизнес-процесс со всеми его нюансами.
Открытость и гибкость архитектуры
В платформах открытой архитектуры, где ты организуешь своё рабочее пространство так, как тебе хочется, создавая его из набора взаимосвязанных страниц и баз данных, ты испытываешь максимальный комфорт и продуктивность, так как проблемы простой таблицы и коробок просто отсутствуют.
Не нужно бояться создавать свою систему
Если у вас есть возможность хотя бы попробовать расширить границы своей системы управления, то стоит попробовать. На мой экспертный взгляд, лучших решения два: Notion — если вас не связывают санкционные ограничения, и Buildin.ai — как его максимально корректный аналог с примерно идентичным UX.
С чего начать?
Начать можно с создания простой базы данных, выполняющей функцию контент-плана. В её задачу будут входить все базовые функции, которые связаны с производством контента и его жизненным циклом.
Такую систему я создаю в настоящий момент. От неё мне нужно удобно:
-
управлять темами материалов;
-
создавать план публикаций;
-
фиксировать каналы коммуникации и сегменты рынка;
-
размещать черновики и уже опубликованные материалы;
-
хранить сопутствующие материалы: обложки, скриншоты;
-
фиксировать реакции, на которые нужно отреагировать;
-
непосредственно работать с карточками материалов относительно их состояния:
-
по статусу;
-
по датам;
-
по типу;
-
по назначению и т.д.
-
Моя текущая система состоит из одной базы данных. Ниже представлено то, как она выглядит.

Помимо размещённых материалов, база данных имеет важную, хотя и не уникальную особенность — специализированные виды со специально отфильтрованным контентом:
-
все;
-
🧠 по темам — то, что видно на скриншоте;
-
📅 по месяцам;
-
😎 мои — темы и материалы, придуманные мной, а не AI;
-
✨ темы;
-
✅ видео — уже опубликованные видео;
-
✅ статьи — уже опубликованные статьи;
-
✅ публикации — все опубликованные материалы в формате шкалы времени.
Что сейчас внутри записи?
Запись может быть одновременно чем угодно:
-
темой;
-
статьёй;
-
постом в паблике;
-
видео.
Соответственно, то, чем она является внутри базы данных, определяется свойствами базы, которыми я отмечаю тип, состояние, назначение, ценность и прочие характеристики записи. Вот как это выглядит в настоящий момент:

Архитектура свойств и их назначение
-
результат — формула, автоматически показывает факт публикации. Пока её нет — ⏳, после появления ссылки на ресурс — ✅ опубликовано, если тип Тема — показывает ее статус.
if(contains(prop("Тип"), "✨ Тема"), prop("Статус"), if(prop("Дата публикации"), "✅ опубликовано", "⏳"))
-
дата план — свойство даты, показывает примерный план публикации материала;
-
дата факт — свойство даты, показывает фактическую дату публикации;
-
статус — свойство выбора значения, оно нужно для отражения состояния публикации. В моём случае они пока такие:
-
месяц и неделя — свойства выбора, показывают месяц и неделю для удобства фильтрации по этим признакам среди всех материалов;
-
тип — свойство выбора, показывает тип публикации, необходимый для фильтрации материалов по типам;
-
идея — свойство выбора, необходимо для фильтрации моих материалов и материалов, придуманных AI;
-
цель — текстовое свойство, необходимо для уточнения цели публикации и задачи, которую она решает;
-
тема — свойство типа self-relation, необходимо для связи темы с материалами и наоборот;
-
публикации — свойство типа self-relation, это обратный relation от свойства «тема», включает в себя публикации по теме;
-
ценность — свойство выбора, полезно для валидации ценности идей;
-
краткое описание — текстовое поле, где хранится описание к материалу, например к видеоролику;
-
обложка — свойство файла, позволяет размещать файл обложки материала;
-
площадка — свойство-формула, показывает название площадки исходя из того, в каком именно свойстве размещена ссылка на публикацию.
if(empty(prop("VK Video")), "", "VK Video") +if(empty(prop("YouTube")), "", if(empty(prop("VK Video")), "YouTube", " • YouTube")) +if(empty(prop("RuTube")), "", if(empty(prop("VK Video")) and empty(prop("YouTube")), "RuTube", " • RuTube")) +if(empty(prop("VC")), "", if(empty(prop("VK Video")) and empty(prop("YouTube")) and empty(prop("RuTube")), "VC", " • VC")) +if(empty(prop("Hubr")), "", if(empty(prop("VK Video")) and empty(prop("YouTube")) and empty(prop("RuTube")) and empty(prop("VC")), "Habr", " • Habr"))
-
файл материала — свойство файла, включает в себя файл с опубликованным материалом;
-
YouTube и ещё масса других свойств, каждое — под отдельную площадку, где публикуется материал.
Здесь можно спросить, почему для каждой площадки нужно отдельное свойство, ведь можно иметь одно свойство, например «ссылка», и одно свойство с названием площадки. Да, такое решение тоже возможно, но если один и тот же материал будет размещён на разных площадках, нужно создавать разные записи в базе.
Сейчас я понимаю, что такое решение оправдано только в одном случае: если внутри самой записи есть область работы с реакциями. И тут действительно будет удобно аккумулировать реакции не относительно одной публикации, а именно с точки зрения каждой публикации как уникального медиаматериала.
Но, учитывая, что эту часть я ещё только буду реализовывать в структуре системы управления контентом, у меня ещё будет время додумать эту архитектуру.
А как вы поступаете в подобном случае? Будет полезно ваше мнение.
Кому интересно протестировать UX самому и попробовать мою базу данных, делюсь ссылкой для скачивания её как бесплатного шаблона.
Что планирую дальше?
-
Создать базу статистики для учёта охвата материала по разным временным метрикам.
-
Создать базу реакций для работы с обратной связью.
-
Создать базу задач для управления задачами в рамках медиапроцесса.
-
Создать базу площадок, чтобы иметь по ним отдельную статистику.
Может быть, что-то посоветуете ещё — буду рад вашим идеям в комментариях.
ссылка на оригинал статьи https://habr.com/ru/articles/1054960/