Navigate Drupal Module Quickstart Guide

If you don't use Navigate you could be missing out on some rather nice tools for rapidly setting up a site and helping clients and site users get comfortable in Drupal. Navigate is all about customizing the navigation experience to easily find menu items and content if you don't know where they are, and quickly build a set of personal menus to areas of a Drupal site that you use the most.

I use Navigate every day and it saves my bacon. 

The problem

The problem we're trying to solve here is that Drupal's navigation is deep and complex. Menus in menus in menus, and it takes a while to figure out how to find what you need. Navigate brings together a set of tools in an reasonably un-intrusive package that helps you get around. I'll take you through the features and how to set it up below.

Getting started

First, download the Navigate module and install the associated modules you see below:

Once installed, here's what you'll see in the top left corner of the screen:

Something's hiding there. Click it and it will expand to show you this:

This is Navigate. Navigate is a box that contains widgets. You can hide Navigate by clicking the steering wheel icon one more time. Above, you can see it has two widgets, one called Search and one called Favorites.

Let's play with these for a minute. Test out search by typing user in the search box and pressing enter. Navigate will search content and the menu to find any matches to your search and load them via AJAX. You'll see something like this:

One nice thing about Navigate is that it retains state. That means that if you click on a link, the same search results will display on the next page.

If you click the little cog wheel highlighted above, you'll see some settings for this widget:

TIP: I use the search widget to find menu items added by newly installed modules when I don't know where they are.

Here you can set the widget to search for content (the Full option uses Drupal's search engine), the menu and / or users. You can even set which types of content to search.

Why would you want to do this instead of searching everything? Well, Navigate lets you have as many widgets as you want, and you may want to keep one search result set open from page to page while using the other one to search around. You also might want to have a search widget for the menu, and another for content. Let me demonstrate.

Click the big cog wheel to display Navigate's settings:

This opens up some new options. I'll walk through this bit by bit. You should see something like this:

Here are the new areas that displayed, marked so we can reference them later

Our first goal here is to add a widget. To do so, all we need to do is click on an item in the "Add widgets" section. We want to add a new search widget, so we'll click the search item.

This will add a new search widget below the others, so you'll see something like this:

Now we have two search widgets we can set individually to search for particular things. One problem, though. They're both called Search. No biggie, we can change the title of each of them by double-clicking the title, typing the new title, and pressing enter:

Here's what they look like re-titled:

Now, it might make more sense to have the two search widgets next to each other, so grab the Search users title  to move the widget and drop it below the Search content widget.

Using the favorites widget

Now let's explore the Favorites widget. The idea of the favorites widget is to create bookmarks to commonly visited places. When you are on a page, you can add the page to your favorites by typing a name for the page and clicking the Add button.

Becomes...

Once you have a number of favorites, you can re-order them by dragging and dropping. You can delete items by clicking on the X that displays when hovering over an item. You can't see it because we're just using screenshots, but everything is done via AJAX and saved behind the scenes, so this is very quick process.

For complex shortcuts, I'll add a divider just by entering a series of dashes as a favorite:

Just like any other widget, you can have multiple favorite widgets and rename them as you'd like.

If you create a set of shortcuts that you'd like to use for another site, there's good news! Click the settings cog wheel for the widget, and you'll see an import / export form. Click the Export button to generate the data you can use to import into another site's widget:

Using the menu widget

Okay, let's explore another widget. The Menu widget provides a collapsible tree of any menu, and just like the search, it has a saved state so that you don't lose your place between pages. Let's see what that looks like.

Just like we did above, click the settings cog wheel to open up Navigate's settings, then click the menu item:

A new widget will appear below the others with a simple form to let you pick the menu to display:

Select the menu (I picked the Administer menu) and click the Load button. What displays will look something like this:

Every + sign denotes an expandable menu. Click it to expand or collapse a menu. Here's what happened when I clicked the one next to Reports:

Simple enough. I typically add a menu widget for the Create content menu when I start working on a site.

One of the big challenges of Drupal is teaching clients how to use it. There's just a lot to wrap your mind around. And often, there is more than one kind of person using the site, so the ability to have a customize set of navigation tools for each individual or role is useful.

With Navigate, you can set defaults for roles, or modify an individual user's widget set. Let me walk you through how to create a default set for a role.

Setting default widgets for a role

Let's take the widget set we've just created and set it for the default widget set for new administrative users. First, click the cog wheel to display the settings, then click the "Set" link next to the role you want to assign the widget set to:

Once you do this, when a user of that role logs in for the first time, if they don't have their own widget set already they'll get the default. Once you've set the defaults, some of the gray-ed out options become available:

Load - loads the widget set as your current widget set so you can modify it
Unset - Unsets the defaults for the role
Set all users - This will set the defaults for all users of that role, even if they have a widget set already.

Setting defaults for a single user

In the "Search name / UID" box, start typing a username or UID. Once you've typed something in, the gray-ed out options become available:

This works the same as the role. You can either set the user's widgets to be what you see on your current widget set, or you can load theirs to modify them.

One tricky thing here is that when we load a widget set, it replaces our current one. So, we need a way to export and import a widget set to save our settings while we work on the widget sets for other users.

Exporting and importing widget sets

In the settings pane, you'll see a couple of boxes like what you see below. When you click the "Export widget set" button, the textarea will be populated with the code you would need to paste into the "Import widget set" box in order to import.

You can use this tool to create a number of widget sets to use across multiple sites. In Navigate, everything is portable.

A few special features

Keyboard shortcuts

You can enable keyboard shortcuts to easily use Navigate. Click the "KEY" link at the bottom of the widget set to enable it (it will be white and non-italic when enabled):

CTL+SHIFT+N - Toggles Navigate visibility
CTL+SHIFT+S - Moves the cursor to the last search widget for rapid searching

Mini-mode

Double-click the Navigate title to hide all inputs and just show links (to free up some space):

Help!

Hovering over virtually anything in Navigate will give you some helpful information. For example, hovering over the Navigate title displays this:

Hovering over a link in a favorites widget displays this:

You can also click the HELP link at the bottom of Navigate to display the help page:

That's it, enjoy!

Navigate Search SONIC Con ten! matches Masquerade as Menu matches: My account Webform Themes Input formats Languages Ughtbox2 Performance an anonym. Content AN as Search users Search -cl- Favorites Add NBL Favorites My account Add IT My ACCOUNT Navigate Menu Parent Item: Primary links Load rtKS Prima Navigate Enabled Name Version Description Adds framework for supplying navigation tools to Drupal Navigate 6.x-1.0-beta5 Required by: Navigate Custom (enabled), Navigate Favorites (enabled). Navigate Menu (enabled), Navigate Search (enabled) Na Navigate widget for adding custom html Curtom 6.x-1.0-betaSphpcode. Depends on: Navigate (enabled) Navigate Q-beta5s fevorites widget to the Navigate module Favorites Depends on: Navigate (enabled) Adds Navigate widget for displaying menu mZ Depends on: Navigate 'enabled) el rf Navigate krtf-,r Adds search widget to the Navigate module Search Depends on: Navigate (enabled) 6.X-1.0- betaS Adds itml Navigate 6.X-1.0- betaS php code. Custom 6.x- 1.0- betaS Adds TO Navigate 6.X-1.0- beta5tree. Menu Navigate ft FI- ODESSA Navigate6.x-1.0-beta5Required -betaSphp Favorites6*1-"6'35"'15 faV°riteS ICI 6.x- 06 les CE -06 TIE BX-I -06 LEE II;. fs. cs- 5.x-l .ot 3t -06 6.x- per ed i3\ igate Navigate Add widgets custom Favorites LSMenu earch Menu MERCREDI Il> Favorites Add Views Administer content Blocks Users Modules Menu Taxonomy HELP KEV My account ax NO M/Qccoun! .11 Search Soared Favorites Search Soared HELP KEY Add HELP NL tjCfcearch Menu -Content management L-Slte building USte configuration LOtepiaysurie LlfRJeer management L-Reports Lip-Rules L-Advanced help l+FSlle l+FSlte Display suite Ep-UBer REPORTS l+FRules Help Content Site SHE User Rules Advanced 1*11 ill AWOL authenticated Set Load Unset Set all users Brt fcl— fill ill administrator Load Unset Set all users load all user administrator SET LOAD Unset Set Sail 1 1 nil5 nil5 Defaults authenticated contrlbuto administrator Search name UID Bet Set Load Unset Set all users Unset Set all users Unset Set all users Set user Widget set import export LUM Set Load all SetaB adml all SetaB oad .oad Set user oad ir). Navigate ft JI Navigate Add widgets custom Favorites LSMenu Search Search Favorites HELP KEY Defaults authenticated user Load Unset Set all users Search name Ui contrl butow Set Load Unset Set all users administrator Load Unset Set all users Load Set user Widget set import export Export widget set Import wldgot sot UID iwuser Add mber for KNOW RAYON hlnn DRIBBLE name/UlD ■bid get user SET 5etall CONTRIBUTORS Set all BESET all Menu HELP PENH all /UID PLAN Navigate ft Search Favorites HELP KEY Search Add Search Favorites J|f hris Shattuck Load Set user Set user My account Views Administer content WINDMILLS ■ill Languages Llghtbox2 Performance Search content: Quick Full Search menu: Menu Search users: Users Content type. li None Blog Feed Module Story Tweet All Search content: QUICK menu: users: search Webform to Search content Favorites Search users HELP KEY Search Add Soared content Favorites Ui ers HELP users Navigate ft Add custom LSMenu Search Elelete Add HELP KEY Defaults administrator Widget set import export Export widgot set import widget set arch WIDGETS administrator Load Unset Load Set use Menu HELP Load Unset be Set use Set default widgets Add widgets widget Import export widgets of arch of LMB dim Widget set import export array array MODULE 'navigate. SEARCH TYPE 'navigate search', Weight* ->1J, Export widget set Import wldgot sot 'navlgate.searcfi' Skyping ME through Evernote Type' 'nav qatejusintf, me ri uport VMdgct stl Menu r+HContent management -l+HStte building -Bp-Site configuration Bp-Display suite Bp-User management -□-Reports URecent log entries L-Spam logs L-Top 'access denied' errors L-Top PAGE not found' errors L-Status report t+HRules -Advanced help Help l+HSite l+HSile l|l-RepoHs Top Top I-Help Content Sue Display User Reports SPAM Status Rules »5>r- IMPART YWIS TWILL LIMIT IVP CBD Favorites My account Views Administer content Blocks Users Modules Menus Taxonomy My account juser/27|l| |Views|user /27|2||B!ccks|user /27|S||Administef coment|user/27| 41 Users user /27|7||Menus]user 071111 lvAnAnyfliUflr Export Import HELP KEY Add 27\1) nintster DDI USER lEfWlUEEr 27|l||VieH5|u9efl Ddjl£S|Lfiiy My account fl TO


Comments

Great tips here. I actually learned a lot from your blog. More power for drupal!