valkyrie 2.1.0 → 3.0.0.pre.beta.1
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 +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.
|