[tdwg-tapir] CNS file
Renato De Giovanni
renato at cria.org.br
Fri Feb 22 22:54:50 CET 2008
The last change in the protocol (inclusion of concept datatypes) made
things more complicated when dealing with CNS files. As you probably know,
a CNS file is a kind of configuration file that can be used by TAPIR
networks and TAPIR software. This is the current official version:
The idea is to have a one-stop place from where we can get basic
information about conceptual schemas and other things like available
output models and query templates. Initially we decided to use a simple
textual format (key-value pairs with sections) for quick and easy
The problem now is that this format doesn't allow us to store datatypes,
unless we start using ugly tricks with additional custom formating and
logic. And if we don't store datatypes it won't be a one-stop place
anymore, forcing software to parse conceptual schemas.
I think this is a good opportunity to change the CNS file and I would like
to suggest the following XML format which is already being used by the
output model builder under development:
Regarding the datatypes, we could simply add a new subelement to <concept>.
Another thing I would like to suggest is to completely decouple protocol
and CNS. The CNS would become an external convention, probably still
mentioned in the documentation as an example or recommendation, but not
defined by the spec and not bound to capabilities responses as it can be
now. The first reason is that if providers can declare and point to a CNS
in capabilities, this means that once created and made public, a CNS
should never change. Otherwise it may conflict with providers that may
already be referencing it. This is clearly unpractical since we will need
to be constantly changing the file. Moreover, after all changes since the
first version of the protocol, almost all information in a CNS can also be
declared in capabilities responses. This goes against the "DRY principle"
(http://c2.com/cgi/wiki?DontRepeatYourself) and can easily cause problems.
So the other suggestion I would like to make is to remove the optional
<conceptNameServers> element from capabilities responses.
Does anybody know of any software that uses this specific element?
Is there any TAPIR software that currently depends on the CNS file besides
In anyway, we could keep the original alias.txt file available for tools
that would still depend on it.
Please let me know if you have any comments, suggestions or objections.
More information about the tdwg-tag