Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Attribute value registry #118
This was discussed at the last telecon (12 Nov 2015). The idea is that the JATS4R group could implement and host a simple registration system for values for some of the attributes in JATS. In the telecon, we agreed that this would be in the purview of JATS4R, since the proper interpretation of attributes is related to reuse and interchange.
For an example of the motivation, consider the recent email discussion about tagging clinical trial info. It was suggested to use
There are some comments on the NISO site related to this:
Here's a proposed sketch of what it could look like:
View: Landing page
Title: "JATS Attribute Values"
The body would be an accordion-style list of all of the names of the attributes, e.g.
Clicking any of those headers would expand that section, with a list of all of the registered values. For example, clicking "fig-type" would expand to a table something like this:
There would be a control at the top to allow the user to switch between displaying all of the values (including proposed), or just the approved ones.
Clicking a (+) button next to the attribute name takes the user to a form to propose a new value
View: Propose new attribute value
This is a form, with the fields:
It would be important to provide a very simple API to allow retrieval of the data in JSON format. Maybe also some other formats (like schematron?) so that it could be easily integrated with a validator.
I think, to start, we wouldn't need any user authentication. Just let the submitter give us his/her email. Anyone can submit a suggestion. Maybe we'd need a captcha, if it started to get abused.
At first, I was thinking this could be done using a YAML file inside one of our GitHub repos, but if we want the user's email to remain confidential, then we'd need something else. From my point of view, the simplest thing to implement would probably be a Django app.
The microformats wiki is one example of a similar process, used to manage the list of valid
Okay, I got a proof-of-concept working. Tell me what you think.
The JATS wiki has a new page, Attribute values, that anyone with an account can edit. Account creation is by approval, only, so that takes care of the potential problem of spam.
I put some seed material in that page from the JATS spec, for two sample attributes:
I also added some instructions there to tell people how to propose new values.
Using that CGI, we could turn the mediawiki into a nicer HTML page, or convert it into other formats to make it easy to integrate into a validator.
Again, this is proof-of-concept, so I didn't implement any error checking or anything. If there are problems with the wikitext, the CGI will fail.