wiki:NodesDatabase

Network Nodes Database

Existing Node Databases

Development of a Global Node Database

Amir and Aaron and Floh1111 are going to develop a schema for a global node database. Flo111 will participate as his Google Summer of Code 2011 project. All discussions on this task will be made on the  Nodedb-Interop Mailinglist and all developers are invited to participate in the diskussion and the process of development.

The Global Node Database for Freifunk Communities will be a Database that:

  • unites all existing freifunk node databases in one common database schema so that development ressources can be saved and global applications depending on data from the database can be developed (every community will have its own database, but the data can be made available in a common format)
  • has all features of the existing node databases
  • defines a common API on top of the database so that applications can be written to work with this common API
  • has an api which can be queried by applications on the nodes or other applications like a global map, whois server, user adressbook...
  • has only a set of common features turned on but allows to turn on special features used only by a special community so that everyone has the features he needs. Think RFC MUST, SHOULD, MAY definitions.
  • hast last but not least a view for every existing node database so that the data can be easily migrated or the exising node databases can uses the new common node database for storing data without completely migrating the code to the new database

The Database will be well documented and I hope it will become the first choice for all community wireless networks. All informations about the GSoC 2011 Project can be visited on the  GSoC 2011 proposal page. The code base for the common NodeDB is:  https://github.com/aaronkaplan/commonNodeDB

Current development state of the Database Schema

Information about the development process can be visited on the  blog of the project.

The current development state of the schema can be accessed on our  Github Repository