Top 5 Non-Obvious Drupal Modules Presented by: Russ Bomhof & Geoff Hing Chicagoland 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 DB Static 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 3 most recent news and  events, but not the one about 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. Nodequeue http://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 to be 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 Grants http://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 Split http://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 Accordion http://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 Token http://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 –  [email_address] Geoff Hing –  [email_address] www.crl.edu

More Related Content

PDF
Dress Your WordPress with Child Themes
ODP
DrupalEasy: Intro to Theme Development
PDF
D7 theming what's new - London
PDF
Atomicant Drupal 6 Theming
PDF
Theme like a monster #ddceu
ODP
Drupal 7 Theming - what's new
PDF
Adopt or hack - how to hack a theme in a Drupal way
PDF
Building Things Fast - and getting approval
Dress Your WordPress with Child Themes
DrupalEasy: Intro to Theme Development
D7 theming what's new - London
Atomicant Drupal 6 Theming
Theme like a monster #ddceu
Drupal 7 Theming - what's new
Adopt or hack - how to hack a theme in a Drupal way
Building Things Fast - and getting approval

What's hot (20)

PDF
JD17NL Joomla! Overrides and alternate layouts
PDF
The Django Web Framework (EuroPython 2006)
PDF
Андрей Юртаев - Improve theming with (Twitter) Bootstrap
PDF
I use drupal / 我是 OO 師,我用 Drupal
PDF
Grok Drupal (7) Theming
ODP
Lightning Fast Drupal Theming (Drupal 7)
PDF
Learning PHP for Drupal Theming, DC Chicago 2009
PPTX
Dc kyiv2010 jun_08
PDF
Drupal Flyover, CMS Expo
PDF
Building mobile applications with DrupalGap
PPT
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
PDF
Forensic Theming for Drupal
PPTX
WordPress Structure and Best Practices
PPTX
Scraping the web with Laravel, Dusk, Docker, and PHP
PPTX
Converting (X)HTML/CSS template to Drupal 7 Theme
PDF
Git Makes Me Angry Inside
ODP
Making The Drupal Pill Easier To Swallow
PDF
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
PDF
So you want to build a Facebook app
KEY
Theme guru's (Moodle 2 Edition)
JD17NL Joomla! Overrides and alternate layouts
The Django Web Framework (EuroPython 2006)
Андрей Юртаев - Improve theming with (Twitter) Bootstrap
I use drupal / 我是 OO 師,我用 Drupal
Grok Drupal (7) Theming
Lightning Fast Drupal Theming (Drupal 7)
Learning PHP for Drupal Theming, DC Chicago 2009
Dc kyiv2010 jun_08
Drupal Flyover, CMS Expo
Building mobile applications with DrupalGap
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
Forensic Theming for Drupal
WordPress Structure and Best Practices
Scraping the web with Laravel, Dusk, Docker, and PHP
Converting (X)HTML/CSS template to Drupal 7 Theme
Git Makes Me Angry Inside
Making The Drupal Pill Easier To Swallow
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
So you want to build a Facebook app
Theme guru's (Moodle 2 Edition)
Ad

Viewers also liked (8)

PPT
Drupal: Content Management and Community for your Library
PPTX
Drupal: Collaborative Web Tools for Transportation Libraries
PPTX
Il 2011 Making the Case for CMS!
PPT
Content management system
PPT
Intro To Drupal For Museums
PPT
Drupal with CONTENTdm Digital Collections, Drupal Camp Vancouver 2012
PPTX
Wa mw 2013
PPT
Drupal: Community Plumbing for Public Libraries
Drupal: Content Management and Community for your Library
Drupal: Collaborative Web Tools for Transportation Libraries
Il 2011 Making the Case for CMS!
Content management system
Intro To Drupal For Museums
Drupal with CONTENTdm Digital Collections, Drupal Camp Vancouver 2012
Wa mw 2013
Drupal: Community Plumbing for Public Libraries
Ad

Similar to Top 5 Non-Obvious Drupal Modules (20)

ODP
Drupal Theme Development - DrupalCon Chicago 2011
ODP
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
PPTX
Future proofing design work with Web components
PPTX
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
PPT
Drupal for Non-Wimpy Librarians (ILEAD U 2011)
PPTX
Drupal
ODP
Drupal Best Practices
PDF
Scale Conference "Intro to Drupal" Douglas C. Hoffman
PDF
Fastest Way to DRUPAL
PDF
Absolute Beginners Guide to Drupal
PDF
Drupal Module Development
PDF
Drupal Module Development - OSI Days 2010
PDF
Building User-Centred Websites with Drupal
PPT
SynapseIndia drupal presentation on drupal best practices
PDF
Intro to Theming Drupal, FOSSLC Summer Camp 2010
PPT
Drupal for Libraries 05/28/09
PPT
Drupal A non technical Introduction
PDF
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
PDF
Sample You Tube tutorial for Drupal
ODP
Drupal Multi-Site Setup
Drupal Theme Development - DrupalCon Chicago 2011
Best Practices For Drupal Developers By Mir Nazim @ Drupal Camp India 2008
Future proofing design work with Web components
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
Drupal for Non-Wimpy Librarians (ILEAD U 2011)
Drupal
Drupal Best Practices
Scale Conference "Intro to Drupal" Douglas C. Hoffman
Fastest Way to DRUPAL
Absolute Beginners Guide to Drupal
Drupal Module Development
Drupal Module Development - OSI Days 2010
Building User-Centred Websites with Drupal
SynapseIndia drupal presentation on drupal best practices
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Drupal for Libraries 05/28/09
Drupal A non technical Introduction
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
Sample You Tube tutorial for Drupal
Drupal Multi-Site Setup

Recently uploaded (20)

PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
The various Industrial Revolutions .pptx
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
STKI Israel Market Study 2025 version august
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Tartificialntelligence_presentation.pptx
PPT
Geologic Time for studying geology for geologist
PDF
CloudStack 4.21: First Look Webinar slides
Enhancing emotion recognition model for a student engagement use case through...
Assigned Numbers - 2025 - Bluetooth® Document
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
DP Operators-handbook-extract for the Mautical Institute
Getting Started with Data Integration: FME Form 101
Web Crawler for Trend Tracking Gen Z Insights.pptx
Developing a website for English-speaking practice to English as a foreign la...
The various Industrial Revolutions .pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
STKI Israel Market Study 2025 version august
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
A comparative study of natural language inference in Swahili using monolingua...
WOOl fibre morphology and structure.pdf for textiles
A contest of sentiment analysis: k-nearest neighbor versus neural network
Final SEM Unit 1 for mit wpu at pune .pptx
NewMind AI Weekly Chronicles – August ’25 Week III
Hindi spoken digit analysis for native and non-native speakers
Tartificialntelligence_presentation.pptx
Geologic Time for studying geology for geologist
CloudStack 4.21: First Look Webinar slides

Top 5 Non-Obvious Drupal Modules

  • 1. Top 5 Non-Obvious Drupal Modules Presented by: Russ Bomhof & Geoff Hing Chicagoland Library Drupal Group December 7, 2009
  • 2. 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
  • 3. CRL Then and Now VBScript ASP / MS Access DB Static HTML w/ Dreamweaver Templates Drupal 6!
  • 4. 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
  • 5. As far as we know, there is no module that will force a team to communicate and collaborate. Things We Learned
  • 6. There’s more than one way… Photo by Karamellzucker via Flickr Things We Learned
  • 7. Obvious Views Content Construction Kit (CCK) Panels Node Import Workflow Drush Google Analytics Top 5 Non-Obvious Drupal Modules
  • 8. Non-Obvious Nodequeue Module Grants Menu Block Split Views Accordion Pathauto + Custom Token Top 5 Non-Obvious Drupal Modules
  • 9. So what news items did you want on the front page? We need to have the 3 most recent news and  events, but not the one about the meeting.  Oh, and that event is too old. Oh, make sure to add ... Ummmm.  Right. Just send me that list in e-mail.
  • 11. 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 to be 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.
  • 12. Rapid content development Review and collaboration vs .
  • 13. 2. Module Grants http://drupal.org/project/module_grants Top 5 Non-Obvious Drupal Modules
  • 14. Or, use Deploy From the amazing demo of the Deploy module, http://www.youtube.com/watch?v=7PjwT0HWHxw
  • 15. 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, ...
  • 16. 3. Menu Block Split http://drupal.org/project/menu_block_split Top 5 Non-Obvious Drupal Modules
  • 17. 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.
  • 18.  
  • 19.  
  • 20.  
  • 21.  
  • 22.  
  • 23. 4. Views Accordion http://drupal.org/project/views_accordion Top 5 Non-Obvious Drupal Modules
  • 24. 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.
  • 25. Old and busted: http://www-old.crl.edu/content.asp?l1=3&l2=55
  • 26. 5. Pathauto + Custom Token http://drupal.org/project/pathauto Top 5 Non-Obvious Drupal Modules
  • 27. $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;
  • 28. /** * 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
  • 29. Thanks! Top 5 Non-Obvious Drupal Modules Russ Bomhof – [email_address] Geoff Hing – [email_address] www.crl.edu

Editor's Notes

  • #2: Russ: - Thanks for having us, we have been wanting to attend this group for a while First heard about it at Last year’s Drupal camp at the University of Illinois Geoff and I are both web and digital library specialists at CRL
  • #3: CRL is an academic library consortium based at the University of Chicago’s campus in Hyde Park. Although U of C was one of our charter members, that is the extent of our relationship. Our members are based primarily in North America, but also include several Canadian universities and some global members like the university of Hong Kong. Since we deal mostly with primary sources, most of our members are larger research institutions, but we also have many smaller schools who are members by way of various library consortia. Collections: various archival material, to a collection of more than 800,000 foreign doctoral disertations, which are all cataloged. Newspapers from around the world at about 10,000 titles nearly 70,000 serial titles, which includes items like trade journals from the late 19 th century. government documents, including our very popular collection of presidential and ministerial reports from Brazil. - but that’s not all! We also provide a framework that gives technical and administrative support to programs that pool the resources and expertise of our members. These groups are mostly interested in international resources. Examples are the Global Resources Network (GRN) and the Area Microform Projects (AMPS)
  • #4: Here we can see the aesthetic changes to our website that took place over the last year, but what about the framework? The content? - Drupal: the tough sell. -No real in-house expertise; steep learning curve - Up until that point, we were a windows shop using Access, MSSQL, ASP for scripting, etc. We needed a new box, Linux admin expertise Starting point: Drupal camp! – Meeting like minded individuals (librarians), getting excited at the various presentations. Theming didn’t seem that difficult, we were thinking about potential integration of our catalog (millenium module, SOPAC, etc.) Road blocks: modules and custom development. Ex. FOCUS – we tried several newsletter modules that were either much too complex, or not powerful enough. Ended up creating our own content types for issues and articles. Basic content was finally in and edited. But what about the custom development we needed? Geoff!
  • #10: *Read Comic* - Many staff members – particularly heads of department – have a lot at stake when it comes to news and events. While we did set up a workflow to make it easier to submit them, we had limited real estate on the front page. - We needed a way to pick and choose arbitrary nodes and display them on the front page