Я сразу признаю, что я большой поклонник Drupal и никогда не использовал Kohana, поэтому этот пост будет односторонним.
В компании, в которой я работаю, они используют Drupal или Zend Framework практически для всех проектов (в большинстве случаев это Drupal). Многим ZF-ориентированным людям не нравится Drupal, так как его структура настолько далека от объектно-ориентированного ZF-материала, а Drupal - это «просто CMS». На мой взгляд, Drupal - это больше Framework, чем «просто» CMS, и лучшая его часть в том, что он невероятно гибок: все возможно.
И да, действительно есть модуль для всего. Чтобы быть более конкретным:
С другой стороны, основываясь на моем ограниченном опыте работы с Drupal, я сомневаюсь, что создание быстрых пользовательских «функций» и предоставление пользователям возможности создавать «группы» и управлять своими собственными ролями в этих группах - это то, что Drupal легко может выполнить.
Я могу только догадываться, что вы имеете в виду, имея быстрые пользовательские функции, но, тем не менее, легко расширить Drupal с помощью ваших собственных модулей. Большинство функций доступны в виде (бесплатных, предоставленных сообществом) модулей, и многие расширенные функции могут быть легко созданы, например, с помощью модулей «views» и «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)
Эти модули вместе - это то, что вам нужно для создания групп, имеющих специальные групповые роли (и роли, имеющие определенные права). Возможно, есть и другие способы, кроме использования «og_user_roles», но я рекламирую его, потому что я сделал несколько патчей для него несколько лет назад. Проблема, как правило, слишком много вариантов.
Если вы хотите расширить специфичные для группы опции, вы можете написать свой собственный модуль, но, скорее всего, вам это не нужно, потому что для него уже есть модуль. Например, есть как минимум 120 модулей, которые каким-либо образом интегрируются с модулем «organic_groups»:
http://drupal.org/taxonomy/term/90?page=19
Чтобы упростить, способен ли Drupal создавать настоящие веб-приложения; где приложение является> сервисом и предоставляет индивидуальные результаты каждому пользователю? Может ли он предоставить интерфейс, похожий на панель управления, чтобы пользователи могли изменять свои настройки или предпочтения? Может ли он собирать данные от> определенных пользователей, чтобы предоставлять лучшие результаты / информацию другим?
Короче да. Есть так много способов достичь того, что вы описали. Но, вероятно, они будут включать, по крайней мере, отличный модуль "views". Я думаю, что представления - это своего рода абстракция уровня SQL и пользовательский интерфейс для всех. И есть более 300 модулей, которые как-то интегрируются с Views ... (http://drupal.org/taxonomy/term/89?page=55)
Звучит так, что Drupal - это все о модулях ... и я знаю, что некоторым из моих коллег это даже не нравится, потому что вы никогда не пишете забавные вещи, потому что это уже сделано. По крайней мере, вы можете посмотреть на код модуля и извлечь уроки из этого. Или смейтесь над этим, там тоже много плохо запрограммированных модулей.
Когда вы дойдете до модулей кодирования, вам, вероятно, понадобится много времени, чтобы привыкнуть к Drupal API, Forms API, перехватчикам модулей, системе переопределения тем и бесконечным возможностям из модулей contrib. Но это стоит того.
Я считаю этот сайт очень полезным, чтобы найти модуль для каких-то конкретных нужд. На сайте показана та же информация о модуле, что и у Drupal.org, но также отзывы и оценки пользователей, чтобы найти лучший вариант:
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
Для D7 уже доступно около 130 модулей (большинство из них включены в предыдущую ссылку):
http://drupal.org/project/modules?filters=drupal_core:103&solrsort=sort_title%20asc&text=d7cx&display=table
РЕДАКТИРОВАТЬ: как новичку, мне разрешено публиковать только одну ссылку, поэтому я удалил http: // из drupal.org-links