OG Features – добавляем гибкости в OG


OG Features – модуль позволяющий администратору сайта определять, какой функционал в группе может включаться и отключаться владельцем группы.
Например, это могут быть произвольные типы контента, вьюхи, панели. Яркий пример использования этого модуля, это сборка Drupal Commons, где через og_features сделаны такие фичи для групп как:

Blog Discussions Documents Events Group Aggregator Polling Wiki Q&A

Сам процесс создания фичи для OG Features нетривиален.
Для этого вам нужно создать свой модуль, где нужно реализовать хук hook_og_features_registry().
Например, у нас модуль называется modulename и мы хотим определить фичу my_feature, код будет следующий, код взяд из модуля, комментарии оставлены оригинальные и строкой ниже добавлены мои:

function modulename_og_features_registry() { $registry = array();   // Feature: my_feature. // Создание объекта фичи. $feature = new stdClass;   // The feature id //Указываем id фичи, оно должно быть уникальным в пределах сайта $feature->id = 'my_feature';   // The name that will show up on the feature toggle form //Название фичи, которое будет показываться в группе на странице управления фичами $feature->name = t('Blog');   // The description that will show up on the feature toggle form //Описание, показываемое на странице управления фичами $feature->description = t('Provide a simple blog for your group');   // The components of the feature that will be enabled/disabled //Компоненты которые включает фича $feature->components = array( 'views' => array( 'og_tab_blogs', ), 'node' => array( 'blog', ), 'context' => array( 'group_blogs', ), 'path' => array( 'node/%node/aggregator', ), 'pane' => array( 'og_content_tracker-panel_pane_1', ), 'og link' => array( 'og_invite', // The key of the link in the group details block ), ); // It's recommended that you key the feature with the name of the // module/feature that is supplying this, so that any custom page // callbacks provided by this module/feature become disabled within // the group //помещаем фичу в "контейнер", это позволит нам в модуле определить несколько фич, если требуется $registry[$feature->id] = $feature;   // Feature: my_second_feature //объявляем вторую фичу $feature = new stdClass; // You can continue to add as many as you'd like //в дальнейшем процесс никак не отличается от первой фичи, в конце делаем так же $registry[$feature->id] = $feature; return $registry; }

Источник: http://www.drupal.ru/node/78408

Готовая платформа для создания корпоративных социальных сетей

Компания Acquia, курирующая разработку свободной системы управления web-контентом Drupal, представила новый проект – Drupal Commons 1.0….

Собственно, копипастить не буду, все по ссылке

Updated by webmaster: добавлена презентация Drupal Commons с http://buytaert.net/drupal-commons-meet-jive-software

Источник: http://www.drupal.ru/node/48224

© 2009 Обзор CMS