29
Top 5 Non-Obvious Drupal Modules Presented by: Russ Bomhof & Geoff Hing Chicagoland Library Drupal Group December 7, 2009

Top 5 Non-Obvious Drupal Modules

  • Upload
    ghing

  • View
    1.195

  • Download
    2

Embed Size (px)

DESCRIPTION

This is a talk that I gave with Russ Bomhoff at the December 2009 Chicagoland Library Drupal Group meeting.

Citation preview

Page 1: Top 5 Non-Obvious Drupal Modules

Top 5 Non-Obvious Drupal Modules

Presented by:Russ Bomhof & Geoff HingChicagoland Library Drupal Group

December 7, 2009

Page 2: Top 5 Non-Obvious Drupal Modules

About CRL

• Consortium of 250+ North American Universities and Colleges

• Primary Resources for faculty and students

• Cooperative Acquisition and preservation of international resources for research and teaching

Top 5 Non-Obvious Drupal Modules

Page 3: Top 5 Non-Obvious Drupal Modules

CRL Then and Now

VBScript ASP / MS Access DBStatic HTML w/ Dreamweaver Templates

Drupal 6!

Page 4: Top 5 Non-Obvious Drupal Modules

Too often, web site owners allow their maintenance methods and their personnel skills to drive decisions about how the web site works. That's completely backwards. You should first figure out how you want your web site to work, then employ solutions/people/skills to make that happen.

- Scott Crevier on the uwebd mailing list

Things We Learned

Page 5: Top 5 Non-Obvious Drupal Modules

As far as we know, there is no module that will force a team to communicate and collaborate.

Things We Learned

Page 6: Top 5 Non-Obvious Drupal Modules

There’s more than one way…

Photo by Karamellzucker via Flickr

Things We Learned

Page 7: Top 5 Non-Obvious Drupal Modules

Obvious

• Views• Content Construction Kit (CCK)• Panels• Node Import• Workflow• Drush• Google Analytics

Top 5 Non-Obvious Drupal Modules

Page 8: Top 5 Non-Obvious Drupal Modules

Non-Obvious

• Nodequeue• Module Grants• Menu Block Split• Views Accordion• Pathauto + Custom Token

Top 5 Non-Obvious Drupal Modules

Page 9: Top 5 Non-Obvious Drupal Modules

So what news items did you want on the front page?

We need to have the 3most recent news and events, but not the oneabout the meeting. Oh,and that event is too old. Oh, make sure to add ...

Ummmm. Right. Just send me that list in e-mail.

Page 10: Top 5 Non-Obvious Drupal Modules

1. Nodequeuehttp://drupal.org/project/nodequeue

Top 5 Non-Obvious Drupal Modules

Page 11: Top 5 Non-Obvious Drupal Modules

By the way, I need you to build this huge new section of the site from a bunch of incoherently named Word documents, e-mails, and spreadsheets.

Ok. When does this need tobe done?

If you could get this done

by the end of the day, that would be great.

Oh, and it will need to be approved before it gets published.

Page 12: Top 5 Non-Obvious Drupal Modules

Rapid content development

Review and collaboration

vs.

Page 13: Top 5 Non-Obvious Drupal Modules

2. Module Grantshttp://drupal.org/project/module_grants

Top 5 Non-Obvious Drupal Modules

Page 14: Top 5 Non-Obvious Drupal Modules

Or, use Deploy

From the amazing demo of the Deploy module, http://www.youtube.com/watch?v=7PjwT0HWHxw

Page 15: Top 5 Non-Obvious Drupal Modules

What module should I use for menus?

Well, there’s Menu Block, or Nice Menus. Submenu Tree, …

Category, Menu HTML, Menuwriter, …

Menu Firstchild, Multiple Node Menu, ...

Page 16: Top 5 Non-Obvious Drupal Modules

3. Menu Block Splithttp://drupal.org/project/menu_block_split

Top 5 Non-Obvious Drupal Modules

Page 17: Top 5 Non-Obvious Drupal Modules

We need our Topic Guide links to open and close like the E-Collections, web specialist.

No problem. What content would you like to use?

It should open and close.

Page 18: Top 5 Non-Obvious Drupal Modules
Page 19: Top 5 Non-Obvious Drupal Modules
Page 20: Top 5 Non-Obvious Drupal Modules
Page 21: Top 5 Non-Obvious Drupal Modules
Page 22: Top 5 Non-Obvious Drupal Modules
Page 23: Top 5 Non-Obvious Drupal Modules

4. Views Accordionhttp://drupal.org/project/views_accordion

Top 5 Non-Obvious Drupal Modules

Page 24: Top 5 Non-Obvious Drupal Modules

Where should that page go in the menu?

Home » Archiving & Preservation » Current Projects & Initiatives » Shared Print Archive Proposal

Uhh. Make sure you wipe those breadcrumbs off your chin.

Page 25: Top 5 Non-Obvious Drupal Modules

Old and busted: http://www-old.crl.edu/content.asp?l1=3&l2=55

Page 26: Top 5 Non-Obvious Drupal Modules

5. Pathauto + Custom Tokenhttp://drupal.org/project/pathauto

Top 5 Non-Obvious Drupal Modules

Page 27: Top 5 Non-Obvious Drupal Modules

$replacement = '';

if ($node) { $values = array();

// Try to get the menu data. $mlid = db_result(db_query("SELECT mlid FROM {menu_links} WHERE link_path = '%s'", 'node/'. $node->nid));

// Now get the menu related information. if (!empty($mlid) || !empty($node->menu['mlid']) || !empty($node->menu['plid'])) { $menu_link = menu_link_load($mlid); $menus = menu_get_menus(); $menu = isset($menus[$menu_link['menu_name']]) ? $menus[$menu_link['menu_name']] : ''; $trail_raw = _menu_titles($menu_link, $node->nid);

$trail = array(); foreach ($trail_raw as $title) { $trail[] = check_plain($title); } $values['menupath-raw'] = implode('/', $trail_raw); } else { $values['menupath-raw'] = ''; $values['menu-link-title'] = ''; $values['menu-link-title-raw'] = ''; }

$replacement = $values['menupath-raw']; // Start with the default ['menupath-raw'] $replacement = str_replace('Collaborations/Area Studies', 'Area Studies', $replacement); $replacement = str_replace('Collaborations/GRN', 'GRN', $replacement); $replacement = str_replace('Collaborations/Collaborative Digitization', 'Collaborative Digitization', $replacement);}

return $replacement;

Page 28: Top 5 Non-Obvious Drupal Modules

/** * Implementation of hook_token_list(). */

function crl_helpers_token_list($type = 'all') { if ($type == 'global' || $type == 'all') { // We don't implement any global tokens yet. }

if ($type == 'node' || $type == 'all') { // Node tokens here $tokens['node']['crl-menupath-raw'] = t('A customized version of the [menupath-raw] token for the CRL menus that puts certain items (e.g. GRN) at the top level.'); }

return $tokens;}

/** * Implementation of hook_token_values(). */function crl_helpers_token_values($type, $object = NULL) {

// Very similar to code in previous slide// …

}

Alternately, write a custom module

Page 29: Top 5 Non-Obvious Drupal Modules

Thanks!

Top 5 Non-Obvious Drupal Modules

Russ Bomhof – [email protected]

Geoff Hing – [email protected]

www.crl.edu