Обзор конструкторов контента (Content Construction Kit) для популярных CMS

20 Июн
2012

В данной статье рассказывается о так называемых конструкторах контента (Content Construction Kit).
Приводится обзор конструкторов контента (CCK) для бесплатных CMS:
Joomla (K2, Zoo, Cobalt 7, Seblod и др.) и
Drupal (Drupal 6 + CCK и Drupal 7 со встроенным модулем Fields).

Ликбез


Давайте попробуем разобраться, что такое конструктор контента (CCK) и для каких задач его применять.
В каждой CMS имеется несколько фиксированных форм контента, основной из которых является материал(статья). Эта форма обладает строгим набором полей и опций таких, как например, заголовок, описание, дата публикации, автор, состояние, и.т.д.
Все это позволяет максимально удобно создавать статьи, но давайте на секунду задумаемся, а что если нам нужна немного другая форма контента?
Например, нам нужно, чтобы в статьях была также возможность указывать теги?
Что делать? Идем искать расширение.
А если нам нужна форма комментариев к статьям? Что делать? Идем искать расширение.
А что, если нам нужны несколько форм обратной связи с различными полями для заполнения? Что делать? Идем искать расширение. Таким образом может накопиться масса расширений, после установки которых CMS зачастую превращается в глючного монстра, ведь всем этим нужно не только управлять, но и обновлять и следить за уязвимостями.
Типичный случай CMS Joomla, которую первоначально выбирают за простоту (легкое освоение админки) и функциональность (огромное количество расширений и шаблонов).
Что же делать? На помощь приходят конструкторы контента.
CCK (Content Construction Kit) — система создания контента или дословно: набор конструирования контента. Конструкторы контента представляют собой расширения CMS, которые позволяют очень гибко управлять материалами на сайте, создавать различные типы контента (такой контент, который нам нужен). После этого мы можем создавать сколько угодно экземпляров созданного типа контента, выражаясь терминологией ООП.

Обзор конструкторов контента (CCK)


Впервые термин CCK возник судя по всему применительно к CMS Drupal.
Для Drupal 6 модуль CCK и модуль Views являются основными устанавливаемыми программистом модулями, сразу после установки самой CMS.
В Drupal 7 CCK и Views являются частью ядра. Без них Drupal вряд ли был тем, за что его так холят и лелеют (любят и нахваливают).
Заметка:в Drupal 7 модуль CCK стал называться Fields.
В вечном споре Joomla против Drupal, приверженцы последней обычно
приводят простой аргумент, цитирую:
«А попробуйте сделать на Joomla сайт с различными типами контента!
Не просто статейный сайт, а, например, каталог со множеством дополнительных полей. А слабо организовать поиск по такому каталогу, и не просто поиск,
а поиск по любым полям, мультипоиск и т.д?».
Да, действительно, на базовой Joomla такого не сделаешь.
На данный момент Joomla не доросла до собственного CCK,
но существуют сторонние расширения. Рассмотрим самые известные из них.

Продукт Описание
YooZOO

Поддерживает Joomla 1.5, 1.7, 2.5
http://www.yootheme.com/zoo
Плюсы:
Достаточно гибкий и мощный компонент CCK для Joomla. Удобен в использовании, т.к. имеет хороший визуальный интерфейс для управления полями (с ajax и drug and drop).
Минусы:
Нет интеграции с com_content. С фильтрацией контента дела обстоят тоже не очень хорошо.
В бесплатной версии только 2 готовых приложения «blog» и «pages», другие
приложения доступны за деньги, но самостоятельно реализовать их аналоги не составит труда.
K2

Поддерживает Joomla 1.5, 1.7, 2.5
http://getk2.org
Плюсы:
Также, очень популярная CCK-система. Для неё существует очень много модулей и плагинов, её поддерживает большое сообщество. Простая для понимая, но не такая гибкая как хотелось бы.
Минусы:
Работа с полями CCK на мой взгляд не удобна.
Нет интерфейса для визуального редактирования шаблонов вывода контента.
Компонент существует отдельно от стандартного джумловского com_content.
С фильтрацией материалов у него всё плохо, в стандартном варианте её просто нет; есть платные модули, что устроит не многих.
FLEXIcontent

Есть поддержка только версии Joomla 1.5
http://flexicontent.org
Распространён довольно мало, поэтому думаю, что для Joomla 2.5 он появится не скоро, если вообще появится.
Интерфейс административной панели выполнен довольно симпатично.
Есть фильтры, и тут они работают вполне приемлемо.
На чистоту — компонент очень устарел и очевидно, что автор забросил его разработку.
Но я все же включил его в обзор, лишь потому что он хранит данные в таблицах com_content, но вывод все равно осуществляет через свой компонент com_flexicontent, из-за чего многие плагины не всегда его понимают и косячат, тоже относится и к модулям.
MightyResources

Поддерживает только Joomla 1.5
http://www.mightyextensions.com/joomla-components/resources-cck-custom-content-types
Плюсы:
Более гибкий CCK по сравнению с К2. Удобная работа с полями.
Очень много параметров для настроек визуального вывода контента.
Минусы:
Если нужны дополнительные шаблоны оформления материалов, придется покупать платную лицензию, причем дизайн этих шаблонов оставляет желать лучшего.
При работе с компонентом много багов и вытекающей из этого возни с настройками; много лишнего в стандартном выводе, который приходиться чистить. Фильтры работают по-дурацки.
Опять же, нет интеграции со стандартным компонентом com_content.
Замечание:
Конструктор MightyResources устарел и был переписан с образованием нового продукта Cobalt 7 (см. далее).
Cobalt 7

Joomla 1.7 – 2.5
http://www.mintjoomla.com/joomla-components/cobalt.html
Cobalt — это 7-е поколение Joomla CCK, пришедший на замену JoomSuite Content, а затем Mighty Resources.
Ознакомится с данным компонентом я не успел, поэтому приведу перевод рекламы с оффициального сайта.
Cobalt использует самые передовые технологии:
  • Поддержка HTML5, CSS3, AJAX.
  • Улучшена скорость работы за счет оптимизации структуры БД и оптимизации запросов.
  • Расширенный поиск и фильтрация.
  • Наличие макета контента, позволяющего располагать поля в различных его секция.
  • Более 35 полей для работы с контентом.
  • Возможность добавлять ограничения для пользователей и групп. Можно даже назначать модераторов контента.
  • Система уведомлений пользователей об изменениях контента, включая комментарии к контенту.
  • Система рейтинга контента.
  • Поддержка QR-кодов и Google maps (видимо имеются ввиду поля с QR-кодами и с гео-картами).
  • Система шаблонов для оформления контента.
  • Прочие функции.

Как видите — список впечатляет. Насчет интеграции с com_content ничего не сказано, нужно будет проверить (не может же быть что они проделали такую огромную работу, не исправив этот существенный недочет).
Seblod

Joomla 1.5, 1.7, 2.5
http://seblod.com
Плюсы:
Пожалуй самый мощный и самый гибкий компонент CCK для Joomla.
Самый большой его плюс — это полная интеграция с системой Joomla, с категориями, материалами, пользователями, ролями пользователей, шаблонами. Гибкая настройка списков, таблиц, материалов. Можно вообще отказаться от использования сторонних модулей вывода и использовать только листинги Seblod.
Легко переносить приложения созданные в Seblod между разными проектами.
Отлично реализованы фильтры. Полностью бесплатный.
Минусы:
Сложен в изучении. Очень мало документации по нему, и распространён он значительно меньше чем K2 или ZOO в силу сложности.

Итак, только часть из рассмотренных CCK для Joomla интегрируется с com_content ядра, остальные используют свои таблицы для содержимого и по этой причине не совместимы с существующими плагинами и модулями Joomla. Среди тех компонентов CCK, что интегрируются с com_content, не все делают это на 100% успешно (я про FlexiContent).
Немаловажно также, что некоторые CCK имеют платные расширения, без которых решение некоторых задач может затрудниться.
Актуальными CCK для Joomla на сегодняшний день являются K2, Zoo, Cobalt 7 и Seblod.
Но настоящим (полноценным) CCK для Joomla является только Seblod. K2 и Zoo представляют из себя некое подобие CCK, но они замкнуты на самих себе.
Что это значит? Эти расширения при установке создают в базе данных собственные таблицы и только с ними и работают. Например, у К2 свои таблицы для статей, дополнительных полей и прочего. На них и замкнут весь компонент. При этом вся мощь расширений Joomla, созданных для работы с таблицами контента именно Joomla, а не K2, становится бессмысленной. Именно поэтому, используя K2 и аналоги мы получаем массу проблем с интеграцией других расширений. В Интернете форумы кишат вопросами вроде «Как интегрировать K2 с ххххx?». То же самое и с Zoo.
Что касается Cobalt 7, как я уже сказал: проверить функциональность, юзабилити и интеграцию с Joomla com_content я не успел. Но судя по всему это очень многообещающий CCK.
Seblod же, является полнеценным расширением системы контента Joomla. Самый мощный CCK, из-за чего сложен в освоении.

Вечное противостояние или опять разжигаем Холивар


Вернемся к противостоянию Joomla vs Drupal. Если отбросить тему кеширования, темизации и пр., то становиться совершенно очевидно, что подобное сравнение совершенно бессмысленно. Потому как, стоит сравнивать например:
Joomla и K2 с Drupal 6 и CCK или
Joomla + Seblod vs Drupal + CCK
ну или накрайняк Joomla без CCK и Drupal без CCK.
К тому же в свете выхода Drupal 7 с интегрированными модулями CCK и Views,
также актуальна тема: Drupal 6 vs Drupal 7.
Несомненно, Drupal 7 — следующий шаг в развитии данной CMS и обратного пути нет, т.к. новая система удобнее, гибче, логичнее и так далее. Да и производители сторонних модулей не отстают — вовсю занимаются портированием. Так что рано или поздно система и плюшки к ней будут реализованы в полной мере и стабильны.
Но сейчас, при разработке небольшого проекта на Drupal 7,
лично я столкнулся с множеством проблем из-за чего пришлось потратить время и нервы на поиск и настройку дополнительных модулей-костылей.
Не вдаваясь в подробности приведу несколько примеров, чтобы аргументировать свой посыл.
  • Функциональность позволяющая задавать Правила доступа в панели Администрирование -> Управдения пользователями в Drupal 7 отсутствует. Заменил модулем Access Rules.
  • Модуль Profile отсутствует в списке модулей Drupal 7. Оказывается он помечен, как устаревший и по умолчанию скрыт в profile.info Решение проблемы: drupal.org/node/874026
  • В Drupal 7 типы CCK полей Node reference и User reference по умолчанию отсутствуют. Итак, где взять типы полей Node reference и User reference в Drupal 7?
    Решение: модуль, реализующий функционал полей-ссылок на ноды и пользователей называется References. В настоящее время автор занимается тесной интеграцией модуля с Views третьей версии.
  • Для реализации группа полей в Drupal 7, по типу — как это было в Drupal 6, использовал модуль Field Group.
  • И еще с десяток дополнительных модулей.

Я считаю, что с выходом новых версий юзабилити системы должно повышаться, а количество лишних действий должно уменьшатся. Также, пройдясь по блогу Dries Buytaert я был немного шокирован тем, что уже вовсю идет разработка Drupal Core 8, когда разработчики 7-ой версии сталкиваются с таким количеством проблем.
Хорошо, вернемся к конструкторам контента.

Как обстоят дела в других CMS?


В данной статье не рассматриваются решения для других бесплатных CMS.
Но, например в ModX имеется встроенный аналог CCK,
только под названием «переменные шаблона». CMS ModX на очереди к ознакомлению и изучению, так что ждите новых статей.
Коммерческие CMS в данном обзоре также не рассматриваются.
К слову, в 1C-Битрикс также есть CCK, даже в самой младшей редакции.

Использованные материалы


  1. Выбор CCK для Joomla
    http://nyphalim.ru/2012/02/04/1/
  2. Серия статей по Seblod CCK
    http://wedal.ru/seblod.html
  3. Обзор CCK компонентов для Joomla
    http://www.amiseo.ru/joomla/extensions/obzor-cck-komponentov-dlya-joomla
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх