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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 89a45fc0d4d2b861d2a63f35501cab481ac19886
4
- data.tar.gz: 4a2814c6b8dbabb5b8d9e08ff99f3a7e13ae2498
2
+ SHA256:
3
+ metadata.gz: e2b680b722ba81687a35e34ccd3909d16f291fd428bc41474b5fa218bf75fe00
4
+ data.tar.gz: 4fe0371790370cdc116c9a8f47d86ea9e2398cb5807fbeb3dd74ddb49309c0cb
5
5
  SHA512:
6
- metadata.gz: a47c637d3a5f2b02b36385e9bf9f632b15fe1f36c498fe2c73d84ec904c973deafca8738b7c3df77c8ede4156cb73b486d5704906b5ea563ac2ae55cb3798941
7
- data.tar.gz: 542ff047ac905c08258ab5c5ce676cbdc68ff9b7e7113ec8c15d7f8e3f9183199a2a5773094e8a5cdb923aaf5b86a0b0adeb6a3ab85c98da5d59456b924caea0
6
+ metadata.gz: e192129ec8641cc2f83139d24cfafb18bc0a5408211254fea586d6f0d43d775892e07c9eefce7a8f2582b10fbaf1634cf5802a68a3117a6f12dab0d01a8d8ee4
7
+ data.tar.gz: 311ee3bde8c795f29bb4c95cee5ed943376ddeb276353fd0294e9789e6f9ee0372102ee417f363cf8edf9e97f832290cdefe8be653d73cc0f01aa149bf110afd
@@ -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 drop a `aa11bb2222` file into the `local_recent_changes` folder
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
- # @param [String] local_recent_changes usually `/purl/recent_changes`
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
- FileUtils.touch(File.join(local_recent_changes, id))
125
- begin
126
- DruidTools::Druid.new(id, Dor::Config.stacks.local_document_cache_root).deletes_delete_record
127
- rescue Errno::EACCES
128
- Dor.logger.warn "Access denied while trying to remove .deletes file for druid:#{id}"
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
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '5.30.0'.freeze
2
+ VERSION = '5.31.0'.freeze
3
3
  end
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.30.0
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-05-31 00:00:00.000000000 Z
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.13
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-----
@@ -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')