Настраиваемое веб-приложение для управления контентом и файлами с открытым исходным кодом

Меня попросили создать веб-приложение для управления контентом и файлами для клиента. Допустим, этот клиент — агентство по поиску талантов, и они хотят следить за своими звездами. Для каждой звезды они хотят иметь модульную страницу с различными категориями, заметками, загрузкой файлов, фотографией профиля и биографической статистикой и т. д. Они также хотят отдельную страницу для набора будущих звезд. Эти страницы похожи на их собственный талант, но с немного другими категориями и содержанием.

Вместо того, чтобы начинать с нуля, я думал использовать существующую среду с открытым исходным кодом. Например, «звезды» могут быть сопоставлены с «клиентами» в CRM, а «потенциальные звездочки» могут быть сопоставлены с «потенциальными клиентами». Но использование платформы CMS или CRM может иметь ограничения, такие как невозможность переименовать условия продажи в соответствии с моим конкретным приложением.

  • суперпользователи могут устанавливать разрешения для контента для других пользователей (например, некоторые пользователи не должны видеть детали контракта звезд, в то время как каждый пользователь может видеть портрет и краткую биографию)

  • базовая статистика или рейтинг по всем звездам

  • фильтр и текстовый поиск звезд (например, мужчины определенного возраста)

  • Каждая «звезда» или «потенциальная звезда» должна иметь хранилище файлов, которое можно пометить (например, «афиша концерта», а затем PDF-файл с тегами и примечаниями).

  • должны быть настроены так, чтобы, если это решение CRM, оно должно было говорить «потенциальные звезды», а не «лиды»

  • пользователи должны иметь возможность добавлять/редактировать новый контент с историей версий

  • программное обеспечение должно быть с открытым исходным кодом, и мы должны иметь возможность размещать сами

До сих пор я рассматривал традиционные CMS, такие как Wordpress, Django CMS и некоторые CRM, такие как SuiteCRM, SugarCRM. Я также просмотрел некоторые системы DAM (управление цифровыми активами), но пока кажется, что нужен гибрид CMS, CRM и DAM. И, наконец, это не открытый исходный код, но что-то вроде Evernote могло бы работать, если бы разработчик мог создавать статические формы и страницы, в которые пользователи затем вносят свой вклад. Я не против построить его с нуля, но хочу дать заказчику несколько вариантов.

Как насчет Javascript?
@Badgy JS было бы здорово, но я не нашел фреймворков CMS/CRM и не хочу делать все это с нуля.

Ответы (2)

Для этого вы можете использовать CMS, такую ​​как Drupal , в сочетании с некоторыми ее модулями. Есть несколько способов добиться этого в drupal.

  • Например, у вас может быть тип контента под названием «Звезда» с соответствующими полями, такими как: имя, заметки, загрузка нескольких файлов, биологическая статистика и т. д.

  • Будущие звезды могут использовать тот же тип контента, но вы используете «таксономию» drupal для категоризации, указывающую Будущие и Текущие звезды. Таким образом, вы можете сортировать/просматривать контакты на основе таксономии. Вы также можете создать больше тегов, таких как «афиша концерта» и т. д.

  • вы можете назвать контент как хотите или даже переименовать позже.

  • разрешение/суперпользователь может быть выполнено в drupal с помощью модуля, такого как content_access, и ограничения определенных полей для определенных пользователей/ролей.

  • ранжирование/просмотр звезд можно получить с помощью модуля «комментарии», а также модуля «пять звезд».

  • вы можете настроить простой или сложный поиск, используя модули «представления» и search_api*.

  • пользователи могут добавлять/редактировать новый контент с историей версий в зависимости от разрешений.

  • он с открытым исходным кодом и может быть размещен самостоятельно.

Чтобы использовать drupal, вам нужно потратить некоторое время, чтобы понять, как он работает. Но это дает вам возможность добавлять дополнительные модули для новых функций по мере роста системы.

Я бы посоветовал Лайфрей :

  1. Установите и запустите Лайфрей
  2. Внутри Liferay создайте «сайт».
  3. Создайте структуру «Веб-контент», которая представляет собой звезду. Его поля могут быть:
    • Имя
    • Статус (потенциальный или в действии)
    • Популярность (число, которое имеет для вас смысл)
    • Картина
    • Введение
    • Список событий истории, для каждого:
    • Дата
    • Даже описание
    • Картина
    • Договор (прикрепленный файл)
    • И т. д
  4. Создайте шаблон (на стандартном языке шаблонов), который может показывать звезду публике.
  5. Создайте тему, определяющую общий вид сайта (верхний колонтитул и т. д.)
  6. Создайте страницу, на которой будет отображаться ваш контент. Это так же просто, как перетаскивание компонентов (портлетов) на страницу. Вероятно, вы захотите разместить основной компонент, который будет показывать звездочку, а также компонент навигации и компонент поиска.

Затем:

  1. Создайте группу для суперпользователей
  2. Создайте шаблон, как в шаге 3, но показывая больше деталей, например контракт.
  3. Создайте страницу, видимую только суперпользователям, как в шаге 6 выше, но настройте ее на использование шаблона, созданного для суперпользователей.

Liferay также предлагает систему категорий, поэтому вам, вероятно, следует ее использовать, возможно, у вас могут быть категории для стран или для стиля. В таком случае также добавьте на страницу компонент навигации по категориям.

Конечно, Liferay предоставляет администратору пользовательский интерфейс для добавления/редактирования звезд.

  • Бесплатный и с открытым исходным кодом
  • Отказ от ответственности: я работаю у партнера Liferay

Пример создания структуры веб-контента Liferay:

введите описание изображения здесь

Привет Николай, рад видеть тебя здесь :)