Hi all,

Will it be possible for group members/group admins in an organic group to create content based on Media Gallery (like creating a photo album etc.) and place that content in the group for other group members to get access to?

Thanks,

Thomas

Comments

Poieo’s picture

This is already possible. Just make Gallery a group content type.

Perhaps it's the display of these galleries that is the issue for you? To do so, just create a view of gallery 'content' of type 'teaser'. Then, create a contextual filter using 'Field: Groups audience:gid '.

Make the URL of the view something like 'galleries/%'. Then, visiting galleries/[gid] will display all galleries inside of a group.

So, for group 1, visiting galleries/1 will display all galleries in group 1.

Here is an export of the view I created to do it:

$view = new view;
$view->name = 'og_galleries';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'OG Galleries';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'OG Galleries';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '12';
$handler->display->display_options['style_plugin'] = 'grid';
$handler->display->display_options['style_options']['fill_single_line'] = 1;
$handler->display->display_options['row_plugin'] = 'node';
$handler->display->display_options['row_options']['links'] = FALSE;
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['area']['id'] = 'area';
$handler->display->display_options['empty']['area']['table'] = 'views';
$handler->display->display_options['empty']['area']['field'] = 'area';
$handler->display->display_options['empty']['area']['empty'] = FALSE;
$handler->display->display_options['empty']['area']['content'] = 'There are currently no galleries posted for this ministry.';
$handler->display->display_options['empty']['area']['format'] = 'full_html';
$handler->display->display_options['empty']['area']['tokenize'] = 0;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Sort criterion: Content: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Contextual filter: Field: Groups audience (group_audience:gid) */
$handler->display->display_options['arguments']['group_audience_gid']['id'] = 'group_audience_gid';
$handler->display->display_options['arguments']['group_audience_gid']['table'] = 'field_data_group_audience';
$handler->display->display_options['arguments']['group_audience_gid']['field'] = 'group_audience_gid';
$handler->display->display_options['arguments']['group_audience_gid']['default_action'] = 'default';
$handler->display->display_options['arguments']['group_audience_gid']['title_enable'] = 1;
$handler->display->display_options['arguments']['group_audience_gid']['title'] = '%1 Galleries';
$handler->display->display_options['arguments']['group_audience_gid']['default_argument_type'] = 'og_context';
$handler->display->display_options['arguments']['group_audience_gid']['default_argument_skip_url'] = 0;
$handler->display->display_options['arguments']['group_audience_gid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['group_audience_gid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['group_audience_gid']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['group_audience_gid']['specify_validation'] = 1;
$handler->display->display_options['arguments']['group_audience_gid']['validate']['fail'] = 'empty';
$handler->display->display_options['arguments']['group_audience_gid']['break_phrase'] = 0;
$handler->display->display_options['arguments']['group_audience_gid']['not'] = 0;
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 0;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'media_gallery' => 'media_gallery',
);

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'ministries/%/galleries';
theullrich’s picture

the simpler solution is to copy the og-content view. Then change the
format:
format: Grid
Show: Content / Teaser
Filter Content by your content type (which is probably Gallery)

thomas1977’s picture

Thanks a lot, guys! Will take a look at it.

drupaljohngo’s picture

I built an organic group media gallery yesterday. Watch the following video on using Organic groups. the author uses panels and views. I'd suggest the quicktime video. http://www.archive.org/details/OrganicGroups7

I applied the same configuration with OG nodes and Views but had to set some the views settings differently for the gallery to display properly. Also get the OG permissions module. Pay careful attention to roles and permission. Group visibility and Group audience were vital to setting up.

the argument input part of the video is where it all comes together. Pay attention to the man.

Let me know if you have any issues.

T

Taxoman’s picture

Title: Will Media Gallery work with Organic Groups? » How to make Media Gallery work with Organic Groups
Version: 7.x-1.0-beta6 » 7.x-1.x-dev
Category: feature » support
Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

lyosef’s picture

Thank you Poieo for sharing your view export. Very generous of you. Saved me a lot of time and more.