ucd-library / ror-extend-demo

Documentation on extending ROR (https://ror.community/) for local organizations
https://ucd-library.github.io/ror-extend-demo
MIT License
4 stars 4 forks source link

Official ROR extensions #6

Open qjhart opened 4 years ago

qjhart commented 4 years ago

One important component of the ror-extension, is to allow for there to be an official authority for this file. There have been an number of proposals for this, including both active uploads, and adding pointers in the ROR record for a link to an external file. I propose that instead, we take our cues from the SEO community and make this a locally published mechanism, and use DNS as our means of authority.

The idea would be this: Given a record; For example UC Davis;

{
  "@context":"https://ucd-library.github.io/ror-extend-demo/context/vivo.jsonld",
  "id": "https://ror.org/05rrcem69",
  "name": "University of California, Davis",
  "links": [
    "http://ucdavis.edu/"
  ],
 ...
}

We use the links tag to discover any official extension records. In order to allow for multiple different setups, I think we should allow for multiple methodologies. For example we could do the following

foreach LINK in JSON.links
  Check for a DNS Txt record for the LINK dns name. 
  Make a HEAD request to LINK and check for a ROR links
  Look for the LINK/(rorid).jsonld file
end

Where the DNS txt file would follow rfc1464 and look something like:

ror.org=<https://www.library.ucdavis.edu/ror/05rrcem69.jsonld>; rel="ror.org" org="05rrcem69"

If the DNS TXT record doesn't exist, then make the HEAD Request to LINK

link: .../ <http://www.library.ucdavis.edu/ror/05rrcem69.jsonld>;rel="ror.org" org="05rrcem69", 

Search the link head request, and look for a link of rel="ror.org" and follow that linke

If the the HEAD request doesn't have an appropriate link record, then try LINK/[rorid] and 'LINK/[rorid].jsonld' , For example look for http://ucdavis.edu/05rrcem69 and then http://ucdavis.edu/o5rrcem69.jsonld

Regardless of the method used to discover the authority link, the link itself MUST allow a Content-type: application/ld+json tag. Other formats can be included as well.

arthurpsmith commented 4 years ago

This could work, but I worry that the people who manage the DNS records or the websites of organizations aren't necessarily capable of doing this. Support for an extension to ROR is probably not high on the priority list for most such orgs...

qjhart commented 4 years ago

These are pretty equivalent to how google or other orgs to site-verification (fior stuff like analytics). It's a fairly standard bar for verifing you control a domain ( and in our case then an ROR id)