valkyrie 2.1.0 → 3.0.0.pre.beta.1
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 +71 -36
- data/.lando.yml +58 -0
- data/.rubocop.yml +11 -1
- data/.tool-versions +1 -1
- data/CHANGELOG.md +94 -13
- data/CONTRIBUTING.md +30 -8
- data/README.md +24 -48
- data/Rakefile +26 -20
- data/db/config.yml +3 -10
- data/lib/generators/valkyrie/resource_generator.rb +3 -3
- data/lib/valkyrie/change_set.rb +3 -3
- data/lib/valkyrie/id.rb +12 -19
- data/lib/valkyrie/indexers/access_controls_indexer.rb +17 -17
- data/lib/valkyrie/persistence/buffered_persister.rb +2 -2
- data/lib/valkyrie/persistence/composite_persister.rb +3 -3
- data/lib/valkyrie/persistence/custom_query_container.rb +8 -16
- data/lib/valkyrie/persistence/fedora/list_node.rb +43 -43
- data/lib/valkyrie/persistence/fedora/metadata_adapter.rb +5 -1
- 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 +1 -1
- data/lib/valkyrie/persistence/fedora/persister/model_converter.rb +15 -16
- data/lib/valkyrie/persistence/fedora/persister/orm_converter.rb +14 -19
- data/lib/valkyrie/persistence/fedora/persister.rb +83 -83
- data/lib/valkyrie/persistence/fedora/query_service.rb +39 -41
- data/lib/valkyrie/persistence/memory/persister.rb +51 -35
- data/lib/valkyrie/persistence/memory/query_service.rb +26 -30
- data/lib/valkyrie/persistence/postgres/orm_converter.rb +52 -52
- data/lib/valkyrie/persistence/postgres/persister.rb +4 -1
- data/lib/valkyrie/persistence/postgres/query_service.rb +34 -34
- data/lib/valkyrie/persistence/shared/json_value_mapper.rb +1 -1
- data/lib/valkyrie/persistence/solr/metadata_adapter.rb +15 -3
- data/lib/valkyrie/persistence/solr/model_converter.rb +323 -340
- data/lib/valkyrie/persistence/solr/orm_converter.rb +4 -4
- data/lib/valkyrie/persistence/solr/persister.rb +16 -4
- 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 +12 -12
- data/lib/valkyrie/persistence/solr/repository.rb +17 -7
- data/lib/valkyrie/resource/access_controls.rb +1 -1
- data/lib/valkyrie/resource.rb +0 -1
- data/lib/valkyrie/specs/shared_specs/change_set.rb +1 -1
- data/lib/valkyrie/specs/shared_specs/file.rb +1 -0
- data/lib/valkyrie/specs/shared_specs/persister.rb +22 -4
- data/lib/valkyrie/specs/shared_specs/queries.rb +7 -0
- data/lib/valkyrie/specs/shared_specs/resource.rb +1 -1
- data/lib/valkyrie/specs/shared_specs/storage_adapter.rb +19 -0
- data/lib/valkyrie/specs/shared_specs/write_only/metadata_adapter.rb +62 -0
- data/lib/valkyrie/specs/shared_specs.rb +2 -0
- data/lib/valkyrie/storage/disk.rb +24 -1
- data/lib/valkyrie/storage/fedora.rb +17 -17
- data/lib/valkyrie/storage_adapter.rb +12 -12
- data/lib/valkyrie/types.rb +1 -1
- data/lib/valkyrie/version.rb +1 -1
- data/lib/valkyrie/vocab/pcdm_use.rb +12 -0
- data/lib/valkyrie.rb +13 -27
- data/tasks/dev.rake +14 -51
- data/valkyrie.gemspec +3 -6
- metadata +25 -63
- data/.docker-stack/valkyrie-development/docker-compose.yml +0 -53
- data/.docker-stack/valkyrie-test/docker-compose.yml +0 -53
- 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: 240eb74a4be15202ae2036ac9a0067b1aadc23e65ad583638b6cd2874540a845
|
4
|
+
data.tar.gz: 65568d10c48dcadbee70bff7c23360a6e0b149f874b5ebe493b5770afb6e4362
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29b4ebfb067823191dfb2ca74151765ad8157f2c4b7b89cbecaf882e8e6f32eded31fdfb326ca198192e50574a562f8582205bab921d248707f2993b31960528
|
7
|
+
data.tar.gz: 1fc174038d3baac66d35e431211ed83e38d2531395f86ecfeee106a612631d42a1f2fa11fe55a561617d3a23561763707100c701a73a06147db11bb073a60636
|
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,38 +9,63 @@ 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
|
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
|
43
|
+
|
19
44
|
- run:
|
20
|
-
name:
|
45
|
+
name: Check for 'master' branch
|
21
46
|
command: |
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
rvm use << parameters.ruby >>
|
29
|
-
rvm gemset use global
|
30
|
-
gem uninstall bundler -x
|
31
|
-
echo Uninstalled
|
47
|
+
git fetch --all --quiet --prune --prune-tags
|
48
|
+
if [[ -n "$(git branch --all --list master */master)" ]]; then
|
49
|
+
echo "A branch named 'master' was found. Please remove it."
|
50
|
+
echo "$(git branch --all --list master */master)"
|
51
|
+
fi
|
52
|
+
[[ -z "$(git branch --all --list master */master)" ]]
|
32
53
|
- run:
|
33
|
-
name:
|
34
|
-
command:
|
35
|
-
curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
|
36
|
-
chmod +x ~/docker-compose
|
37
|
-
sudo mv ~/docker-compose /usr/local/bin/docker-compose
|
54
|
+
name: Wait for solr
|
55
|
+
command: dockerize -wait tcp://localhost:8994 -timeout 1m
|
38
56
|
- run:
|
39
|
-
name:
|
40
|
-
command:
|
57
|
+
name: Load config into solr
|
58
|
+
command: |
|
59
|
+
cd solr/config
|
60
|
+
zip -1 -r solr_config.zip ./*
|
61
|
+
curl -H "Content-type:application/octet-stream" --data-binary @solr_config.zip "http://localhost:8994/solr/admin/configs?action=UPLOAD&name=valkyrie"
|
62
|
+
curl -H 'Content-type: application/json' http://localhost:8994/api/collections/ -d '{create: {name: valkyrie-core-test, config: valkyrie, numShards: 1}}'
|
63
|
+
# Install Bundler
|
64
|
+
- run: gem install bundler -v '~> 2.0'
|
41
65
|
- restore_cache:
|
42
66
|
keys:
|
43
67
|
- bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-6
|
44
|
-
- run: sudo apt
|
68
|
+
- run: sudo apt update -y && sudo apt-get install -y libpq-dev lsof
|
45
69
|
- run:
|
46
70
|
name: Set BUNDLE_GEMFILE
|
47
71
|
command: |
|
@@ -57,9 +81,12 @@ jobs:
|
|
57
81
|
- run:
|
58
82
|
name: Run Rubocop
|
59
83
|
command: bundle exec rake rubocop
|
84
|
+
- run:
|
85
|
+
name: Set up database
|
86
|
+
command: bundle exec rake db:migrate
|
60
87
|
- run:
|
61
88
|
name: Run Specs
|
62
|
-
command: bundle exec
|
89
|
+
command: bundle exec rspec spec
|
63
90
|
- store_artifacts:
|
64
91
|
path: coverage
|
65
92
|
destination: coverage
|
@@ -69,20 +96,24 @@ workflows:
|
|
69
96
|
jobs:
|
70
97
|
- build:
|
71
98
|
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
72
|
-
ruby: 2.
|
99
|
+
ruby: 2.7.0
|
100
|
+
name: "Ruby2-7_Rails6-0"
|
101
|
+
- build:
|
102
|
+
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
103
|
+
ruby: 2.6.5
|
73
104
|
name: "Ruby2-6_Rails6-0"
|
74
105
|
- build:
|
75
106
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
76
|
-
ruby: 2.
|
77
|
-
name: "Ruby2-
|
107
|
+
ruby: 2.7.0
|
108
|
+
name: "Ruby2-7_Rails5-2"
|
78
109
|
- build:
|
79
110
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
80
|
-
ruby: 2.
|
81
|
-
name: "Ruby2-
|
111
|
+
ruby: 2.6.5
|
112
|
+
name: "Ruby2-6_Rails5-2"
|
82
113
|
- build:
|
83
114
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
84
|
-
ruby: 2.
|
85
|
-
name: "Ruby2-
|
115
|
+
ruby: 2.5.7
|
116
|
+
name: "Ruby2-5_Rails5-2"
|
86
117
|
nightly:
|
87
118
|
triggers:
|
88
119
|
- schedule:
|
@@ -94,17 +125,21 @@ workflows:
|
|
94
125
|
jobs:
|
95
126
|
- build:
|
96
127
|
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
97
|
-
ruby: 2.
|
128
|
+
ruby: 2.7.0
|
129
|
+
name: "Ruby2-7_Rails6-0"
|
130
|
+
- build:
|
131
|
+
gemfile: "gemfiles/activerecord_6_0.gemfile"
|
132
|
+
ruby: 2.6.5
|
98
133
|
name: "Ruby2-6_Rails6-0"
|
99
134
|
- build:
|
100
135
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
101
|
-
ruby: 2.
|
102
|
-
name: "Ruby2-
|
136
|
+
ruby: 2.7.0
|
137
|
+
name: "Ruby2-7_Rails5-2"
|
103
138
|
- build:
|
104
139
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
105
|
-
ruby: 2.
|
106
|
-
name: "Ruby2-
|
140
|
+
ruby: 2.6.5
|
141
|
+
name: "Ruby2-6_Rails5-2"
|
107
142
|
- build:
|
108
143
|
gemfile: "gemfiles/activerecord_5_2.gemfile"
|
109
|
-
ruby: 2.
|
110
|
-
name: "Ruby2-
|
144
|
+
ruby: 2.5.7
|
145
|
+
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
|
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"
|
@@ -36,3 +39,10 @@ Naming/FileName:
|
|
36
39
|
Exclude:
|
37
40
|
- 'Appraisals'
|
38
41
|
- 'Gemfile'
|
42
|
+
Metrics/MethodLength:
|
43
|
+
Exclude:
|
44
|
+
- 'lib/valkyrie/persistence/postgres/persister.rb'
|
45
|
+
- 'lib/valkyrie/persistence/fedora/persister.rb'
|
46
|
+
Metrics/CyclomaticComplexity:
|
47
|
+
Exclude:
|
48
|
+
- 'lib/valkyrie/persistence/postgres/persister.rb'
|
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 2.
|
1
|
+
ruby 2.6.6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,84 @@
|
|
1
|
+
# v3.0.0.beta1 2021-10-18
|
2
|
+
|
3
|
+
## Changes since last release
|
4
|
+
|
5
|
+
* More informative NoMethodError for missing custom queries.
|
6
|
+
[no-reply](https://github.com/no-reply)
|
7
|
+
* Persisters error if you save something which existed at query time, but has
|
8
|
+
since been deleted.
|
9
|
+
* Shared write-only persisters.
|
10
|
+
* Solr ModelConverter performance.
|
11
|
+
* Don't hold open a file handle from StorageAdapter#upload/find_by
|
12
|
+
* Files can be #close'd.
|
13
|
+
* Remove Draper
|
14
|
+
* Remove deprecated string equality function.
|
15
|
+
* Remove deprecated BlacklistedValue.
|
16
|
+
* Allow reform upgrade to 2.6.
|
17
|
+
* Don't require a specific error message in shared specs
|
18
|
+
[tpendragon](https://github.com/tpendragon)
|
19
|
+
|
20
|
+
Additional thanks to the following for code review and issue reports leading to
|
21
|
+
this release:
|
22
|
+
|
23
|
+
[hackartisan](https://github.com/hackartisan)
|
24
|
+
[eliotjordan](https://github.com/eliotjordan)
|
25
|
+
|
26
|
+
|
27
|
+
# v2.2.0 2021-05-06
|
28
|
+
|
29
|
+
## Changes since last release
|
30
|
+
|
31
|
+
* Add support for Fedora 6.
|
32
|
+
[tpendragon](https://github.com/tpendragon)
|
33
|
+
* Deprecate pcdmuse:PreservationMasterFile in favor of pcdmuse:PreservationFile
|
34
|
+
[escowles](https://github.com/escowles)
|
35
|
+
* Improve spec docs for resource.rb
|
36
|
+
[dchandekstark](https://github.com/dchandekstark)
|
37
|
+
* Memoize resource in Solr queries to reduce Solr calls.
|
38
|
+
[dchandekstark](https://github.com/dchandekstark)
|
39
|
+
|
40
|
+
# v2.1.2 2021-04-19
|
41
|
+
|
42
|
+
## Changes since last release
|
43
|
+
|
44
|
+
* Tighten reform dependency
|
45
|
+
[tpendragon](https://github.com/tpendragon)
|
46
|
+
* Loosen RDF Dependency
|
47
|
+
[no-reply](https://github.com/no-reply)
|
48
|
+
* Update development ruby version in .tool-versions
|
49
|
+
[hackartisan](https://github.com/hackartisan)
|
50
|
+
* Use Lando for development
|
51
|
+
[tpendragon](https://github.com/tpendragon)
|
52
|
+
* Deprecate Blacklist in favor of Denylist.
|
53
|
+
[jeremyf](https://github.com/jeremyf)
|
54
|
+
* Make DateTime handling in Fedora/Solr persisters consistent with others.
|
55
|
+
[hcayless](https://github.com/hcayless)
|
56
|
+
* Add open-ended Rake support.
|
57
|
+
[no-reply](https://github.com/no-reply)
|
58
|
+
|
59
|
+
Additional thanks to the following for code review and issue reports leading to
|
60
|
+
this release:
|
61
|
+
|
62
|
+
[cjcolvar](https://github.com/cjcolvar)
|
63
|
+
[escowles](https://github.com/escowles)
|
64
|
+
[jeremyf](https://github.com/jeremyf)
|
65
|
+
|
66
|
+
# v2.1.1 2020-03-12
|
67
|
+
|
68
|
+
## Changes since last release
|
69
|
+
|
70
|
+
* Add Ruby 2.7 support.
|
71
|
+
[tpendragon](https://github.com/tpendragon)
|
72
|
+
* Make ID & String equality symmetrical
|
73
|
+
[no-reply](https://github.com/no-reply)
|
74
|
+
|
75
|
+
Additional thanks to the following for code review and issue reports leading to
|
76
|
+
this release:
|
77
|
+
|
78
|
+
[cjcolvar](https://github.com/cjcolvar)
|
79
|
+
[escowles](https://github.com/escowles)
|
80
|
+
[jeremyf](https://github.com/jeremyf)
|
81
|
+
|
1
82
|
# v2.1.0 2020-01-09
|
2
83
|
|
3
84
|
## Changes since last release
|
@@ -5,9 +86,9 @@
|
|
5
86
|
* Use `::` prefixed names for `JSON::LD` references.
|
6
87
|
[no-reply](https://github.com/no-reply)
|
7
88
|
* Use SVG instead of PNG for version badge.
|
8
|
-
[
|
89
|
+
[hackartisan](https://github.com/hackartisan)
|
9
90
|
* Fix Rubocop for latest Bixby.
|
10
|
-
[
|
91
|
+
[hackartisan](https://github.com/hackartisan)
|
11
92
|
* Valkyrie IDs equal string equivalent of ID to String with config
|
12
93
|
[jlevnhv](https://github.com/jlevnhv)
|
13
94
|
* Add optional model parameter to find_inverse_references_by and
|
@@ -152,7 +233,7 @@ involved for their contributions in the last year:
|
|
152
233
|
[cjcolvar](https://github.com/cjcolvar)
|
153
234
|
[dgcliff](https://github.com/dgcliff)
|
154
235
|
[escowles](https://github.com/escowles)
|
155
|
-
[
|
236
|
+
[hackartisan](https://github.com/hackartisan)
|
156
237
|
[jeremyf](https://github.com/jeremyf)
|
157
238
|
[jrgriffiniii](https://github.com/jrgriffiniii)
|
158
239
|
[kelynch](https://github.com/kelynch)
|
@@ -233,17 +314,17 @@ this release:
|
|
233
314
|
* Provide a warning when postgres adapter overwrites an ID, deprecate this
|
234
315
|
behavior so it will throw an exception in the future.
|
235
316
|
[cam156](https://github.com/cam156)
|
236
|
-
[
|
317
|
+
[hackartisan](https://github.com/hackartisan)
|
237
318
|
[tpendragon](https://github.com/tpendragon)
|
238
319
|
* Add support for passing just an ID to find_inverse_references_by
|
239
320
|
[cam156](https://github.com/cam156)
|
240
|
-
[
|
321
|
+
[hackartisan](https://github.com/hackartisan)
|
241
322
|
* Fix memory adapter raising an exception in find_by_alternate_identifier when
|
242
323
|
there are resources without the alternate_identifier attribute.
|
243
324
|
[jeremyf](https://github.com/jeremyf)
|
244
325
|
* Provide a warning when using the postgres adapter without manually providing
|
245
326
|
the pg gem, so it can be an optional dependency in 2.0.0.
|
246
|
-
[
|
327
|
+
[hackartisan](https://github.com/hackartisan)
|
247
328
|
* Provide guidance in specs on how to define alternate_ids
|
248
329
|
[cjcolvar](https://github.com/cjcolvar)
|
249
330
|
* Upload files to Fedora using form/multipart.
|
@@ -289,17 +370,17 @@ Additional thanks to the following for code review:
|
|
289
370
|
* Provide a warning when postgres adapter overwrites an ID, deprecate this
|
290
371
|
behavior so it will throw an exception in the future.
|
291
372
|
[cam156](https://github.com/cam156)
|
292
|
-
[
|
373
|
+
[hackartisan](https://github.com/hackartisan)
|
293
374
|
[tpendragon](https://github.com/tpendragon)
|
294
375
|
* Add support for passing just an ID to find_inverse_references_by
|
295
376
|
[cam156](https://github.com/cam156)
|
296
|
-
[
|
377
|
+
[hackartisan](https://github.com/hackartisan)
|
297
378
|
* Fix memory adapter raising an exception in find_by_alternate_identifier when
|
298
379
|
there are resources without the alternate_identifier attribute.
|
299
380
|
[jeremyf](https://github.com/jeremyf)
|
300
381
|
* Provide a warning when using the postgres adapter without manually providing
|
301
382
|
the pg gem, so it can be an optional dependency in 2.0.0.
|
302
|
-
[
|
383
|
+
[hackartisan](https://github.com/hackartisan)
|
303
384
|
* Provide guidance in specs on how to define alternate_ids
|
304
385
|
[cjcolvar](https://github.com/cjcolvar)
|
305
386
|
* Upload files to Fedora using form/multipart.
|
@@ -350,7 +431,7 @@ this release:
|
|
350
431
|
## Changes since last release
|
351
432
|
|
352
433
|
* Fix solr persister to pass through exceptions on timeout
|
353
|
-
[
|
434
|
+
[hackartisan](https://github.com/hackartisan)
|
354
435
|
* Fix generated specs to work with shared_specs expectation
|
355
436
|
[revgum](https://github.com/revgum)
|
356
437
|
|
@@ -397,7 +478,7 @@ following participants who made it happen:
|
|
397
478
|
* [cam156](https://github.com/cam156)
|
398
479
|
* [DanCoughlin](https://github.com/DanCoughlin)
|
399
480
|
* [escowles](https://github.com/escowles)
|
400
|
-
* [
|
481
|
+
* [hackartisan](https://github.com/hackartisan)
|
401
482
|
* [jrgriffiniii](https://github.com/jrgriffiniii)
|
402
483
|
* [mtribone](https://github.com/mtribone)
|
403
484
|
* [tpendragon](https://github.com/tpendragon)
|
@@ -414,7 +495,7 @@ following participants who made it happen:
|
|
414
495
|
## Changes since last release
|
415
496
|
|
416
497
|
* Loosened ActiveRecord restriction to allow upgrading pg gem to 1.0.
|
417
|
-
[
|
498
|
+
[hackartisan](https://github.com/hackartisan)
|
418
499
|
|
419
500
|
# v1.1.0 2018-05-08
|
420
501
|
|
@@ -493,7 +574,7 @@ Initial Release
|
|
493
574
|
* [dlpierce](https://github.com/dlpierce)
|
494
575
|
* [escowles](https://github.com/escowles)
|
495
576
|
* [geekscruff](https://github.com/geekscruff)
|
496
|
-
* [
|
577
|
+
* [hackartisan](https://github.com/hackartisan)
|
497
578
|
* [jcoyne](https://github.com/jcoyne)
|
498
579
|
* [jeremyf](https://github.com/jeremyf)
|
499
580
|
* [jgondron](https://github.com/jgondron)
|
data/CONTRIBUTING.md
CHANGED
@@ -22,6 +22,28 @@ https://wiki.duraspace.org/display/samvera/Samvera+Community+Intellectual+Proper
|
|
22
22
|
|
23
23
|
You should also add yourself to the `CONTRIBUTORS.md` file in the root of the project.
|
24
24
|
|
25
|
+
## Language
|
26
|
+
The language we use matters. Today, tomorrow, and for years to come
|
27
|
+
people will read the code we write. They will judge us for our
|
28
|
+
design, logic, and the words we use to describe the system.
|
29
|
+
Our words should be accessible. Favor descriptive words that give
|
30
|
+
meaning while avoiding reinforcing systemic inequities. For example,
|
31
|
+
in the Samvera community, we should favor using allowed\_list instead
|
32
|
+
of whitelist, denied\_list instead of blacklist, or source/copy
|
33
|
+
instead of master/slave.
|
34
|
+
We're going to get it wrong, but this is a call to keep working to
|
35
|
+
make it right. View our code and the words we choose as a chance to
|
36
|
+
have a conversation. A chance to grow an understanding of the systems
|
37
|
+
we develop as well as the systems in which we live.
|
38
|
+
See [“Blacklists” and “whitelists”: a salutary warning concerning the
|
39
|
+
prevalence of racist language in discussions of predatory
|
40
|
+
publishing](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6148600/) for
|
41
|
+
further details.
|
42
|
+
|
43
|
+
If you're working on PR for this project, create a feature branch off of `main`.
|
44
|
+
|
45
|
+
Please ***do not*** create a branch called `master` for this repository or as part of your pull request; the branch will either need to be removed or renamed before it can be considered for inclusion in the code base and history of our repositories.
|
46
|
+
|
25
47
|
## Contribution Tasks
|
26
48
|
|
27
49
|
* Reporting Issues
|
@@ -45,10 +67,10 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
45
67
|
|
46
68
|
* Fork the repository on GitHub
|
47
69
|
* Create a topic branch from where you want to base your work.
|
48
|
-
* This is usually the
|
49
|
-
* To quickly create a topic branch based on
|
50
|
-
* Then checkout the new branch with `git checkout fix/
|
51
|
-
* Please avoid working directly on the `
|
70
|
+
* This is usually the main branch.
|
71
|
+
* To quickly create a topic branch based on main; `git branch fix/main/my_contribution main`
|
72
|
+
* Then checkout the new branch with `git checkout fix/main/my_contribution`.
|
73
|
+
* Please avoid working directly on the `main` branch.
|
52
74
|
* You may find the [hub suite of commands](https://github.com/defunkt/hub) helpful
|
53
75
|
* Make sure you have added sufficient tests and documentation for your changes.
|
54
76
|
* Test functionality with RSpec; Test features / UI with Capybara.
|
@@ -109,15 +131,15 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
109
131
|
### Submitting Changes
|
110
132
|
|
111
133
|
* Read the article ["Using Pull Requests"](https://help.github.com/articles/using-pull-requests) on GitHub.
|
112
|
-
* Make sure your branch is up to date with its parent branch (i.e.
|
113
|
-
* `git checkout
|
134
|
+
* Make sure your branch is up to date with its parent branch (i.e. main)
|
135
|
+
* `git checkout main`
|
114
136
|
* `git pull --rebase`
|
115
137
|
* `git checkout <your-branch>`
|
116
|
-
* `git rebase
|
138
|
+
* `git rebase main`
|
117
139
|
* It is a good idea to run your tests again.
|
118
140
|
* If you've made more than one commit take a moment to consider whether squashing commits together would help improve their logical grouping.
|
119
141
|
* [Detailed Walkthrough of One Pull Request per Commit](http://ndlib.github.io/practices/one-commit-per-pull-request/)
|
120
|
-
* `git rebase --interactive
|
142
|
+
* `git rebase --interactive main` ([See Github help](https://help.github.com/articles/interactive-rebase))
|
121
143
|
* Squashing your branch's changes into one commit is "good form" and helps the person merging your request to see everything that is going on.
|
122
144
|
* Push your changes to a topic branch in your fork of the repository.
|
123
145
|
* Submit a pull request from your fork to the project.
|
data/README.md
CHANGED
@@ -239,7 +239,7 @@ custom adapters, but your application will still work.
|
|
239
239
|
Using the shared specs in your own models is described in more detail on the [Shared Specs Wiki
|
240
240
|
page](https://github.com/samvera/valkyrie/wiki/Shared-Specs).
|
241
241
|
|
242
|
-
### Fedora 5 Compatibility
|
242
|
+
### Fedora 5/6 Compatibility
|
243
243
|
When configuring your adapter, include the `fedora_version` parameter in your metadata or storage adapter
|
244
244
|
config. If Fedora requires auth, you can also include that in the URL, e.g.:
|
245
245
|
|
@@ -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
|
|
@@ -310,3 +282,7 @@ This software has been developed by and is brought to you by the Samvera communi
|
|
310
282
|
## Contributing
|
311
283
|
|
312
284
|
Bug reports and pull requests are welcome on GitHub at https://github.com/samvera/valkyrie/.
|
285
|
+
|
286
|
+
If you're working on PR for this project, create a feature branch off of `main`.
|
287
|
+
|
288
|
+
This repository follows the [Samvera Community Code of Conduct](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405212316/Code+of+Conduct) and [language recommendations](https://github.com/samvera/maintenance/blob/master/templates/CONTRIBUTING.md#language). Please ***do not*** create a branch called `master` for this repository or as part of your pull request; the branch will either need to be removed or renamed before it can be considered for inclusion in the code base and history of this repository.
|