dor-services 5.13.0 → 5.14.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
2
  SHA1:
3
- metadata.gz: 83ea7517f092cf1a5d89325c43366ccb4e3bee86
4
- data.tar.gz: 94eadb824517f646112e73134687684be1e2f47c
3
+ metadata.gz: e8cb605ae9ed74300c5e0d6748d8f0c274fb3896
4
+ data.tar.gz: ec4c6ac406b9da2a3253c346b2df694e83c224f4
5
5
  SHA512:
6
- metadata.gz: b5a1a67f735a73ec58a0958f0daeb650d83e42ed09dea6c2fc3592c3d2caa58b4e5fb0187bbe2d4dd5d79741820a3178b6e935933a83569a27e527f50c7b8d37
7
- data.tar.gz: 4cd1cdd316963885fe7f3e82ad67fcd1e42aa32170ab6f2e08b4980bc7ebaf10b0d7d9736837bef6defe3a07a1eaba2dc1cb166a5c03087cae55bc3e8a237c0d
6
+ metadata.gz: f8e4bd986251c5be9211888e9c25f917affee01c787386ba48f2180a136701cc0b1be87445a9d9cbcc579d00aa2e132014db53e6a0c562962e9af5ea2bf069f0
7
+ data.tar.gz: d9ba452a5a57f1cc64069ce15ed71aa50dd0211d753d7a85885a0c8ba1d855efc59e5d71926dd2450abcce81da54b5d68dd0d627c0110370cc25fa8ddd7106b3
@@ -51,6 +51,18 @@ module Dor
51
51
  end.doc
52
52
  end
53
53
 
54
+ RIGHTS_TYPE_CODES = {
55
+ 'world' => 'World',
56
+ 'world-nd' => 'World (no-download)',
57
+ 'stanford' => 'Stanford',
58
+ 'stanford-nd' => 'Stanford (no-download)',
59
+ 'loc:spec' => 'Location spec',
60
+ 'loc:music' => 'Location music',
61
+ 'dark' => 'Dark (Preserve Only)',
62
+ 'none' => 'Citation Only'
63
+ }.freeze
64
+
65
+
54
66
  # just a wrapper to invalidate @dra_object
55
67
  def content=(xml)
56
68
  @dra_object = nil
@@ -61,36 +73,64 @@ module Dor
61
73
  @dra_object ||= Dor::RightsAuth.parse(ng_xml, true)
62
74
  end
63
75
 
64
- # @param rights [string] archetypical rights to assign: 'world', 'stanford', 'none' or 'dark'
65
- # Moved from Governable
66
- # slight misnomer: also sets discover rights!
67
- # TODO: convert xpath reads to dra_object calls
68
- def set_read_rights(rights)
69
- raise(ArgumentError, "Argument '#{rights}' is not a recognized value") unless %w(world stanford none dark).include? rights
70
- rights_xml = ng_xml
71
- if rights_xml.search('//rightsMetadata/access[@type=\'read\']').length == 0
72
- raise('The rights metadata stream doesnt contain an entry for machine read permissions. Consider populating it from the APO before trying to change it.')
73
- end
74
- label = rights == 'dark' ? 'none' : 'world'
75
- @dra_object = nil # until TODO complete, we'll expect to have to reparse after modification
76
+ # key is the rights type code, used by e.g. RightsMetadataDS#set_read_rights and Editable#default_rights=
77
+ # value is the human-readable string, used for indexing, and for things like building select lists in the argo UI.
78
+ def self.valid_rights_types
79
+ RIGHTS_TYPE_CODES.keys
80
+ end
81
+
82
+ def self.valid_rights_type?(rights)
83
+ RightsMetadataDS.valid_rights_types.include? rights
84
+ end
85
+
86
+ # a helper method for setting up well-structured rights_xml based on a rights type code
87
+ # @param rights_xml [ng_xml] a nokogiri xml (ruby) object that represents the rights xml for a DOR object
88
+ # @param rights_type [string] a recognized rights type code ('world', 'dark', 'loc:spec', etc)
89
+ def self.upd_rights_xml_for_rights_type(rights_xml, rights_type)
90
+ label = rights_type == 'dark' ? 'none' : 'world'
76
91
  rights_xml.search('//rightsMetadata/access[@type=\'discover\']/machine').each do |node|
77
92
  node.children.remove
78
93
  node.add_child Nokogiri::XML::Node.new(label, rights_xml)
79
94
  end
95
+
80
96
  rights_xml.search('//rightsMetadata/access[@type=\'read\']').each do |node|
81
97
  node.children.remove
82
98
  machine_node = Nokogiri::XML::Node.new('machine', rights_xml)
83
99
  node.add_child(machine_node)
84
- if rights == 'world'
85
- machine_node.add_child Nokogiri::XML::Node.new(rights, rights_xml)
86
- elsif rights == 'stanford'
100
+ if rights_type.start_with?('world')
101
+ world_node = Nokogiri::XML::Node.new('world', rights_xml)
102
+ world_node.set_attribute('rule', 'no-download') if rights_type.end_with?('-nd')
103
+ machine_node.add_child(world_node)
104
+ elsif rights_type.start_with?('stanford')
87
105
  group_node = Nokogiri::XML::Node.new('group', rights_xml)
88
- group_node.content = 'Stanford'
106
+ group_node.content = 'stanford'
107
+ group_node.set_attribute('rule', 'no-download') if rights_type.end_with?('-nd')
89
108
  machine_node.add_child(group_node)
109
+ elsif rights_type.start_with?('loc:')
110
+ loc_node = Nokogiri::XML::Node.new('location', rights_xml)
111
+ loc_node.content = rights_type.split(':').last
112
+ machine_node.add_child(loc_node)
90
113
  else # we know it is none or dark by the argument filter (first line)
91
114
  machine_node.add_child Nokogiri::XML::Node.new('none', rights_xml)
92
115
  end
93
116
  end
117
+ end
118
+
119
+ # @param rights [string] archetypical rights to assign: 'world', 'stanford', 'none', 'dark', etc
120
+ # Moved from Governable
121
+ # slight misnomer: also sets discover rights!
122
+ # TODO: convert xpath reads to dra_object calls
123
+ def set_read_rights(rights)
124
+ raise(ArgumentError, "Argument '#{rights}' is not a recognized value") unless RightsMetadataDS.valid_rights_type? rights
125
+
126
+ rights_xml = ng_xml
127
+ if rights_xml.search('//rightsMetadata/access[@type=\'read\']').length == 0
128
+ raise('The rights metadata stream doesnt contain an entry for machine read permissions. Consider populating it from the APO before trying to change it.')
129
+ end
130
+
131
+ RightsMetadataDS.upd_rights_xml_for_rights_type(rights_xml, rights)
132
+
133
+ self.dra_object = nil # until TODO complete, we'll expect to have to reparse after modification
94
134
  self.content = rights_xml.to_xml
95
135
  content_will_change!
96
136
  end
@@ -47,7 +47,7 @@ module Dor
47
47
 
48
48
  def to_solr(solr_doc = {}, *args)
49
49
  solr_doc = super(solr_doc, *args)
50
- add_solr_value(solr_doc, 'default_rights', default_rights, :string, [:symbol])
50
+ add_solr_value(solr_doc, 'default_rights', default_rights_for_indexing, :string, [:symbol])
51
51
  add_solr_value(solr_doc, 'agreement', agreement, :string, [:symbol]) if agreement_object
52
52
  add_solr_value(solr_doc, 'default_use_license_machine', use_license, :string, [:stored_sortable])
53
53
  solr_doc
@@ -229,50 +229,57 @@ module Dor
229
229
  end
230
230
  end
231
231
 
232
- # @return [String] A description of the rights defined in the default object rights datastream. Can be 'Stanford', 'World', 'Dark' or 'None'
232
+ # @return [String] A description of the rights defined in the default object rights datastream. Can be one of
233
+ # RightsMetadataDS::RIGHTS_TYPE_CODES.keys (so this is essentially the inverse of RightsMetadataDS.upd_rights_xml_for_rights_type).
233
234
  def default_rights
234
235
  xml = defaultObjectRights.ng_xml
235
- if xml.search('//rightsMetadata/access[@type=\'read\']/machine/group').length == 1
236
- 'Stanford'
237
- elsif xml.search('//rightsMetadata/access[@type=\'read\']/machine/world').length == 1
238
- 'World'
239
- elsif xml.search('//rightsMetadata/access[@type=\'discover\']/machine/none').length == 1
240
- 'Dark'
236
+ machine_read_access = xml.search('//rightsMetadata/access[@type="read"]/machine')
237
+ machine_discover_access = xml.search('//rightsMetadata/access[@type="discover"]/machine')
238
+
239
+ machine_read_access_node = machine_read_access.length == 1 ? machine_read_access.first : nil
240
+ machine_discover_access_node = machine_discover_access.length == 1 ? machine_discover_access.first : nil
241
+
242
+ if machine_read_access_node && machine_read_access_node.search('./group[text()="Stanford" or text()="stanford"]').length == 1
243
+ if machine_read_access_node.search('./group[@rule="no-download"]').length == 1
244
+ 'stanford-nd'
245
+ else
246
+ 'stanford'
247
+ end
248
+ elsif machine_read_access_node && machine_read_access_node.search('./world').length == 1
249
+ if machine_read_access_node.search('./world[@rule="no-download"]').length == 1
250
+ 'world-nd'
251
+ else
252
+ 'world'
253
+ end
254
+ elsif machine_read_access_node && machine_read_access_node.search('./location[text()="spec"]').length == 1
255
+ 'loc:spec'
256
+ elsif machine_read_access_node && machine_read_access_node.search('./location[text()="music"]').length == 1
257
+ 'loc:music'
258
+ elsif machine_discover_access_node && machine_discover_access_node.search('./world').length == 1
259
+ # if it's not stanford restricted, world readable, or location restricted, but it is world discoverable, it's "citation only"
260
+ 'none'
261
+ elsif machine_discover_access_node && machine_discover_access_node.search('./none').length == 1
262
+ # if it's not even discoverable, it's "dark"
263
+ 'dark'
241
264
  else
242
- 'None'
265
+ # if none of the above, the rights xml structure is unsupported/unintelligible
266
+ nil
243
267
  end
244
268
  end
269
+
270
+ # @return [String] A description of the rights defined in the default object rights datastream. Can be 'Stanford', 'World', 'Dark' or 'None'
271
+ def default_rights_for_indexing
272
+ RightsMetadataDS::RIGHTS_TYPE_CODES.fetch(default_rights, 'Unrecognized default rights value')
273
+ end
274
+
245
275
  # Set the rights in default object rights
246
276
  # @param rights [String] Stanford, World, Dark, or None
247
277
  def default_rights=(rights)
248
278
  rights = rights.downcase
279
+ raise(ArgumentError, "Unrecognized rights value '#{rights}'") unless RightsMetadataDS.valid_rights_type? rights
280
+
249
281
  rights_xml = defaultObjectRights.ng_xml
250
- rights_xml.search('//rightsMetadata/access[@type=\'discover\']/machine').each do |node|
251
- node.children.remove
252
- world_node = Nokogiri::XML::Node.new((rights == 'dark' ? 'none' : 'world'), rights_xml)
253
- node.add_child(world_node)
254
- end
255
- rights_xml.search('//rightsMetadata/access[@type=\'read\']').each do |node|
256
- node.children.remove
257
- machine_node = Nokogiri::XML::Node.new('machine', rights_xml)
258
- if rights == 'world'
259
- world_node = Nokogiri::XML::Node.new(rights, rights_xml)
260
- node.add_child(machine_node)
261
- machine_node.add_child(world_node)
262
- elsif rights == 'stanford'
263
- node.add_child(machine_node)
264
- group_node = Nokogiri::XML::Node.new('group', rights_xml)
265
- group_node.content = 'Stanford'
266
- node.add_child(machine_node)
267
- machine_node.add_child(group_node)
268
- elsif rights == 'none' || rights == 'dark'
269
- none_node = Nokogiri::XML::Node.new('none', rights_xml)
270
- node.add_child(machine_node)
271
- machine_node.add_child(none_node)
272
- else
273
- raise ArgumentError, "Unrecognized rights value '#{rights}'"
274
- end
275
- end
282
+ RightsMetadataDS.upd_rights_xml_for_rights_type(rights_xml, rights)
276
283
  end
277
284
 
278
285
  def desc_metadata_format
@@ -75,7 +75,7 @@ module Dor
75
75
  rights = nil
76
76
  if params[:rights]
77
77
  rights = params[:rights]
78
- unless %w(world stanford dark default none).include? rights
78
+ unless rights == 'default' || RightsMetadataDS.valid_rights_type?(rights)
79
79
  raise Dor::ParameterError, "Unknown rights setting '#{rights}' when calling #{name}.register_object"
80
80
  end
81
81
  end
data/lib/dor/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '5.13.0'.freeze
2
+ VERSION = '5.14.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.13.0
4
+ version: 5.14.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: 2016-10-24 00:00:00.000000000 Z
17
+ date: 2016-10-27 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: active-fedora
@@ -582,13 +582,7 @@ extensions: []
582
582
  extra_rdoc_files: []
583
583
  files:
584
584
  - config/certs/README
585
- - config/certs/dlss-dev-petucket-dor-dev.crt
586
- - config/certs/dlss-dev-petucket-dor-dev.csr
587
- - config/certs/dlss-dev-petucket-dor-dev.key
588
- - config/certs/dlss-dev-petucket-dor-prod.crt
589
- - config/certs/dlss-dev-petucket-dor-prod.key
590
585
  - config/config_defaults.yml
591
- - config/dev_console_env.rb
592
586
  - config/dev_console_env.rb.example
593
587
  - config/predicate_mappings.yml
594
588
  - lib/dor-services.rb
@@ -1,29 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIE3zCCAscCCQCcUJVDTu7rPzANBgkqhkiG9w0BAQUFADCBvzELMAkGA1UEBhMC
3
- VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFN0YW5mb3JkMRwwGgYD
4
- VQQKExNTdGFuZm9yZCBVbml2ZXJzaXR5MRIwEAYDVQQLEwlMaWJyYXJpZXMxJTAj
5
- BgNVBAMTHFNVTCBET1IgKGRldi90ZXN0KSBhY2Nlc3MgQ0ExLzAtBgkqhkiG9w0B
6
- CQEWIHN1bC13ZWJtYXN0ZXJAbGlzdHMuc3RhbmZvcmQuZWR1MB4XDTEyMDkyNjAw
7
- Mzg1OFoXDTIyMDkyNDAwMzg1OFowgaIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD
8
- YWxpZm9ybmlhMREwDwYDVQQHEwhTdGFuZm9yZDEcMBoGA1UEChMTU3RhbmZvcmQg
9
- VW5pdmVyc2l0eTEnMCUGA1UEAxMeZGxzcy1kZXYtcGV0dWNrZXQuc3RhbmZvcmQu
10
- ZWR1MSQwIgYJKoZIhvcNAQkBFhVwZXR1Y2tldEBzdGFuZm9yZC5lZHUwggEiMA0G
11
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3cqsXN6QQIMD/yqKNI+BFtPBrhV1F
12
- hRqenXUrqDRhIE6o0WVolJC4pBVXMXZksk/cnsDkb/PrD2JZH4YTS6+B51qRvScg
13
- cyqioPOJnPNRowogNUwkDiR4OGdKIbdRyYG+SgDuMWN/it7TqtG92KJm78imQS6S
14
- wOtP8AnqOveMHEdmAzcANGTHCLF8SNxNqGgedXLWfpi4MSYI1io0PCA/gtrotrsL
15
- xcwOfdkUrImaa0Og/Jyp/GAq6uveYangt3Ox3GLyyToSK4/FJXwxba9+OqR0U2MZ
16
- qiFbXkTzGzLbx+xhfkG5Qe1eR3u1JigSjS4z3rUmvPz+MIQVQX9ZdAThAgMBAAEw
17
- DQYJKoZIhvcNAQEFBQADggIBAH0u9ZVNGCXO6a77hTIO6vjJ0MoWzJNY4j+47Dl9
18
- 2hhDoVtw7VtV5/mKVKAiQB+Gbz/NIfkqfPgJEwyC5vr4330wIC2dMuGNFnSxGTKz
19
- PlkZAWGUqpkfucPISwPXRgbQIMghRy+EZ05ayv1w+HlV9QGj+hbOt92jL/e1yCpH
20
- Fd3I/7Ui26vrHqx+5Hg2d4gT2YGHTKBy8LakuoN59fw8sb+Gk0Xp/0pZMD+Sgl6T
21
- db0HOH4lcC3qG0ZfrNJ2BwDUnzbt8cruc98iu5obnmSK39ezKsSWx6leHzWIQLLT
22
- guNGOpbWJrNfF/VXpH9t0Q/xd0vZsOWSUkfHpd02PCBFRIWUv6UCldsDByP4IKHE
23
- bwNa3STPwIWKq2SGE+qGkY5P6t7zqPZ+SFl4kOXUWNuspSY8v5dKFyfFexaX6p6S
24
- bRRK5CoZq3jvxvHk88VQPTli0EP12r4SSG19UU43Twqqqd2CEW7woL3Z/OPws047
25
- jV/e8cHA7goo5d9RKwyz/7zivUWqidnp7SeL5/YQRY2bwWOcS/y49Dmi0+FQOJCw
26
- wjDDUv6Z+SR3NmbGtc0dIroTIWxvS7otIa+dXnH+ubrGAlbUvT1NAeO9mdX9m/qh
27
- YHm8oRVyJD12Hylc5pmFEBbV02Lzc/D4mB3oNtSVvhNfoTZfyKqwA+kAPol6HDIb
28
- vJi3
29
- -----END CERTIFICATE-----
@@ -1,18 +0,0 @@
1
- -----BEGIN CERTIFICATE REQUEST-----
2
- MIIC6DCCAdACAQAwgaIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
3
- MREwDwYDVQQHEwhTdGFuZm9yZDEcMBoGA1UEChMTU3RhbmZvcmQgVW5pdmVyc2l0
4
- eTEnMCUGA1UEAxMeZGxzcy1kZXYtcGV0dWNrZXQuc3RhbmZvcmQuZWR1MSQwIgYJ
5
- KoZIhvcNAQkBFhVwZXR1Y2tldEBzdGFuZm9yZC5lZHUwggEiMA0GCSqGSIb3DQEB
6
- AQUAA4IBDwAwggEKAoIBAQC3cqsXN6QQIMD/yqKNI+BFtPBrhV1FhRqenXUrqDRh
7
- IE6o0WVolJC4pBVXMXZksk/cnsDkb/PrD2JZH4YTS6+B51qRvScgcyqioPOJnPNR
8
- owogNUwkDiR4OGdKIbdRyYG+SgDuMWN/it7TqtG92KJm78imQS6SwOtP8AnqOveM
9
- HEdmAzcANGTHCLF8SNxNqGgedXLWfpi4MSYI1io0PCA/gtrotrsLxcwOfdkUrIma
10
- a0Og/Jyp/GAq6uveYangt3Ox3GLyyToSK4/FJXwxba9+OqR0U2MZqiFbXkTzGzLb
11
- x+xhfkG5Qe1eR3u1JigSjS4z3rUmvPz+MIQVQX9ZdAThAgMBAAGgADANBgkqhkiG
12
- 9w0BAQUFAAOCAQEAdAVri6K2jyMcAJDWohxGVld7HU2ejhN1tx9+HSroK1+7f2LX
13
- R4i06NLZI0qJA92cd5sC7T5KFG3v1Ad5gPcZfkhmH8uL0v/qNkx/vvZgF9vlUf+L
14
- 5JEyqzsMIxcRCC9gujsk9ha7oigFWbf1AxNt1KSDcIIID7nm+Tl7b/kSoOTK5z8j
15
- /Pg8CL54paNtRQ8TDtlvdbziPn4J/Zopx0s5lpgV/pLaSkq+GPih+eV2ST1fpFzu
16
- RQNQVZ3fa2W3Jz9m6vAtWZP1Ht7ZnLYTdSIJOo0Z2mBjcDE86JqF8bbWYt4THAgv
17
- DIEKxWpGWz7rmTJJ5DStxFmUK6135FKatnAT4w==
18
- -----END CERTIFICATE REQUEST-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEogIBAAKCAQEAt3KrFzekECDA/8qijSPgRbTwa4VdRYUanp11K6g0YSBOqNFl
3
- aJSQuKQVVzF2ZLJP3J7A5G/z6w9iWR+GE0uvgedakb0nIHMqoqDziZzzUaMKIDVM
4
- JA4keDhnSiG3UcmBvkoA7jFjf4re06rRvdiiZu/IpkEuksDrT/AJ6jr3jBxHZgM3
5
- ADRkxwixfEjcTahoHnVy1n6YuDEmCNYqNDwgP4La6La7C8XMDn3ZFKyJmmtDoPyc
6
- qfxgKurr3mGp4Ldzsdxi8sk6EiuPxSV8MW2vfjqkdFNjGaohW15E8xsy28fsYX5B
7
- uUHtXkd7tSYoEo0uM961Jrz8/jCEFUF/WXQE4QIDAQABAoIBAGZR9Q/sHvxH6J5D
8
- ncrvecYnl/nA1zdReHmEBbimByEtbfJHaTKduuLh0m1hz1F3C4hYm+pOb1RqrkZb
9
- iOL2Uhw4uJGVWV+GHP+8mlnlSun78Efqsl9h7AGKJEJ6788Uf+NtT3uL3J1lDcgt
10
- /PLRBDQ6BkaFEL8WD6n0jvMwlKZ2pLOsYaMx29vPVpcf/zL2B4CWr+jsm38OMRNk
11
- WsQ0aA1XPZuJC/iS8Ky/ccvOLt3BlVVh62/L776XrKpXzAi9O/u3clak3Sel1rxt
12
- NnTrN+hacsQp4gS1qPiKF656b6WG1tQ29r5rUMPqNltPjmVTe4m5S16NoRv/IEFQ
13
- 9thtEAECgYEA7WSSNiwbDgXRygEIRAP4M26Bvv8EQ29i7mnv5RnHObiD1y5eu/qQ
14
- E5/VULqYcHR9C3qpDqdfFf9IVg0CjeuFatG85Jd15vDWtk5RErxLq005qzUsC0o8
15
- AsCurdb0r6zOo5iWyjk8JwT/LAJ8Tg4JDGARcZnHk9LBbDI8i/FAvqECgYEAxdOo
16
- 9viFFblcwu9Oua/i67VNGocBgjTHNof15nhnu4Am3vR3g8wRBzjUcJLjxT+kxlMf
17
- /YwfUSDIs9yviGv2kj8M3UPtCQ8vkzRwPnhbT9gvWxtnc0XxYNq7IVZ8x1cZeBsf
18
- 8vH6/tCnjgfsN6HP3DSqiJ5cqAjECsJq0fo03kECgYBAIs3FyQC+NyBIvSKojZH/
19
- AzoWifty5KML2p8vfFlw5MLp3eNGUhme063kE6WfrDkkYs1N4jY0UTYP2Y/5G8p9
20
- 45BvCeSWsjawJlSNBUZET6bm9ISjwDiaXchTuyF8XOmvFUiX9gKkYBs4nqtKw0v6
21
- hfHwiSV8cJJFUwU8ob9mQQKBgAh8MqQdNsAeyj7GOu81/xqzFRKNNeBa2Syamk5/
22
- XZuqPICVpcauaxCPPHVzp3dfanbjO90JNJKrQFCOp6zHTLUrJScccb9Qum6q8iGL
23
- 0gbTs/xJaZ+FIXxRBXPBnOqD7uC68Rzfii+BzZ4G8vfT5fGBBMuFV14Rui7n9eL5
24
- w2jBAoGAbh77B0kzLngbs+NmTfwjnYw5qYqwFPAYPYcu0w1wF8oTD38U8FqJ/6LG
25
- oKaszyYODurPox81kJplNukEmSCDto1i6DJ71i8HcCfitEFXua28WD1+5Wn4o9CS
26
- AOxLn8jHa7K6lmXZm2hgjWcSI9VGp5En79pGzrtO/d+OswVIJEc=
27
- -----END RSA PRIVATE KEY-----
@@ -1,29 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIE+jCCAuICCQDiT+2CJW52sTANBgkqhkiG9w0BAQUFADCBuTELMAkGA1UEBhMC
3
- VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFN0YW5mb3JkMRwwGgYD
4
- VQQKExNTdGFuZm9yZCBVbml2ZXJzaXR5MRIwEAYDVQQLEwlMaWJyYXJpZXMxHzAd
5
- BgNVBAMTFlNVTCBET1IgcHJvZCBhY2Nlc3MgQ0ExLzAtBgkqhkiG9w0BCQEWIHN1
6
- bC13ZWJtYXN0ZXJAbGlzdHMuc3RhbmZvcmQuZWR1MB4XDTEyMTAwODE3MDk1NVoX
7
- DTIyMTAwNjE3MDk1NVowgcMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y
8
- bmlhMREwDwYDVQQHEwhTdGFuZm9yZDEcMBoGA1UEChMTU3RhbmZvcmQgVW5pdmVy
9
- c2l0eTESMBAGA1UECxMJTGlicmFyaWVzMScwJQYDVQQDEx5kbHNzLWRldi1wZXR1
10
- Y2tldC5zdGFuZm9yZC5lZHUxMTAvBgkqhkiG9w0BCQEWImRsc3MtZGV2ZWxvcGVy
11
- c0BsaXN0cy5zdGFuZm9yZC5lZHUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
12
- AoIBAQDO3bOG2i4DZNnPTt2C6fFM3znmqHIW/n771ntWTzS8k01REksYPlxBNZ3t
13
- M+aZFy/2lEv7PMMNg2VDDn1TRJd0hy87VW7QOTYTo1SCo2AYgn+qOnujSGqU+RRn
14
- pM4xTGBnF5BGSXfAi++iMJyyQngF3nev5jAcy9SrwtpXrV4JyNl6LtmodtjBi/3k
15
- LO6KY9Uc9T8zRcuiC/5zidM1+aymfoymG295aVDc+JsghjWm/UoE+Nvs20zfi+5a
16
- JB3iL+3RyUr2Hh3N4zdxR6dar/Ivy5WfPTEmtkqiSnnhdDX6fE4f+4P3ewn7bbZN
17
- LrH2T5Bm4W64bPsnUPP1evgidZ0LAgMBAAEwDQYJKoZIhvcNAQEFBQADggIBAJIZ
18
- bdwEJQEOKAruCvCwxFNXQUUPzJiuYqlJ61+4Vhs7JugORo+DgNTYL/JkZ6dCR/uj
19
- 4W0TQyBtA1GtfUYvcXCrvQl51YTMAODkoWNlkP/xaHx02twIoZDsGSVAVZryP0ae
20
- OzToLSvj+a1OvRS3YX/CO+Gq5t2//kCYrI1h6d/41PjWBRD2A2NWJrBiIj62W1qJ
21
- muY1YvSiNZ27Pwjp0fA6QwpFY+AxUAei6jKQcUCp6q3wlFaVgMS4SKtIC/rNAAc3
22
- 2aN2dlk6u81wjKQqMKXzWhwxTqEPQAmxoP8oJVxRwh1gxoBEAbLxse76Cc9+eISn
23
- CG0RF+bku3ceGrNYWQHGu8xOXAexM77WFSIVrtYJ2Tf/P+un8J+fvb3U8I5hOkGK
24
- /yMIxRfpYyOx8Qg3IJ6ci6Frg2Jn1Csv7RR8vXgRqWDRrYpeRdm8VjO/MkozGp3X
25
- r7y8hmoacnaOAcPV+KCMQ4zCobFEfxpIlajNgb4ZJhA4/ZcHlnXCr51n/A3FTLdG
26
- MR4D2JWw9oKDrf9317IomWQd6B8/+MzBX+vFteq0xQPHVJcCh48NuRkJomfy+m2q
27
- nMgxRTeRIN0VNFrhOxarv+Xiw9BoBAdKd1JbZX4uPVFs+DdkAcZC8aJRnmsowwfG
28
- C5+Fxxdx+ucfga5QSZui4uyIXlx1nAy+eeTPwmDc
29
- -----END CERTIFICATE-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEpQIBAAKCAQEAzt2zhtouA2TZz07dgunxTN855qhyFv5++9Z7Vk80vJNNURJL
3
- GD5cQTWd7TPmmRcv9pRL+zzDDYNlQw59U0SXdIcvO1Vu0Dk2E6NUgqNgGIJ/qjp7
4
- o0hqlPkUZ6TOMUxgZxeQRkl3wIvvojCcskJ4Bd53r+YwHMvUq8LaV61eCcjZei7Z
5
- qHbYwYv95CzuimPVHPU/M0XLogv+c4nTNfmspn6MphtveWlQ3PibIIY1pv1KBPjb
6
- 7NtM34vuWiQd4i/t0clK9h4dzeM3cUenWq/yL8uVnz0xJrZKokp54XQ1+nxOH/uD
7
- 93sJ+222TS6x9k+QZuFuuGz7J1Dz9Xr4InWdCwIDAQABAoIBAQCSt1jJrtptm8yD
8
- JKskW2nBnJzDQ/rO5icH1EHboAeGK27trezGwAvMUAu3HVVShMiGuPz+rkSkw+lA
9
- 2vj14rMMeYh9K4WRdtIssW2Rze+s0nlbMWlZEFZPXC0lqRR4kHPbCjJQN3EQhe8q
10
- eBHauBvKBdObVMYQ1lv6ihMzlgkZJCtRdwn6DqiN2kkFkHx4mhWoMadYA6xBwN4S
11
- +YM5O1KwC9nUgRpLFSM8D8fBANzI6takkVDQ6QaJJ11dsur5RE9BsFzl+Op7Evzu
12
- +zCisC17ZUn07YVvGeTUkIwTk0aeu3HCX83WM8jmg02ijtwqf6pdlLMJ8G8MQURe
13
- siKh1ZP5AoGBAP5ZJrZ/UcGFR1XLeL6WmgljlF26LQzy/DHMBbWMYpTrwfaxk/sK
14
- o8wTuVebJGhuffTgYU2VWJ5at7AMasOP6IAT2nP2KvcoCmvG8u3BCTkck57Vde5H
15
- 86bJ88z6TEzhrElDMjmKx7gEb2P6RIKnDcNdduaR6DE6qJOBJ5F5W3KlAoGBANA1
16
- nKBEFEXJ4Cuw6OrJeyrgu/aCLFKus/orlfLPHFQAvFJzpqmCONz5H/Wcf+m6uMeR
17
- MQ6V705h2y+FUmwufpFyqCVunC1zJu6mZG9TNEjXzyFBnb4jcEjsMm6DCrVA6zOx
18
- 3iWd+rLNxIpN3fhskzclNnhn+WhGo7xktuIrVDHvAoGBAPLWVVLKTllQkWIFaRu2
19
- GA08yMuP1DFX0JcOrqi+BuUeDkslEh8N8oMGld9hnSojzBg/Hkd/fmN6Q4RO5qQe
20
- QqH90oUCk9Tzordx9EAxHEgt03dDYFwG0Eb+68lZc/23PNGZ2Vr8+F/lxCAVMtH3
21
- Avnyw3Gx/pj54zcpiYin8DqNAoGBAKSqcdfSX9Id6ZvES0E83Zs4p486vkEaCB8H
22
- j4y7veS1vDrdWmbfJYelw1/lSMiaMv8qVgj6DYwJGmdH4rrKPrFbY55PD1dmpdjC
23
- YdYlkMk3XIopsc6pimkx3GTIYJSe5iU5O762ZYo58IGNOcr6W6eWV7D8UiTlESOy
24
- 52yR5gGjAoGALfzgCSIAVlOli3a7m3aMWUtGhp+sVi7jGLE9NHTwFXnkYEoXmR+v
25
- 5CIvK8IzwtATEomoAa2GKGek8MSE+H1/o+SrGL9PIATnzuEZeJOIMnGa5mO26a9/
26
- eV2Qud4v/7qD2P2VnCVYaAMYqS6l0SxB11/UhuQiWdpITxy44CK1Jk8=
27
- -----END RSA PRIVATE KEY-----
@@ -1,66 +0,0 @@
1
- cert_dir = File.join(File.dirname(__FILE__), "certs")
2
-
3
- Dor::Config.configure do
4
-
5
- fedora do
6
- url 'https://sul-dor-test.stanford.edu/fedora'
7
- end
8
-
9
- ssl do
10
- cert_file File.join(cert_dir,"dlss-dev-petucket-dor-dev.crt")
11
- key_file File.join(cert_dir,"dlss-dev-petucket-dor-dev.key")
12
- key_pass ''
13
- end
14
-
15
- sdr do
16
- url 'http://localhost'
17
- local_workspace_root '/dor/workspace'
18
- local_export_home '/dor/export'
19
- end
20
-
21
- suri do
22
- mint_ids true
23
- id_namespace 'druid'
24
- url 'http://sul-lyberservices-test.stanford.edu'
25
- user 'labware'
26
- pass 'lyberteam'
27
- end
28
-
29
- solr.url 'https://sul-solr-tester.stanford.edu/argo_stage'
30
- workflow.url 'https://sul-lyberservices-test.stanford.edu/workflow/'
31
-
32
- purl do
33
- base_url 'https://purl-test.stanford.edu/'
34
- end
35
-
36
- remediation do
37
- check_for_versioning_required false # this MUST be true in production; can be false in development and test if you want to ignore workflow checks
38
- check_for_in_accessioning false # this MUST be true in production; can be false in development and test if you want to ignore workflow checks
39
- end
40
-
41
- dor do
42
- service_root 'https://dorAdmin:dorAdmin@sul-lyberservices-test.stanford.edu/dor/v1'
43
- num_attempts 3 # the number of attempts to contact the dor web service before throwing an exception
44
- sleep_time 2 # sleep time in seconds between attempts to contact the dor service
45
- default_label 'Untitled' # the default label for an object that is registered when no label is provided in the manifest
46
- end
47
-
48
- content do
49
- content_user 'lyberadmin'
50
- content_base_dir '/dor/workspace/'
51
- content_server 'lyberservices-test'
52
- end
53
- status do
54
- indexer_url 'http://sulstats-raw.stanford.edu//render/?format=json&from=-1minute&until=now&target=stats.gauges.dor-prod.argo.reindexqueue.queue-size.count'
55
- end
56
- stacks do
57
- document_cache_storage_root '/home/lyberadmin/document_cache'
58
- document_cache_host 'purl-test.stanford.edu'
59
- document_cache_user 'lyberadmin'
60
- local_workspace_root '/dor/workspace'
61
- storage_root '/stacks'
62
- host 'stacks-test.stanford.edu'
63
- user 'lyberadmin'
64
- end
65
-
66
- end