top 5 non-obvious drupal modules

Post on 04-Jul-2015

1.197 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Top 5 Non-Obvious Drupal Modules

Presented by:Russ Bomhof & Geoff HingChicagoland Library Drupal Group

December 7, 2009

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

CRL Then and Now

VBScript ASP / MS Access DBStatic HTML w/ Dreamweaver Templates

Drupal 6!

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

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

Things We Learned

There’s more than one way…

Photo by Karamellzucker via Flickr

Things We Learned

Obvious

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

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

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.

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

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.

Rapid content development

Review and collaboration

vs.

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

Top 5 Non-Obvious Drupal Modules

Or, use Deploy

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

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, ...

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

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.

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

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.

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

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

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;

/** * 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

Thanks!

Top 5 Non-Obvious Drupal Modules

Russ Bomhof – rbomhof@crl.edu

Geoff Hing – ghing@crl.edu

www.crl.edu

top related