valkyrie 2.1.2 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +5 -0
- data/.lando.yml +18 -0
- data/CHANGELOG.md +14 -1
- data/Rakefile +5 -0
- data/lib/valkyrie/persistence/fedora/metadata_adapter.rb +5 -1
- data/lib/valkyrie/persistence/fedora/query_service.rb +1 -1
- data/lib/valkyrie/persistence/solr/queries/find_by_alternate_identifier_query.rb +1 -1
- data/lib/valkyrie/persistence/solr/queries/find_by_id_query.rb +1 -1
- data/lib/valkyrie/specs/shared_specs/resource.rb +1 -1
- data/lib/valkyrie/storage/fedora.rb +1 -1
- data/lib/valkyrie/version.rb +1 -1
- data/lib/valkyrie/vocab/pcdm_use.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9562026fbee014b2e1f3076826af96c850373e9ff94eeb1921facbad11edcec
|
4
|
+
data.tar.gz: '0119066f0cf241db23c9a29d7f9501803c669df197bda350f0706d2b2db6120d'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63279c6ea99e08f10dcb8b6aa6cd6fada5d60937852dde46ad08b2923e3d129eb03442be0d4a11640affefeda7367fdabc9d93bb6c90f53b25c71fc12dea7cc4
|
7
|
+
data.tar.gz: cd471fa3caa33b644cca4c5897104225dbdc3fafe0d10a889d102a03e6e5ba74aa9284cd5fc27933ded7c842e2d09f0326d66119290df557f7ca1c29e2c7f2e2
|
data/.circleci/config.yml
CHANGED
@@ -28,11 +28,16 @@ jobs:
|
|
28
28
|
environment:
|
29
29
|
CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
|
30
30
|
JAVA_OPTIONS: "-Djetty.http.port=8998 -Dfcrepo.dynamic.jms.port=61618 -Dfcrepo.dynamic.stomp.port=61614"
|
31
|
+
- image: fcrepo/fcrepo:6.0.0-beta-1
|
32
|
+
environment:
|
33
|
+
CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
|
34
|
+
JAVA_OPTS: "-Djetty.http.port=8978 -Dfcrepo.dynamic.jms.port=61619 -Dfcrepo.dynamic.stomp.port=61615 -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
|
31
35
|
- image: solr:7.7-alpine
|
32
36
|
command: bin/solr -cloud -noprompt -f -p 8994
|
33
37
|
environment:
|
34
38
|
BUNDLE_GEMFILE: << parameters.gemfile >>
|
35
39
|
POSTGRES_PORT: 5432
|
40
|
+
FEDORA_6_PORT: 8080
|
36
41
|
steps:
|
37
42
|
- checkout
|
38
43
|
- run:
|
data/.lando.yml
CHANGED
@@ -38,3 +38,21 @@ services:
|
|
38
38
|
ports:
|
39
39
|
- 8998:8080
|
40
40
|
portforward: true
|
41
|
+
valkyrie_fedora_6:
|
42
|
+
type: compose
|
43
|
+
app_mount: false
|
44
|
+
volumes:
|
45
|
+
fedora6:
|
46
|
+
services:
|
47
|
+
image: fcrepo/fcrepo:6.0.0-beta-1
|
48
|
+
command:
|
49
|
+
- "catalina.sh"
|
50
|
+
- "run"
|
51
|
+
volumes:
|
52
|
+
- fedora6:/data
|
53
|
+
ports:
|
54
|
+
- 8978:8080
|
55
|
+
environment:
|
56
|
+
CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
|
57
|
+
JAVA_OPTS: "-Dfcrepo.dynamic.jms.port=61619 -Dfcrepo.dynamic.stomp.port=61615 -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
|
58
|
+
portforward: true
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,17 @@
|
|
1
|
-
# v2.
|
1
|
+
# v2.2.0 2021-05-06
|
2
|
+
|
3
|
+
## Changes since last release
|
4
|
+
|
5
|
+
* Add support for Fedora 6.
|
6
|
+
[tpendragon](https://github.com/tpendragon)
|
7
|
+
* Deprecate pcdmuse:PreservationMasterFile in favor of pcdmuse:PreservationFile
|
8
|
+
[escowles](https://github.com/escowles)
|
9
|
+
* Improve spec docs for resource.rb
|
10
|
+
[dchandekstark](https://github.com/dchandekstark)
|
11
|
+
* Memoize resource in Solr queries to reduce Solr calls.
|
12
|
+
[dchandekstark](https://github.com/dchandekstark)
|
13
|
+
|
14
|
+
# v2.1.2 2021-04-19
|
2
15
|
|
3
16
|
## Changes since last release
|
4
17
|
|
data/Rakefile
CHANGED
@@ -32,6 +32,11 @@ namespace :db do
|
|
32
32
|
task configure_connection: :configuration do
|
33
33
|
DatabaseConnection.connect!(DATABASE_ENV)
|
34
34
|
ActiveRecord::Base.logger = Logger.new STDOUT if @config['logger']
|
35
|
+
@config = if ::ActiveRecord::Base.configurations.respond_to?(:configs_for)
|
36
|
+
::ActiveRecord::Base.configurations.configs_for(env_name: DATABASE_ENV.to_s)[0]
|
37
|
+
else
|
38
|
+
::ActiveRecord::Base.configurations[DATABASE_ENV.to_s]
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
42
|
desc 'Create the database from db/config.yml for the current DATABASE_ENV'
|
@@ -58,7 +58,7 @@ module Valkyrie::Persistence::Fedora
|
|
58
58
|
# @param [RDF::URI] id the Valkyrie ID
|
59
59
|
# @return [RDF::URI]
|
60
60
|
def id_to_uri(id)
|
61
|
-
prefix =
|
61
|
+
prefix = [5, 6].include?(fedora_version) ? "" : "#{pair_path(id)}/"
|
62
62
|
RDF::URI("#{connection_prefix}/#{prefix}#{CGI.escape(id.to_s)}")
|
63
63
|
end
|
64
64
|
|
@@ -71,6 +71,10 @@ module Valkyrie::Persistence::Fedora
|
|
71
71
|
id.to_s.split(/[-\/]/).first.split("").each_slice(2).map(&:join).join("/")
|
72
72
|
end
|
73
73
|
|
74
|
+
def url_prefix
|
75
|
+
connection.http.url_prefix
|
76
|
+
end
|
77
|
+
|
74
78
|
# Generate the prefix used in HTTP requests to the Fedora RESTful endpoint
|
75
79
|
# @return [String]
|
76
80
|
def connection_prefix
|
@@ -52,7 +52,7 @@ module Valkyrie::Persistence::Fedora
|
|
52
52
|
# @return [Array<RDF::URI>]
|
53
53
|
def include_uris
|
54
54
|
[
|
55
|
-
adapter.fedora_version
|
55
|
+
[5, 6].include?(adapter.fedora_version) ? "http://fedora.info/definitions/fcrepo#PreferInboundReferences" : ::RDF::Vocab::Fcrepo4.InboundReferences
|
56
56
|
]
|
57
57
|
end
|
58
58
|
|
@@ -32,7 +32,7 @@ module Valkyrie::Persistence::Solr::Queries
|
|
32
32
|
# @note the field used here is alternate_ids_ssim and the value is prefixed by "id-"
|
33
33
|
# @return [Hash]
|
34
34
|
def resource
|
35
|
-
connection.get("select", params: { q: "alternate_ids_ssim:\"id-#{alternate_identifier}\"", fl: "*", rows: 1 })["response"]["docs"].first
|
35
|
+
@resource ||= connection.get("select", params: { q: "alternate_ids_ssim:\"id-#{alternate_identifier}\"", fl: "*", rows: 1 })["response"]["docs"].first
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -31,7 +31,7 @@ module Valkyrie::Persistence::Solr::Queries
|
|
31
31
|
# Query Solr for for the first document with the ID in a field
|
32
32
|
# @return [Hash]
|
33
33
|
def resource
|
34
|
-
connection.get("select", params: { q: "id:\"#{id}\"", fl: "*", rows: 1 })["response"]["docs"].first
|
34
|
+
@resource ||= connection.get("select", params: { q: "id:\"#{id}\"", fl: "*", rows: 1 })["response"]["docs"].first
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -37,7 +37,7 @@ module Valkyrie::Storage
|
|
37
37
|
def upload(file:, original_filename:, resource:, content_type: "application/octet-stream", # rubocop:disable Metrics/ParameterLists
|
38
38
|
resource_uri_transformer: default_resource_uri_transformer, **_extra_arguments)
|
39
39
|
identifier = resource_uri_transformer.call(resource, base_url) + '/original'
|
40
|
-
sha1 =
|
40
|
+
sha1 = [5, 6].include?(fedora_version) ? "sha" : "sha1"
|
41
41
|
connection.http.put do |request|
|
42
42
|
request.url identifier
|
43
43
|
request.headers['Content-Type'] = content_type
|
data/lib/valkyrie/version.rb
CHANGED
@@ -39,10 +39,22 @@ module Valkyrie::Vocab
|
|
39
39
|
"rdf:subClassOf": %(http://pcdm.org/resources#File),
|
40
40
|
"rdfs:isDefinedBy": %(pcdmuse:),
|
41
41
|
type: "rdfs:Class"
|
42
|
+
term :PreservationFile,
|
43
|
+
comment: %(Best quality representation of the Object appropriate for long-term
|
44
|
+
preservation.),
|
45
|
+
label: "preservation file",
|
46
|
+
"dct:replaces": %(http://pcdm.org/use#PreservationMasterFile),
|
47
|
+
"rdf:subClassOf": %(http://pcdm.org/resources#File),
|
48
|
+
"rdfs:isDefinedBy": %(pcdmuse:),
|
49
|
+
type: "rdfs:Class"
|
50
|
+
warn "[DEPRECATION] PCDM is deprecating '#{self.class}#PreservationMasterFile'. Use #{self.class}#PreservationFile instead."
|
51
|
+
# @deprecated
|
42
52
|
term :PreservationMasterFile,
|
43
53
|
comment: %(Best quality representation of the Object appropriate for long-term
|
44
54
|
preservation.),
|
45
55
|
label: "preservation master file",
|
56
|
+
"dct:isReplacedBy": %(http://pcdm.org/use#PreservationFile),
|
57
|
+
"owl:deprecated": true,
|
46
58
|
"rdf:subClassOf": %(http://pcdm.org/resources#File),
|
47
59
|
"rdfs:isDefinedBy": %(pcdmuse:),
|
48
60
|
type: "rdfs:Class"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: valkyrie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trey Pendragon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-struct
|