dor-services 5.10.3 → 5.10.4

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
2
  SHA1:
3
- metadata.gz: accbb045e3ba904bf3dc81b237590f1bedc31f77
4
- data.tar.gz: b93eb97ff026fbab8d8b94349b52f39a1aebbfa6
3
+ metadata.gz: 5c643c1a3d63b56fd2e74475941e379a93a7220a
4
+ data.tar.gz: 7b7f607b5a01f5acf6b3e876e59f9954e4ae0782
5
5
  SHA512:
6
- metadata.gz: 723c27330bcc8e4dc035dd917f034d117071f81336603ea1ae1f73112890a5dea6c5673b1c96b7d06544ab9b275fd2f2ed4cba1347237ca8bd8dc7c017117907
7
- data.tar.gz: 579c25c61ff9c3363875dcf043c382de17b68ff451bd4416779084005e3f75bd740e672e5188eb0739564c9a38e4282337364eff16a899700d39b60fefc57e06
6
+ metadata.gz: fb4b9b98f90f2b21061f5b563d1574434baa47894f3d8cc0abc2d7fef9e667633272c431198ed75c6d388be8262c6ca1d3274b06f96e31ea3c88fef30bbbed8c
7
+ data.tar.gz: 66b565537443097f8b2bc32538cad5bffbdc3bb97595dd28cca1cdd2801981c07e936ca73bde863fd8d9ef57a9f673dd877742e289d8bcd93fe40562470b398e
@@ -1,86 +1,66 @@
1
1
  cert_dir = File.join(File.dirname(__FILE__), "certs")
2
2
 
3
3
  Dor::Config.configure do
4
+
4
5
  fedora do
5
6
  url 'https://sul-dor-test.stanford.edu/fedora'
6
7
  end
7
8
 
8
9
  ssl do
9
10
  cert_file File.join(cert_dir,"dlss-dev-petucket-dor-dev.crt")
10
- key_file File.join(cert_dir,"dlss-dev-petucket-dor-dev.key")
11
+ key_file File.join(cert_dir,"dlss-dev-petucket-dor-dev.key")
11
12
  key_pass ''
12
13
  end
13
-
14
+
15
+ sdr do
16
+ url 'http://localhost'
17
+ local_workspace_root '/dor/workspace'
18
+ local_export_home '/dor/export'
19
+ end
20
+
14
21
  suri do
15
22
  mint_ids true
16
23
  id_namespace 'druid'
17
- url 'https://lyberservices-test.stanford.edu'
24
+ url 'http://sul-lyberservices-test.stanford.edu'
18
25
  user 'labware'
19
26
  pass 'lyberteam'
20
27
  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
- local_workspace_root '/dor/workspace'
29
- document_cache_host 'sul-purl-test.stanford.edu'
30
- local_stacks_root '/stacks'
31
- local_document_cache_root '/purl/document_cache'
32
- end
33
-
34
- gsearch.url 'http://127.0.0.1:8080/solr/argo_test'
35
- solrizer.url 'http://127.0.0.1:8080/solr/argo_test'
36
- workflow.url 'https://lyberservices-test.stanford.edu/workflow/'
37
- dor_services.url 'https://dorAdmin:dorAdmin@sul-lyberservices-test.stanford.edu/dor'
38
28
 
39
- content do
40
- sdr_server 'https://sdr-services-test.stanford.edu'
41
- sdr_user 'sdrAdmin'
42
- sdr_pass 'sdrAdmin'
43
- end
29
+ solr.url 'https://sul-solr-tester.stanford.edu/argo_stage'
30
+ workflow.url 'https://sul-lyberservices-test.stanford.edu/workflow/'
44
31
 
45
- cleanup do
46
- local_workspace_root '/dor/workspace'
47
- local_assembly_root '/dor/assembly'
48
- local_export_home '/dor/export'
49
- end
32
+ purl do
33
+ base_url 'https://purl-test.stanford.edu/'
34
+ end
50
35
 
51
- sdr do
52
- url 'https://sdrAdmin:sdrAdmin@sdr-services-test.stanford.edu/sdr/'
53
- local_workspace_root '/dor/workspace'
54
- local_export_home '/dor/export'
55
- datastreams do
56
- administrativeMetadata 'optional'
57
- contentMetadata 'optional'
58
- descMetadata 'required'
59
- defaultObjectRights 'optional'
60
- events 'optional'
61
- embargoMetadata 'optional'
62
- identityMetadata 'required'
63
- provenanceMetadata 'required'
64
- relationshipMetadata 'required'
65
- rightsMetadata 'optional'
66
- roleMetadata 'optional'
67
- sourceMetadata 'optional'
68
- technicalMetadata 'optional'
69
- versionMetadata 'required'
70
- workflows 'optional'
71
- end
72
- end
73
- end
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
74
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
75
47
 
76
- WORKFLOW_URI = 'http://lyberservices-test.stanford.edu/workflow'
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
77
65
 
78
- # Constants for Dor::WorkflowService
79
- # module Dor
80
- # CREATE_WORKFLOW = DOR_CREATE_WORKFLOW = true
81
- # WF_URI = 'http://lyberservices-test.stanford.edu/workflow'
82
- # end
83
- #
84
- # # External application locations
85
- # JHOVE_HOME = File.join(ENV['HOME'], 'jhoveToolkit')
86
- #
66
+ end
@@ -40,7 +40,7 @@ class IdentityMetadataDS < ActiveFedora::OmDatastream
40
40
  node ? [node['source'], node.text].join(':') : nil
41
41
  end
42
42
 
43
- # @param [String, Nil] New value, or nil/empty string to delete sourceId node
43
+ # @param [String, Nil] value, or nil/empty string to delete sourceId node
44
44
  # @return [String, Nil] The same value, as per Ruby convention for assignment operators
45
45
  # @note The actual values assigned will have leading/trailing whitespace stripped.
46
46
  def sourceId=(value)
@@ -189,17 +189,6 @@ module Dor
189
189
  .any?
190
190
  end
191
191
 
192
- # Removes all displayTypes from an item in preparation of adding a new display type
193
- # @return Boolean True if displayTypes were removed, False if no displayTypes were removed
194
- def remove_displayTypes
195
- nodes = identityMetadata.ng_xml.search('//displayType')
196
- # NOTE: .each after search is different than normal ruby enumerator:
197
- # ~ ng_xml.search('//nonexistant_tag').each(&:foo) == 0
198
- # ~ [].each(&:foo) == []
199
- nodes.each(&:remove)
200
- nodes.any?
201
- end
202
-
203
192
  def update_tag(old_tag, new_tag)
204
193
  normtag = normalize_tag(old_tag)
205
194
  identityMetadata.ng_xml.search('//tag')
@@ -33,7 +33,6 @@ module Dor
33
33
 
34
34
  im = datastreams['identityMetadata'].ng_xml.clone
35
35
  im.search('//release').each(&:remove) # remove any <release> tags from public xml which have full history
36
- im.root.add_child(release_xml)
37
36
 
38
37
  pub.add_child(im.root) # add in modified identityMetadata datastream
39
38
  pub.add_child(datastreams['contentMetadata'].public_xml.root.clone)
@@ -81,7 +80,7 @@ module Dor
81
80
  # When publishing a PURL, we drop a `aa11bb2222` file into the `local_recent_changes` folder
82
81
  # to notify other applications watching the filesystem (i.e., purl-fetcher).
83
82
  # We also remove any .deletes entry that may have left over from a previous removal
84
- # @param [String] `local_recent_changes` usually `/purl/recent_changes`
83
+ # @param [String] local_recent_changes usually `/purl/recent_changes`
85
84
  def publish_notify_on_success(local_recent_changes = Config.stacks.local_recent_changes)
86
85
  raise ArgumentError, "Missing local_recent_changes directory: #{local_recent_changes}" unless File.directory?(local_recent_changes)
87
86
  id = pid.gsub(/^druid:/, '')
@@ -209,13 +209,12 @@ module Dor
209
209
  end
210
210
  raise ArgumentError, ':what must be self or collection' unless what_correct
211
211
  raise ArgumentError, 'the value set for this tag is not a boolean' if !!tag != tag # rubocop:disable Style/DoubleNegation
212
- validate_tag_format(attrs[:tag]) unless attrs[:tag].nil? # Will Raise exception if invalid tag
213
212
  true
214
213
  end
215
214
 
216
215
  # Add a release node for the item
217
216
  # Will use the current time if timestamp not supplied. You can supply a timestap for correcting history, etc if desired
218
- # Timestamp will be calculated by the function, if no displayType is passed in, it will default to file
217
+ # Timestamp will be calculated by the function
219
218
  #
220
219
  # @param release [Boolean] True or false for the release node
221
220
  # @param attrs [hash] A hash of any attributes to be placed onto the tag
@@ -223,16 +222,13 @@ module Dor
223
222
  # @raise [ArgumentError] Raised if attributes are improperly supplied
224
223
  #
225
224
  # @example
226
- # item.add_tag(true,:release,{:tag=>'Fitch : Batch2',:what=>'self',:to=>'Searchworks',:who=>'petucket', :displayType='filmstrip'})
225
+ # item.add_release_node(true,{:what=>'self',:to=>'Searchworks',:who=>'petucket'})
227
226
  def add_release_node(release, attrs = {})
227
+ allowed_release_attributes=[:what,:to,:who,:when] # any other release attributes sent in will be rejected and not stored
228
228
  identity_metadata_ds = identityMetadata
229
+ attrs.delete_if { |key, value| !allowed_release_attributes.include?(key) }
229
230
  attrs[:when] = Time.now.utc.iso8601 if attrs[:when].nil? # add the timestamp
230
- attrs[:displayType] = 'file' if attrs[:displayType].nil? # default to file is no display type is passed
231
231
  valid_release_attributes(release, attrs)
232
-
233
- # Remove the old displayType and then add the one for this tag
234
- remove_displayTypes
235
- identity_metadata_ds.add_value(:displayType, attrs[:displayType], {})
236
232
  identity_metadata_ds.add_value(:release, release.to_s, attrs)
237
233
  end
238
234
 
@@ -247,16 +243,8 @@ module Dor
247
243
  [:who, :to, :what].each do |check_attr|
248
244
  raise ArgumentError, "#{check_attr} not supplied as a String" if attrs[check_attr].class != String
249
245
  end
250
-
251
- what_correct = false
252
- %w(self collection).each do |allowed_what_value|
253
- what_correct = true if attrs[:what] == allowed_what_value
254
- end
255
- raise ArgumentError, ':what must be self or collection' unless what_correct
256
- raise ArgumentError, 'the value set for this tag is not a boolean' if !!tag != tag # rubocop:disable Style/DoubleNegation
257
- raise ArgumentError, ':displayType must be passed in as a String' unless attrs[:displayType].class == String
258
-
259
- validate_tag_format(attrs[:tag]) unless attrs[:tag].nil? # Will Raise exception if invalid tag
246
+ raise ArgumentError, ':what must be self or collection' unless %w(self collection).include? attrs[:what]
247
+ raise ArgumentError, 'the value set for this tag is not a boolean' unless [true,false].include? tag
260
248
  true
261
249
  end
262
250
 
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '5.10.3'.freeze
2
+ VERSION = '5.10.4'.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.10.3
4
+ version: 5.10.4
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-09-22 00:00:00.000000000 Z
17
+ date: 2016-09-29 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: active-fedora