Openness and Transparency in Development of the LTER Network Information System
Mark Servilla and Duane Costa (LNO)
The May 2010 start date is a watershed moment for LTER that begins a five-year cyberinfrastructure development effort to implement the Provenance Aware Synthesis Tracking Architecture (PASTA) as part of the nascent Network Information System (NIS). Making this a collaborative and open process between NIS developers and community stakeholders is paramount to the success of the project. In support of openness and transparency during this development effort, key software tools have been identified and put into operation. These include:
- Subversion for software revision control and management;
- Edgewall Software's Trac for task management;
- Drupal for content management and providing a framework for information dissemination; and
- California Institute of Technology's EVO collaboration environment for real-time audio and video communication.
Subversion (http://subversion.apache.org/), informally known as SVN, is an open source version control system that has been in use at the LTER Network Office (LNO) for a number of years, succeeding the previously supported Concurrent Versions System (CVS). Subversion utilizes the notion of a host repository as a container of digital objects, namely software source code files, that may be modified locally and updated to the repository as a new revision. Individual revisions are tracked through associated metadata and may be rolled-back to a previous version, if necessary. The LNO supports multiple SVN repositories for various projects, both internally and Network-wide, hosted at https://svn.lternet.edu. All LNO SVN repositories are open to the public. As such, all files in the LNO SVN repositories may be checked out with unfettered access. Insertions and updates to files in the repository, however, require user authentication and access rights to the specific repository. Authentication is integrated with the LTER user registry, which is maintained in a local Lightweight Directory Access Protocol (LDAP) server at the LNO. Browsing the LNO repositories may be performed by using the web-browser WebSVN application at https://svn.lternet.edu/ or by using one of many SVN clients and connecting directly to a repository at https://svn.lternet.edu/svn/<repository>. The NIS repository (https://svn.lternet.edu/svn/NIS) is divided into two main categories,
software, each represented as a separate directory in the repository. Artifacts from NIS project planning and software development may be found in either of the two directories.
The NIS development effort is utilizing the Trac web-based application (http://trac.edgewall.org/) for task management through its ticket and issue tracking capabilities. Trac supports a minimalist approach for both wiki page editing and ticket management, in addition to a long list of externally contributed plug-ins that extends its base functionality. Trac replaces the Bugzilla system that was previously used for defect tracking at the LNO. We have successfully modeled the NIS software development methodology, OpenUP, to the Trac ticket system, thereby allowing us to create and track OpenUP related tasks. Tickets may also be created for managing defects and requesting enhancements to any NIS related software component. The NIS Trac is hosted at https://trac.lternet.edu/trac/NIS and the content is open for viewing by the general public. Creating and modifying tickets does require users to login through the Trac site (see top of web page) by entering their LTER user credentials. As mentioned, the NIS Trac ticket model has been modified to adopt the OpenUP task requirements. This process was simplified by using the TracCustomFieldAdmin (Version 0.2.2) plug-in. We have also installed the TracGanttCalendarPlugin (Version 0.1) for graphically tracking progress on specific tasks by displaying them within a calendar view and Gantt charts. Trac also supports custom report queries. These queries are created through Trac's Custom Query interface from within the View Tickets web page and may be modified by any user to selectively filter report ticket information.
The Drupal content management system (http://drupal.org/) provides the web-based framework for the NIS project website. Its goal is to facilitate the dissemination of information pertaining to NIS development and collaboration. It is hosted at https://nis.lternet.edu and, like Subversion and Trac, is open to the general public for viewing content. The NIS Drupal website is intentionally simple to navigate and to find meaningful content, and uses the Abarre theme (http://drupal.org/project/themes?text=abarre). Primary information concerning NIS development is located within the
About block of the left column menu, including brief descriptions of the PASTA framework, the NIS software development methodology, and community engagement. More detailed information about the components of PASTA is located in the Architecture forums section of the website. There is also a Frequently Asked Questions forum for general information about NIS development. Authenticated users may append comments to any forum topic, thereby allowing threaded discussions about topics. This particular installation of Drupal takes advantage of a small number of add-on modules. For WYSIWYG editing and file management, we use the FCKEDITOR and IMCE modules, respectively. Pretty print formatting of content pages is possible with the PRINT module. As with Subversion and Trac, user authentication is integrated with the LTER user registry (LDAP). Drupal integration with LDAP is simplified with the LDAP_INTEGRATION module. Finally, the WEBFORM module is used to generate custom web-based forms, which supports the input fields used to capture information for volunteering as a NIS Tiger Team member and for providing feedback about NIS development and collaboration.
The final software tool that is being used to support design and development activities of the LTER NIS is EVO (http://evo.caltech.edu). EVO is a collaboration environment that supports multicast audio/video and desktop sharing and is compatible on all three of the common computer operating systems (Linux, Mac OSX, and Windows). EVO requires the latest SUN Java run-time environment (JRE) and uses the Java web start process to download and execute the most up-to-date EVO software client, Koala. EVO supports a host-based service for collaboration that routes online conferences through a set of load-balanced servers. Video and audio quality can be adjusted dynamically to cope with changing bandwidth. The EVO project leadership has graciously provided the LTER Network with their own community presence, thus making collaboration between NIS developers and stakeholders much easier. A brief description of how to use EVO can be found on the NIS project website (https://nis.lternet.edu/NIS/?q=node/9).