Каковы преимущества / недостатки основных систем управления контентом с точки зрения разработки? - PullRequest
3 голосов
/ 01 августа 2009

Я заинтересован в использовании CMS вместо создания веб-сайта с нуля. Однако, как инженер-программист, если я собираюсь использовать инструменты с открытым исходным кодом, я собираюсь использовать их в полной мере, включая возможность разработки плагинов / расширений / модулей и, возможно, даже внесения основного кода. 1001 *

Я сейчас смотрю на WordPress , Drupal и Joomla! . Похоже, все они обладают необходимыми мне функциями, будь то основные функции или плагины. Тем не менее, мне любопытно, как трудно изучить систему, а затем разработать ее.

У кого-нибудь есть опыт с этим? При использовании и разработке WordPress, Drupal и / или Joomla !, каким был ваш опыт?

Ответы [ 4 ]

3 голосов
/ 01 августа 2009

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

WordPress очень сильно специализируется на ведении блогов. Если это соответствует вашим потребностям, сделайте это - это отличная, хорошо поддерживаемая система. Если вы ищете что-то более сложное в CMS, то пойдите с ...

Drupal. Моя любимая PHP CMS, руки вниз, за ​​исключением блогов. Такие функции, как hook_nodeapi, hook_user, hook_form_alter и т. Д., Позволяют без особых усилий сильно настроить функцию почти всего в системе. Если я хочу заменить поле пароля в форме входа пользователя на поле загрузки и MD5 () загруженный файл для проверки пользователя, я могу сделать это - без взлома кода ядра и несколькими строками формы изменения и проверки кода. Довольно удивительно, что в первые пару раз ты делаешь что-то немного сумасшедшее.

1 голос
/ 01 августа 2009

Я не очень часто использовал Joomla и никогда не нуждался в настройке Wordpress вне дизайна, но довольно широко использовал Drupal.Похоже, что Drupal становится стандартом для PHP CMS, что, как мне кажется, является позором, учитывая, что с ним не так.Я не буду пытаться объяснить вам, почему вы должны его использовать или не должны, но вот несколько вещей, которые я нахожу действительно раздражающими.

  1. Полное отсутствие ООП.Хорошо, в Drupal 7 они наконец-то проводят ООП с уровнем абстракции, но сообщество в целом все еще избегает всей концепции ООП, поскольку она применяется к CMS в целом.А учитывая их зависимость от модулей и стороннего кода, выполнение приличной настройки ООП поможет сохранить код более организованным.В настоящее время, чтобы избежать конфликтов имен, вам нужно ставить перед всеми функциями и константами имя вашего модуля, что может привести к очень длинным именам функций, что может привести к очень длинным строкам кода, которые могут сделать вещи немного менее читабельными, чем делать что-то вроде $ node-> parent () -> parent () -> title;
  2. Содержимое Drupal полностью неорганизовано.При работе с насыщенным информационным сайтом крайне важно, чтобы у вас был хорошо организованный контент, а Drupal просто не позволяет этого.Управление контентом Drupal - это всего лишь один большой список узлов с несколькими фильтрами, которые вы можете применить.Существуют способы, с помощью которых вы можете использовать систему таксономии Drupal и другие модули для настройки отношений, но я никогда не находил ни одного, который бы действительно облегчал навигацию по интерфейсу и облегчал управление контентом в шаблонах.На работе я создал модуль, который позволяет это, но для этого требуется потратить на разработку несколько недель времени. Это простая функция, которая должна быть в комплекте с любой хорошей CMS.
  3. Интерфейс администратора абсолютно проглочен.Это в значительной степени говорит само за себя, но установите копию Drupal и нажмите вокруг.Затем взглянем на, скажем, интерфейс Radiant (Radiant - это Rails, я знаю, но здесь мы говорим об интерфейсе).Другим примером хорошего пользовательского интерфейса для администратора может быть FrogCMS , PHP-порт Radiant.
  4. Нет ORM и абсолютно нет попыток его получить, что означает, что вам больше нравится писать много SQLчтобы получить данные, которые вам нужны.Хотя у меня, как правило, нет проблем с написанием собственного SQL-кода, он начинает устареть, когда большинство хороших фреймворков и построенных на них CMS имеют по крайней мере какой-то ORM для использования.Даже если он неудачный.
  5. Drupal любит использовать нестандартные расширения файлов (.module, .info, .install, .inc и т. Д.), Так что вам лучше убедиться, что ваш htaccess и / или виртуальный хостнастройка, запрещающая прямой доступ к этим файлам, или весь ваш исходный код будет широко открыт для всеобщего обозрения.

Лично я считаю, что FrogCMS выглядит как хорошее начало для развитияи приехать, если сопровождающие позволят сообществу внести свой вклад в это и позволить ему расти.Вам нужно будет делать больше кодирования, так как он не имеет большого набора функций из коробки и не имеет хранилища плагинов, таких как Drupal или Joomla, но с точки зрения кодирования он настроен довольно хорошо, хотя и просто,Реализация MVC, которая поможет вашему коду быть более организованным и простым в обслуживании.

0 голосов
/ 01 августа 2009

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

но, оставаясь с PHP, я бы добавил следующее:

  • большинству людей нравится Drupal из-за его расширяемости ... это хорошо, но у него все еще есть некоторые проблемы с дизайном ... он очень мощный и гибкий и имеет огромную базу пользователей -> множество плагинов, большое сообщество для спросить совета и т. д.
  • когда дело доходит до Joomla, нужно сказать, что в прошлом это был действительно полный беспорядок ... но в версии 1.5 все это было переработано и теперь очень чисто ... я всегда смеялся в Joomla, но недавно у меня был разговор с другим разработчиком, с которым я несколько раз работал, который убедил меня, что он стал дружественным для разработчиков программным обеспечением ... плюс, черт возьми, его так легко администрировать ... я не знаю другой CMS, которая так проста в использовании (и является "настоящей" CMS, а не форумом или механизмом ведения блогов)
  • возможно, вы захотите взглянуть на Vanilla CMS ... очень сексуально, по-прежнему ловко и мощно ...
  • использовать CMS на основе хорошего фреймворка PHP ... typo3 (Flow3 (ИМХО действительно самый прикольный фреймворк PHP)), что-то на основе symfony (ничего не могу найти, но это хорошее начало), мамбо (CakePHP) или что-то на основе воспламенителя кода ... вам всегда нужно будет знакомиться с фреймворком, но а) это всегда хорошо, б) если фреймворк хорош, приложение, скорее всего, чтобы быть хорошим и расширяемым, в) вы сами будете иметь высокую производительность при создании расширений, так как фреймворк многое сделает для вас ...

наконец, вы можете взглянуть на opensourcecms ... всегда полезно ...

тогда удачи тебе в выборе ...;)

Greetz

back2dos

0 голосов
/ 01 августа 2009

Я разработал только для Joomla! и был пользователем WordPress, но Joomla! Разработка слишком неуклюжа, если вы хотите полностью изменить макет. Написать плагин или «компонент» довольно легко, если вы знаете способ обхода кода, но заставить его делать именно то, что вы хотите, не так просто, потому что ему нравится заставлять вас использовать его шаблон проектирования MVC, который я считаю слишком неуклюжим .

Я видел оба Joomla! и кодовая база Drupal, и я бы сказал, что код Joomla! намного чище и лучше документирован. Он также интенсивно использует шаблон проектирования MVC, который может быть хорошим или плохим в зависимости от ваших предпочтений и того, для чего вы хотите его использовать. Он имеет самое широкое использование ОО-программирования в любом php-проекте, который я видел.

Я не разработал для WordPress, но, как пользователь, автоматические обновления являются находкой! Плагины и темы можно найти и установить через интерфейс в самом WordPress, так что, как разработчик, вы экономите немного времени, пытаясь продвигать свой плагин, потому что он становится доступным для всех сразу. Тяжелые модификации могут нарушить некоторые из них, поэтому я бы не советовал это делать, если вы хотите много модифицировать.

Сообщество плагинов Joomla! Сильно монотизировано, но существует огромное сообщество разработчиков плагинов. Я не знаю о Drupal, и большинство плагинов WordPress являются бесплатными. Так что это тоже следует учитывать, если вы планируете использовать сторонние плагины.

...