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:
/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:
/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.
/docs/dev/
This section is intended for software developers diagnosing issues and contributing to this source code repository.
Before starting development on the DB Node, please review the following:
Some topics common to most development include:
Network topologies and the objects they contain are represented by models in a Django ORM:
More specific topics that may be helpful to developers working on particular areas: