valkyrie 2.1.2 → 2.2.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 +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
|