Difference between revisions of "CNML/en"
From Guifi.net - English Wiki
(→Implementations) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
=== Be careful! === | === Be careful! === | ||
− | Please, take into account that the process of generating CNML for big | + | Please, take into account that the process of generating CNML for big [[zone]]s (like the whole Guifi.net World, the root zone) takes a long time and a lot of machine resources (cpu, mem, access to db...) and it can take down completely our machines if done several times in a short time. We ask you to use [[test.guifi.net]] in case you want to play with CNML files and do other things related to [[development]]. |
Apart from that, you can take advantage that [[snpservices]] generates every 30 minutes the CNML file of the Guifi.net World zone and places it at the following url: | Apart from that, you can take advantage that [[snpservices]] generates every 30 minutes the CNML file of the Guifi.net World zone and places it at the following url: | ||
Line 35: | Line 35: | ||
== Implementations == | == Implementations == | ||
+ | === Guifi.net web app === | ||
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...): | 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...): | ||
Line 42: | Line 43: | ||
[[File:Cnml_zones.png|300px|CNML file (zones only)]] [[File:Cnml_nodes.png|300px|CNML file (zones and nodes)]] [[File:Cnml_detail.png|300px|CNML file with zones and nodes detailed]] | [[File:Cnml_zones.png|300px|CNML file (zones only)]] [[File:Cnml_nodes.png|300px|CNML file (zones and nodes)]] [[File:Cnml_detail.png|300px|CNML file with zones and nodes detailed]] | ||
+ | |||
+ | === Library for python === | ||
+ | See [https://pypi.python.org/pypi/libcnml/0.9 libcnml] | ||
== References == | == References == | ||
Line 51: | Line 55: | ||
[[es:CNML]] | [[es:CNML]] | ||
+ | [[ca:CNML]] |
Latest revision as of 10:04, 13 May 2015
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.[1]
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.
Contents
Be careful!
Please, take into account that the process of generating CNML for big zones (like the whole Guifi.net World, the root zone) takes a long time and a lot of machine resources (cpu, mem, access to db...) and it can take down completely our machines if done several times in a short time. We ask you to use test.guifi.net in case you want to play with CNML files and do other things related to development.
Apart from that, you can take advantage that snpservices generates every 30 minutes the CNML file of the Guifi.net World zone and places it at the following url:
http://test.guifi.net/snpservices/data/guifi.cnml
Our machines will appreciate if you downloaded this file directly and don't make them generate it again.
History
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.[2]
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>
Implementations
Guifi.net web app
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):
Library for python
See libcnml
References
- ↑ SNDX: Haciendo un XML-DTD para el intercambio de bases de datos de redes entre servidores
- ↑ CNML Roadmap, cnml.info
External links
- Web oficial del proyecto CNML, cnml.info
- Primera implementación del CNML, by rroca.