практический опыт (+6 месяцев) с Магнолией и Джахией, что лучше? - PullRequest
3 голосов
/ 21 января 2011

мы изучаем CMS на основе Java (да, Java, мы уходим от языков сценариев).

У кого-нибудь есть опыт работы с общественными изданиями Magnolia и Jahia, с чем легче создавать модули и каков ваш общий опыт?

  • Для редакторов контента
  • Для разработчиков (которые делают модули)
  • Насколько легко обрабатывать запрос на изменение (можете ли вы добавить то или это на страницу foo / bar)

RVT

Ответы [ 7 ]

3 голосов
/ 23 мая 2014

Отказ от ответственности: я Джахия технический директор. Я надеюсь, что этот ответ будет приемлемым по стандартам StackOverflow, в противном случае, пожалуйста, дайте мне сейчас, и я улучшу его. Сначала я хотел ответить как прямой комментарий к ответу, но это кажется невозможным.

Я просто хотел бы обратиться к минусам, которые были перечислены GKrost, так как некоторые из них уже не совсем точны (так как это было написано, была выпущена по крайней мере одна основная версия Jahia), а другие не верны.

Jahia минусы:

JCR кажется узким местом для больших (более 10000 страниц,> 50000 элементов контента) сайтов, особенно при использовании mysql. Связанная Java-In-Memory-DB намного быстрее.

На самом деле JCR не имеет к этому никакого отношения, поскольку это просто спецификация. Вы говорите о базовой реализации JCR, в данном случае Jackrabbit. Хотя это правда, что трудно превзойти производительность базы данных в памяти, такой как HSQLDB (http://hsqldb.org),, также не рекомендуется использовать такую ​​базу данных в рабочей среде, поскольку она не предназначена для корпоративных развертываний, таких как среды кластеризации. Еще одна причина, по которой это не рекомендуется, заключается в том, что он будет использовать драгоценное пространство кучи в той же JVM, что и CMS, что станет проблематичным по мере роста данных.

Что касается ограничений по размеру, то 10000+ страниц - это действительно довольно большой сайт, большинство установок редко достигают этого размера, но в случае их использования существует несколько способов распространения данных. 10000+ также является ограничением, которое в основном применяется к Jahia 6.5 и более ранним версиям CMS, но теперь вполне возможно превзойти это. Что касается 50000 элементов контента, это ограничение не является правильным. Мы развернули установки с гораздо большим количеством контента, но это правда, что структура дизайна контента важна для обеспечения того, чтобы узкие места не возникали, но это справедливо для любой CMS, или даже для таких технологий, как ElasticSearch, где нужно правильно расшаривать удалось избежать проблем с производительностью.

Версия Jahias Lucene устарела

Версия Lucene по умолчанию от Jahia на самом деле является той, которая используется базовой реализацией JCR Jackrabbit. Начиная с Jahia 7, которая позволяет разрабатывать модули OSGi, можно встроить другую версию Lucene или даже ElasticSearch в ваш собственный пакет, не мешая той, которая требуется бэкэнду JCR. Насколько мне известно, это невозможно в не-OSGi CMS, таких как Magnolia (но возможно с Adobe, использующим Apache Sling, который является веб-платформой на основе OSGi).

при разработке собственных приложений / модулей вам придется использовать JSP, вы не можете использовать JSF (у Jahia есть планы по интеграции Spring Webflow, но вы никогда не знаете, когда и когда ...)

На самом деле вы можете использовать JSP / Groovy / Velocity или любой другой язык, который поддерживается Java Scripting API. Spring Webflow был интегрирован в Jahia 7, который теперь доступен, и все модули администрирования полностью разработаны с использованием Spring WebFlow (http://www.jahiaone.com/home/program/session/MVC-in-Jahia7-Using-SpringWebFlow).. Что касается JSP, мы предоставляем мощные библиотеки тегов, которые облегчают разработку представлений без необходимости какого-либо сценариев, так как большинство наших собственных представлений не содержат Java-код. Интеграция JSF также возможна, но не предоставляется "из коробки" и требует хорошего понимания того, как интегрировать JSF в существующий контроллер сервлета.

Поддержка замедляет время реакции

Это просто неправда. Наши SLA очень понятны, и мы всегда их уважали: http://www.jahia.com/services/technical-assistance. Общее время поддержки также зависит от скорости ответа клиента.

иногда исправление / исправление критических ошибок иногда занимает недели

Раньше это было 2 года назад, но с тех пор мы внедрили систему ежемесячного выпуска исправлений, и это ускоряется в случае проблем безопасности.

нет возможности экспорта / импорта исторических версий; единственный способ - скопировать вещи вручную из базовой базы данных

Это действительно задумано. Большинство операций импорта / экспорта были разработаны так, чтобы не иметь дело с версиями, так как они чаще всего используются для переноса пред-производственной среды в рабочую или наоборот. Не то чтобы при импорте того же объекта существовали версии объекта контента, они не будут удалены. Можно экспортировать версии, используя JCR, но это не предусмотрено из коробки. В целях резервного копирования мы рекомендуем выполнять резервное копирование на системном уровне.

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

Это больше не так, но раньше было. До Jahia 6.5 наши сеансы не были сериализуемыми, но это уже не так. Таким образом, это в основном ограничение конфигурации сервера приложений, которая по умолчанию не настроена для репликации сеансов. В реальной жизни это не является (большой) проблемой, так как сбои узла кластера не должны происходить, и когда они допускают незначительные ограничения, следует ожидать.

Узлы кластера должны совместно использовать БД и файловую систему. Вы не можете кластеризовать БД. Jahia не поддерживает (технически) MySQL Cluster. (Справочная информация: они помещают индексы в BLOB / CLOB, который не поддерживается MySQL Cluster)

Я тоже не думаю, что это правильно. Я просто дважды проверил все индексы, которые мы установили в MySQL, и мы не установили ни один из них в BLOB / TEXT или в любой их длинной версии. Кроме того, в большинстве наших кластерных развертываний клиенты обычно предпочитают использовать Oracle, так как он больше подходит для таких решений. Jahia также поддерживает другие мощные базы данных, такие как PostgreSQL или Microsoft SQL Server, которые также поддерживают кластеризацию.

общая документация имеет место для улучшения, JavaDoc / Source документация в основном не существует

Я согласен с этим, документацию всегда можно улучшить, и мы постоянно над этим работаем. Наши JavaDocs доступны здесь: http://downloads.jahia.com/downloads/jahia/digitalfactory7.0.0/digital-factory-root-7.0.0.0-javadoc/, а документация по исходному коду - это то, над чем мы работаем все время.

слабое сообщество; большинство ответов на форуме jahia получены от сотрудников jahia.

Это, однако, в основном верно, но в то же время многие наши интеграции происходят от партнеров, которые, к сожалению, не имеют ни времени, ни возможности участвовать. Вот почему сотрудники Jahia отвечают в свободное время, но большинство вопросов получают ответы, что, в конце концов, хорошо, не правда ли? Мы, конечно, всегда ищем новые способы расширения нашего сообщества, и наша первая пользовательская конференция JahiaOne превзошла наши самые оптимистичные прогнозы. На форуме я думаю, что было бы хорошо добавить ежемесячные дайджесты, поскольку в настоящее время у пользователей нет стимула возвращаться.

нет общедоступных шаблонов (кроме тех, которые от jahia) доступны

Без комментариев. Мы предоставляем несколько стандартных шаблонов, которые являются максимально общими и полными, но мы приветствуем все материалы.

1 голос
/ 14 февраля 2013

Джахия профи:

  • Лучший пользовательский интерфейс / серверная часть / администрирование для CMS на основе Java
  • Jahia постоянно совершенствует свой продукт
  • легко установить и запустить небольшой сайт
  • очень гибкий благодаря JCR, когда дело доходит до определения собственных структур

Jahia минусы:

  • JCR кажется узким местом для больших (более 10000 страниц,> 50000 элементов контента) сайтов, особенно при использовании mysql. Связанная Java-In-Memory-DB работает на намного * на 1017 * быстрее.
  • Версия Jahias Lucene устарела
  • при разработке собственных приложений / модулей вам придется использовать JSP, вы не можете использовать JSF (у Jahia есть планы по интеграции Spring Webflow, но вы никогда не знаете, когда и когда ...)
  • Поддержка - это способ замедлить время реакции
  • иногда исправление / исправление критических ошибок иногда занимает недели
  • нет возможности экспорта / импорта исторических версий; единственный способ - скопировать вещи вручную из базовой базы данных
  • Jahia предназначен для работы в качестве кластера, но не может реплицировать пользовательские сеансы. Это означает, что пользователи должны повторно войти в систему, когда узел кластера, с которым они аутентифицированы, падает.
  • Узлы кластера должны совместно использовать БД и файловую систему. Вы не можете кластеризовать БД. Jahia не поддерживает (технически) MySQL Cluster. (Справочная информация: они помещают индексы в BLOB / CLOB, который не поддерживается MySQL Cluster)
  • общая документация имеет место для улучшения, JavaDoc / Source документация в основном не существует
  • слабое сообщество; Большинство ответов на форуме Jahia приходят от сотрудников Jahia.
  • нет общедоступных шаблонов (кроме тех, что от jahia)
1 голос
/ 01 февраля 2011

В прошлом году нам пришлось сделать этот выбор самим.Мы установили как Jahia, так и Magnolia, и после всестороннего сравнения мы пошли с Magnolia.Хотя оба они похожи, разработчикам было проще создавать модули в Магнолии, чем в Джахии.В Magnolia настройка выполняется посредством редактирования шаблонов jsp.В Jahia все сложнее, так как разработчики должны создать вспомогательный класс java, затем скомпилировать и развернуть этот класс и т. Д.

После того, как мы выбрали Magnolia, мы были очень довольны простотой использованиядля редакторов контента и с производительностью (Magnolia будет предварительно распаковывать страницы и сохранять их в кэше для повышения производительности.) Вы можете увидеть получившийся сайт здесь: www.franchiseprocess.com.Все, что вы видите, основано на шаблонах магнолии, которые редакторы контента могут модифицировать.

0 голосов
/ 23 февраля 2013

Проблема с JCR заключается в том, что вокруг оптимизации не так много технической документации.JCR превзойдет любую СУБД в большинстве случаев.Однако важно быть знакомым со структурой иерархии и знать, что у вас не должно быть более 1000 дочерних узлов (поэтому структурируйте свою иерархию).Я осваиваю персонализированные данные для более чем 4 миллионов пользователей в JCR.

С этой точки зрения Magnolia имеет лучшую настройку, потому что все построено в JCR.Magnolia работает как экземпляр веб-приложения и позволяет легко развертывать контент из одного экземпляра в другой.Magnolia - это то, что мы называем «контентно-ориентированной» CMS.Это означает, что контент редактируется прямо на странице и прямо там, где он появится.Конечно, можно создавать так называемый «контент для поиска», контент, который создается в одном месте вне веб-иерархии, но повторно используется в нескольких местах веб-сайта (он же «мягкий ссылочный контент»).

Jahia, безусловно, является очень интересным решением, но необходимость полагаться на СУБД (и, следовательно, на ненужную интеграционную зависимость) является большим «плюсом» для корпоративных решений.Масштабирование также не легко, в то время как с Magnolia я могу настроить новый экземпляр «публикации» (или «рендеринга») в любой момент времени, повышая производительность и безопасность (отказоустойчивость).

0 голосов
/ 13 февраля 2013

Мы выбрали Джахию над Магнолией.

  • четкое разделение ролей: веб-мастер, редактирование tempalte, разработчик, участник, редактор
  • легко создавать модули и, следовательно, просто расширять Jahia
  • Режим редактирования очень крутой с перетаскиванием компонента на страницах
  • не слишком дорого. Поддержка предпринимательства - это хорошо
  • хорошо оплачиваемое обучение

минусы: - сообщество кажется очень маленьким - не так много онлайн документации, форум не супер активный - требует обучения, чтобы начать

0 голосов
/ 25 февраля 2011

Пока мы пошли с Джахией. Причиной этого является то, что редактируемая часть веб-сайтов выглядит более хорошо и удобнее для редактора контента. Я также сомневаюсь, что проще создавать новые шаблоны, добавлять jQuery и делать это в Jahia.

С Магнолией у меня возникало ощущение, что я редактирую хранилище контента напрямую (например, редактирование таблиц базы данных в pgAdmin) без «дерева» в Магнолии, говорящего мне, было ли то, что я делал, хорошо, или нет, было много догадок. Я мог бы заполнить недействительные значения, и Магнолия приняла бы это без проблем.

Обновление опыта Jahia: Пока что мы очень довольны Джахией. На данный момент мы запускаем его на одном сервере, чтобы около 4000 пользователей без проблем. С нашим текущим набором данных скорость также не проблема. Поддержка Jahia довольно хорошая, лучше, чем то, что написал другой парень недели, я обычно получаю официальную поддержку через 1-2 дня (3 дня в соответствии с контрактом), и когда я пингую некоторых Jahia, работающих в скайпе обычно в течение часа они очень дружелюбные люди.

0 голосов
/ 29 января 2011

Вот несколько отзывов о Джахии из соответствующего вопроса, который я задал в списке рассылки Apache Roller:

http://web.archiveorange.com/archive/v/PxZtPQyYMTldSEuEePMb

...