From Guifi.net - English Wiki
Community Network Mark Up Language (CNML) is a project that aims to define an open ISO standard and scalable for describing mesh clouds, though it's not limited to this kind of networks and nowadays it's being used also in point to point infrastructure networks.
CNML is a specification based on XML, which makes it easily extendible and readable for humans besides of computers. It includes some ideas from other implementations and previous concepts like nodeXchange and SNDX.
Some advantages of using CNML is that it allows to uncouple different functionalities independently of the web application used to show the data, reducing dependence from it and its internal tables of the database.
Alexander Klosch (German roots) began the CNML project in 2006 during the Wizards of OS 4 international event, in Berlin. In that moment, a community of people interested in developing such standard appeared, with participants from all over Europe like hivenetworks, Wifidog, Guifi.net, B.A.T.M.A.N, OpenWRT and FreiFunk.
How does Community Network Mark Up Language look like?
In the cnml.info wiki we can find a draft:
<cnml> <hardware capabilty> <siftware services> <devices> cpu, memory, storage, devices, radio level etc. </devices> <mapping> gps, name </mapping> <statistics></statistics> <network environment> <content sharing> <node information> <owner of device> <picopeer> <traffic> <scale of interest to the network> <personal keyring>(hold private, only given volountary) </cnml>
Even if the specification is not finished, it's a while that Guifi.net allows to export zones and nodes to the CNML format from the website. Apart from that, the user can specify how detailed wants the file: nodes only, zones only and detailed nodes (including hardware, etc...):
Real examples of CNML files (they were exported from the Guifi.net website):
- SNDX: Haciendo un XML-DTD para el intercambio de bases de datos de redes entre servidores
- CNML Roadmap, cnml.info