commonmeta-ruby 3.6.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0e998cf4561292b7e4ddc596a8fd98313346fff9db6fc585f364178e81dfac7
4
- data.tar.gz: 98f697d6ef30b4f7c284c47198ac85f0004c03f0f07c4c2e08b4b4aef5950394
3
+ metadata.gz: 1dac29584f1bdb4c76e200aa6ec5b0bc29d35afb356d3bc989cc9e58de06c7c7
4
+ data.tar.gz: 111511119b2c69e406db7575fd7fb5f576c4d490784224570619a6f1a84f128a
5
5
  SHA512:
6
- metadata.gz: 5a7eaf1fcdf95a28b070e002abf5df911951691734687a67c53f96af449ec3b1e66db642a3595ad2d4a362dbd72407e6c6260689fb317eefac3dd4804f33c0b5
7
- data.tar.gz: b039cf08b546311930c1c31e893af64d2a09bcd5b57b96f8e14e0dbfcabe3863ec5db89c42a5247689367f2f81f1943b959096c3f2290a2aaec46661cf758fa6
6
+ metadata.gz: f65384ec8af14670156ec9f7103b1722c298e2ca4cd753346b22ceb115a9a568afb8da4158a56f09a7a3e7eaaa738f3956c1282f2daff68c2d86c736c34a5fc7
7
+ data.tar.gz: 3146795dc05d4a5d358cd38c1502cc19e16de7297a0e8ce43269242790adf2ca0916b94be80ddfe215842637bcca301bf1a31cd4b7cc8e5ecc114d641b15f507
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- commonmeta-ruby (3.6.1)
4
+ commonmeta-ruby (3.7.0)
5
5
  activesupport (>= 4.2.5, < 8.0)
6
6
  addressable (~> 2.8.1, < 2.8.2)
7
7
  base32-url (>= 0.7.0, < 1)
@@ -27,7 +27,7 @@ PATH
27
27
  GEM
28
28
  remote: https://rubygems.org/
29
29
  specs:
30
- activesupport (7.1.0)
30
+ activesupport (7.1.1)
31
31
  base64
32
32
  bigdecimal
33
33
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -128,7 +128,7 @@ GEM
128
128
  ffi-compiler (~> 1.0)
129
129
  rake (~> 13.0)
130
130
  logutils (0.6.1)
131
- loofah (2.21.3)
131
+ loofah (2.21.4)
132
132
  crass (~> 1.0.2)
133
133
  nokogiri (>= 1.12.0)
134
134
  matrix (0.4.2)
@@ -151,12 +151,12 @@ GEM
151
151
  props (1.2.0)
152
152
  iniparser (>= 0.1.0)
153
153
  public_suffix (4.0.7)
154
- racc (1.7.1)
154
+ racc (1.7.3)
155
155
  rack (3.0.8)
156
156
  rack-test (2.1.0)
157
157
  rack (>= 1.3)
158
158
  rainbow (3.1.1)
159
- rake (13.0.6)
159
+ rake (13.1.0)
160
160
  rdf (3.3.1)
161
161
  bcp47_spec (~> 0.2)
162
162
  link_header (~> 0.0, >= 0.0.8)
@@ -171,7 +171,7 @@ GEM
171
171
  rdf-xsd (3.3.0)
172
172
  rdf (~> 3.3)
173
173
  rexml (~> 3.2)
174
- regexp_parser (2.8.1)
174
+ regexp_parser (2.8.2)
175
175
  rexml (3.2.6)
176
176
  rspec (3.12.0)
177
177
  rspec-core (~> 3.12.0)
@@ -189,19 +189,18 @@ GEM
189
189
  rspec-xsd (0.1.0)
190
190
  nokogiri (~> 1.6)
191
191
  rspec (~> 3)
192
- rubocop (1.56.4)
193
- base64 (~> 0.1.1)
192
+ rubocop (1.57.2)
194
193
  json (~> 2.3)
195
194
  language_server-protocol (>= 3.17.0)
196
195
  parallel (~> 1.10)
197
- parser (>= 3.2.2.3)
196
+ parser (>= 3.2.2.4)
198
197
  rainbow (>= 2.2.2, < 4.0)
199
198
  regexp_parser (>= 1.8, < 3.0)
200
199
  rexml (>= 3.2.5, < 4.0)
201
200
  rubocop-ast (>= 1.28.1, < 2.0)
202
201
  ruby-progressbar (~> 1.7)
203
202
  unicode-display_width (>= 2.4.0, < 3.0)
204
- rubocop-ast (1.29.0)
203
+ rubocop-ast (1.30.0)
205
204
  parser (>= 3.2.1.0)
206
205
  rubocop-capybara (2.19.0)
207
206
  rubocop (~> 1.41)
@@ -212,8 +211,8 @@ GEM
212
211
  rubocop-ast (>= 0.4.0)
213
212
  rubocop-rake (0.6.0)
214
213
  rubocop (~> 1.0)
215
- rubocop-rspec (2.24.1)
216
- rubocop (~> 1.33)
214
+ rubocop-rspec (2.25.0)
215
+ rubocop (~> 1.40)
217
216
  rubocop-capybara (~> 2.17)
218
217
  rubocop-factory_bot (~> 2.22)
219
218
  ruby-progressbar (1.13.0)
@@ -236,7 +235,7 @@ GEM
236
235
  logutils (>= 0.6.1)
237
236
  props (>= 1.1.2)
238
237
  rubyzip (>= 1.0.0)
239
- thor (1.2.2)
238
+ thor (1.3.0)
240
239
  tzinfo (2.0.6)
241
240
  concurrent-ruby (~> 1.0)
242
241
  unf (0.1.4)
@@ -65,6 +65,7 @@ module Commonmeta
65
65
  insert_funding_references(xml)
66
66
  insert_crossref_access_indicators(xml)
67
67
  insert_crossref_relations(xml)
68
+ insert_archive_locations(xml)
68
69
  insert_doi_data(xml)
69
70
  insert_citation_list(xml)
70
71
  end
@@ -85,6 +86,7 @@ module Commonmeta
85
86
  insert_funding_references(xml)
86
87
  insert_crossref_access_indicators(xml)
87
88
  insert_crossref_relations(xml)
89
+ insert_archive_locations(xml)
88
90
  insert_doi_data(xml)
89
91
  insert_citation_list(xml)
90
92
  end
@@ -327,6 +329,16 @@ module Commonmeta
327
329
  end
328
330
  end
329
331
 
332
+ def insert_archive_locations(xml)
333
+ return xml if archive_locations.blank?
334
+
335
+ xml.archive_locations do
336
+ archive_locations.each do |archive_location|
337
+ xml.archive("name" => archive_location)
338
+ end
339
+ end
340
+ end
341
+
330
342
  def insert_doi_data(xml)
331
343
  return xml if doi_from_url(id).blank? || url.blank?
332
344
 
@@ -10,7 +10,7 @@ module Commonmeta
10
10
  :email, :registrant
11
11
  attr_reader :doc, :page_start, :page_end
12
12
  attr_writer :id, :provider_id, :client_id, :doi, :alternate_identifiers, :contributors,
13
- :titles, :publisher, :license, :date, :volume, :url, :version, :subjects, :descriptions, :language, :sizes, :formats, :schema_version, :meta, :container, :provider, :format, :funding_references, :state, :geo_locations, :type, :additional_type, :files, :references, :related_identifiers, :related_items, :style, :locale
13
+ :titles, :publisher, :license, :date, :volume, :url, :version, :subjects, :descriptions, :language, :sizes, :formats, :schema_version, :meta, :container, :provider, :format, :funding_references, :state, :geo_locations, :type, :additional_type, :files, :references, :related_identifiers, :related_items, :style, :locale, :archive_locations
14
14
 
15
15
  def initialize(options = {})
16
16
  options.symbolize_keys!
@@ -253,5 +253,9 @@ module Commonmeta
253
253
  def contributors
254
254
  @contributors ||= meta.fetch('contributors', nil)
255
255
  end
256
+
257
+ def archive_locations
258
+ @archive_locations ||= meta.fetch('archive_locations', nil)
259
+ end
256
260
  end
257
261
  end
@@ -69,6 +69,19 @@ module Commonmeta
69
69
  funding_references = get_funding_references(meta)
70
70
  related_identifiers = get_related_identifiers(meta)
71
71
  alternate_identifiers = [{ "alternateIdentifier" => meta["id"], "alternateIdentifierType" => "UUID" }]
72
+
73
+ archive_url = meta.fetch("archive_url", nil)
74
+
75
+ if archive_url
76
+ host = URI.parse(archive_url).host
77
+ if ["web.archive.org", "wayback.archive-it.org"].include?(host)
78
+ archive_locations = ["Internet Archive"]
79
+ else
80
+ archive_locations = nil
81
+ end
82
+ else
83
+ archive_locations = nil
84
+ end
72
85
 
73
86
  { "id" => id,
74
87
  "type" => type,
@@ -86,6 +99,7 @@ module Commonmeta
86
99
  "funding_references" => funding_references.presence,
87
100
  "related_identifiers" => related_identifiers.presence,
88
101
  "alternate_identifiers" => alternate_identifiers,
102
+ "archive_locations" => archive_locations,
89
103
  "state" => state }.compact.merge(read_options)
90
104
  end
91
105
 
@@ -5,7 +5,7 @@ require "pathname"
5
5
 
6
6
  module Commonmeta
7
7
  module SchemaUtils
8
- COMMONMETA = File.read(File.expand_path("../../resources/commonmeta_v0.10.3.json",
8
+ COMMONMETA = File.read(File.expand_path("../../resources/commonmeta_v0.10.4.json",
9
9
  __dir__))
10
10
 
11
11
  def json_schema_errors
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Commonmeta
4
- VERSION = '3.6.1'
4
+ VERSION = '3.7.0'
5
5
  end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://commonmeta.org/commonmeta_v0.10.3.json",
4
- "title": "Commonmeta v0.10.3",
3
+ "$id": "https://commonmeta.org/commonmeta_v0.10.4.json",
4
+ "title": "Commonmeta v0.10.4",
5
5
  "description": "JSON representation of the Commonmeta schema.",
6
6
  "additionalProperties": false,
7
7
  "definitions": {
@@ -516,6 +516,15 @@
516
516
  "description": "The state of the resource.",
517
517
  "type": "string",
518
518
  "enum": ["findable", "not_found"]
519
+ },
520
+ "archive_locations": {
521
+ "description": "The location where content is archived.",
522
+ "type": "array",
523
+ "items": {
524
+ "type": "string",
525
+ "enum": ["CLOCKSS", "Internet Archive", "KB", "LOCKSS", "Portico", "Other"]
526
+ },
527
+ "uniqueItems": true
519
528
  }
520
529
  },
521
530
  "required": [
@@ -21,31 +21,103 @@ http_interactions:
21
21
  Content-Type:
22
22
  - application/json
23
23
  Content-Length:
24
- - '2184'
24
+ - '7862'
25
+ Ratelimit-Limit:
26
+ - '15'
27
+ Ratelimit-Remaining:
28
+ - '14'
29
+ Ratelimit-Reset:
30
+ - '3'
25
31
  Date:
26
- - Thu, 05 Oct 2023 20:37:43 GMT
32
+ - Sat, 04 Nov 2023 15:12:52 GMT
27
33
  Server:
28
- - Fly/e440b950 (2023-09-20)
34
+ - Fly/7328d5b5 (2023-10-27)
29
35
  Via:
30
36
  - 1.1 fly.io
31
37
  Fly-Request-Id:
32
- - 01HC0RYZRPBEHQ83AFVH9KEXD8-fra
38
+ - 01HEDE9R2T7K7FBRF7D93MN1JN-fra
33
39
  body:
34
40
  encoding: UTF-8
35
- string: '{"archive_url":"https://web.archive.org/web/20190709153404/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea","authors":[{"name":"Markus
36
- Stocker","url":"https://orcid.org/0000-0001-5492-3212"}],"blog":{"api":false,"archive_prefix":"https://web.archive.org/web/20190709153404/","authors":null,"backlog":0,"canonical_url":null,"category":"computerAndInformationSciences","created_at":"2023-09-21","current_feed_url":null,"description":"Technical
41
+ string: '{"archive_url":"https://wayback.archive-it.org/22143/20231103191454/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea","authors":[{"name":"Markus
42
+ Stocker","url":"https://orcid.org/0000-0001-5492-3212"}],"blog":{"api":true,"archive_prefix":"https://wayback.archive-it.org/22143/20231103191454/","authors":null,"backlog":0,"canonical_url":null,"category":"computerAndInformationSciences","created_at":1695254400,"current_feed_url":null,"description":"Technical
37
43
  and Human infrastructure for Open Research.","favicon":null,"feed_format":"application/atom+xml","feed_url":"https://project-thor.eu/feed/atom/","filter":null,"funding":{"award_number":"654039","award_uri":"https://doi.org/10.3030/654039","funder_id":"https://doi.org/10.13039/501100007601","funder_name":"European
38
- Union\u2019s Horizon 2020 research and innovation programme"},"generator":"WordPress.com","home_page_url":"https://project-thor.eu","id":"cg9zq26","issn":null,"language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","modified_at":"1970-01-01T00:00:00+00:00","plan":"Team","prefix":"10.59350","relative_url":null,"slug":"thor","status":"archived","title":"Project
39
- THOR","use_api":null,"use_mastodon":false,"user_id":"dead81b3-8a8b-45c9-85fe-f01bb3948c77","version":"https://jsonfeed.org/version/1.1"},"blog_name":"Project
40
- THOR","blog_slug":"thor","doi":"https://doi.org/10.59350/faeph-x4x84","id":"570c8129-e867-49e6-8517-bd783627e76e","image":null,"indexed_at":1695449798,"language":"en","published_at":1470819639,"reference":[],"relationships":[],"summary":"This
41
- is the first in a series of posts\u00a0describing how THOR partners have recently
44
+ Union\u2019s Horizon 2020 research and innovation programme"},"generator":"WordPress.com","generator_raw":"WordPress.com","home_page_url":"https://project-thor.eu","id":"cg9zq26","indexed":false,"issn":null,"language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","plan":"Team","prefix":"10.59350","relative_url":null,"secure":true,"slug":"thor","status":"archived","title":"Project
45
+ THOR","updated_at":1511522178,"use_api":true,"use_mastodon":false,"user_id":"dead81b3-8a8b-45c9-85fe-f01bb3948c77","version":"https://jsonfeed.org/version/1.1"},"blog_name":"Project
46
+ THOR","blog_slug":"thor","content_html":"<p><span style=\"font-weight:400;\">This
47
+ is the first in a <a href=\"http://wp.me/p5O69U-aF\">series of posts</a></span><span
48
+ style=\"font-weight:400;\">\u00a0describing how THOR partners have recently
49
+ integrated <a href=\"http://orcid.org/\">ORCID</a> in their disciplinary data
50
+ repositories. This post describes ORCID integration in <a href=\"https://www.pangaea.de/\">PANGAEA</a>,
51
+ the Data Publisher for Earth &amp; Environmental Science.</span></p>\n<p><span
52
+ style=\"font-weight:400;\">PANGAEA is rolling out a new version of its website.
53
+ Developers and designers are currently ironing out a few remaining open issues.
54
+ The release is expected for autumn 2016. Among major improvements in search,
55
+ design, and usability, a key new feature is the integration of ORCID.</span></p>\n<p><span
56
+ style=\"font-weight:400;\">The new feature enables existing PANGAEA users
57
+ to connect their PANGAEA profile with their ORCID iD, as demonstrated in the
58
+ video below.\u00a0</span></p>\n<p style=\"text-align:center;\"><span class=\"embed-youtube\"
59
+ style=\"text-align:center; display: block;\"><iframe class=\"youtube-player\"
60
+ width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/Eg81xbbgzI0?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en&#038;autohide=2&#038;wmode=transparent\"
61
+ allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin
62
+ allow-popups allow-presentation allow-popups-to-escape-sandbox\"></iframe></span></p>\n<p><span
63
+ style=\"font-weight:400;\">With this connection, PANGAEA obtains the </span><i><span
64
+ style=\"font-weight:400;\">validated</span></i><span style=\"font-weight:400;\">
65
+ ORCID iD of its users from ORCID. By connecting their ORCID iD, users can
66
+ also choose to sign in to PANGAEA using ORCID, as an alternative to signing
67
+ in using PANGAEA user credentials. This can be handy when a user is already
68
+ signed in to ORCID, or it is quicker to recall ORCID credentials.</span></p>\n<p><span
69
+ style=\"font-weight:400;\">Obtaining the validated ORCID iDs of its users
70
+ is significant for PANGAEA as, contrary to a researcher\u2019s name, the iD
71
+ is unambiguous: two researchers with the same name can be distinguished by
72
+ their respective iDs. The iD is also persistent through possible changes in
73
+ a person\u2019s name: the same researcher may change marital status, or their
74
+ name may appear in different permutations, at times appear with full name,
75
+ initials for first name, and with or without middle name (initial). Furthermore,
76
+ the iD is actionable and can be used to discover information about the researcher.</span></p>\n<p><span
77
+ style=\"font-weight:400;\">For researchers, the greatest advantage of connecting
78
+ their ORCID iD to their PANGAEA profile is that PANGAEA can then record the
79
+ relationships between dataset publication DOIs and contributor ORCID iDs.
80
+ This information is then shared with the global network of PID infrastructures,
81
+ and researchers benefit from automated updates to their ORCID Record for data
82
+ published at PANGAEA, gaining unambiguous attribution for published datasets
83
+ and benefiting from greater credit for sharing data early.</span></p>\n<p><span
84
+ style=\"font-weight:400;\">Let\u2019s take a look at how the ORCID integration
85
+ in PANGAEA is making a difference to <a href=\"https://www.marum.de/en/Alice_Lefebvre.html\">Dr
86
+ Alice Lefebvre</a>, <a href=\"https://www.marum.de/en/GLOMAR.html\">GLOMAR</a>
87
+ Associate Scientist at the <a href=\"https://www.marum.de/en/index.html\">MARUM</a>
88
+ Center for Marine Environmental Sciences of the <a href=\"http://www.uni-bremen.de/en.html\">University
89
+ of Bremen</a>. </span></p>\n<p><span style=\"font-weight:400;\">Alice has
90
+ recently joined ORCID and decided to claim the 14 data publications deposited
91
+ at PANGAEA that she has authored. As a consequence, Alice gains a more complete
92
+ <a href=\"http://orcid.org/0000-0002-9234-8279\">ORCID Record</a>, one that
93
+ does not just include her journal article publications but also her authorship
94
+ in data publications </span><span style=\"font-weight:400;\">\u2212</span><span
95
+ style=\"font-weight:400;\"> a record that better reflects her true contribution
96
+ to the scientific record. Alice was also surprised to learn about <a href=\"http://datacite.org\">DataCite</a>
97
+ and the <a href=\"http://search.datacite.org/contributors/0000-0002-9234-8279\">overview</a>
98
+ DataCite provides about her contributions. </span></p>\n<p><span style=\"font-weight:400;\">The
99
+ upcoming release of the PANGAEA website automates the sharing of information
100
+ with the global network of PID infrastructures. Authors of datasets published
101
+ at PANGAEA who have connected their ORCID iD, like Alice, will benefit from
102
+ a workflow that ensures information appears automatically and accurately on
103
+ their ORCID Record.</span></p>\n<p><span style=\"font-weight:400;\">This shows
104
+ how far the integration between disciplinary repositories and the global network
105
+ of PID infrastructures has come over the past years, and how the persistent
106
+ identification of contributors and research artefacts together with infrastructures
107
+ that aggregate, process, and share information about persistently identified
108
+ resources are driving and shaping 21st-century attribution, credit, communication,
109
+ and measurement of scholarly activity.</span></p>\n<p><b>Want to Know More?<br
110
+ />\n</b><span style=\"font-weight:400;\">Readers interested in performing
111
+ an ORCID integration in their own disciplinary repository can find more information
112
+ in our recent report, &#8216;<a href=\"http://doi.org/10.5281/zenodo.58971\">Demonstration
113
+ of Services to Integrate ORCIDs into Data Records and Database Systems</a>&#8216;</span><span
114
+ style=\"font-weight:400;\">. </span></p>\n","doi":"https://doi.org/10.59350/faeph-x4x84","guid":"http://project-thor.eu/?p=664","id":"570c8129-e867-49e6-8517-bd783627e76e","image":null,"indexed_at":1695449798,"language":"en","published_at":1470819639,"reference":[],"relationships":[],"summary":"This
115
+ is the first in a series of posts&nbsp;describing how THOR partners have recently
42
116
  integrated ORCID in their disciplinary data repositories. This post describes
43
117
  ORCID integration in PANGAEA, the Data Publisher for Earth &amp; Environmental
44
- Science. PANGAEA is rolling out a new version of its website. Developers
45
- and designers are currently ironing out a few remaining open issues. The release
46
- is expected for autumn 2016.","tags":["Uncategorized","ORCID","Persistent
47
- Identifier"],"title":"ORCID Integration Series: PANGAEA","updated_at":1470819639,"url":"https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea"}
118
+ Science. PANGAEA is rolling out a new version of its website.","tags":["Uncategorized"],"title":"ORCID
119
+ Integration Series: PANGAEA","updated_at":1470818410,"url":"https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea"}
48
120
 
49
121
  '
50
- recorded_at: Thu, 05 Oct 2023 20:37:43 GMT
122
+ recorded_at: Sat, 04 Nov 2023 15:12:52 GMT
51
123
  recorded_with: VCR 6.2.0
@@ -0,0 +1,123 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.rogue-scholar.org/posts/570c8129-e867-49e6-8517-bd783627e76e
6
+ body:
7
+ encoding: ASCII-8BIT
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - api.rogue-scholar.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '7862'
25
+ Ratelimit-Limit:
26
+ - '15'
27
+ Ratelimit-Remaining:
28
+ - '14'
29
+ Ratelimit-Reset:
30
+ - '3'
31
+ Date:
32
+ - Sat, 04 Nov 2023 15:30:00 GMT
33
+ Server:
34
+ - Fly/7328d5b5 (2023-10-27)
35
+ Via:
36
+ - 1.1 fly.io
37
+ Fly-Request-Id:
38
+ - 01HEDF93TFCEYGFQ8ADFYBSTFW-fra
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"archive_url":"https://wayback.archive-it.org/22143/20231103191454/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea","authors":[{"name":"Markus
42
+ Stocker","url":"https://orcid.org/0000-0001-5492-3212"}],"blog":{"api":true,"archive_prefix":"https://wayback.archive-it.org/22143/20231103191454/","authors":null,"backlog":0,"canonical_url":null,"category":"computerAndInformationSciences","created_at":1695254400,"current_feed_url":null,"description":"Technical
43
+ and Human infrastructure for Open Research.","favicon":null,"feed_format":"application/atom+xml","feed_url":"https://project-thor.eu/feed/atom/","filter":null,"funding":{"award_number":"654039","award_uri":"https://doi.org/10.3030/654039","funder_id":"https://doi.org/10.13039/501100007601","funder_name":"European
44
+ Union\u2019s Horizon 2020 research and innovation programme"},"generator":"WordPress.com","generator_raw":"WordPress.com","home_page_url":"https://project-thor.eu","id":"cg9zq26","indexed":false,"issn":null,"language":"en","license":"https://creativecommons.org/licenses/by/4.0/legalcode","plan":"Team","prefix":"10.59350","relative_url":null,"secure":true,"slug":"thor","status":"archived","title":"Project
45
+ THOR","updated_at":1511522178,"use_api":true,"use_mastodon":false,"user_id":"dead81b3-8a8b-45c9-85fe-f01bb3948c77","version":"https://jsonfeed.org/version/1.1"},"blog_name":"Project
46
+ THOR","blog_slug":"thor","content_html":"<p><span style=\"font-weight:400;\">This
47
+ is the first in a <a href=\"http://wp.me/p5O69U-aF\">series of posts</a></span><span
48
+ style=\"font-weight:400;\">\u00a0describing how THOR partners have recently
49
+ integrated <a href=\"http://orcid.org/\">ORCID</a> in their disciplinary data
50
+ repositories. This post describes ORCID integration in <a href=\"https://www.pangaea.de/\">PANGAEA</a>,
51
+ the Data Publisher for Earth &amp; Environmental Science.</span></p>\n<p><span
52
+ style=\"font-weight:400;\">PANGAEA is rolling out a new version of its website.
53
+ Developers and designers are currently ironing out a few remaining open issues.
54
+ The release is expected for autumn 2016. Among major improvements in search,
55
+ design, and usability, a key new feature is the integration of ORCID.</span></p>\n<p><span
56
+ style=\"font-weight:400;\">The new feature enables existing PANGAEA users
57
+ to connect their PANGAEA profile with their ORCID iD, as demonstrated in the
58
+ video below.\u00a0</span></p>\n<p style=\"text-align:center;\"><span class=\"embed-youtube\"
59
+ style=\"text-align:center; display: block;\"><iframe class=\"youtube-player\"
60
+ width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/Eg81xbbgzI0?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en&#038;autohide=2&#038;wmode=transparent\"
61
+ allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin
62
+ allow-popups allow-presentation allow-popups-to-escape-sandbox\"></iframe></span></p>\n<p><span
63
+ style=\"font-weight:400;\">With this connection, PANGAEA obtains the </span><i><span
64
+ style=\"font-weight:400;\">validated</span></i><span style=\"font-weight:400;\">
65
+ ORCID iD of its users from ORCID. By connecting their ORCID iD, users can
66
+ also choose to sign in to PANGAEA using ORCID, as an alternative to signing
67
+ in using PANGAEA user credentials. This can be handy when a user is already
68
+ signed in to ORCID, or it is quicker to recall ORCID credentials.</span></p>\n<p><span
69
+ style=\"font-weight:400;\">Obtaining the validated ORCID iDs of its users
70
+ is significant for PANGAEA as, contrary to a researcher\u2019s name, the iD
71
+ is unambiguous: two researchers with the same name can be distinguished by
72
+ their respective iDs. The iD is also persistent through possible changes in
73
+ a person\u2019s name: the same researcher may change marital status, or their
74
+ name may appear in different permutations, at times appear with full name,
75
+ initials for first name, and with or without middle name (initial). Furthermore,
76
+ the iD is actionable and can be used to discover information about the researcher.</span></p>\n<p><span
77
+ style=\"font-weight:400;\">For researchers, the greatest advantage of connecting
78
+ their ORCID iD to their PANGAEA profile is that PANGAEA can then record the
79
+ relationships between dataset publication DOIs and contributor ORCID iDs.
80
+ This information is then shared with the global network of PID infrastructures,
81
+ and researchers benefit from automated updates to their ORCID Record for data
82
+ published at PANGAEA, gaining unambiguous attribution for published datasets
83
+ and benefiting from greater credit for sharing data early.</span></p>\n<p><span
84
+ style=\"font-weight:400;\">Let\u2019s take a look at how the ORCID integration
85
+ in PANGAEA is making a difference to <a href=\"https://www.marum.de/en/Alice_Lefebvre.html\">Dr
86
+ Alice Lefebvre</a>, <a href=\"https://www.marum.de/en/GLOMAR.html\">GLOMAR</a>
87
+ Associate Scientist at the <a href=\"https://www.marum.de/en/index.html\">MARUM</a>
88
+ Center for Marine Environmental Sciences of the <a href=\"http://www.uni-bremen.de/en.html\">University
89
+ of Bremen</a>. </span></p>\n<p><span style=\"font-weight:400;\">Alice has
90
+ recently joined ORCID and decided to claim the 14 data publications deposited
91
+ at PANGAEA that she has authored. As a consequence, Alice gains a more complete
92
+ <a href=\"http://orcid.org/0000-0002-9234-8279\">ORCID Record</a>, one that
93
+ does not just include her journal article publications but also her authorship
94
+ in data publications </span><span style=\"font-weight:400;\">\u2212</span><span
95
+ style=\"font-weight:400;\"> a record that better reflects her true contribution
96
+ to the scientific record. Alice was also surprised to learn about <a href=\"http://datacite.org\">DataCite</a>
97
+ and the <a href=\"http://search.datacite.org/contributors/0000-0002-9234-8279\">overview</a>
98
+ DataCite provides about her contributions. </span></p>\n<p><span style=\"font-weight:400;\">The
99
+ upcoming release of the PANGAEA website automates the sharing of information
100
+ with the global network of PID infrastructures. Authors of datasets published
101
+ at PANGAEA who have connected their ORCID iD, like Alice, will benefit from
102
+ a workflow that ensures information appears automatically and accurately on
103
+ their ORCID Record.</span></p>\n<p><span style=\"font-weight:400;\">This shows
104
+ how far the integration between disciplinary repositories and the global network
105
+ of PID infrastructures has come over the past years, and how the persistent
106
+ identification of contributors and research artefacts together with infrastructures
107
+ that aggregate, process, and share information about persistently identified
108
+ resources are driving and shaping 21st-century attribution, credit, communication,
109
+ and measurement of scholarly activity.</span></p>\n<p><b>Want to Know More?<br
110
+ />\n</b><span style=\"font-weight:400;\">Readers interested in performing
111
+ an ORCID integration in their own disciplinary repository can find more information
112
+ in our recent report, &#8216;<a href=\"http://doi.org/10.5281/zenodo.58971\">Demonstration
113
+ of Services to Integrate ORCIDs into Data Records and Database Systems</a>&#8216;</span><span
114
+ style=\"font-weight:400;\">. </span></p>\n","doi":"https://doi.org/10.59350/faeph-x4x84","guid":"http://project-thor.eu/?p=664","id":"570c8129-e867-49e6-8517-bd783627e76e","image":null,"indexed_at":1695449798,"language":"en","published_at":1470819639,"reference":[],"relationships":[],"summary":"This
115
+ is the first in a series of posts&nbsp;describing how THOR partners have recently
116
+ integrated ORCID in their disciplinary data repositories. This post describes
117
+ ORCID integration in PANGAEA, the Data Publisher for Earth &amp; Environmental
118
+ Science. PANGAEA is rolling out a new version of its website.","tags":["Uncategorized"],"title":"ORCID
119
+ Integration Series: PANGAEA","updated_at":1470818410,"url":"https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea"}
120
+
121
+ '
122
+ recorded_at: Sat, 04 Nov 2023 15:30:00 GMT
123
+ recorded_with: VCR 6.2.0
@@ -233,7 +233,7 @@ describe Commonmeta::Metadata, vcr: true do
233
233
  subject = described_class.new(input: input)
234
234
  # expect(subject.valid?).to be true
235
235
  expect(subject.id).to eq("https://doi.org/10.59350/faeph-x4x84")
236
- expect(subject.url).to eq("https://web.archive.org/web/20190709153404/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea")
236
+ expect(subject.url).to eq("https://wayback.archive-it.org/22143/20231103191454/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea")
237
237
  expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "570c8129-e867-49e6-8517-bd783627e76e", "alternateIdentifierType" => "UUID" }])
238
238
  expect(subject.type).to eq("Article")
239
239
  expect(subject.contributors.length).to eq(1)
@@ -255,6 +255,7 @@ describe Commonmeta::Metadata, vcr: true do
255
255
  expect(subject.language).to eq("en")
256
256
  expect(subject.funding_references).to eq([{ "awardNumber" => "654039", "funderIdentifier" => "https://doi.org/10.13039/501100007601", "funderIdentifierType"=>"Crossref Funder ID", "funderName" => "European Union’s Horizon 2020 research and innovation programme" }])
257
257
  expect(subject.container).to eq("identifier" => "https://project-thor.eu", "identifierType" => "URL", "title" => "Project THOR", "type" => "Periodical")
258
+ expect(subject.archive_locations).to eq(["Internet Archive"])
258
259
  end
259
260
 
260
261
  it "wordpress post with references" do
@@ -323,6 +323,45 @@ describe Commonmeta::Metadata, vcr: true do
323
323
  expect(crossref_xml.dig("group_title")).to eq("Social sciences")
324
324
  end
325
325
 
326
+ it "json_feed_item from rogue scholar with archived content" do
327
+ input = "https://api.rogue-scholar.org/posts/570c8129-e867-49e6-8517-bd783627e76e"
328
+ subject = described_class.new(input: input)
329
+ # expect(subject.valid?).to be true
330
+ expect(subject.id).to eq("https://doi.org/10.59350/faeph-x4x84")
331
+ expect(subject.url).to eq("https://wayback.archive-it.org/22143/20231103191454/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea")
332
+ expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "570c8129-e867-49e6-8517-bd783627e76e", "alternateIdentifierType" => "UUID" }])
333
+ expect(subject.type).to eq("Article")
334
+ expect(subject.contributors.length).to eq(1)
335
+ expect(subject.contributors.first).to eq("contributorRoles" => ["Author"],
336
+ "type" => "Person",
337
+ "familyName" => "Stocker",
338
+ "givenName" => "Markus",
339
+ "id" => "https://orcid.org/0000-0001-5492-3212")
340
+ expect(subject.titles).to eq([{ "title" => "ORCID Integration Series: PANGAEA" }])
341
+ expect(subject.license).to eq("id" => "CC-BY-4.0",
342
+ "url" => "https://creativecommons.org/licenses/by/4.0/legalcode")
343
+ expect(subject.date).to eq("published" => "2016-08-10", "updated" => "2016-08-10")
344
+ expect(subject.descriptions.first["description"]).to start_with("This is the first in a series of posts describing how THOR partners")
345
+ expect(subject.publisher).to eq("name" => "Project THOR")
346
+ expect(subject.subjects).to eq([{ "subject" => "Computer and information sciences" },
347
+ { "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf",
348
+ "subject" => "FOS: Computer and information sciences",
349
+ "subjectScheme" => "Fields of Science and Technology (FOS)" }])
350
+ expect(subject.language).to eq("en")
351
+ expect(subject.funding_references).to eq([{ "awardNumber" => "654039", "funderIdentifier" => "https://doi.org/10.13039/501100007601", "funderIdentifierType"=>"Crossref Funder ID", "funderName" => "European Union’s Horizon 2020 research and innovation programme" }])
352
+ expect(subject.container).to eq("identifier" => "https://project-thor.eu", "identifierType" => "URL", "title" => "Project THOR", "type" => "Periodical")
353
+ expect(subject.archive_locations).to eq(["Internet Archive"])
354
+ # puts subject.crossref_xml
355
+ crossref_xml = Hash.from_xml(subject.crossref_xml).dig("doi_batch", "body", "posted_content")
356
+ expect(Array.wrap(crossref_xml.dig("contributors", "person_name")).length).to eq(1)
357
+ expect(Array.wrap(crossref_xml.dig("contributors",
358
+ "person_name")).first).to eq("ORCID"=>"https://orcid.org/0000-0001-5492-3212", "contributor_role"=>"author", "given_name"=>"Markus", "sequence"=>"first", "surname"=>"Stocker")
359
+ expect(crossref_xml.dig("titles",
360
+ "title")).to eq("ORCID Integration Series: PANGAEA")
361
+ expect(crossref_xml.dig("item_number")).to eq("__content__" => "570c8129e86749e68517bd783627e76e", "item_number_type" => "uuid")
362
+ expect(crossref_xml.dig("group_title")).to eq("Computer and information sciences")
363
+ end
364
+
326
365
  it "json_feed_item from rogue scholar with relations" do
327
366
  input = "https://api.rogue-scholar.org/posts/8a4de443-3347-4b82-b57d-e3c82b6485fc"
328
367
  subject = described_class.new(input: input, doi: "10.53731/r79v4e1-97aq74v-ag578")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commonmeta-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.1
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-06 00:00:00.000000000 Z
11
+ date: 2023-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -657,7 +657,7 @@ files:
657
657
  - lib/commonmeta/xml_converter.rb
658
658
  - resources/2008/09/xsd.xsl
659
659
  - resources/cff.json
660
- - resources/commonmeta_v0.10.3.json
660
+ - resources/commonmeta_v0.10.4.json
661
661
  - resources/crossref/AccessIndicators.xsd
662
662
  - resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd
663
663
  - resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd
@@ -930,6 +930,7 @@ files:
930
930
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml
931
931
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_plos.yml
932
932
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_anonymous_author.yml
933
+ - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_archived_content.yml
933
934
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_doi.yml
934
935
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_organizational_author.yml
935
936
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/json_feed_item_from_rogue_scholar_with_relations.yml