Файловая CMS для одного типа контента

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

Сценарий

Я ищу быстрое и простое решение для настройки простого CMS. Я посмотрел на некоторые кандидаты, перечисленные ниже, но пока не нашел ничего подходящего.

Я хочу поддерживать только один тип контента для определенного типа содержания. Для удобства объяснения предположим, что я хочу управлять книгами. Мы собираемся разработать некоторый собственный код дополнений для обработки данных о книгах, управляющихся CMS. Система будет развернута с помощью Docker, и я хотел бы иметь возможность создать финальный образ, который может быть развернут в производственной среде.

Требования

Должны быть выполнены следующие требования:

  • Работает в виде контейнера Docker. Я хотел бы создать пользовательский образ, включая наши расширения, который готов к развертыванию.
  • Предоставляет форму для создания записи о новой книге и редактирования существующих записей о книгах
  • Перечисляет все книги и предоставляет полнотекстовый поиск по всем данным
  • Необходимо иметь возможность добавления расширений для реализации пользовательского кода для реагирования на изменения записей
  • Бесплатно, желательно с открытым исходным кодом

Следующие требования были бы хороши, но не являются строго обязательными:

  • Файловое хранилище
  • Поддержка LDAP
  • Версионирование / Аудит изменений записей

Уже рассмотренные варианты

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

  • Plone: это как бросить ядерную бомбу на проблему, равную по размеру булавке для волос. У него есть все необходимое, но настройка и кривое обучения находятся в совершенно другом мире.

  • Drupal: похоже, что сложно получить рабочий экземпляр Docker для полного приложения. Стандартный образ требует от вас выполнения всех видов конфигурации и установки изначально.

  • grav: не хватает поддержки LDAP, и, похоже, редактирование существующих записей о книгах затруднено

  • pico: только размещает .md файлы, но нет поддержки динамического создания контента

NemakiWare

  • Предоставляет форму для добавления новых “документов”. Вы можете настроить типы документов (и их метаданные), если это необходимо.
  • Перечисляет все с иерархией папок
  • Полнотекстовый поиск по поддерживаемым типам файлов
  • Пользовательские действия: требует модификации некоторого кода на Java.
  • Docker только что был добавлен (пока вам нужно собрать файлы Docker, но образ будет доступен скоро): https://github.com/aegif/NemakiWare/tree/dockerize
  • Бесплатно и с открытым исходным кодом: GNU Affero General Public License версия 3

Из раздела “хорошо бы иметь”:

  • Хранение осуществляется на CouchDB, а не на файловой базе
  • Пока нет поддержки LDAP
  • Версионирование реализовано, вы можете вернуться к предыдущей версии
  • Аудит: нет

Скриншот, показывающий метаданные и историю версий слева, а пользовательские метаданные справа (извините, на японском):

Пользовательские метаданные NemakiWare

Отказ от ответственности: Я работаю в компании, которая создает NemakiWare.

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

Вопрос о выборе файловой CMS для управления единым типом контента, в данном случае книгами, требует тщательного анализа существующих решений. Вам необходимо учесть различные аспекты, чтобы ваш выбор соответствовал поставленным требованиям.

Сценарий использования

Вы ищете простое и быстрое решение для настройки CMS, которая сможет справляться с управлением книгами. Так как вы планируете использовать Docker для развертывания системы, важным является создание собственного образа с возможностью добавления кастомного кода для обработки данных книг.

Требования

Ваши требования требуют, чтобы CMS:

  1. Работала в качестве контейнера Docker.
  2. Предоставляла форму создания и редактирования записей книг.
  3. Списывала все книги с возможностью полнотекстового поиска.
  4. Имеет возможность расширения для добавления пользовательского кода.
  5. Была бесплатной и предпочтительно с открытым исходным кодом.

Дополнительные, но не строгие пожелания включают:

  • Файловое хранение данных.
  • Поддержка LDAP.
  • Версионность и аудит изменений записей.

Рассмотренные варианты

Вы уже проанализировали несколько систем управления контентом (CMS), и вот их краткий обзор:

  • Plone: Несмотря на свою мощь, она оказывается слишком сложной для вашей задачи.
  • Drupal: Имеет сложную настройку и требует много конфигураций.
  • Grav: Отсутствие поддержки LDAP и проблемы с редактированием существующих записей.
  • Pico: Подходит для статического контента, но не обеспечивает динамического создания контента.

Рекомендация — NemakiWare

Одним из решений, которое вы могли бы рассмотреть, является NemakiWare. Это open-source система, которая обладает следующими функциональными возможностями:

  1. Форма добавления документов: Вы можете настраивать типы документов и метаданные для книг.
  2. Списки и иерархия папок: Веб-интерфейс позволяет удобно просматривать все книги.
  3. Полнотекстовый поиск: Пользователи могут эффективно искать книги по содержимому.
  4. Кастомные действия: Возможность модификации Java-кода позволяет вам настраивать поведение приложения под ваши требования.
  5. Docker: Поддержка Docker упрощает развертывание. Хотя изображение все еще требует сборки, процесс идет к улучшению.

Недостатки NemakiWare:

  • Файловое хранение: Немак Веар использует CouchDB, а не файловое хранение. Это может стать проблемой, если вы хотите именно файловое хранение.
  • Поддержка LDAP: В данный момент отсутствует.
  • Версионность: Есть возможность откатиться к предыдущим версиям, однако аудит изменений не реализован.

Заключение

NemakiWare может стать подходящим вариантом для вашего проекта, предоставляя множество желаемых функций, и при этом позволяет вам разрабатывать и внедрять расширения для специфических требований. Однако вы также должны рассмотреть его ограничения, как отсутствие файлового хранения и поддержки LDAP. Эти аспекты важно учесть в зависимости от ваших конечных целей и архитектурных требований. Наконец, рекомендуется протестировать систему в действии в рамках локального окружения, тщательно оценив функционал и возможности интеграции с вашим кастомным кодом.

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

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