Coder Social home page Coder Social logo

orcid / orcid-source Goto Github PK

View Code? Open in Web Editor NEW
363.0 52.0 127.0 239.13 MB

ORCID Open Source Project

Home Page: https://orcid.org

License: Other

Java 62.65% Shell 0.09% PLpgSQL 0.04% HTML 1.17% CSS 2.51% JavaScript 22.93% FreeMarker 6.05% TypeScript 4.41% XSLT 0.01% SCSS 0.08% Sass 0.08% ZAP 0.01%
orcid java javascript orcid-source spring-web-mvc maven postgres-database jenkins hacktoberfest2020 hacktoberfest

orcid-source's Introduction

ORCID-Source

Welcome to ORCID Source. Here are some resources to get you started.

Getting Support

If you are experiencing problems using ORCID you can check our Support page or reach out on the API user's listserv.

General Application Stack

ORCID Source is set of web apps and libraries built in Java with Spring Web MVC and persistence provided by Postgres Database.

Frontend Technologies (brief version): On the client side we utilize HTML, AJAX, JQuery and AngularJS. Server side we use FreeMarker for view rendering.

Backend Technologies (brief version): Spring Web MVC is our web framework. For security we use Spring Security. Our restful services are built with Jersey and JAXB. Finally we use JPA/Hibernate to persist models to a Postgres Database database.

The above is just a brief introduction. Best way to see everything used is to dig into the code, but baring that please browse our PROJECTS page.

Versioning

Version number used with releases will look to follow a similar format like semver

e.g. 1.138.2 described as next

[release that can’t be rolled back, typically DB changes].[release sequence].[release patch]|([patches applied after pushed to production])

Contributing

Pull requests are welcome to improve the Registry. See CONTRIBUTING.md for details on making contributions, feature requests, and creating issue/bug reports.

Development Environment Setup

See DEVSETUP.md

License

See LICENSE

Contributors

See CREDITS.md

Projects

See PROJECTS.md

orcid-source's People

Contributors

actions-user avatar alainna avatar amontenegro avatar auumgn avatar bobcaprice avatar camelia-orcid avatar codesmith-emmy avatar csarven avatar danielpalafox avatar davidjb avatar dependabot[bot] avatar dreamofaredbird avatar gilesw avatar helix84 avatar hexplus avatar ialarmedalien avatar jpeerz avatar leomendoza123 avatar lizkrznarich avatar lpaglione avatar mjcalvo21 avatar orcid-machine avatar ordtesters avatar pedrommcosta avatar rcpeters avatar shobhit-tyagi avatar stain avatar tomdemeranville avatar transifex-integration[bot] avatar wjrsimpson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orcid-source's Issues

Release notes are outdated

Please update or delete RELEASE.MD. It is linked on some old blog posts and idea board responses from the ORCID team. It gives the (fortunately incorrect) impression that work has stalled.

When signing in via Chrome no indication that signin was successful

Chrome version 32.0.1700.107

Go to https://orcid.org
Click on Sign In (https://orcid.org/signin)
Fill out proper credentials

Nothing appears to happen. When I go to Developer Tools and look at the network activity, I see an auth.json request with status 200.

Request headers

POST /signin/auth.json HTTP/1.1
Host: orcid.org
Connection: keep-alive
Content-Length: 56
Accept: application/json, text/javascript, */*; q=0.01
Origin: https://orcid.org
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://orcid.org/signin
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: <redacted>

Response headers

HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Wed, 21 May 2014 14:32:30 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: <redacted>
Content-Encoding: gzip

Response body

{"success": true, "url": "https://orcid.org/my-orcid"}

Journal Title in /works

APIv1 allowed for you to get the name of journal/conference that a publication was presented at. Doesn't seem to be similar functionality in the /works part of APIv2.0

switching among delegating profiles requires login of the delegate

In the current production version of ORCID (tested in Firefox and Chrome):

  1. log in as a delegate of multiple accounts
  2. switch to one of the delegated accounts

Expected behaviour (this was the case in the past):
Account is switched

Actual behaviour:
Login form is displayed, after entering the delegate account password, account is switched

Bibtex import creates duplicates

I imported http://vladimiralexiev.github.io/pubs/Alexiev-bibliography.bib to https://orcid.org/my-orcid and now it says I got 102 works.
However, the total number of entries in this file is 70:

type count
Book (author), thesis, conference proceedings (editor) 3
Tech reports, manuals, deliverables, ontologies 25
Conference papers, journal articles 19
Presentations, posters, blog posts 22
TOTAL 70

It would be nice if the importer looked for existing entries (eg by same title and authors) and merged them.

deduplicate by URL

If you import the following record twice, it results in duplicates.

@TechReport{HCLS-profile,
  title        = {{Dataset Descriptions: HCLS Community Profile}},
  author       = {Alasdair J. G. Gray and Joachim Baran and M. Scott Marshall and Michel Dumontier and Vladimir Alexiev and others},
  month        = may,
  year         = 2015,
  url          = {http://www.w3.org/TR/hcls-dataset/},
  keywords     = {Data profiling, Dataset descriptions, Metadata, Provenance, FAIR data, HCLS, dataset, VOID, ontology, Bioinformatics, Taxonomy, Computational Science},
  institution  = {Semantic Web in Health Care and Life Sciences Interest Group (HCLSIG)},
}

#3673 discusses different kinds of identifiers used for deduplication.
Could you also deduplicate by URL? I think that if two records have the same URL, it is fair to assume they describe the same work.

(Note: #3963 asks for more kinds of URLs to be handled, but I think only pure url should be used for deduplication)

Disambiguated institutions: conflicting Ringgold ids

There seems to be an issue with the disambiguation of institutions. Here is an example:

As far as I can tell these two institutions are very different and there are no plans to merge them! So, the value of this disambiguation is rather doubtful.

Add ability to autoclaim ORCID in Sandbox

It would be nice to auto-claim an ORCID when working with the Sandbox.
One possible option would be to allow a REQUEST header to auto-claim the Orcid that is being created.

X-AUTO-CLAIM=<password-to-apply-on-claim>

This would obviate the need for jumping over to Mailinator, finding the claim URI, and then jumping back to Orcid to claim the profile.

Support for Linked Data Notifications

What's the current 'inbox' implementation based on?

I would like to suggest implementing https://www.w3.org/TR/ldn/ :

  • One trivial way to support LDN would be where the profile URI (i.e., the target in LDN terms) have the ldp:inbox relation with the value of the Inbox URL. The Inbox URL can be on orcid.org or at a different domain. If for instance I want people to send me notifications through discovering my ORCID URL, I should be able to add this value simply through the profile editor UI (under Websites?) with perhaps the 'Description' value being 'Inbox' and the 'URL' being an Inbox URL (that can receive and serve notifications from). Access controls are naturally set at the Inbox URL.

  • If the current ORCID inbox can be reused here, great. Perhaps by default every profile can have the ldp:inbox relation pointing at https://orcid.org/0000-0002-0880-9125/inbox/ or something. This would mean that ORCID Inboxes can work as receivers (in LDN terms). Being able to store and serve notifications essentially, and let them be discoverable as well.

Remark: having a conforming LDN receiver implementation does not require it to be LDP or anything like that. Existing LDP implementations just happen to be conforming LDN receivers out of the box. The property ldp:inbox is in the LDP namespace, and is used only by a resource (the profile URI in our case).

Happy to discuss further or help out where necessary.

oauth token returns invalid JSON

When authenticating via oauth, fetching the token via https://sandbox.orcid.org/oauth/token will return invalid JSON if the user name contains UTF-8 (e.g. http://sandbox.orcid.org/0000-0001-7899-4330)

e.g.

$ curl -si -H 'Accept: application/json' --data 'client_id=APP-PLM33GS3DKZ60O79&client_secret=XXX&grant_type=authorization_code&code=znHjga' https://sandbox.orcid.org/oauth/token > dump

Here is a hex dump of the output:

$ hd dump
00000000  48 54 54 50 2f 31 2e 31  20 32 30 30 20 4f 4b 0d  |HTTP/1.1 200 OK.|
00000010  0a 53 65 72 76 65 72 3a  20 6e 67 69 6e 78 2f 31  |.Server: nginx/1|
00000020  2e 34 2e 36 20 28 55 62  75 6e 74 75 29 0d 0a 44  |.4.6 (Ubuntu)..D|
00000030  61 74 65 3a 20 57 65 64  2c 20 30 34 20 4a 61 6e  |ate: Wed, 04 Jan|
00000040  20 32 30 31 37 20 30 30  3a 33 32 3a 34 32 20 47  | 2017 00:32:42 G|
00000050  4d 54 0d 0a 43 6f 6e 74  65 6e 74 2d 54 79 70 65  |MT..Content-Type|
00000060  3a 20 61 70 70 6c 69 63  61 74 69 6f 6e 2f 6a 73  |: application/js|
00000070  6f 6e 3b 63 68 61 72 73  65 74 3d 55 54 46 2d 38  |on;charset=UTF-8|
00000080  0d 0a 43 6f 6e 74 65 6e  74 2d 4c 65 6e 67 74 68  |..Content-Length|
00000090  3a 20 32 33 31 0d 0a 43  6f 6e 6e 65 63 74 69 6f  |: 231..Connectio|
000000a0  6e 3a 20 6b 65 65 70 2d  61 6c 69 76 65 0d 0a 0d  |n: keep-alive...|
000000b0  0a 7b 22 61 63 63 65 73  73 5f 74 6f 6b 65 6e 22  |.{"access_token"|
000000c0  3a 22 62 34 63 39 64 61  33 66 2d 66 64 32 32 2d  |:"b4c9da3f-fd22-|
000000d0  34 30 62 38 2d 39 62 31  33 2d 39 38 36 66 61 64  |40b8-9b13-986fad|
000000e0  63 33 65 64 34 38 22 2c  22 74 6f 6b 65 6e 5f 74  |c3ed48","token_t|
000000f0  79 70 65 22 3a 22 62 65  61 72 65 72 22 2c 22 72  |ype":"bearer","r|
00000100  65 66 72 65 73 68 5f 74  6f 6b 65 6e 22 3a 22 34  |efresh_token":"4|
00000110  64 66 64 38 34 61 33 2d  64 36 32 66 2d 34 61 38  |dfd84a3-d62f-4a8|
00000120  30 2d 62 37 35 32 2d 36  66 63 65 36 35 62 63 38  |0-b752-6fce65bc8|
00000130  34 39 31 22 2c 22 65 78  70 69 72 65 73 5f 69 6e  |491","expires_in|
00000140  22 3a 36 33 31 31 33 38  35 31 38 2c 22 73 63 6f  |":631138518,"sco|
00000150  70 65 22 3a 22 2f 72 65  61 64 2d 6c 69 6d 69 74  |pe":"/read-limit|
00000160  65 64 22 2c 22 6e 61 6d  65 22 3a 22 c9 72 ec 6b  |ed","name":".r.k|
00000170  20 48 eb 74 7a 6e ea 72  22 2c 22 6f 72 63 69 64  | H.tzn.r","orcid|
00000180  22 3a 22 30 30 30 30 2d  30 30 30 31 2d 37 38 39  |":"0000-0001-789|
00000190  39 2d 34 33 33 30 22 7d                           |9-4330"}|
00000198

Note that the charset is UTF-8 (see line 70), but the name (on lines 160-170) contains latin-1 characters. The name should be Érìk Hëtznêr. É for instance should be encoded as 0xC3 0x89 (UTF-8) or \u00C9 (JSON unicode encoding) but instead is encoded in latin-1, as 0xc9 (see byte 16c above). This is wrong.

I hope that makes sense! Please let me know if you need more information.

Dev api - create new user error

Good Morning!
I am using SOAPUI to test the sandbox and get my head round the api. My client-id is 0000-0002-7656-6743.
I am following the tutorial at http://support.orcid.org/knowledgebase/articles/162412-tutorial-create-a-new-profile-using-curl.
Have successfully obtained an access_token from api.sandbox-1.orcid.org/orcid-profile/create.

When I POST to api.sandbox-1.orcid.org/orcid-record in order to create a new I get the following response:

HTTP/1.1 405 Method Not Allowed
Server: nginx/1.1.19
Date: Tue, 21 May 2013 09:04:08 GMT
Content-Type: text/html;charset=UTF-8
Content-Length: 328
Connection: keep-alive

<.xml version="1.0" encoding="UTF-8" standalone="yes"?>
<.orcid-message xmlns="http://www.orcid.org/ns/orcid">
<.message-version>1.0.14<./message-version>
<.error-desc>It is possible that this is a bug. If you could raise an issue in Github it would be much appreciated. Thanks, the ORCID team<./error-desc>
<./orcid-message>

I hope that's enough for you to pin down the problem - fully expecting you to point out that I've made a basic error...

All the best

Andy

Feature Request: Directly downloadable bibtex file from Web UI

I'm not quite sure if you have this feature already in non released version, but it would be very nice to have an ability to directly download bibtex of particular publication (work) from web ui (the same which was uploaded by creator of work). For a moment this functionality available via ORCID API, but integrating it into web ui can enhance user experience.

support more kinds of URLs in bibtex records

I make my bibliography http://vladimiralexiev.github.io/pubs/ with bibbase.org.
Bibbase supports any sort of URL in fields named url_WHATEVER.
In particular it's very useful to cite both a paper and the attendant presentation (slides) in the same record.
I use the following kinds (from my emacs configuration):

   ("url" "URL if the document is available online.")
   ("url_Slides" "URL to a presentation")
   ("url_PPT" "URL to PPT version")
   ("url_HTML" "URL to continuous HTML version")
   ("url_PDF" "URL to PDF version")
   ("url_Video" "URL of a video")
   ("url_arXiv" "URL of the document on arXiv")
   ("url_CiteSeer" "URL of the document on CiteSeer")
   ("url_LOV" "URL of Linked Open Vocabularies record")
   ("url_TR" "URL of a TechnicalReport on institution site")
   ("url_Blog" "URL of a Blog")
   ("url_Source" "URL of Source code")
   ("url_Published" "URL of the document in an official publication, eg journal")
   ("url_Preprint" "URL of a Preprint")
   ("url_Appendix" "URL of an Appendix")
   ("url_Other" "URL to Other version of a document (eg 2-up)")

Would it be possible for ORCID to import more kinds of URLs, or maybe all of them, consuming the same pattern url_WHATEVER?

BibTeX import fails to recognize WoS ID, preventing deduplication

In case where a DOI is not available, deduplication in the ORCID interface can still occur automatically using other external IDs like the Web of Science ID (also called UT, ISI or WOSUID).

BibTeX records exported from Web of Science do include the ISI indentifier (twice), as can be seen in the example record below. (The "ISI:" prefix should be dropped, the canonical form of the identifier is just "A1997XZ23900045".)

The problem is that the ORCID BibTeX import fails to extract the identifier into ORCID "WOSUID" external identifier field.

@article{ ISI:A1997XZ23900045,
Author = {Kafka, S and Kosmrlj, J and Klasek, A},
Title = {{Changes of 3-hydroxyquinoline-2,4-(1H,3H)-diones in alkaline medium}},
Journal = {{CHEMICKE LISTY}},
Year = {{1997}},
Volume = {{91}},
Number = {{9}},
Pages = {{674-675}},
Note = {{50th Anniversary Meeting of the Chemical-Society, ZLIN, CZECH REPUBLIC,
   SEP 08-11, 1996}},
Organization = {{Chem Soc}},
Abstract = {{The title compounds (I) in benzene solution are changed by the action of
   aqueous or ethanolic solution of potassium hydroxide at room temperature
   to the mixtures of compounds II-V. The ratios of products depend on the
   substitution of educts I and on the reaction conditions. By the action
   of solid potassium hydroxide on the compounds I or II, the compounds III
   are formed.}},
Publisher = {{CHEMICKE LISTY}},
Address = {{PELLEOVA 24, PRAGUE 6, CZECH REPUBLIC 160 00}},
Type = {{Article; Proceedings Paper}},
Language = {{English}},
Affiliation = {{Kafka, S (Reprint Author), TECH UNIV BRNO,FAC TECHNOL ZLIN,NAM TG MASARYKA 275,ZLIN 76272,CZECH REPUBLIC.
   UNIV LJUBLJANA,FAC CHEM \& CHEM TECHNOL,LJUBLJANA 1000,SLOVENIA.}},
ISSN = {{0009-2770}},
Research-Areas = {{Chemistry}},
Web-of-Science-Categories  = {{Chemistry, Multidisciplinary}},
ResearcherID-Numbers = {{Kafka, Stanislav/H-6389-2012
   Klasek, Antonin/H-6363-2012}},
ORCID-Numbers = {{Kafka, Stanislav/0000-0001-6392-8007
   }},
Number-of-Cited-References = {{3}},
Times-Cited = {{0}},
Usage-Count-(Last-180-days) = {{0}},
Usage-Count-Since-2013 = {{1}},
Journal-ISO = {{Chem. Listy}},
Doc-Delivery-Number = {{XZ239}},
Unique-ID = {{ISI:A1997XZ23900045}},
}

another BibTeX import problem

I'm trying to import the same file as in #1732. I've lowercased all month names. I get again that non-informative error message. Could you check what is the problem?

Clarify in the schema and documentation whether multiple work-citations are allowed. Add support for posting works with multiple citation formats

Nothing in v1.2 suggests it doesn't allow multiple work-citations. The UI allows to change citation views, which suggests that multiple citation formats should be allowed when posting a work. The documentation only recommends preferring bibtex.

Still, I am unable to make the XML below validate. The validator is expecting work-type to immediately follow the first work-citation.
<orcid-work> ... <short-description>...</short-description> <work-citation> <work-citation-type>formatted-apa</work-citation-type> <citation>Okuyemi, K. S., Harris, K. J., Scheibmeir, M., Choi, W. S., Powell, J., Ahluwalia, J. S., Okuyemi, K., Harris, K., Scheibmeir, M., Choi, W., Powell, J., &amp;amp; Ahluwalia, J. (2002). Light smokers: issues and recommendations.. Nicotine &amp;amp; tobacco research : official journal of the Society for Research on Nicotine and Tobacco. article, Oxford University Press.Okuyemi, Kolawole S., Harris, Kari Jo, Scheibmeir, Monica, Choi, Won S., Powell, Joshua (2002). Light smokers: issues and recommendations.. Nicotine &amp; tobacco research : official journal of the Society for Research on Nicotine and Tobacco, 4 Suppl 2, S103-12.</citation> </work-citation> <work-citation> <work-citation-type>bibtex</work-citation-type> <citation>@article{okuyemi_harris_scheibmeir_choi_powell_ahluwalia_okuyemi_harris_scheibmeir_choi_powell_ahluwalia_2002, title={Light smokers: issues and recommendations.}, journal={Nicotine &amp;amp; tobacco research : official journal of the Society for Research on Nicotine and Tobacco}, publisher={Oxford University Press}, author={Okuyemi, Kolawole S. and Harris, Kari Jo and Scheibmeir, Monica and Choi, Won S. and Powell, Joshua and Ahluwalia, Jasjit S. and Okuyemi, Ks and Harris, Kj and Scheibmeir, M. and Choi, Ws and Powell, J. and Ahluwalia, Js}, year={2002}, month={Jan}, pages={S103-12}Okuyemi, Kolawole S., Harris, Kari Jo, Scheibmeir, Monica, Choi, Won S., Powell, Joshua (2002). Light smokers: issues and recommendations.. Nicotine &amp; tobacco research : official journal of the Society for Research on Nicotine and Tobacco, 4 Suppl 2, S103-12.</citation> </work-citation> <work-type>journal-article</work-type> ... </orcid-work>

retrieving public viewable record as rdf without authentication

@stain - i saw that some rdf support was merged a while back, but i don't see a way to retrieve public record of works as rdf (output below). is there a way to achieve this?

$ curl -L -H "Accept: text/turtle" http://orcid.org/0000-0002-5312-6729
@prefix pav:   <http://purl.org/pav/> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix gn:    <http://www.geonames.org/ontology#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix prov:  <http://www.w3.org/ns/prov#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .

<http://orcid.org/0000-0002-5312-6729#orcid-id>
        a                            foaf:OnlineAccount ;
        rdfs:label                   "0000-0002-5312-6729" ;
        foaf:accountName             "0000-0002-5312-6729" ;
        foaf:accountServiceHomepage  <http://orcid.org> .

<http://orcid.org/0000-0002-5312-6729>
        a                  prov:Person , foaf:Person ;
        rdfs:label         "satra" ;
        foaf:account       <http://orcid.org/0000-0002-5312-6729#orcid-id> ;
        foaf:familyName    "Ghosh" ;
        foaf:givenName     "Satrajit" ;
        foaf:name          "satra" ;
        foaf:page          <satra.cogitatum.org> ;
        foaf:publications  <http://orcid.org/0000-0002-5312-6729#workspace-works> .

<http://pub.orcid.org/orcid-pub-web/experimental_rdf_v1/0000-0002-5312-6729>
        a                     foaf:PersonalProfileDocument ;
        pav:contributedOn     "2013-06-25T14:37:16.717Z"^^xsd:dateTime ;
        pav:createdBy         <http://orcid.org/0000-0002-5312-6729> ;
        pav:createdOn         "2013-06-25T14:32:04.693Z"^^xsd:dateTime ;
        pav:createdWith       <http://orcid.org> ;
        pav:lastUpdateOn      "2016-07-02T19:56:20.100Z"^^xsd:dateTime ;
        prov:generatedAtTime  "2016-07-02T19:56:20.100Z"^^xsd:dateTime ;
        prov:wasAttributedTo  <http://orcid.org/0000-0002-5312-6729> ;
        foaf:maker            <http://orcid.org/0000-0002-5312-6729> ;
        foaf:primaryTopic     <http://orcid.org/0000-0002-5312-6729> .

<http://orcid.org/0000-0002-5312-6729#workspace-works>
        a       foaf:Document .

ORCID OAuth authorize page shows ‘null’ string if surname is empty

I’ve noticed an issue with the ORCID registry in that on the OAuth form, if I don’t have a surname associated with my profile, the string of “null” appears. The attached screenshot demonstrates the issue on the production site — my first name is set as David and my surname is blank, but my name shows up as “David null”. I’ve also tested this on the sandbox ORCID registry and the same issue appears as well. As the surname is optional, the solution would be check for an empty value and not show it rather than displaying the stringified 'null'.

screen shot 2017-10-26 at 9 04 04 am

More info

Could you please send more info on open source platform.

Pressing enter on oauth signin fails

On the /oauth/signin form, pressing the enter key will not authorise correctly.

Instead, a network call to:
https://sandbox.orcid.org/oauth/custom/authorize.json fails with a 500 Internal Server Error.

Clicking 'authorize' works correctly.

Verified on Mac Chrome, Windows Chrome, Windows Firefox.

Swagger.json FORMATTED_UNSPECIFIED error

The generated https://pub.orcid.org/resources/swagger.json file has an error. It defines an enumeration with FORMATTED_UNSPECIFIED and sets the default value to an existing value: "formatted-unspecified"
"Citation" : { "type" : "object", "required" : [ "citation-type", "citation-value" ], "properties" : { "citation-type" : { "type" : "string", "xml" : { "namespace" : "http://www.orcid.org/ns/work" }, "enum" : [ "**FORMATTED_UNSPECIFIED**", "BIBTEX", "FORMATTED_APA", "FORMATTED_HARVARD", "FORMATTED_IEEE", "FORMATTED_MLA", "FORMATTED_VANCOUVER", "FORMATTED_CHICAGO", "RIS" ], **"default" : "formatted-unspecified"** }, "citation-value" : { "type" : "string", "xml" : { "namespace" : "http://www.orcid.org/ns/work" } } } },

Feature request: Identifiers for API error response types

I want to be able to trap the following exception:

<?xml version="1.0" standalone="yes"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid">
    <message-version>1.2_rc3</message-version>
    <error-desc>User with this email already exist.</error-desc>
</orcid-message>

But I'm wary that the string in <error-desc/> might change (particularly as it's slightly broken English).

Would it be possible to add an identifier for each error condition that I can rely on? Say, <error-desc code="email-already-used">User with this email already exist.</error-desc>?

Feature Request: Initialized given-names

A data source I am using to discover potential ORCID ids may/may not have initials as given-names. If your Lucene index had an EdgeNGram on given-names, to help accommodate incoming queries that contain abbreviated given-names, this would be immensely useful.

Support some way of tracing an orcid-message back to its query

Since most HTTP requests happen asynchronously (not in terms of TCP connections, but in terms of performing these requests from languages like JavaScript), it would be very useful to be able to trace back an orcid-message response to the query that initiated it (e.g. for multiple concurrent requests). This could be accomplished by providing a query ID in the request and having that ID returned in the response (CrossRef API does this). While slightly less convenient, it may be sufficient to return the actual query string.

.WorkExternalIdentifierType required in v1.2 - but so far failed to find the right posting format...

I'm so far failing to find the right combination of values to successfully POST to /orcid-works. But maybe there is a bug with the type validation, any help is much appreciated

error:

Can not construct instance of org.orcid.jaxb.model.message.WorkExternalIdentifierType from String value 'bibcode': value not one of declared Enum instance names
 at [Source: org.apache.catalina.connector.CoyoteInputStream@1d48a4f5; line: 21, column: 18] (through reference chain: org.orcid.jaxb.model.message.OrcidMessage["orcid-profile"]->org.orcid.jaxb.model.message.OrcidProfile["orcid-activities"]->org.orcid.jaxb.model.message.OrcidActivities["orcid-works"]->org.orcid.jaxb.model.message.OrcidWorks["orcid-work"]->org.orcid.jaxb.model.message.OrcidWork["work-external-identifiers"]->org.orcid.jaxb.model.message.WorkExternalIdentifiers["work-external-identifier"]->org.orcid.jaxb.model.message.WorkExternalIdentifier["work-external-identifier-type"])

this is the datastruct i'm trying to post (full request below):

            "work-external-identifiers": {
              "work-external-identifier": [
                 {
                 "work-external-identifier-type": "bibcode",
                 "work-external-identifier-id": "1924MNRAS..84..308E."
                 }
              ],
            },

this is the list of accepted values: http://support.orcid.org/knowledgebase/articles/118807
I also checked wiht the xsd - the 'bibcode' is there in the list of allowed values

I also tried posting xml format, nope....

        <work-external-identifiers>
          <work-external-identifier>
            <work-external-identifier-type>source-work-id</work-external-identifier-type>
            <work-external-identifier-id>1234</work-external-identifier-id>
          </work-external-identifier>
        </work-external-identifiers>

full request:

POST /v1.2/0000-0001-8178-9506/orcid-works HTTP/1.1
Host: api.sandbox.orcid.org
Content-length: 2593
Content-type: application/json
Authorization: Bearer 986b6d98-96ac-4350-89eb-8914e38f492b
Accept: application/json
{
  "message-version": "1.2", 
  "orcid-profile": {
    "group-type": null, 
    "client-type": null, 
    "orcid-identifier": {
      "path": "0000-0001-8178-9506", 
      "host": "sandbox.orcid.org", 
      "uri": "http://sandbox.orcid.org/0000-0001-8178-9506", 
      "value": null
    }, 
    "orcid-activities": {
      "affiliations": null, 
      "orcid-works": {
        "scope": null, 
        "orcid-work": [
          {
            "work-external-identifiers": {
              "work-external-identifier": [
                 {
                 "work-external-identifier-type": "bibcode",
                 "work-external-identifier-id": "1924MNRAS..84..308E."
                 }
              ],
            },

            "put-code": "466190", 
            "source": {
              "source-orcid": {
                "path": "0000-0001-8178-9506", 
                "host": "sandbox.orcid.org", 
                "uri": "http://sandbox.orcid.org/0000-0001-8178-9506", 
                "value": null
              }, 
              "source-name": {
                "value": "Roman Chyla"
              }, 
              "source-date": {
                "value": 1422645668284
              }
            }, 
            "work-title": {
              "subtitle": null, 
              "title": {
                "value": "ADS 2.0"
              }
            }, 
            "last-modified-date": {
              "value": 1422645668284
            }, 
            "created-date": {
              "value": 1422645668284
            }, 
            "visibility": "PUBLIC", 
            "work-type": "JOURNAL_ARTICLE", 
            "publication-date": {
              "month": {
                "value": "01"
              }, 
              "day": {
                "value": "01"
              }, 
              "media-type": null, 
              "year": {
                "value": "2015"
              }
            }, 
            "journal-title": {
              "value": "foo"
            }, 
            "url": null
          }
        ]
      }
    }, 
    "orcid": null, 
    "type": "USER", 
    "orcid-preferences": {
      "locale": "EN"
    }, 
    "orcid-history": {
      "last-modified-date": {
        "value": 1424116495004
      }, 
      "creation-method": "DIRECT", 
      "submission-date": {
        "value": 1422645321288
      }, 
      "verified-primary-email": {
        "value": false
      }, 
      "verified-email": {
        "value": false
      }, 
      "visibility": null, 
      "source": null, 
      "claimed": {
        "value": true
      }
    }
  }
}
HTTP/1.1 400 Bad Request
Via: HTTP/1.1 GWA
X-google-cache-control: remote-fetch
Server: nginx/1.1.19
Connection: keep-alive
Date: Mon, 16 Feb 2015 20:09:40 GMT
Access-control-allow-origin: *
Content-type: text/plain;charset=UTF-8
Can not construct instance of org.orcid.jaxb.model.message.WorkExternalIdentifierType from String value 'bibcode': value not one of declared Enum instance names
 at [Source: org.apache.catalina.connector.CoyoteInputStream@4f062489; line: 21, column: 18] (through reference chain: org.orcid.jaxb.model.message.OrcidMessage["orcid-profile"]->org.orcid.jaxb.model.message.OrcidProfile["orcid-activities"]->org.orcid.jaxb.model.message.OrcidActivities["orcid-works"]->org.orcid.jaxb.model.message.OrcidWorks["orcid-work"]->org.orcid.jaxb.model.message.OrcidWork["work-external-identifiers"]->org.orcid.jaxb.model.message.WorkExternalIdentifiers["work-external-identifier"]->org.orcid.jaxb.model.message.WorkExternalIdentifier["work-external-identifier-type"])

import from BibTeX - save button doesn't work

In the current production version of ORCID (tested in Firefox and Chrome):

(This was done for a delegated account)

  1. Import from BibTeX (using Web of Science BibTeX export, both multiple records per file and single record per file)
  2. Records show in a list to import with a Save button and a Delete button
  3. Click the Save button next to any of the records

Expected behaviour:
Record is added to Works

Actual behaviour:
Nothing happens

Note: When one of the records was missing an external ID, so there was an Edit button instead of the Save button, which displayed an edit form. After filling in the external ID, this record was added to Works successfully.

Accept:application/json breaks POST to /orcid-works

When the header Accept: application/json is present, the POST request fails (started in #1816)

It is not clear to me (from documentation) whether this option is allowed, but I'd really like to receive data in json format, even if there is no response with POST requests.

Below are two requests to replicate the issue:

success:

POST /v1.2/0000-0001-8178-9506/orcid-works HTTP/1.1
Host: api.sandbox.orcid.org
Content-length: 1155
Content-type: application/vnd.orcid+xml
Authorization: Bearer 27f9e369-05a1-4ef7-acb5-2ab25e9968f0
<?xml version="1.0" encoding="UTF-8"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://raw.github.com/ORCID/ORCID-Source/master/orcid-model/src/main/resources/orcid-message-1.2.xsd">
<message-version>1.2</message-version>
<orcid-profile>
  <orcid-activities>
    <orcid-works>
      <orcid-work>
        <work-title>
          <title>Tecnologias</title>
        </work-title>
        <journal-title>El Profesional de la Informacion</journal-title>
        <work-type>journal-article</work-type>
        <publication-date>
          <year>2014</year>
          <month>11</month>
        </publication-date>
        <work-external-identifiers>
          <work-external-identifier>
              <work-external-identifier-type>doi</work-external-identifier-type>
              <work-external-identifier-id>10.3145/epi.2014.nov.02</work-external-identifier-id>
          </work-external-identifier>
        </work-external-identifiers>
        <language-code>es</language-code>
      </orcid-work>
    </orcid-works>
  </orcid-activities>
</orcid-profile>
</orcid-message>
HTTP/1.1 201 Created
Content-length: 0
Via: HTTP/1.1 GWA
X-google-cache-control: remote-fetch
Server: nginx/1.1.19
Connection: keep-alive
Location: https://api.sandbox.orcid.org/0000-0001-8178-9506/orcid-works
Date: Tue, 17 Feb 2015 16:42:30 GMT
Access-control-allow-origin: *
Content-type: application/vnd.orcid+xml; qs=5;charset=UTF-8

error

Host: api.sandbox.orcid.org
Content-length: 1155
Content-type: application/vnd.orcid+xml
Authorization: Bearer 27f9e369-05a1-4ef7-acb5-2ab25e9968f0
Accept: application/json
<?xml version="1.0" encoding="UTF-8"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://raw.github.com/ORCID/ORCID-Source/master/orcid-model/src/main/resources/orcid-message-1.2.xsd">
<message-version>1.2</message-version>
<orcid-profile>
  <orcid-activities>
    <orcid-works>
      <orcid-work>
        <work-title>
          <title>Tecnologias</title>
        </work-title>
        <journal-title>El Profesional de la Informacion</journal-title>
        <work-type>journal-article</work-type>
        <publication-date>
          <year>2014</year>
          <month>11</month>
        </publication-date>
        <work-external-identifiers>
          <work-external-identifier>
              <work-external-identifier-type>doi</work-external-identifier-type>
              <work-external-identifier-id>10.3145/epi.2014.nov.02</work-external-identifier-id>
          </work-external-identifier>
        </work-external-identifiers>
        <language-code>es</language-code>
      </orcid-work>
    </orcid-works>
  </orcid-activities>
</orcid-profile>
</orcid-message>
HTTP/1.1 406 Not Acceptable
Via: HTTP/1.1 GWA
X-google-cache-control: remote-fetch
Server: nginx/1.1.19
Connection: keep-alive
Date: Tue, 17 Feb 2015 16:39:10 GMT
Access-control-allow-origin: *
Content-type: application/json;charset=UTF-8
{
  "message-version": "1.2", 
  "error-desc": {
    "value": "It is possible that this is a bug. If you could raise an issue in Github it would be much appreciated. Thanks, the ORCID team"
  }
}

Support ActivityPub outbox declaration in profile

W3C ActivityPub (AP) species a protocol to deliver notifications and content for federated servers. Its outbox mechanism is intended to provide a collection of a profile's activities to its consumers.

AP's outbox is similar to Linked Data Notifications inbox in that they both have to do with outgoing and incoming information that's relevant for the user. Hence, this issue is about providing the possibility for profiles to simply declare the URL of their outbox. No additional mechanism needs to be implemented.

Aside: This issue has the same architectural requirements as #3416 and the corresponding PR #3847 ie. users can optionally add the term "outbox" and its URL under "Edit websites" in the UI.

Use client's Origin value for Access-Control-Allow-Origin value to handle withCredentials requests

A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'https://dokie.li' is therefore not allowed access. The credentials mode of an XMLHttpRequest is controlled by the withCredentials attribute.

In other words, if the client makes a request to the profile URL with withCredentials set in the XHR request, the current Access-Control-Allow-Origin: * prevents the request from loading. The way to handle is to take client's Origin header value from their request, and use that as the value for Access-Control-Allow-Origin instead of *.

Deleting URL for source fails

Currently it is not possible to empty an URL field (e.g. after merging records and using ones own copy). Emptying the URL field and saving is ignored. Just using a space leads to an "please correct error" message.

POST /orcid-profile 500s when no primary email

Here's the request and response:

POST /orcid-profile
Content-type: application/orcid+xml

<?xml version="1.0"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid">
  <orcid-profile>
    <orcid-bio>
      <personal-details>
        <given-names>Alexander</given-names>
      <family-name>Dutton</family-name></personal-details>
      <contact-details><email visibility="private" primary="false">[email protected]</email></contact-details>
    </orcid-bio>
    <orcid-activities>
      <affiliations><affiliation visibility="public"><type>employment</type><department-name>IT Services</department-name><organization>
  <name>University of Oxford</name>
  <address>
    <city>Oxford</city>
    <region>Oxfordshire</region>
    <country>GB</country>
  </address>
  <disambiguated-organization>
    <disambiguated-organization-identifier>6396</disambiguated-organization-identifier>
    <disambiguation-source>RINGGOLD</disambiguation-source>
  </disambiguated-organization>
</organization></affiliation></affiliations>
    </orcid-activities>
  </orcid-profile>
</orcid-message>


500 Internal Server Error
Connection: close
Date: Tue, 21 Jan 2014 11:21:16 GMT
Server: nginx/1.1.19
Content-Type: application/vnd.orcid+xml; qs=5;charset=UTF-8
Access-Control-Allow-Origin: *
Client-Date: Tue, 21 Jan 2014 11:21:16 GMT
Client-Peer: 166.78.29.39:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked

<?xml version="1.0" standalone="yes"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid">
    <message-version>1.2_rc3</message-version>
    <error-desc>It is possible that this is a bug. If you could raise an issue in Github it would be much appreciated. Thanks, the ORCID team</error-desc>
</orcid-message>

Cannot POST to /api

I'm testing API with Google playground and getting error message 'this might be a bug'. Not sure this is the right place to post it.

I tried following enpoints (with application/json and application/atom+xml, application/xml Content-Type headers):

https://api.sandbox.orcid.org/v1.2/0000-0001-8178-9506/orcid-works
https://api.sandbox.orcid.org/0000-0001-8178-9506/orcid-works

POST /0000-0001-8178-9506/orcid-works HTTP/1.1
Host: api.sandbox.orcid.org
Content-length: 1926
Content-type: application/atom+xml
Authorization: Bearer 986b6d98-96ac-4350-89eb-8914e38f492b
Accept: application/json
<?xml version="1.0" encoding="UTF-8"?>
<orcid-message xmlns="http://www.orcid.org/ns/orcid"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://raw.github.com/ORCID/ORCID-Source/master/orcid-model/src/main/resources/orcid-message-1.2.xsd">
<message-version>1.2</message-version>
<orcid-profile>
  <orcid-activities>
    <orcid-works> 
      <orcid-work>
        <work-title>
          <title>API Test Title</title>
          <subtitle>My Subtitle</subtitle>
          <translated-title language-code="fr">API essai Titre</translated-title>
        </work-title>
        <journal-title>Journal Title</journal-title>
        <short-description>My Abstract</short-description>
        <work-citation>
          <work-citation-type>formatted-apa</work-citation-type>
          <citation>My correctly formatted citation</citation>
        </work-citation>
        <work-type>journal-article</work-type>
        <publication-date>
          <year>2010</year>
          <month>11</month>
        </publication-date>
        <work-external-identifiers>
          <work-external-identifier>
            <work-external-identifier-type>source-work-id</work-external-identifier-type>
            <work-external-identifier-id>1234</work-external-identifier-id>
          </work-external-identifier>
        </work-external-identifiers>
        <url>www.orcid.org</url>
        <work-contributors>
          <contributor>
            <credit-name>LastName, FirstName</credit-name>
            <contributor-attributes>
              <contributor-sequence>first</contributor-sequence>
              <contributor-role>author</contributor-role>
            </contributor-attributes>
          </contributor>
        </work-contributors>
        <language-code>en</language-code>
        <country>US</country>
      </orcid-work>
    </orcid-works>
  </orcid-activities>
</orcid-profile>
</orcid-message>
HTTP/1.1 406 Not Acceptable
Via: HTTP/1.1 GWA
X-google-cache-control: remote-fetch
Server: nginx/1.1.19
Connection: keep-alive
Date: Mon, 16 Feb 2015 20:00:48 GMT
Access-control-allow-origin: *
Content-type: application/json;charset=UTF-8
{
  "message-version": "1.2", 
  "error-desc": {
    "value": "It is possible that this is a bug. If you could raise an issue in Github it would be much appreciated. Thanks, the ORCID team"
  }
}

When IDing "same identifiers" ORCID should recognize both link and stand alone

I'm not sure if this is the right place to report this, but I noticed the following issue with the "same identifiers" functionality.

Since there are two common forms for DOIs, the DOI itself and the DOI preceded by http://dx.doi.org/ the site should recognize that

http://dx.doi.org/10.1371/journal.pone.0014651

and

10.1371/journal.pone.0014651

refer to the same object. This does not currently occur:

screenshot from 2015-05-28 14 02 05

Missing external-identifiers element does not return schema error

When supplying a XML which is missing the external-identifiers container around a single external-identifier as a POST to https://api.sandbox.orcid.org/v1.2/orcid-bio/external-identifiers, the error returned is: "It is possible that this is a bug. If you could raise an issue in Github it would be much appreciated. Thanks, the ORCID team".

The expected error would be a description of the schema violation. Example XML:

<?xml version="1.0" encoding="UTF-8"?>
    <orcid-message xmlns="http://www.orcid.org/ns/orcid" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://raw.github.com/ORCID/ORCID-Source/master/orcid-model/src/main/resources/orcid-message-1.2.xsd">
        <message-version>1.2</message-version>
        <orcid-profile>
            <orcid-bio>
                <external-identifier>
                    <external-id-common-name>My Common Name</external-id-common-name>
                    <external-id-reference>My ID</external-id-reference>
                    <external-id-url>http://my.domain.tld/my-uri</external-id-url>
                </external-identifier>
            </orcid-bio>
        </orcid-profile>
    </orcid-message>

http://pub.sandbox.orcid.org/ returning 405 error code

'Accept: application/json' --data 'client_id=APP-WT2PY6SQPAPXUKP4&client_secret=******************&grant_type=authorization_code&redirect_uri=http://127.0.0.1:8888&code=oqJqus' http://pub.sandbox.orcid.org/
HTTP/1.1 405 Method Not Allowed
Server: nginx/1.1.19
Date: Tue, 07 Jul 2015 22:49:24 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *

{"message-version":"1.2","orcid-profile":null,"orcid-search-results":null,"error-desc":{"value":"It is possible that this is a bug. If you could raise an issue in Github it would be much appreciated. Thanks, the ORCID team"}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.