valkyrie 2.0.1 → 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 +65 -56
- data/.lando.yml +58 -0
- data/.rubocop.yml +4 -1
- data/.tool-versions +1 -1
- data/Appraisals +4 -4
- data/CHANGELOG.md +134 -0
- data/README.md +21 -49
- data/Rakefile +26 -20
- data/db/config.yml +3 -10
- data/db/schema.rb +0 -40
- data/gemfiles/activerecord_5_2.gemfile +2 -0
- data/gemfiles/{activerecord_5_1.gemfile → activerecord_6_0.gemfile} +3 -1
- data/lib/generators/valkyrie/resource_generator.rb +3 -3
- data/lib/valkyrie.rb +33 -15
- data/lib/valkyrie/change_set.rb +3 -3
- data/lib/valkyrie/id.rb +26 -3
- data/lib/valkyrie/indexers/access_controls_indexer.rb +17 -17
- data/lib/valkyrie/logging.rb +72 -0
- data/lib/valkyrie/persistence/composite_persister.rb +1 -1
- data/lib/valkyrie/persistence/fedora.rb +2 -0
- data/lib/valkyrie/persistence/fedora/list_node.rb +46 -49
- data/lib/valkyrie/persistence/fedora/metadata_adapter.rb +7 -3
- data/lib/valkyrie/persistence/fedora/ordered_list.rb +90 -90
- data/lib/valkyrie/persistence/fedora/ordered_reader.rb +5 -5
- data/lib/valkyrie/persistence/fedora/permissive_schema.rb +3 -3
- data/lib/valkyrie/persistence/fedora/persister.rb +82 -83
- data/lib/valkyrie/persistence/fedora/persister/model_converter.rb +15 -15
- data/lib/valkyrie/persistence/fedora/persister/orm_converter.rb +38 -18
- data/lib/valkyrie/persistence/fedora/query_service.rb +55 -54
- data/lib/valkyrie/persistence/memory/persister.rb +33 -33
- data/lib/valkyrie/persistence/memory/query_service.rb +52 -34
- data/lib/valkyrie/persistence/postgres/orm_converter.rb +52 -52
- data/lib/valkyrie/persistence/postgres/query_service.rb +86 -33
- data/lib/valkyrie/persistence/postgres/resource_converter.rb +1 -1
- data/lib/valkyrie/persistence/shared/json_value_mapper.rb +1 -1
- data/lib/valkyrie/persistence/solr/model_converter.rb +337 -337
- data/lib/valkyrie/persistence/solr/orm_converter.rb +3 -3
- data/lib/valkyrie/persistence/solr/persister.rb +4 -17
- data/lib/valkyrie/persistence/solr/queries/find_all_query.rb +6 -0
- 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/persistence/solr/queries/find_members_query.rb +1 -1
- data/lib/valkyrie/persistence/solr/query_service.rb +42 -53
- data/lib/valkyrie/persistence/solr/repository.rb +2 -1
- data/lib/valkyrie/rdf_patches.rb +2 -2
- data/lib/valkyrie/resource.rb +36 -5
- data/lib/valkyrie/specs/shared_specs/change_set.rb +1 -1
- data/lib/valkyrie/specs/shared_specs/persister.rb +13 -5
- data/lib/valkyrie/specs/shared_specs/queries.rb +112 -9
- data/lib/valkyrie/specs/shared_specs/resource.rb +1 -1
- data/lib/valkyrie/storage/fedora.rb +18 -18
- data/lib/valkyrie/storage_adapter.rb +16 -13
- data/lib/valkyrie/types.rb +3 -1
- data/lib/valkyrie/version.rb +1 -1
- data/lib/valkyrie/vocab/pcdm_use.rb +12 -0
- data/solr/config/solrconfig.xml +0 -10
- data/tasks/dev.rake +14 -51
- data/valkyrie.gemspec +4 -4
- metadata +38 -35
- data/.docker-stack/valkyrie-development/docker-compose.yml +0 -53
- data/.docker-stack/valkyrie-test/docker-compose.yml +0 -53
- data/db/seeds.rb +0 -8
- data/tasks/docker.rake +0 -31
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
@@ -2,7 +2,6 @@
|
|
2
2
|
version: 2.1
|
3
3
|
jobs:
|
4
4
|
build:
|
5
|
-
machine: true
|
6
5
|
parameters:
|
7
6
|
gemfile:
|
8
7
|
description: "Gemfile to run"
|
@@ -10,34 +9,49 @@ jobs:
|
|
10
9
|
type: "string"
|
11
10
|
ruby:
|
12
11
|
description: "Ruby version"
|
13
|
-
default: "2.6.
|
12
|
+
default: "2.6.5"
|
14
13
|
type: "string"
|
14
|
+
docker:
|
15
|
+
- image: circleci/ruby:<< parameters.ruby >>-node-browsers
|
16
|
+
environment:
|
17
|
+
RAILS_ENV: test
|
18
|
+
- image: postgres:10.6-alpine
|
19
|
+
environment:
|
20
|
+
POSTGRES_USER: postgres
|
21
|
+
POSTGRES_DB: Valkyrie_gem_test
|
22
|
+
POSTGRES_HOST_AUTH_METHOD: trust
|
23
|
+
- image: samvera/fcrepo4:4.7.5
|
24
|
+
environment:
|
25
|
+
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"
|
26
|
+
JAVA_OPTIONS: "-Djetty.http.port=8988"
|
27
|
+
- image: samvera/fcrepo4:5.1.0
|
28
|
+
environment:
|
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
|
+
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"
|
35
|
+
- image: solr:7.7-alpine
|
36
|
+
command: bin/solr -cloud -noprompt -f -p 8994
|
15
37
|
environment:
|
16
38
|
BUNDLE_GEMFILE: << parameters.gemfile >>
|
39
|
+
POSTGRES_PORT: 5432
|
40
|
+
FEDORA_6_PORT: 8080
|
17
41
|
steps:
|
18
42
|
- checkout
|
19
43
|
- run:
|
20
|
-
name:
|
21
|
-
command:
|
22
|
-
rvm install << parameters.ruby >>
|
23
|
-
echo . $(rvm << parameters.ruby >> do rvm env --path) >> $BASH_ENV
|
24
|
-
- run:
|
25
|
-
shell: /bin/bash -l
|
26
|
-
name: Uninstall global Bundler
|
27
|
-
command: |
|
28
|
-
rvm use << parameters.ruby >>
|
29
|
-
rvm gemset use global
|
30
|
-
gem uninstall bundler -x
|
31
|
-
echo Uninstalled
|
44
|
+
name: Wait for solr
|
45
|
+
command: dockerize -wait tcp://localhost:8994 -timeout 1m
|
32
46
|
- run:
|
33
|
-
name:
|
47
|
+
name: Load config into solr
|
34
48
|
command: |
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
49
|
+
cd solr/config
|
50
|
+
zip -1 -r solr_config.zip ./*
|
51
|
+
curl -H "Content-type:application/octet-stream" --data-binary @solr_config.zip "http://localhost:8994/solr/admin/configs?action=UPLOAD&name=valkyrie"
|
52
|
+
curl -H 'Content-type: application/json' http://localhost:8994/api/collections/ -d '{create: {name: valkyrie-core-test, config: valkyrie, numShards: 1}}'
|
53
|
+
# Install Bundler
|
54
|
+
- run: gem install bundler -v '~> 2.0'
|
41
55
|
- restore_cache:
|
42
56
|
keys:
|
43
57
|
- bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-6
|
@@ -57,9 +71,12 @@ jobs:
|
|
57
71
|
- run:
|
58
72
|
name: Run Rubocop
|
59
73
|
command: bundle exec rake rubocop
|
74
|
+
- run:
|
75
|
+
name: Set up database
|
76
|
+
command: bundle exec rake db:migrate
|
60
77
|
- run:
|
61
78
|
name: Run Specs
|
62
|
-
command: bundle exec
|
79
|
+
command: bundle exec rspec spec
|
63
80
|
- store_artifacts:
|
64
81
|
path: coverage
|
65
82
|
destination: coverage
|
@@ -68,29 +85,25 @@ workflows:
|
|
68
85
|
build:
|
69
86
|
jobs:
|
70
87
|
- build:
|
71
|
-
gemfile: "gemfiles/
|
72
|
-
ruby: 2.
|
73
|
-
name: "Ruby2-
|
88
|
+
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
89
|
+
ruby: 2.7.0
|
90
|
+
name: "Ruby2-7_Rails6-0"
|
74
91
|
- build:
|
75
|
-
gemfile: "gemfiles/
|
76
|
-
ruby: 2.6.
|
77
|
-
name: "Ruby2-
|
92
|
+
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
93
|
+
ruby: 2.6.5
|
94
|
+
name: "Ruby2-6_Rails6-0"
|
78
95
|
- build:
|
79
96
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
80
|
-
ruby: 2.
|
81
|
-
name: "Ruby2-
|
82
|
-
- build:
|
83
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
84
|
-
ruby: 2.5.5
|
85
|
-
name: "Ruby2-5_Rails5-1"
|
97
|
+
ruby: 2.7.0
|
98
|
+
name: "Ruby2-7_Rails5-2"
|
86
99
|
- build:
|
87
100
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
88
|
-
ruby: 2.
|
89
|
-
name: "Ruby2-
|
101
|
+
ruby: 2.6.5
|
102
|
+
name: "Ruby2-6_Rails5-2"
|
90
103
|
- build:
|
91
|
-
gemfile: "gemfiles/
|
92
|
-
ruby: 2.
|
93
|
-
name: "Ruby2-
|
104
|
+
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
105
|
+
ruby: 2.5.7
|
106
|
+
name: "Ruby2-5_Rails5-2"
|
94
107
|
nightly:
|
95
108
|
triggers:
|
96
109
|
- schedule:
|
@@ -101,26 +114,22 @@ workflows:
|
|
101
114
|
- master
|
102
115
|
jobs:
|
103
116
|
- build:
|
104
|
-
gemfile: "gemfiles/
|
105
|
-
ruby: 2.
|
106
|
-
name: "Ruby2-
|
117
|
+
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
118
|
+
ruby: 2.7.0
|
119
|
+
name: "Ruby2-7_Rails6-0"
|
107
120
|
- build:
|
108
|
-
gemfile: "gemfiles/
|
109
|
-
ruby: 2.6.
|
110
|
-
name: "Ruby2-
|
121
|
+
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
122
|
+
ruby: 2.6.5
|
123
|
+
name: "Ruby2-6_Rails6-0"
|
111
124
|
- build:
|
112
125
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
113
|
-
ruby: 2.
|
114
|
-
name: "Ruby2-
|
115
|
-
- build:
|
116
|
-
gemfile: "gemfiles/activerecord_5_1.gemfile"
|
117
|
-
ruby: 2.5.5
|
118
|
-
name: "Ruby2-5_Rails5-1"
|
126
|
+
ruby: 2.7.0
|
127
|
+
name: "Ruby2-7_Rails5-2"
|
119
128
|
- build:
|
120
129
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
121
|
-
ruby: 2.
|
122
|
-
name: "Ruby2-
|
130
|
+
ruby: 2.6.5
|
131
|
+
name: "Ruby2-6_Rails5-2"
|
123
132
|
- build:
|
124
|
-
gemfile: "gemfiles/
|
125
|
-
ruby: 2.
|
126
|
-
name: "Ruby2-
|
133
|
+
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
134
|
+
ruby: 2.5.7
|
135
|
+
name: "Ruby2-5_Rails5-2"
|
data/.lando.yml
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
name: valkyrie
|
2
|
+
app_mount: false
|
3
|
+
services:
|
4
|
+
valkyrie_test_solr_7:
|
5
|
+
app_mount: false
|
6
|
+
type: solr:7
|
7
|
+
portforward: 8994
|
8
|
+
core: valkyrie-core-test
|
9
|
+
config:
|
10
|
+
dir: solr/config
|
11
|
+
valkyrie_database:
|
12
|
+
app_mount: false
|
13
|
+
type: postgres:10
|
14
|
+
portforward: 5433
|
15
|
+
valkyrie_fedora_4:
|
16
|
+
type: compose
|
17
|
+
app_mount: false
|
18
|
+
volumes:
|
19
|
+
fedora4:
|
20
|
+
services:
|
21
|
+
image: samvera/fcrepo4:4.7.5
|
22
|
+
command: /fedora-entrypoint.sh
|
23
|
+
volumes:
|
24
|
+
- fedora4:/data
|
25
|
+
ports:
|
26
|
+
- 8988:8080
|
27
|
+
portforward: true
|
28
|
+
valkyrie_fedora_5:
|
29
|
+
type: compose
|
30
|
+
app_mount: false
|
31
|
+
volumes:
|
32
|
+
fedora5:
|
33
|
+
services:
|
34
|
+
image: samvera/fcrepo4:5.1.0
|
35
|
+
command: /fedora-entrypoint.sh
|
36
|
+
volumes:
|
37
|
+
- fedora5:/data
|
38
|
+
ports:
|
39
|
+
- 8998:8080
|
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/.rubocop.yml
CHANGED
@@ -4,7 +4,6 @@ inherit_gem:
|
|
4
4
|
bixby: bixby_default.yml
|
5
5
|
AllCops:
|
6
6
|
DisplayCopNames: true
|
7
|
-
TargetRubyVersion: 2.3
|
8
7
|
Exclude:
|
9
8
|
- 'bin/*'
|
10
9
|
- 'db/schema.rb'
|
@@ -26,6 +25,10 @@ RSpec/MultipleExpectations:
|
|
26
25
|
Enabled: false
|
27
26
|
Rails/TimeZone:
|
28
27
|
Enabled: false
|
28
|
+
Rails/RakeEnvironment:
|
29
|
+
Enabled: false
|
30
|
+
Rails/ApplicationRecord:
|
31
|
+
Enabled: false
|
29
32
|
Naming/PredicateName:
|
30
33
|
Exclude:
|
31
34
|
- "lib/valkyrie/resource.rb"
|
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 2.
|
1
|
+
ruby 2.6.6
|
data/Appraisals
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
appraise "activerecord-
|
3
|
-
gem "activerecord", "~>
|
2
|
+
appraise "activerecord-6-0" do
|
3
|
+
gem "activerecord", "~> 6.0.0"
|
4
4
|
end
|
5
5
|
|
6
|
-
appraise "activerecord-5-
|
7
|
-
gem "activerecord", "~> 5.
|
6
|
+
appraise "activerecord-5-2" do
|
7
|
+
gem "activerecord", "~> 5.2.0"
|
8
8
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,137 @@
|
|
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
|
15
|
+
|
16
|
+
## Changes since last release
|
17
|
+
|
18
|
+
* Tighten reform dependency
|
19
|
+
[tpendragon](https://github.com/tpendragon)
|
20
|
+
* Loosen RDF Dependency
|
21
|
+
[no-reply](https://github.com/no-reply)
|
22
|
+
* Update development ruby version in .tool-versions
|
23
|
+
[hackartisan](https://github.com/hackartisan)
|
24
|
+
* Use Lando for development
|
25
|
+
[tpendragon](https://github.com/tpendragon)
|
26
|
+
* Deprecate Blacklist in favor of Denylist.
|
27
|
+
[jeremyf](https://github.com/jeremyf)
|
28
|
+
* Make DateTime handling in Fedora/Solr persisters consistent with others.
|
29
|
+
[hcayless](https://github.com/hcayless)
|
30
|
+
* Add open-ended Rake support.
|
31
|
+
[no-reply](https://github.com/no-reply)
|
32
|
+
|
33
|
+
Additional thanks to the following for code review and issue reports leading to
|
34
|
+
this release:
|
35
|
+
|
36
|
+
[cjcolvar](https://github.com/cjcolvar)
|
37
|
+
[escowles](https://github.com/escowles)
|
38
|
+
[jeremyf](https://github.com/jeremyf)
|
39
|
+
|
40
|
+
# v2.1.1 2020-03-12
|
41
|
+
|
42
|
+
## Changes since last release
|
43
|
+
|
44
|
+
* Add Ruby 2.7 support.
|
45
|
+
[tpendragon](https://github.com/tpendragon)
|
46
|
+
* Make ID & String equality symmetrical
|
47
|
+
[no-reply](https://github.com/no-reply)
|
48
|
+
|
49
|
+
Additional thanks to the following for code review and issue reports leading to
|
50
|
+
this release:
|
51
|
+
|
52
|
+
[cjcolvar](https://github.com/cjcolvar)
|
53
|
+
[escowles](https://github.com/escowles)
|
54
|
+
[jeremyf](https://github.com/jeremyf)
|
55
|
+
|
56
|
+
# v2.1.0 2020-01-09
|
57
|
+
|
58
|
+
## Changes since last release
|
59
|
+
|
60
|
+
* Use `::` prefixed names for `JSON::LD` references.
|
61
|
+
[no-reply](https://github.com/no-reply)
|
62
|
+
* Use SVG instead of PNG for version badge.
|
63
|
+
[hackmastera](https://github.com/hackmastera)
|
64
|
+
* Fix Rubocop for latest Bixby.
|
65
|
+
[hackmastera](https://github.com/hackmastera)
|
66
|
+
* Valkyrie IDs equal string equivalent of ID to String with config
|
67
|
+
[jlevnhv](https://github.com/jlevnhv)
|
68
|
+
* Add optional model parameter to find_inverse_references_by and
|
69
|
+
find_references_by
|
70
|
+
[elrayle](https://github.com/elrayle)
|
71
|
+
[laritakr](https://github.com/laritakr)
|
72
|
+
* Add parity in schema.key lookup for `ordered_attribute?`
|
73
|
+
[jeremyf](https://github.com/jeremyf)
|
74
|
+
* Order member_ids when using schema-style attributes method.
|
75
|
+
[no-reply](https://github.com/no-reply)
|
76
|
+
* Use DEFAULT_FEDORA_VERSION constant for Fedora adapter.
|
77
|
+
[no-reply](https://github.com/no-reply)
|
78
|
+
* Stop testing ActiveRecord 5.1
|
79
|
+
[scherztc](https://github.com/scherztc)
|
80
|
+
* Rename ListNode#target_uri to ListNode#target
|
81
|
+
[mbklein](https://github.com/mbklein)
|
82
|
+
* Document that Solr Persister is intended to be used as a secondary persister.
|
83
|
+
[hweng](https://github.com/hweng)
|
84
|
+
* Remove unused database tables from schema.rb
|
85
|
+
[scherztc](https://github.com/scherztc)
|
86
|
+
* Alternate Identifier documentation
|
87
|
+
[escowles](https://github.com/escowles)
|
88
|
+
* Remove suggest component in example Solr Config
|
89
|
+
[hweng](https://github.com/hweng)
|
90
|
+
* Remove unused db/seeds.rb
|
91
|
+
[scherztc](https://github.com/scherztc)
|
92
|
+
* Replace YARD Doc for Solr adapter with references to Memory Adapter.
|
93
|
+
[afred](https://github.com/afred)
|
94
|
+
* Refactor shadowed variable in buffered persister spec.
|
95
|
+
[jeremyf](https://github.com/jeremyf)
|
96
|
+
* Use example.com instead of made-up URLs
|
97
|
+
[escowles](https://github.com/escowles)
|
98
|
+
* Add count_all_of_model query
|
99
|
+
[christinach](https://github.com/christinach)
|
100
|
+
[blancoj](https://github.com/blancoj)
|
101
|
+
* Raise an error when unable to find a StorageAdapter
|
102
|
+
[bkiahstroud](https://github.com/bkiahstroud)
|
103
|
+
[FCRodriguez7](https://github.com/FCRodriguez7)
|
104
|
+
[kcompsci](https://github.com/kcompsci)
|
105
|
+
* Allow find_inverse_reference_by property to be either ordered or not.
|
106
|
+
[elrayle](https://github.com/elrayle)
|
107
|
+
* Randomized spec order
|
108
|
+
[jeremyf](https://github.com/jeremyf)
|
109
|
+
* Allow Valkyrie logging to be tagged with a context and suppressed.
|
110
|
+
[jeremyf](https://github.com/jeremyf)
|
111
|
+
* Fix documentation for Valkyrie::Persister::Memory being disassociated.
|
112
|
+
[jeremyf](https://github.com/jeremyf)
|
113
|
+
* Suppress Solr warnings in tests.
|
114
|
+
[jeremyf](https://github.com/jeremyf)
|
115
|
+
* Add `Valkyrie::Types::Relation` and `Valkyrie::Types::OrderedRelation`
|
116
|
+
[luisgreg99](https://github.com/luisgreg99)
|
117
|
+
[lsat12357](https://github.com/lsat12357)
|
118
|
+
[foglabs](https://github.com/foglabs)
|
119
|
+
[dgcliff](https://github.com/dgcliff)
|
120
|
+
|
121
|
+
# v2.0.2 2019-10-17
|
122
|
+
|
123
|
+
## Changes since last release
|
124
|
+
|
125
|
+
* Fix nil not persisting with the ActiveRecord adapter.
|
126
|
+
[tpendragon](https://github.com/tpendragon)
|
127
|
+
* Define setters when building a Resource schema with `.attributes`
|
128
|
+
[no-reply](https://github.com/no-reply)
|
129
|
+
|
130
|
+
Additional thanks to the following for code review and issue reports leading to
|
131
|
+
this release:
|
132
|
+
|
133
|
+
[coblej](https://github.com/coblej)
|
134
|
+
|
1
135
|
# v2.0.1 2019-07-03
|
2
136
|
|
3
137
|
## Changes since last release
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Valkyrie is a gem for enabling multiple backends for storage of files and metada
|
|
4
4
|
|
5
5
|
![Valkyrie Logo](valkyrie_logo.png)
|
6
6
|
|
7
|
-
Code: [![Version](https://badge.fury.io/rb/valkyrie.
|
7
|
+
Code: [![Gem Version](https://badge.fury.io/rb/valkyrie.svg)](https://badge.fury.io/rb/valkyrie)
|
8
8
|
[![Build Status](https://circleci.com/gh/samvera/valkyrie.svg?style=svg)](https://circleci.com/gh/samvera/valkyrie)
|
9
9
|
![Coverage Status](https://img.shields.io/badge/Coverage-100-brightgreen.svg)
|
10
10
|
|
@@ -107,7 +107,7 @@ The initializer registers four `Valkyrie::MetadataAdapter` instances for storing
|
|
107
107
|
* `:memory` which stores metadata in an in-memory cache (this cache is not persistent, so it is only
|
108
108
|
appropriate for testing).
|
109
109
|
* `:postgres` which stores metadata in a PostgreSQL database.
|
110
|
-
* `:solr` which stores metadata in a Solr Index.
|
110
|
+
* `:solr` which stores metadata in a Solr Index (Solr Persister issues a warning if it has to generate an ID for a new resource because it is intended to be used as a secondary persister).
|
111
111
|
|
112
112
|
Other adapter options include `Valkyrie::Persistence::BufferedPersister` for buffering in memory before bulk
|
113
113
|
updating another persister, `Valkyrie::Persistence::CompositePersister` for storing in more than one adapter
|
@@ -252,53 +252,25 @@ config. If Fedora requires auth, you can also include that in the URL, e.g.:
|
|
252
252
|
|
253
253
|
## Installing a Development environment
|
254
254
|
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
shell to run them in the foreground)
|
275
|
-
1. Run `rake db:create db:migrate` to initialize the database
|
276
|
-
1. Develop!
|
277
|
-
1. Run `rake docker:dev:down` to stop the server stack
|
278
|
-
* Development servers maintain data between runs. To clean them out, run `rake docker:dev:clean`
|
279
|
-
|
280
|
-
#### To run the test suite with all dependencies in one go
|
281
|
-
1. `rake docker:spec`
|
282
|
-
|
283
|
-
#### To run the test suite manually
|
284
|
-
1. Start Solr, Fedora, and PostgreSQL with `rake docker:test:daemon` (or `rake docker:test:up` in a separate
|
285
|
-
shell to run them in the foreground)
|
286
|
-
1. Run `rake db:create db:migrate` to initialize the database
|
287
|
-
1. Run the gem's RSpec test suite with `rspec spec` or `rake`
|
288
|
-
1. Run `rake docker:test:down` to stop the server stack
|
289
|
-
* The test stack cleans up after itself on exit.
|
290
|
-
|
291
|
-
### Without Docker
|
292
|
-
|
293
|
-
#### External Requirements
|
294
|
-
* PostgreSQL with the uuid-ossp extension.
|
295
|
-
* Note: Enabling uuid-ossp requires database superuser privileges.
|
296
|
-
* From `psql`: `alter user [username] with superuser;`
|
297
|
-
|
298
|
-
#### To run the test suite
|
299
|
-
1. Start Solr and Fedora servers for testing with `rake server:test`
|
300
|
-
1. Run `rake db:create` (First time only)
|
301
|
-
1. Run `rake db:migrate`
|
255
|
+
For ease of development we use Lando to abstract away some complications of
|
256
|
+
using Docker containers for development.
|
257
|
+
|
258
|
+
### Running Tests
|
259
|
+
|
260
|
+
1. Install the latest released > 3.0 version of Lando from [here](https://github.com/lando/lando/releases).
|
261
|
+
2. `bundle install`
|
262
|
+
3. `bundle exec rake server:start`
|
263
|
+
4. `bundle exec rspec spec`
|
264
|
+
|
265
|
+
### Cleaning Data
|
266
|
+
|
267
|
+
1. `bundle exec rake server:clean`
|
268
|
+
|
269
|
+
### Stopping Servers
|
270
|
+
|
271
|
+
1. `bundle exec rake server:stop`
|
272
|
+
|
273
|
+
You can also run `lando poweroff` from anywhere.
|
302
274
|
|
303
275
|
## Acknowledgments
|
304
276
|
|