dor-services 5.30.0 → 5.31.0

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 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')