IMC-York/Drupal/Development/Groups

From Aktivix
Jump to navigation Jump to search


Modules

In Use

  • og
  • og_calendar
    • it's buggy, fix, check integration into non-'events' node links

Tested/Bugs/Issues

  • og_gallery
    • It was killing all the categories on input, probably doesn't like freetagging. TODO investigate.
  • og_author
    • Problem for no group author?
    • Need to set up so groups can author posts throughout the site (rather than individuals)
    • roles to set group author...
  • og_roles
    • also need to do group roles. And test.

Implementation

Node Access

Taxonomy access control was being used to select who can post to features etc. This is heavy handed anyway. But as Node Access doesn't negotiate between modules yet (a priority system would have worked here and was an option) I've replaced it with:

Vocabulary Privileges and Taxonomy Default. Taxo default is great anyway, it means some content types can automatically be put into default categories... and if as with the Newswire/Features/Promoted vocabulary it isn't on the form (because of Vocab Privs) it will put the posts into the default terms anyway. Ace!

Themeing

As the sections of the site want to look different, in the future very different. Themeing was an issue. To start some basic changes have been made to Zen (mainly the phptemplate bit).

Organic Groups Title, Strapline, Homepage...

To get various variables to the page.tpl.php and node.tpl.php inside template.php in the _phptemplate_variables function

    case 'page':
....
      if (is_object($group_node=og_get_group_context())) {
        $vars['og_name'] = $group_node->title;
        $vars['og_description'] = $group_node->og_description;
        $vars['og_home'] = url('node/'.$group_node->nid);
        $vars['og_website'] = $group_node->og_website;
        $vars['og_front'] = og_is_group_type($vars['node']->type);
      }
    case 'node':
....
      $vars['og_front'] = og_is_group_type($vars['node']->type);

Also the theme_breadcrumb was altered for indy york links.

Then within the page.tpl.php the $og_name was used instead of the site name, og_description instead of the tag line... The og_front to change things when it was the groups 'front page'... this was the same in node.tpl.php to remove the duplicate title and submitted by links.

Example the <head><title> is

  <title>
    <?php print $title; ?> 
    <?php if ($og_name && !$og_front) { print " | $og_name"; } ?> 
  </title>

Past that it is basic themeing.

Blocks

There are loads of indy specific blocks, but as the 'groups' theme is different you can choose to display different blocks.

Within the indy theme if it is used to stop a blocks being used on a theme pages this is used in the 'show only if php code returns true' section

<?php
  $group = og_get_group_context();
  if ($group->og_theme) {
    return FALSE;
  } 
  else {
    return TRUE;
  }
?>

TODO

The biggy over the modules tested and not used is to

  • allow custom logo and css for the sites
  • allow custom theme for groups but not users
  • Does 'Upload Image' module (genius as it is) do Groups - probably not - and even if it does add event support.

Also role access to be 'group admins' organising. And so also 'group' as the submitter of postings. Also organising blocks, views etc.