Introduction
DataNav is a Java™- and web-based application suite, developed in the Lisberger laboratory, that:
Facilitates the preparation of publication-quality figures displaying scientific data collected and processed by researchers in our laboratory.
Guides the construction of a navigable portal of scientific data and figures. Authors construct data and figure archives in their own workspace, then upload these archives to the portal when they are "ready for publication".
Provides web-based access to the portal so that individuals outside the laboratory can conveniently view it.
This suite of applications is a work in progress. Part of a development effort begun in May 2003, its ultimate goal is to provide the means by which our laboratory can share its data with the outside world over the Internet. Initially we focused on developing a Java application that addressed the first task -- creating scientific figures. The end product was the Java application Figure Composer, a complete redesign and extension of Steve Lisberger's original UNIX-based program called Phyplot. The Java version came with an easy-to-use graphical user interface, including a canvas on which the figure is updated on the fly as the user makes changes. It also offered some features not available in the original program and ran on today's most popular workstations, including Windows and Mac OS X platforms. The program is used in the Lisberger laboratory and in some other neuroscience research labs; it has gone through numerous revisions over the years.
A Note to Figure Composer Users
Figure Composer was just a first step in the development of the DataNav portal application suite, and we originally planned to discontinue it and integrate its functionality into DataNav Builder, introduced in early 2013.
However, a number of individuals have found Figure Composer a very useful tool in its own right and preferred not to switch to the larger, more comprehensive Builder app. Therefore, we have decided to continue to maintain and develop Figure Composer as a standalone application, apart from the DataNav application suite.
Those interested only in Figure Composer can skip the remainder of this introduction and focus on the following sections of this online guide: "Figure Composer" offers a detailed introduction to the program and its user interface; "FypML" is a somewhat technical specification of the XML markup dialect used to define a scientific figure; "Loading Data" discusses how to get data into your figures; and "Download Files" is the place to go to get the latest version of the program.
With Figure Composer relatively mature and in active use, development work is now focused on the design of a scientific data portal and the tools needed to store portal content, allow authors to create, modify and review that content, and allow the outside world to browse that content over the web. In its latest incarnation, the portal is a collection of self-contained archives that come in one of two flavors:
A data archive -- or data hub -- represents a related body of scientific data, such as the results of all experiments supporting a published paper. Internally, each hub includes a large data repository and a navigation map. The navigation map is a hierarchical tree of navigation views; and each top-down path through the navigation map should define a logical path by which the hub "reader" can explore the hub's content.
A figure archive is collection of related scientific figures, including a description of each member figure. It offers a way to preserve a set of figures and make them available to the wider scientific community.
A data hub is a far more complex entity than a figure archive, and the most important and complex element in the hub's conceptual design is the navigation view. Authors "push" data into a hub through its views, while readers explore that data using those same views. Each view includes a figure template, which is simply a Figure Composer figure that defines how the data is visually presented to the reader. The view's instance configuration determines how data sets in the hub's repository are mapped to the template's placeholder sets, and a particular instance of the view is realized by locating the hub data sets belonging to that instance and "injecting" them into the template for the relevant placeholders.
The DataNav portal is a distributed, enterprise-level application with three major components, one on the server side and two on the client. All communications between the server and client components are over the Internet.
Portal content is stored on a central server, and access to that content is managed by DataNav Server, a Java servlet-based application running within an Apache Tomcat servlet container. Server responds to requests from remote clients, retrieving or modifying portal data in accordance with each request, and returning an appropriate response. Obviously, write access to the portal is restricted to registered, authenticated users.
A portal author creates, edits, and manages his data hubs and figure archives using DataNav Builder, a Java application client that can be downloaded from this online guide and installed on the user's local machine. Builder maintains the user's collection of archives, or "archive vault", within his DataNav workspace on that machine. Once he has finished preparing an archive in Builder and is ready to "publish" it, the author can log onto a DataNav portal and upload the archive to it. The new archive is added to the portal and can be seen by any one else currently exploring the portal.
Anonymous "visitors" to a remote portal browse its content with DataNav Viewer, a web browser-based client that uses Javascript, Yahoo UI, and the HTML5 canvas element to present a desktop-like interface within the browser window. No user authentication is necessary, as the web client offers only read access to the portal.
Explore the other sections of this user's guide for more information about the DataNav portal construct, its figure and data models, and all of the components of DataNav's application suite.
Credits
As with most full-featured Java applications, the DataNav application suite relies heavily upon many APIs from Oracle's Java Development Kit. Currently, it is code-compatible with Java 6, but will run on the latest version of the Java runtime environment; future releases may take advantage of new features available in more recent versions of Java. In addition, it makes use of a number of open-source software packages. Without these third-party packages, DataNav would have been a much more difficult endeavor.
DataNav FypML figure documents are read and written using MXP1, an open-source implementation of an XML pull parser.
The JavaScript Object Notation (JSON) data interchange format is used heavily, and the application suite relies on the org.json package to read and write JSON data.
Animated transitions in the DataNav Builder UI rely on the Timing Framework.
The DataNav Viewer is a Yahoo YUI3-based web client.