Tutorial: Build an Archive

As a practical introduction to the DataNav Builder user interface, this section includes a step-by-step tutorial that creates both a figure archive and a data hub. In the latter case, the tutorial adds a single view to the hub, and then populates that view with data from a view instance batch file. The batch file is created by a sample Matlab script that relies on the dn_vibatch() utility. To get the most out of this introduction, perform each step of the tutorial -- highlighted within text boxes -- as you read through it. Before getting started, be sure you understand the conceptual design and terminology for a DataNav archive vault.

Try It: Download Builder

You'll find the latest version of DataNav Builder and the supporting Matlab package on the download page. Follow the installation instructions on that page for your operating system. To perform all the steps of the tutorial, you'll need Matlab (2009 or later) installed on your machine, and a Java 6 runtime environment (JRE) to run Builder.

Be sure to read and follow the instructions for the Matlab support package carefully. If the required scripts and JARs (Java ARchives) are not on the Matlab command path, and if the JARs have not been added to the Matlab Java class path, the sample script used to load fake instance data into a view instance batch file (sampleVIBatchScript.m) will not work.

Part I - Constructing a figure archive

When you launch Builder, the Local Archives locale is selected initially. This locale displays and edits archives stored in your local DataNav workspace on the host computer. In this tutorial you will add both a figure archive and a data hub to the Local Archives. If you are using Builder for the first time, this will be the one and only locale you'll see; it is always present, even if the archive vault in your workspace is empty. Any other locales you define will represent remote portals and will be listed below the Local Archives locale; we'll describe how to define and work with a portal locale in the next section.

The archive vault editor appears in the primary content panel underneath the Local Archives title bar. This editor displays and modifies the content of the archive vault stored in the current locale -- in this case, your DataNav workspace directory. Along the top is the archive thumbnail strip. Each archive is represented by a “thumbnail” image that shows a scaled-down version of a representative figure, along with the archive’s title. For a data archive, the representative figure is the template for the hub's entry-point view; for a figure archive, it is the first figure in the archive. The two types of archives are easily distinguished by their thumbnail backgrounds and icons: a blue outline and database icon indicate a data archive, or data hub; while a yellow folder-like background and histogram figure icon decorate a figure archive's thumbnail. All of the archive thumbnails will be obscured by a gray translucent overlay except for the archive that is currently selected. That archive’s title, list of authors, and description are shown in the text pane below the thumbnail strip. To change the current selection, click on one of the unhighlighted thumbnails, or any of the navigation arrows in the vertically oriented toolbar along the right edge of the thumbnail strip. You can also change the selection using the commands in the View menu. [The screenshot on the right shows an archive vault with several existing data and figure archives. A figure archive is currently selected.]

When you open Builder for the very first time, your archive vault is empty, and the vault editor will reflect this fact. So the first thing you will want to do is create an archive -- in this case, a figure archive. Press the figure-like button that appears near the top of the right-hand toolbar. [To create a new data hub, you press the database-like icon; you'll do this in part II.] A new, empty figure archive is added to the vault with a default title, author list, and description. The archive thumbnail is blank, since the archive has no figures yet.

https://sites.google.com/a/srscicomp.com/datanav/portal-app/builder/vaultEditor.png?attredirects=0

A number of other button icons are now enabled in the vault editor's toolbar. These buttons let you remove, copy, export, or import the archive. Exporting an archive creates a ZIP file of the archive’s backing store. It offers a way to “share” your archive with another author, who can import the ZIP file you send him (but keep in mind that the ZIP file could be very large for a data archive with thousands of data sets). Note that the copy, export and import operations can be quite time-intensive, particularly for a large data hub. Builder raises a modal “Please Wait...” message dialog to block the UI while these operations are running.

Try It: Launch Builder and create a figure archive

Launch DataNav Builder (follow the launching instructions for your operating system on the download page). The application frame window will appear with the Local Archives locale initially "open", with the vault editor displaying the contents of the archive vault maintained in your workspace directory. If you've never used Builder before, that vault will be empty initially.

Click on the "create new figure archive" toolbar button [Alternatively, you can select the New figure archive command from the Edit menu.] After a very brief delay, a new figure archive thumbnail should appear, with the word "[empty]" centered within it. Notice that the new archive gets the "focus", and that a default title ("Untitled archive"), description ("This figure archive is empty."), and author list ("First A. Lastname") are assigned to it. You'll start adding figures to the archive in the next step.

To add or revise content in a figure archive, you need to "open" the archive in Builder. To do so, click on the archive's thumbnail in the vault editor and a different panel "slides" into view from right to left: the figure archive editor. Since the figure archive is empty, the panel is essentially blank.  Like the vault editor, the figure archive editor includes a vertical toolbar docked to the right-hand side. Click on the round green "+" button in this toolbar (or, alternatively, choose the Edit|Add figure(s)... menu command) to start adding figures to the archive. A file chooser dialog appears. Use it to locate the folder containing the figures you would like to add to the archive, and select the desired figure files (you can use the Shift key to select a contiguous range of items in the file list, or the Ctrl/Command key to make a non-contiguous selection). Click the Select button to confirm your selection. The chooser dialog is replaced by a progress dialog as Builder begins processing the selected files and adding the figures to the archive. Note that you can select both DataNav FypML (.fyp) and Matlab figure (.fig) files in the chooser; Builder will convert any Matlab figure to FypML format before adding it to the archive. When the operation has finished, press the Done button to extinguish the progress dialog.

Assuming you have added a bunch of figures to your archive, the figure archive editor will now look a little more "interesting". As shown in the screenshot on the right, the narrow left-hand scroll pane is a figure thumbnail strip displaying the list of figures stored in the archive, in order from top to bottom. The currently selected figure is highlighted by a blue background in the thumbnail strip, and that figure is loaded into the canvas on the right. You can change the current selection in a number of different ways:

Try it: Adding content to a figure archive

If you completed the previous step in the tutorial, you'll have just created a new, empty figure archive in the vault browser. Click on the archive's thumbnail to open it in the figure archive browser, then follows the instructions in the main text to add some figures to the archive. Hopefully, you already have a collection of figures from which to choose; if possible, add at least 10 figures to the archive. If your figures are distributed across several directories, you'll have to repeat the procedure for each such directory.

Once you've added the figures, try selecting different figures in the thumbnail strip using the mouse, the shortcut keys, and the buttons in the right-hand toolbar.

Observe that Builder assigns a default title and description to each figure added to the archive; together, these comprise the figure legend that appears below the currently selected figure. To make your figure archive more self-explanatory, you will want to compose an appropriate legend for each figure, as well as a brief summary for the archive as a whole.

To revise the archive summary, click on the round blue "i" icon in the editor's toolbar, or choose Edit|Archive summary from the application menu bar. A translucent editor panel "grows" out of the top edge of the editor panel. Update the title, list of authors, and HTML-formatted description, then press the "Save changes" button. The translucent panel shrinks out of sight. The archive's revised title should appear in the second toggle button in the navigation bar that sits just below the locale title bar, above the figure archive editor itself. Also, if you return to the vault editor (Archives toggle button in the navigation bar), you'll notice that the figure archive's thumbnail and summary have been updated to reflect any changes you made.

To edit the title and description of any individual figure in the archive, click on the "paper and pencil" icon in the editor's toolbar, or choose Edit|Current figure from the main menu. Once again, a translucent editor panel pops into view. In addition to revising the figure's title and description, you can also choose to edit the figure itself or replace it altogether. The Edit figure... push button raises a modal dialog in which you can make changes to the current figure directly, while the Replace figure... push button raises a dialog so that you can browse the file system for the FypML or Matlab figure file containing the replacement figure. Once you're finished making changes, press the Save changes button. The editor panel disappears, and the figure archive browser is updated accordingly.

The order of the figures in the archive reflects the order in which they will appear in the slideshow-like presentation of the DataNav Viewer web application (once the archive is uploaded to a portal), and the first figure serves as the figure archive's thumbnail image in the vault browser. To change the position of any figure in the archive, select it in the thumbnail strip, then "drag" it to the desired location within the strip. As you hold down and drag the mouse, a "drop" highlight (a blue rectangular border with two arrows pointing toward the center of the rectangle) indicates where the figure would be repositioned if you released the mouse button. If you drag past the top or bottom edge of the thumbnail strip, the strip will auto-scroll as needed.

Try it: Revising content in a figure archive

At this stage, your figure archive should be populated with some figures. All that's left is some text-editing, and perhaps some reordering of the figures. First, compose a meaningful summary for your archive. Click on the round blue "i" icon in the figure archive editor's toolbar. In the pop-up editor panel enter a useful title, your name as author, and a brief description of the archive's intent and contents. Once you're satisfied, save the changes. Also, try this: select the bottom figure in the thumbnail strip and drag it all the way to the top, making it the first figure in the archive. Now return to the vault editor by clicking on the Archives button in the navigation bar. Your figure archive's thumbnail and summary should reflect all of the changes you've made to this point. Verify this, then return to the figure archive editor.

Next, you need to compose a legend for each figure in your archive. Select a figure, then click on the document-like icon in the editor's toolbar. In the controls provided in the pop-up window, enter a brief title and an informative description of the figure. If you need to tweak the figure's appearance in any way, press the Edit figure... button. A modal dialog appears containing a stripped-down version of the Figure Composer application, along with three push buttons. Revise the figure as needed and press "OK" to confirm the changes and extinguish the dialog, press "Start Over" if you've made some changes that you don't like and want to start from scratch, and press "Cancel" to extinguish the dialog and leave the figure unchanged. 

Once you're happy with the changes you've made to the figure's title, description, and appearance, press the Save changes button to close the translucent pop-up window. Observe that the figure archive editor is updated to reflect any changes you made.

Part II - Constructing a data archive

As you can see, building a figure archive is very straightforward when you have already created the individual figures. Building a data hub is a different story. This part of the tutorial will lead you through the key steps. To begin, you'll need to return to the vault editor and create a new, empty hub.

Try it: Create a new data hub

If you just finished Part I of the tutorial, Builder will be displaying the figure archive editor in the Local Archives locale. Click on the Archives button in the navigation bar to return to the vault editor view. Observe that the vault editor "slides" into place from left to right. Click on the "create new data hub" button in the right-hand toolbar [or, select the New data hub command from the Edit menu].

A new data archive thumbnail should appear, with the word "[empty]" centered within it. A default title, author list, and description appear in the text pane below the thumbnail strip. You'll start making changes to this data hub in the next step.

The Figure Archive Editor

To edit the new hub's content, simply click on the focussed hub. A new panel “slides” into view from the right: the data hub editor. Along the top of this editor is a text pane showing the title, author list, and description of the hub; the remainder of its display area contains an interactive canvas depicting all the navigation views defined on the hub, and the links among those views: the hub navigation map. For a brand-new hub, there’s not much to see -- the default title, author list and description are very short, and there are no navigation views. [The screenshot on the right (click on it to enlarge) shows the hub browser with a sample hub containing two navigation views. The hub is similar to the one you will construct in this part of the tutorial.]Like the other editor panels already discussed, the hub editor includes a vertical toolbar along its right edge. Click on the topmost icon in the toolbar. A translucent overlay window expands outward from the top-right corner, providing controls for editing the hub title, author list, and HTML-formatted description. Enter the information and press the “Save changes” button to extinguish the window. The text pane should be updated accordingly.

Try it: Edit a hub's summary information

At this stage, your newly created hub should have the focus within the archive vault editor. Follow the instructions in the main text to "open" the hub in the data hub editor, then click on the document-like icon in the editor's right-hand toolbar. In the controls provided in the pop-up window, enter a more interesting title for the hub, your name as the author, and a brief description. Then press the "Save changes" button and verify that the information you entered is now reflected in the hub editor's text pane.

To create a new navigation view, click on the second icon in the toolbar, or choose New navigation view from the Edit menu. A translucent window again expands outward from the top right corner. Enter the view’s title and description in the controls provided, then press the “Choose...” button to browse the file system for the Figure Composer FypML file (.fyp extension) defining the view’s template figure. Alternatively, if you haven’t constructed a template figure yet, click on the “Edit...” button to raise a large modal dialog with a Figure Composer-like UI in which you can design the template from scratch.

Once you are satisfied with the information you have entered, press the “Add View” button to create the view. The translucent window shrinks back into oblivion, and the new view appears on the navigation map canvas. Views are, once again, represented as small thumbnails. When there are multiple views, they may be linked in a hierarchical fashion. For now, assume your hub has only a single view. This view is automatically made the entry-point view, denoted by a small yellow star at the bottom-left corner of the thumbnail image. 

One view in the hub's navigation map holds the selection focus -- its thumbnail is distinguished from the others by a thick blue border and a downward-pointing blue arrow icon centered along its bottom edge. The other buttons in the editor's tool bar apply to the focus view (you change the focus to another view by clicking on it once). The blue information icon raises a small window that displays the view’s title and description; the red “X” icon deletes the view (don’t do it unless you’re really sure -- the operation is currently undoable); and the yellow star icon (if enabled) will designate the view as the hub’s entry-point view.

Try It: Create a navigation view

From this point on, the tutorial will rely on files downloaded as part of the Matlab support package for DataNav Builder. The template figure file for the sample view you will create is template_vu2.fyp. To create the view, click on the "add view" icon as described in the main text, enter a brief title (e.g., "My First View") and description in the pop-up window that appears, then click the "Choose..." button. Use the file browser dialog to locate the directory in which you installed the Matlab support package and select template_vu2.fyp. The figure is loaded into the small canvas below the "Choose..." button. Upon clicking the "Add View" button, the pop-up window shrinks away and the new view's thumbnail appears on the hub editor's navigation map canvas.

At this point, you may be wondering how to define the view’s instance configuration. Prior to version 4.0.3, the configuration was specified when the view was first added to the hub. Now, a view is initially created with an empty instance configuration, which can be revised in another custom editor panel: the navigation view editor. To load the view you just created into this editor, just click anywhere on the view thumbnail if it already has the focus (or double-click if it does not have the focus). Once again, the editor slides in from the right edge of the frame. [You should also notice that a third toggle button appears in the navigation bar above the editor.] This is where you can make changes to the view’s definition (including title, description, template, and instance configuration), add instance data to be displayed in the view, and test the overall operation of the navigation view. Most of the editor area is occupied by a canvas on which the current instance of the view is drawn. A text pane at the bottom shows the current title and description of the view.

Again, the editor includes a vertical toolbar along its right-hand edge. Click on the "paper and pencil" icon in that toolbar. A translucent window expands out from the top left corner. This "Revise View" wizard has two pages of controls by which you can modify the definition of the navigation view currently on display. Update the title and description on the first page, then click the “Next” button to proceed to page 2, where you can edit the view’s template and instance configuration. The window shows a small thumbnail of the current template figure, alongside a table listing the IDs and formats of all of the placeholder sets found in the template. To create a configuration group, select the placeholder set(s) that will participate in the group, then click the “New Group” button. [To select more than one placeholder from the table, press the Ctrl key (or the Command key in Mac OSX) while making the selections.] The configuration group, initially named “Group n” and assigned a single default search tag, appears in the group editor in the lower half of the window. You’ll also notice that the placeholder sets assigned to that group no longer appear in the table of "unassigned" template placeholders. Use the controls in the group editor to specify the name, iteration block size (if applicable), and search tags for the configuration group. To add a tag, simply click on an empty cell in the relevant table. A drop-down list offers several default search tag names, plus any tags that you’ve already added to the hub while creating other views. You can also type in any tag name you like, up to 20 characters long, but remember that search tags and values are reader-facing strings -- they should make intuitive sense to your readers!

Order within the placeholder and search tag lists of a group is critical. Use the ‘U’ and ‘D’ keys to shift a selected placeholder up or down in the list. To change the order in the search tag list, just edit the tags in place.

When you’re satisfied with the changes you’ve made to the view’s definition, click the “Save changes” button to extinguish the pop-up editor and update the view. You can also press the “Start Over” button to reload the original view definition, obliterating any changes you’ve made thus far, or you can cancel altogether by clicking the small “X” icon in the top right corner.

Try It: Defining the instance configuration for your view

The sample navigation view that you will create in this tutorial displays "fake" behavioral and neuronal responses to simple a target stimulus presented over many trials. In any given experiment, the trials are presented many times to the subject, for each different neural unit recorded. Some trials shows the stimulus under normal conditions ("control"), while others present it under one of several different test conditions. This protocol is repeated many times across several subjects. The sample view will present the recorded responses to the target stimulus in both the control trials and under a selected test condition. The view will require two instance configuration groups -- one for the control trials, and one for the test trials.

The Data Hub Editor

Follow the instructions in the main text to raise the second page of the "Revise View" wizard. Here you'll see a thumbnail of the template figure in template_vu2.fyp, and five placeholder data sets in the adjacent table: stim (series), resp1 (series), resp2 (series), spikes1 (raster1d), and spikes2 (raster1d). The stim data set represents the target stimulus trajectory; it is always the same for every instance of the view, so it does NOT participate in a configuration group. The resp1 and spikes1 sets represent average behavioral and neuronal responses across the control trials for a given subject, experiment date, and neural unit. The remaining two sets represent the collection of responses recorded across all test trials for a given test condition, subject, experiment date, and neural unit.

Define an instance configuration with TWO groups:

Be sure that the groups are in the order shown, and that the placeholders and search tags for each group are exactly in the order listed. The sample script which generates fake instance data for this view assumes that the instance configuration is specified in this manner.

When the mouse is inside the navigation view editor, you’ll see a set of translucent navigation panels "floating" over the view canvas, docked along the right edge. The navigation panels manage controls that let the reader browse all of the instance data associated with the current view, and their appearance and operation is determined by the view’s instance configuration.

The Hub Navigation View Editor

There is one navigation panel for each configuration group, and the panel’s title is the group name. The panel contains a labelled button-like control for each search tag in the group, arranged vertically from the most general tag (the first one in the tag list) to the most specific (the last one). If the group is enabled for block iteration over collection-type data sets, then another button-like control (with forward and back arrows) displays the current iteration block. When a view is first constructed, the navigation panels are not interesting and do nothing. Each search tag is set to the value “<none>”. The rendered view will be incomplete, because there is as yet no instance data to inject into it. Once the view is populated with instance data, you can press on any tag value button to change the current selection (a pop-up list appears). Behind the scenes, Builder retrieves the selected instance data from the hub's data repository and injects it into the template to render the chosen instance of the view. You may be wondering how to get back to the hub editor or archive vault editor once you’re in the navigation view editor. That’s the role of the navigation bar, the chain of toggle buttons docked above the primary content panel for the currently selected locale. When the view editor is installed in the content panel, you will see a three-button chain: "Archives" -> "Title of current archive" -> "Title of current view". Click on the second button to return to the parent hub, which is displayed in the hub editor. Click on the first button to return to the archive vault, displayed in the vault editor.

Try It: Navigating through Builder

After completing the previous step in the tutorial, hover the mouse inside the navigation view editor. You should see two navigation panels along the right edge, one entitled "control" and the other "exp". Note that you can collapse the panel for either group by clicking on its title bar. In addition, you can use the Tab key to change the focus to any of the button controls on the two (uncollapsed) panels. Of course, at this point, the navigation controls are pretty useless, since you have added no data to the view. Notice that the rendering of the current view state is empty except for the red trace representing the target stimulus trajectory (this corresponds to the stim placeholder, which does not participate in any of the view's instance configuration groups). 

Make sure you're comfortable moving through the different levels of DataNav Builder's archive-building perspective. Use the chain of buttons in the navigation bar to return to the hub editor and then to the archive vault editor, and then make your way back. Be sure the sample view under construction is on display in the navigation view editor before proceeding to the next step.

Pushing data: The view instance data batch file and Matlab function dn_vibatch().

All of the hub and view construction tasks described thus far are relatively straightforward. Creating a hub and a view and specifying title, author list, and description can all be done most easily in DataNav Builder itself. A view’s template figure is typically prepared in Figure Composer, and this is done only after you’ve really thought about what the view will display, what are the logical categories (the search tags) into which the displayed instance data will be grouped, and so on. Once you’ve created the view, the most difficult task remaining is generating hundreds if not thousands of data instances and associating them with the view.

It would be horribly tedious to do this one instance at a time in DataNav Builder itself; in fact, the application does not offer a means of doing so. Instead, the only way to add instance data to a hub view is to load it from a view instance data batch file. The batch file is a binary, custom-formatted file (.dvb extension) that contains any number of view data instances conforming to an instance configuration that is stored in the file itself. The DataNav Matlab support package includes a utility function that users can call from their own Matlab scripts to create a batch file and add instance data to it: dn_vibatch(). To learn how to use dn_vibatch(), install the M-file in your Matlab command path and type help dn_vibatch at the command prompt.

Try It: Generate a batch file for the sample view

Launch Matlab on your workstation. Change the working directory to the directory in which you installed the DataNav Matlab support package. Among other files, this directory will contain two files specific to this tutorial: template_vu2.fyp and sampleVIBatchScript.m. The latter is the script used to generate the view instance batch file for our sample view. From the Matlab command prompt, run sampleVIBatchScript. Assuming you have configured Matlab's command path and Java class path as instructed in the first step of this tutorial, the script should complete in about 10-20 seconds, generating an instance batch file named forTemplate_vu2.dvb in the same directory. The file will be about 36MB in size.

When you are ready to write your own script to collate data for a real navigation view, take another look at sampleVIBatchScript.m. It could serve as a template for your scripts; at the very least, it will show you how to specify the argument you need to pass to the dn_vibatch() function to create the batch file and load it with instance data.

Once you’ve populated a view instance batch file, you can load its contents into your navigation view from within Builder. Open the relevant view and, in the navigation view editor, click on the blue hub icon with the green arrow [or choose Load view data from the Edit menu]. This will raise a translucent modal dialog that will let you process any number of batch files. Press the “Choose...” button to browse the file system for the batch file. The file chooser will only let you select a batch file if its instance configuration is compatible with the current view’s instance configuration. Two configurations are compatible if they contain the same number of groups and each pair of corresponding groups have matching search tag lists and place holder lists. Once you’ve selected a file, press “Start” to begin loading all of the file’s instance data into the view. A progress bar appears, and the text area will display a message for each data instance parsed from the file, indicating whether or not the instance was successfully loaded. If Builder encounters a data instance in the batch file that has the same set of tag values as an instance already attached to the view, then it will raise a dialog to ask the user what to do: skip the duplicate instance, overwrite the existing instance, skip all duplicates, overwrite all, or stop loading the batch file altogether. When the batch file load has finished, you can repeat the same steps to load instance data from another batch file. Click “Done” to extinguish the dialog.

Try It: Load instance data for the sample view

Click on the "load instance data" icon in the toolbar along the right-hand edge of the navigation view editor. A file browser dialog appears. Navigate to the directory in which you created the view instance batch file forTemplate_vu2.dvb in the previous step of the tutorial; press the "Open" button to select that file. [Note that the dialog's "Open" button will be disabled if the batch file you select has an instance configuration that is incompatible with the configuration for the target navigation view.]

In the blue translucent dialog, you will see the full path to the selected batch file (possibly truncated) next to the "Choose..." button. Press the "Start" button to load the instance data from the batch file. This will take a few seconds. Once the task is complete, press the "Done" button to extinguish the dialog.

Observe that the view is now "operational". A "current instance" is on display in the editor's view canvas, and the control and exp navigation panels reflect the search tag values assigned to the instance data currently on display. To examine other instance data, click on any tag value button to change its value. Alternatively, you can manipulate the navigation controls using only the keyboard. Use the Tab key to move the focus to another control, and the arrow keys to change the current value in that control. Try it!

With this approach, you can easily add more data to a hub view that was created long ago. Suppose you constructed a view for a particular kind of experiment and added some data to it. Much later, you repeat the same experiment on a new subject. To add the new experimental results to the hub, simply process the new data with your existing scripts to construct a new instance batch file, then load the batch file into the hub view within Builder. Now the view will include the results for the new test subject!

Once you have loaded instance data into a hub view, changes to the view’s instance configuration are severely restricted to ensure that the revised configuration remains compatible with the existing instance data. You will not be able to add or remove a configuration group, nor change the list of placeholders and search tags in any existing group. You can, however, change the name or iteration block size of any group, and you can toggle the “iterate” flag for any placeholder within a group.

In the process of constructing a view and populating it with instance data, you may discover you’ve made some mistakes and would like to remove some or all of the instance data. To do so, click on the “Remove...” button in the lower-left corner of a configuration group panel. You can choose to remove only the current instance for the selected configuration group, all instances in that configuration group, all instances in the group for which a search tag is assigned its current value, or the view’s entire instance list.

Zooming in on the displayed view

Whenever you load a new view into the navigation view editor, the rendered view fills the canvas to the extent possible while still maintaining the view's aspect ratio (the graphic is not stretched to fill the canvas, since that could distort it substantially). If you resize the frame window, the rendered view is resized commensurately. This "scale-to-fit" view mode is usually preferred because the entire view is fully visible, and you can always enlarge the frame window to see more detail. On occasion, however, you may want to zoom in on the view; for example, you might want to take a closer look at a small portion of the data traces rendered therein. To do so, simply hold the left (primary) mouse button down near the area you want to magnify, then drag the mouse over that area. Upon depressing the mouse button, you'll notice that the floating navigation panels disappear, the cursor turns into a crosshair, and as you drag the mouse, a gray translucent rectangle follows it around the canvas, anchored on the original mouse-down point. The rectangle's aspect ratio matches that of the rendered view, so don't expect the rectangle's opposite corner to stick to the mouse cursor as you drag. Once you've highlighted the area of interest, release the mouse. The navigation panels should reappear, and the canvas should zoom in on the area you highlighted.

At this point, the canvas is in a "zoom-and-pan" view mode. If you resize the frame window, notice that the graphic within the canvas is not resized; you're merely resizing the window onto that graphic. You can repeat the same mouse gesture to further magnify the view. Alternatively, if you need to pan the graphic in any direction, hold down the right (secondary) mouse button and drag the cursor across the canvas; the graphic should follow the cursor. [Keep in mind that, behind the scenes, the graphic is getting redrawn as you pan; if the view contains large data sets or complex graphics like a heat map, or if your workstation is not powerful enough, the panning motion may be very jerky]. Note that the view will remain in the same scaled and panned state even if you select a different view instance via the navigation panels.

Obviously, you'll want to be able to restore the canvas to the normal "scale-to-fit" mode when you're done examining the fine detail. Note that bottom-most button in the editor's toolbar is enabled after you've zoomed in on the canvas. Click this button to exit "zoom-and-pan" mode and return to "scale-to-fit" mode (the button will be disabled once again).

Try It: Zoom and pan

Follow the instructions in the main text to zoom in on behavioral response traces between 400 and 500 ms in the sample view you created in this tutorial. Then try zooming in even further and panning the view left, right, up, and down. Once you're comfortable with the zoom and pan mouse gestures, click the relevant action button to restore the "scale-to-fit" view mode.

Linking navigation views in the hub navigation map

A practical, useful data archive will typically have a number of related navigation views, each offering a different "window" into the data or a subset of the data stored within the hub's data repository. These views are arranged in a hierarchical fashion in the hub's navigation map, which is displayed graphically in the hub editor. A typical hub will have a single entry-point view that offers a graphical summation of the hub's content. This summary view would be linked to several child views that might present, for example, data supporting key conclusions of the relevant research. These views, in turn, could have their own child views that display the results of specific experiments. The number of views, their content, and their relationships are all decisions that the author must make. DataNav Builder only enforces the top-down structure of the navigation map -- the implication being that the further down the map you go, the more narrowly focussed the view.

Once you have defined more than one view in a single hub, link them together on the hub editor's interactive navigation map canvas. First, put the focus on the parent view. You'll see a downward-pointing blue arrow icon along the bottom edge of that view's thumbnail. Click (don't hold the mouse button down!) that icon and move the mouse. Notice that a gray translucent line follows the cursor, anchored on the bottom of the parent view's thumbnail. Click on the view that you want to become a child of the focussed view. As soon as you release the mouse, the hub navigation map is redrawn to reflect the new link. You can remove the link by clicking on the gray line that represents it, then confirming the removal in the popup window that appears.

When the view currently on display in Builder's navigation view editor is linked to other navigation views in the hub, one additional navigation panel appears below the last configuration group panel. This panel is entitled “Explore Further” and is decorated a little differently than the other navigation panels. It contains a button-like control for each link from a parent view to the current view (a step “up” in the hierarchical navigation map) and for each link from the current view to a child view (a step “down” in the map). If you click on one of these buttons, the current view will fade out, and the selected view will fade in and become the current view displayed and edited in the navigation view editor.

Try It: Link two views in the hub navigation map

Return to the data hub editor, which should display the sample view you've already created. Now repeat the necessary steps of the tutorial (starting from "Create a navigation view") to make a second copy of the sample view. Give the copy a different title, such as "A Copy of My First View", so that you can tell them apart.  Once you've populated the second view with data from the batch file, return once again to the hub editor.

Follow the instructions in the main text to make the duplicate view the child of the original. Observe how the navigation map changes. Now, open one of the views in the navigation view editor and notice that there's a third navigation panel called "Explore Further" along the right edge of the view canvas. Click on the link in this panel to switch to the other view.

[NOTE: You may think that, by creating a second copy of the view and populating it with identical data, you would be storing two copies of each data set in the hub's repository. That is NOT the case. Builder is "smart" enough to detect duplicate data sets; only one copy is stored in the repository.]