GREN-Map-DB-Node

GREN Map Database Node Documentation

The Global Research and Education Network (GREN) is a “network of networks” that links great minds to each other, and to technologies, research facilities, and data, enabling global research collaborations and education support.

The GREN Map is a database of this connectivity, to be used for visualizing it in both static and interactive displays. It consists of a hierarchical distributed database: each Research and Education Network (REN) will maintain a database node of their own, and also aggregate the data from nodes for the smaller networks that it connects, on a regular polling interval. Ultimately, data will percolate up to a central node for the entire globe.

The individual databases that connect into this hierarchy are known as “nodes” (sometimes “DB nodes” where “node” might be an ambiguous term). DB nodes can be configured to poll other DB nodes to pull remote data and consolidate it into its own database.

Documentation for the GREN Map DB Node consists of Markdown files, organized in a directory structure with three sections:

Administrator Guide

/docs/admin/

This section is intended for operations personnel responsible for deploying, configuring, and maintaining an instance of the software.

Generally, deployment follows this pattern:

  1. Single Sign-On is configured for a production instance. For local evaluation or development, the SSO configuration in the README Quick Start Guide is sufficient.
  2. Deployment of the node is performed.
  3. Configuration of the real-time settings in the administration section of the site may be tweaked.

User Guide

/docs/user/

This section is intended for Data Administrators who will be using the software on a day-to-day basis.

Some basic day-to-day management of the Node will involve:

If the Node is set up in a hierarchical distributed database, it will be either polling other Nodes for their data, or be polled for its own data, or both.

Map data can be managed through the Django Admin, accessed via the /admin/ URL. (A user must be logged in to access that URL.) For more efficient bulk data entry, the DB Node accepts GRENML/XML files, and Excel spreadsheets following a particular template.

Developer Guide

/docs/dev/

This section is intended for software developers diagnosing issues and contributing to this source code repository.

Contribution Guidelines

Before starting development on the DB Node, please review the following:

Common Topics

Some topics common to most development include:

Map Data Schema Overview

Network topologies and the objects they contain are represented by models in a Django ORM:

Special Topics

More specific topics that may be helpful to developers working on particular areas: