Система управления контентом на основе git с открытым исходным кодом для интеграции с нашей программной платформой на Django.

Вопрос или проблема

Проблема:

Мы — 6 разработчиков, создающих CRM-программное обеспечение на Python/Django. В нашей базе данных имеется сотни шаблонов электронных писем. Они отправляются нашим пользователям в различных ситуациях (состояниях их аккаунтов). Команда контента часто изменяет эти шаблоны и другие связанные с ними (сообщения в личном кабинете для наших клиентов). Мы хотим отслеживать эти изменения, не затрагивая развитие самой CRM.

В данный момент мы работаем с фиктивными данными Django. Поэтому после каждого изменения нам нужно экспортировать содержимое таблицы электронных писем в JSON файл (фиктивные данные) и загружать это содержимое в репозиторий git. Это большая проблема.

Ограничения:

  • Разумеется, содержимое должно быть доступно программно в любое время. Поэтому, если мне нужно отправить электронное письмо клиенту, я просто получаю нужное письмо из базы данных (или откуда оно хранится…), собираю сообщение и отправляю его в очередь писем.
  • Мы хотим иметь возможность откатиться к любому предыдущему состоянию любого письма в любой момент (простое отслеживание обычного текста).

Предложение:

CMS на базе git кажется хорошим решением. Но мы открыты для любых предложений.

FrontAid CMS может быть тем, что вам нужно. Это хостинг CMS для JSON файлов в Git. Вы можете определить модель данных, используя JSON, которая описывает эти шаблоны электронных писем. На основе модели FrontAid генерирует формы, которые можно заполнять содержимым. Затем содержимое хранится непосредственно в JSON файле в вашем собственном репозитории Git. Это, похоже, именно то, что вы делаете вручную 🙂 Обратите внимание, что это в настоящее время работает только с репозиториями GitHub, но интеграция с другими провайдерами запланирована на будущее.

Дисклеймер: Я работаю в FrontAid. Пожалуйста, не стесняйтесь обращаться, если у вас есть вопросы или предложения. Наш адрес электронной почты можно найти здесь: https://frontaid.io/docs/

Ответ или решение

Вопрос о выборе системы управления контентом на основе Git для интеграции с вашей платформой программного обеспечения в Django – это важный шаг для улучшения рабочего процесса вашей команды. На основании вашего описания проблемы, предлагаю рассмотреть следующие аспекты и решения.

Проблема

Как вы упомянули, ваша команда из шести разработчиков создает CRM-систему на Python/Django. У вас уже естьhundreds фрагментов текста для электронной почты, которые часто изменяются вашей контентной командой. Использование фикстур Django для управления этими шаблонами является непростой задачей, требующей дополнительных усилий на каждое изменение. Вам нужно простое и эффективное решение для отслеживания изменений и обратной совместимости без влияния на основной процесс разработки.

Ограничения

  1. Программный доступ к контенту: ваша система должна предоставлять доступ к шаблонам электронной почты с возможность легкого извлечения и отправки их пользователям.
  2. Обратная совместимость: необходимо иметь возможность откатиться к любой предыдущей версии шаблона.

Решение: Git-базированная CMS

Для решения вашей проблемы можно разработать или использовать готовую Git-базированную систему управления контентом (CMS), которая будет упрощать процесс работы с шаблонами для электронной почты.

Рекомендация: FrontAid CMS

FrontAid CMS может быть отличным вариантом для вашей команды. Это хостинг-решение, которое создает CMS для работы с JSON-файлами в Git.

Преимущества FrontAid:

  • Модель данных в формате JSON: Вы можете определить модель данных, описывающую ваши шаблоны электронной почты. Это значительно упростит процесс создания и редактирования контента.
  • Генерация форм: FrontAid автоматически создаст формы на основе вашей модели, что позволит вашему контентному отделу редактировать шаблоны без необходимости обращаться к разработчикам.
  • Прямой доступ к Git: Все изменения, внесенные в шаблоны, хранятся в JSON-файлах прямо в вашем репозитории Git. Это избавляет от необходимости вручную создавать фикстуры и пушить их в репозиторий.
  • Откат версий: Можно легко откатываться к предыдущим версиям шаблонов, что должно удовлетворять вашему требованию по отслеживанию изменений.

Интеграция с Django

Возможно, вам потребуется разработать небольшую интеграцию между вашим проектом Django и FrontAid. Это может включать в себя:

  1. Настройку API: Если FrontAid предоставляет API, вы можете напрямую извлекать шаблоны для использования в вашем приложении. Убедитесь, что вы можете обращаться к API для получения актуальных данных.
  2. Кеширование: Реализуйте кеширование для часто используемых шаблонов, чтобы снизить нагрузку на API и ускорить время отклика вашего приложения.
  3. Механизм уведомлений: Если вы используете GitHub, вы можете настроить вебхуки для уведомления вашего приложения о любых изменениях, сделанных с помощью FrontAid, что обеспечит автоматическое обновление контента.

Заключение

Опираясь на изложенные выше аспекты, FrontAid CMS представляет собой многообещающее решение для вашего проекта. Оно может значительно упростить процесс управления шаблонами электронной почты, сделать его более управляемым и менее трудозатратным. Учитывая вашу цель — обеспечить простой доступ к контенту и возможность отката к предыдущим версиям, FrontAid соответствует всем вашим требованиям.

Если у вас возникнут дополнительные вопросы или потребуется помощь с внедрением FrontAid, вы можете обратиться к их команде по поддержке или изучить документацию на их сайте.

Оцените материал
Добавить комментарий

Капча загружается...