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 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.
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.
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
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
Double-click the Navigate title to hide all inputs and just show links (to free up some space):
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!