dor-services 5.30.0 → 5.31.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/dor/config.rb +3 -0
- data/lib/dor/models/concerns/publishable.rb +28 -9
- data/lib/dor/version.rb +1 -1
- metadata +3 -6
- data/config/certs/robots-dor-dev.crt +0 -29
- data/config/certs/robots-dor-dev.key +0 -27
- data/config/dev_console_env.rb +0 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e2b680b722ba81687a35e34ccd3909d16f291fd428bc41474b5fa218bf75fe00
|
4
|
+
data.tar.gz: 4fe0371790370cdc116c9a8f47d86ea9e2398cb5807fbeb3dd74ddb49309c0cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e192129ec8641cc2f83139d24cfafb18bc0a5408211254fea586d6f0d43d775892e07c9eefce7a8f2582b10fbaf1634cf5802a68a3117a6f12dab0d01a8d8ee4
|
7
|
+
data.tar.gz: 311ee3bde8c795f29bb4c95cee5ed943376ddeb276353fd0294e9789e6f9ee0372102ee417f363cf8edf9e97f832290cdefe8be653d73cc0f01aa149bf110afd
|
data/lib/dor/config.rb
CHANGED
@@ -73,6 +73,9 @@ module Dor
|
|
73
73
|
:dor_services => {
|
74
74
|
:rest_client => Confstruct.deferred { |c| RestResourceFactory.create(:dor_services) }
|
75
75
|
},
|
76
|
+
:purl_services => {
|
77
|
+
:rest_client => Confstruct.deferred { |c| RestResourceFactory.create(:purl_services) }
|
78
|
+
},
|
76
79
|
:sdr => {
|
77
80
|
:rest_client => Confstruct.deferred { |c| RestResourceFactory.create(:sdr) }
|
78
81
|
},
|
@@ -102,6 +102,7 @@ module Dor
|
|
102
102
|
else
|
103
103
|
# Clear out the document cache for this item
|
104
104
|
DigitalStacksService.prune_purl_dir pid
|
105
|
+
publish_delete_on_success
|
105
106
|
end
|
106
107
|
end
|
107
108
|
|
@@ -114,19 +115,37 @@ module Dor
|
|
114
115
|
end
|
115
116
|
|
116
117
|
##
|
117
|
-
# When publishing a PURL, we
|
118
|
+
# When publishing a PURL, we notify purl-fetcher of changes.
|
119
|
+
# If the purl service isn't configured, instead we drop a `aa11bb2222` file into the `local_recent_changes` folder
|
118
120
|
# to notify other applications watching the filesystem (i.e., purl-fetcher).
|
119
121
|
# We also remove any .deletes entry that may have left over from a previous removal
|
120
|
-
|
121
|
-
def publish_notify_on_success(local_recent_changes = Config.stacks.local_recent_changes)
|
122
|
-
raise ArgumentError, "Missing local_recent_changes directory: #{local_recent_changes}" unless File.directory?(local_recent_changes)
|
122
|
+
def publish_notify_on_success
|
123
123
|
id = pid.gsub(/^druid:/, '')
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
124
|
+
|
125
|
+
if Dor::Config.purl_services.url
|
126
|
+
purl_services = Dor::Config.purl_services.rest_client
|
127
|
+
purl_services["purls/#{id}"].post ''
|
128
|
+
else
|
129
|
+
local_recent_changes = Config.stacks.local_recent_changes
|
130
|
+
raise ArgumentError, "Missing local_recent_changes directory: #{local_recent_changes}" unless File.directory?(local_recent_changes)
|
131
|
+
|
132
|
+
FileUtils.touch(File.join(local_recent_changes, id))
|
133
|
+
begin
|
134
|
+
DruidTools::Druid.new(id, Dor::Config.stacks.local_document_cache_root).deletes_delete_record
|
135
|
+
rescue Errno::EACCES
|
136
|
+
Dor.logger.warn "Access denied while trying to remove .deletes file for druid:#{id}"
|
137
|
+
end
|
129
138
|
end
|
130
139
|
end
|
140
|
+
|
141
|
+
##
|
142
|
+
# When publishing a PURL, we notify purl-fetcher of changes.
|
143
|
+
def publish_delete_on_success
|
144
|
+
return unless Dor::Config.purl_services.url
|
145
|
+
id = pid.gsub(/^druid:/, '')
|
146
|
+
|
147
|
+
purl_services = Dor::Config.purl_services.rest_client
|
148
|
+
purl_services["purls/#{id}"].delete
|
149
|
+
end
|
131
150
|
end
|
132
151
|
end
|
data/lib/dor/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.31.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Klein
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2018-
|
17
|
+
date: 2018-06-07 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: active-fedora
|
@@ -562,10 +562,7 @@ extensions: []
|
|
562
562
|
extra_rdoc_files: []
|
563
563
|
files:
|
564
564
|
- config/certs/README
|
565
|
-
- config/certs/robots-dor-dev.crt
|
566
|
-
- config/certs/robots-dor-dev.key
|
567
565
|
- config/config_defaults.yml
|
568
|
-
- config/dev_console_env.rb
|
569
566
|
- config/dev_console_env.rb.example
|
570
567
|
- config/predicate_mappings.yml
|
571
568
|
- lib/dor-services.rb
|
@@ -661,7 +658,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
661
658
|
version: 1.3.6
|
662
659
|
requirements: []
|
663
660
|
rubyforge_project:
|
664
|
-
rubygems_version: 2.6
|
661
|
+
rubygems_version: 2.7.6
|
665
662
|
signing_key:
|
666
663
|
specification_version: 4
|
667
664
|
summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
|
@@ -1,29 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIE9zCCAt8CCQCcUJVDTu7rTjANBgkqhkiG9w0BAQUFADCBvzELMAkGA1UEBhMC
|
3
|
-
VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFN0YW5mb3JkMRwwGgYD
|
4
|
-
VQQKExNTdGFuZm9yZCBVbml2ZXJzaXR5MRIwEAYDVQQLEwlMaWJyYXJpZXMxJTAj
|
5
|
-
BgNVBAMTHFNVTCBET1IgKGRldi90ZXN0KSBhY2Nlc3MgQ0ExLzAtBgkqhkiG9w0B
|
6
|
-
CQEWIHN1bC13ZWJtYXN0ZXJAbGlzdHMuc3RhbmZvcmQuZWR1MB4XDTEyMDkyNjE1
|
7
|
-
NTQzNVoXDTIyMDkyNDE1NTQzNVowgboxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD
|
8
|
-
YWxpZm9ybmlhMREwDwYDVQQHEwhTdGFuZm9yZDEcMBoGA1UEChMTU3RhbmZvcmQg
|
9
|
-
VW5pdmVyc2l0eTEyMDAGA1UEAxQpcm9ib3RzQHN1bC1seWJlcnNlcnZpY2VzLWRl
|
10
|
-
di5zdGFuZm9yZC5lZHUxMTAvBgkqhkiG9w0BCQEWImRsc3MtZGV2ZWxvcGVyc0Bs
|
11
|
-
aXN0cy5zdGFuZm9yZC5lZHUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
12
|
-
AQC1t+PPhLTDFQBuAf4f1GOj7jHdXMN0tvSHL1OCaibe0d8iKbXCMMIE0z8lbBpZ
|
13
|
-
1pA+8terIvxoTlly92EEvGkywZb+DIxnjyG0b9ftDJ64pARJMcnvwJMW/w3WdHCd
|
14
|
-
5uJ5HVM8ZCbEItUfskFukS6tfNBpG8ri6cIQ2ulJzOWYxPV5R2eRneM6vtFD0xtu
|
15
|
-
RJb/uMwiOwB79qk4QazbEQtkeZsrvomDFkIuHO/nf9wmgYG99H7q1kXplIrzDDX+
|
16
|
-
fvD+JHvuMr5YXfmBQ9wmaZf6YIL7CXj79HUF4uG/a0SjrLZyLh262zWJQFVpjSW8
|
17
|
-
Brl/fAyjeZvWJMyCDXRqsedjAgMBAAEwDQYJKoZIhvcNAQEFBQADggIBAG0jIfTj
|
18
|
-
1FJsxTzcD938vtKuNo5XEIX8phqW1MA2eJ5Ojgu1hpW5Jf7fmUHKVnamm7eya5QR
|
19
|
-
356KCJzZzwdCS4xVFq/l43gCA2j8TYrwO6/0EfM/5psUZS3ecwahzcJXfHPHvd9u
|
20
|
-
qaXRqbjJYi+Ls70uStTC/JBIIu48atDF0DeXJ21hAbstZ1OKKNzAcYgZk14GKxCi
|
21
|
-
ArgAzdg8UDtC4KsdqgxP6vF8Vc/gcHSu9AkVHgPVXbITjV0/kaKNgFi0bVqP7bJD
|
22
|
-
hrUFYrS+S+hflQJCmVrDwW0JU2HnJ3EJOFX5F4FYHL4vt6ZjVsMzucraMqiLyUaO
|
23
|
-
s6DVaWO8WMlphmFUfb3ChQjrKxFZZ6vKJPD/ExnQHa0kWwOELyMJuXw2PLk7k+qD
|
24
|
-
rmjX+K3Ed+JiJuiDG5k8f1BDZE24lvxDwye5fQyDWPfib1yTClYYy4PRh4AI688f
|
25
|
-
qgMyv51Qx82o0IJ1On1rNg5/iB7OEVcYSol3U5xiY9gRUd3vq637agZzMuRQnKXs
|
26
|
-
Uj0+Vl4OrZ54F8MVsUKfi7Je1oVUEhuHqFt/tSOGlHg1XyR/ExwulCNBKIVdhhrF
|
27
|
-
rxZCYrGDSUCF6tteJXpOBTtFT9b7hbMmBohKyS4XjfPSPRh9QHx7wepqSp3aHpmR
|
28
|
-
4gY8Go40mS83xHCKBooqsy2/Z9vQlSb9Cr8u
|
29
|
-
-----END CERTIFICATE-----
|
@@ -1,27 +0,0 @@
|
|
1
|
-
-----BEGIN RSA PRIVATE KEY-----
|
2
|
-
MIIEpQIBAAKCAQEAtbfjz4S0wxUAbgH+H9Rjo+4x3VzDdLb0hy9Tgmom3tHfIim1
|
3
|
-
wjDCBNM/JWwaWdaQPvLXqyL8aE5ZcvdhBLxpMsGW/gyMZ48htG/X7QyeuKQESTHJ
|
4
|
-
78CTFv8N1nRwnebieR1TPGQmxCLVH7JBbpEurXzQaRvK4unCENrpSczlmMT1eUdn
|
5
|
-
kZ3jOr7RQ9MbbkSW/7jMIjsAe/apOEGs2xELZHmbK76JgxZCLhzv53/cJoGBvfR+
|
6
|
-
6tZF6ZSK8ww1/n7w/iR77jK+WF35gUPcJmmX+mCC+wl4+/R1BeLhv2tEo6y2ci4d
|
7
|
-
uts1iUBVaY0lvAa5f3wMo3mb1iTMgg10arHnYwIDAQABAoIBAQCmlDzsZZ2C24S6
|
8
|
-
U29OZFc21kq1vqyaGIEOT48BFSguyDsAyTWKH0IsRC41suRxCGTQn7KeegLh5zjO
|
9
|
-
UAGK4uCYm6g7mOs4n5fpHUHWVuRFJG2dX1vbQTBVO1fHCJSX2ygumHhN+w0ibT/r
|
10
|
-
v2+F2ObuOGWghM62tkylQNfsRD0QjalE8ST2xp9p4xwPrAwEuURlA04qnLYNi4+6
|
11
|
-
qexDtrLG8E6JV/dd3dY95WjKPscadR1fAKm9sebD0XO31Lu6BGCvpmBU0OmYVfrY
|
12
|
-
BN/ofhEmJh+Xgwfxx6PicRDvu9bPnffqbGhDO4ckGDlqXp1fDBgf1I7CclXdrVMH
|
13
|
-
Qsxunh5pAoGBAN7929V1aw0S7Rqvuf4N+o1XwBExa2DL7EYI1Oea/nuBMPqvfeNh
|
14
|
-
SrbM0gYejEzLmeRUUKRhMMoAgXQnxcg3Kz/5pUXT3b4YtzeskX8nkJ6/2gEU3M7E
|
15
|
-
lJj7c5wW1otqMH19+iDNR4N8vjPh98kDJW1HZUHSAcdyE+dZiFP2ofMfAoGBANCe
|
16
|
-
AJgA9EkdwZsom+I7Ty9LSrTWx6cKmNEbLVn1iSlyJx1kHoWyTMtuZszCWBjiXx70
|
17
|
-
84WpX2B4MuJBq6sSoEiUahNsphks82glOd6i+eoE/I+NtZehOFnkAMyGux+FbMyG
|
18
|
-
q/9ZlQgsbWpFHxS59vX/kvlNun2RpJkaF6QPBuc9AoGBAIGdscCb5cPNsoCGkGf6
|
19
|
-
HB84WG4l+bJkFkyHKaoOT8neSGgOxe/7R4CGAbaI3yhsWGF+GPnTfJaOQLERxUch
|
20
|
-
ukQPil/STNwIZcc4ycHNb6S3A7MJO2f8oBtkXcjnBYI4EUOAjHmwmNb3FV/3Ax6W
|
21
|
-
c5TXoSXnOh2CU8twIWwcufolAoGATqnFf4uckZVu05rUbNIAYcz6NoZmck5EoVSm
|
22
|
-
HS3Asqggp6yA9djtrCfNC5icr4VsaLfku5nKJQ4t4bLxkGhNmBCejwSA/S09+x9O
|
23
|
-
Wu0JX3zR3y+IMczQ+tRGmNiU5qXhCJ4fbQHSeGqIN3Io7h/RR6E/QlJU59RrRG/a
|
24
|
-
SjqAV+ECgYEA2mA5VFK3jECnLde+biEaXidIOuBMcqaP0VG6sBwz2wTGSTBE1WkG
|
25
|
-
6prCD0McWVAgDTm3MMKxeuMaoW5eEi83+G+CywLaTBpc8Hz7qgRhBpKhRirCfHMW
|
26
|
-
EfQV5k32vEGoSI+eG8zcGb9mwDeb/EWXAMGXrx2YuYFu7txtwC2mZXc=
|
27
|
-
-----END RSA PRIVATE KEY-----
|
data/config/dev_console_env.rb
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
cert_dir = File.join(File.dirname(__FILE__), "..", "certs")
|
2
|
-
|
3
|
-
Dor::Config.configure do
|
4
|
-
fedora do
|
5
|
-
url 'https://sul-dor-dev.stanford.edu/fedora'
|
6
|
-
end
|
7
|
-
|
8
|
-
ssl do
|
9
|
-
cert_file File.join(cert_dir,"robots-dor-dev.crt")
|
10
|
-
key_file File.join(cert_dir,"robots-dor-dev.key")
|
11
|
-
key_pass ''
|
12
|
-
end
|
13
|
-
|
14
|
-
suri do
|
15
|
-
mint_ids true
|
16
|
-
id_namespace 'druid'
|
17
|
-
url 'https://lyberservices-dev.stanford.edu'
|
18
|
-
user 'labware'
|
19
|
-
pass 'lyberteam'
|
20
|
-
end
|
21
|
-
|
22
|
-
metadata do
|
23
|
-
exist.url 'http://viewer:l3l%40nd@lyberapps-dev.stanford.edu/exist/rest/'
|
24
|
-
catalog.url 'http://lyberservices-prod.stanford.edu/catalog/mods'
|
25
|
-
end
|
26
|
-
|
27
|
-
stacks do
|
28
|
-
document_cache_host 'purl-dev.stanford.edu'
|
29
|
-
local_stacks_root '/stacks'
|
30
|
-
local_document_cache_root '/purl/document_cache'
|
31
|
-
local_workspace_root '/dor/workspace'
|
32
|
-
end
|
33
|
-
|
34
|
-
solrizer.url 'http://sul-solr.stanford.edu/solr/argo_test'
|
35
|
-
workflow.url 'https://lyberservices-dev.stanford.edu/workflow/'
|
36
|
-
dor_services.url 'https://dorAdmin:dorAdmin@sul-lyberservices-dev.stanford.edu/dor'
|
37
|
-
|
38
|
-
cleanup do
|
39
|
-
local_workspace_root '/dor/workspace'
|
40
|
-
local_export_home '/dor/export'
|
41
|
-
end
|
42
|
-
|
43
|
-
sdr do
|
44
|
-
url 'https://sdrAdmin:sdrAdmin@sdr-services-test.stanford.edu/sdr/'
|
45
|
-
local_workspace_root '/dor/workspace'
|
46
|
-
local_export_home '/dor/export'
|
47
|
-
datastreams do
|
48
|
-
administrativeMetadata 'optional'
|
49
|
-
contentMetadata 'optional'
|
50
|
-
descMetadata 'required'
|
51
|
-
defaultObjectRights 'optional'
|
52
|
-
events 'optional'
|
53
|
-
embargoMetadata 'optional'
|
54
|
-
identityMetadata 'required'
|
55
|
-
provenanceMetadata 'required'
|
56
|
-
relationshipMetadata 'required'
|
57
|
-
rightsMetadata 'optional'
|
58
|
-
roleMetadata 'optional'
|
59
|
-
sourceMetadata 'optional'
|
60
|
-
technicalMetadata 'optional'
|
61
|
-
versionMetadata 'required'
|
62
|
-
workflows 'optional'
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
accessioning_robot_sleep_time 30
|
67
|
-
|
68
|
-
end
|
69
|
-
|
70
|
-
|
71
|
-
#WORKFLOW_URI = 'http://lyberservices-test.stanford.edu/workflow'
|
72
|
-
|
73
|
-
# Constants for Dor::WorkflowService
|
74
|
-
#module Dor
|
75
|
-
# CREATE_WORKFLOW = DOR_CREATE_WORKFLOW = true
|
76
|
-
# WF_URI = 'http://lyberservices-test.stanford.edu/workflow'
|
77
|
-
#end
|
78
|
-
|
79
|
-
# External application locations
|
80
|
-
JHOVE_HOME = File.join(ENV['HOME'], 'jhoveToolkit')
|