gmantele / vollt

Java libraries implementing the IVOA protocol: ADQL, UWS and TAP
http://cdsportal.u-strasbg.fr/taptuto/
29 stars 28 forks source link

Default TAP votable serialization #65

Closed almicol closed 6 years ago

almicol commented 6 years ago

FORMAT is a TAP optional parameter. If not provided it defaults to "votable". The standard does not mandate a specific serialization of the votable format. The TAPLIB choice for the serialisation of a FORMAT="votable" request is to use base64. I would really like to change that in our TAP and make TABLEDATA the default serialization. That is, by default I would like our users to receive a readable votable, and to provide back a slimmer base64 votable only if they know what they are doing and they request it. How can we achieve that? Is it a configuration paramater that can drive this? Many thanks, Alberto

gmantele commented 6 years ago

By default, the configuration file's properties output_formats is set to the special value ALL. This latter is equivalent to something like:

output_formats = vot(binary)::votable, vot(td)::votable/td, vot(binary)::votable/b, vot(binary2)::votable/b2, vot(fits)::votable/fits, fits, csv, tsv, text, html, json

_See the description of this syntax in the configuration file documentation._

The default serialization for the VOTable format is defined when the alias ::votable is used. In the above example, it corresponds to vot(binary).

So, to set the TABLEDATA as default format, the following configuration line should do the job:

output_formats = vot(td)::votable, vot(td)::votable/td, vot(binary)::votable/b, vot(binary2)::votable/b2, vot(fits)::votable/fits, fits, csv, tsv, text, html, json

Note: with this, you should still support all implemented formats for the current version of taplib. BUT, if in future versions new formats are added, you will have to update this configuration properties in order to really support all of them. It is not that hard, but it is still good to know.

gmantele commented 6 years ago

For information, in the configuration file documentation, I have just added a comment on what the alias ALL means and on how to change the default VOTable format.

That's going to be online very soon.

almicol commented 6 years ago

Thanks a lot Gregory!