Я сразу же признаюсь, что я большой поклонник Друпала, и я никогда не использовал Кохану, поэтому этот пост будет односторонним.
В компании я работаю, потому что они используют Drupal или Zend Framework для почти всех проектов (Drupal составляет большинство).Многие люди, ориентированные на ZF, не любят Drupal, поскольку его структура до сих пор не ориентирована на объекты ZF-материала, а Drupal - «просто CMS». Как я вижу, Drupal - это скорее платформа, чем «просто» CMS, и лучшая часть заключается в том, что она невероятно гибкая: все возможно.
И да, действительно, есть модуль для всего. Точнее говоря:
С другой стороны, основываясь на моем ограниченном опыте Drupal, я сомневаюсь в создании быстрых пользовательских> «функций» и позволяет пользователям создавать «группы» и управлять своими собственными ролями внутри> тех групп это то, что Drupal может легко выполнить.
Я могу только догадываться, что вы имеете ввиду с быстрыми пользовательскими функциями, но imo легко расширить Drupal с помощью собственных модулей. Большинство функций доступны как (свободные, созданные сообществом) модули, и многие расширенные функции могут быть легко созданы, например, с помощью «представлений» и «cck» -модулей. http://drupal.org/project/cck http://drupal.org/project/views
Создание групп: "organic_groups" (http://drupal.org/project/og)
"og_user_roles" (http://drupal.org/project/og_user_roles)
Эти модули вместе то, что вам нужно, чтобы создать группы, которые имеют группы spefic роли (и роли, имеющие конкретные права). Вероятно, есть другие способы, кроме использования «og_user_roles», но я рекламирую его, потому что несколько лет назад я сделал несколько патчей. Проблема, как правило, слишком много вариантов.
Если вы хотите расширить групповые параметры, вы можете запрограммировать свой собственный модуль, но, скорее всего, вам не нужно, потому что для него уже существует модуль. Так, например, по меньшей мере, 120 модулей, которые интегрируют каким-то образом с «organic_groups» -модуль: http://drupal.org/taxonomy/term/90?page=19
Для упрощения, является Drupal способны истинных веб-приложений; где приложение является> услугой и предоставляет пользовательские результаты каждому пользователю? Может ли он предоставить интерфейс, подобный панели инструментов, для пользователей, чтобы изменить их настройки или настройки? Может ли он собирать данные от> конкретных пользователей, чтобы предоставлять лучшие результаты/информацию другим?
Короче говоря, да. Существует так много способов добиться того, что вы описали. Но, вероятно, они будут включать в себя, по крайней мере, отличный «взгляд» -модуль. Я думаю о представлениях как о каком-то абсолютном уровне абстракции SQL и пользовательском интерфейсе для всех. И есть более 300 модулей, которые каким-то образом интегрируются с представлениями ... (http://drupal.org/taxonomy/term/89?page=55)
Это звучит так, что Drupal - это все модули. И я знаю, что некоторые из моих коллег даже не любят этого, потому что вы никогда не добираетесь до код забавный материал, потому что это уже сделано. По крайней мере, вы можете посмотреть код модуля и узнать об этом. Или смеяться над этим, там тоже много программируемых модулей.
Когда вы добираетесь до модулей кодирования, вам, вероятно, потребуется много времени, чтобы привыкнуть к API Drupal, API форм, перехватам модулей, системе переопределения темы и бесконечным вариантам из модулей Contrib. Но это стоит того.
Я нахожу этот сайт очень полезным, чтобы найти модуль для некоторых конкретных потребностей. На сайте отображается информация о том же модуле, что и Drupal.орг, но и отзывы пользователей/рейтинги, чтобы найти лучший вариант: http://drupalmodules.com/
Если неясно, мой ответ был бы идти с Drupal :)
PS: D7 должен быть очень скоро. Некоторые могут подождать, а не начать с D6. Во время D5 люди будут ждать много времени, прежде чем перейти на D6 из-за отсутствия модулей. Я считаю, что для D7 самые важные модули будут доступны для D7 очень быстро. Некоторые исследования на данный момент (04.12.2010):
около 190 модулей обещают иметь Drupal 7 версии дня D7 Выпущено: http://drupal.org/project/modules?solrsort=sort_title%20asc&text=d7cx&display=table
около 130 модулей уже доступны для D7 (большинство из них включены в предыдущая ссылка): http://drupal.org/project/modules?filters=drupal_core:103&solrsort=sort_title%20asc&text=d7cx&display=table
EDIT: Как новичок, я только разрешено размещать одну ссылку, поэтому я удалил HTTP: // из Drupal.org-ссылки
Я вынужден признать, что ссылка на «органические группы» убедительна. Но я также задаюсь вопросом, существует ли серьезное влияние на то, что модуль Drupal устарел, когда обновляется базовая версия drupal, оставляя «настраиваемые» исправления, несовместимые с обновлениями. – Andres
Патч может вызвать проблемы, да, и большинство многофункциональных проектов Drupal имеют тенденцию к патчу или двум. Однако вам, скорее всего, никогда не придется исправлять основные модули (чем при установке D6.x). При использовании предыдущей версии Drupal 5 мне иногда даже приходилось исправлять основные (большие нет-нет), чтобы решить некоторые проблемы. Но D6 более развит и настолько расширяем, и поэтому мне не пришлось взломать какой-либо основной модуль после D5 в более чем дюжине проектов D6. Модификации базовой версии ядра, такие как 6.15 -> 6.16, являются гладкими: они всего лишь исправления ошибок и исправлений, и модули все еще работают. Однако ... [текстовый предел] – Ilmari
... Основные версии, такие как 5-> 6, однако, несовместимы: все модули нуждаются в обновлении, а иногда нет (или вам нужно переключиться на альтернативу). Патч-модули должны быть повторно исправлены. Обновление было болью в заднице, например, обновление с D4 до D5 заняло у меня месяцы планирования (популярный сайт, который был живым, и тогда я был Drupal-noob .. оправдания). Но это было потому, что у него было много пользовательских модулей и патчей. И Drupal не был таким популярным тогда (меньше модулей). Обновление D5-> D6 очень просто по сравнению с этим, а D6-> D7 должно быть еще проще. [текстовый предел] – Ilmari