dor-services 5.3.3 → 5.3.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: 99003e225249632e5f2b5b9f6b348b2c87b76cb0
4
- data.tar.gz: d2dae28f99fc6abb664d29e2da81890659a389c5
3
+ metadata.gz: 2dd35a675cb046c99db17934a58e4587b9caa03e
4
+ data.tar.gz: fcf7860c66176b880be68945ab882ff761abe815
5
5
  SHA512:
6
- metadata.gz: 6f0494d138e820da853e5f4b2d47dc9ddebc4496a42b9fd6a17247b333806cc2ddabd54ec911065e498188e3959089d6529a8e3f9e1b174508d03ee9028bb01c
7
- data.tar.gz: 8c83276ec9d2355a436d6cad201cbcbd59ce1244b43d9190e085628937ad1af637d0871ff9515da2c29162ab8e3d4f5d36921cb7352f002aed02798dc662c949
6
+ metadata.gz: 4283ad61ea3c41740204253a88e8b45be6546b8420c2048787f3b42eb44b6871acce199bbb5263a138c36b776dcf91e105de0bc97fb7b456b50e65980cb028b7
7
+ data.tar.gz: bbb4592f2cdf234ab5b981f38a74e6785574e07a3353325b9bf31437d20368eb3d041a81b6eac0cf7f2d31e4aa04d5cdd611a9315f4ebc956a2de429e2393e64
@@ -65,3 +65,7 @@
65
65
  :shift_age: weekly
66
66
  :dor_services:
67
67
  :url:
68
+ :indexing_svc:
69
+ :log: 'log/indexing_svc.log'
70
+ :log_date_format_str: '%Y-%m-%d %H:%M:%S.%L'
71
+ :log_rotation_interval: 'daily'
data/lib/dor-services.rb CHANGED
@@ -129,6 +129,7 @@ module Dor
129
129
 
130
130
  # Services
131
131
  autoload :SearchService, 'dor/services/search_service'
132
+ autoload :IndexingService, 'dor/services/indexing_service'
132
133
  autoload :MetadataService, 'dor/services/metadata_service'
133
134
  autoload :RegistrationService, 'dor/services/registration_service'
134
135
  autoload :SuriService, 'dor/services/suri_service'
@@ -37,10 +37,39 @@ module Dor
37
37
  # @return [Nokogiri::XML::Document] sanitized for public consumption
38
38
  def public_xml
39
39
  result = ng_xml.clone
40
- result.xpath('/contentMetadata/resource[not(file[(@deliver="yes" or @publish="yes")])]' ).each(&:remove)
41
- result.xpath('/contentMetadata/resource/file[not(@deliver="yes" or @publish="yes")]' ).each(&:remove)
42
- result.xpath('/contentMetadata/resource/file').xpath('@preserve|@shelve|@publish|@deliver').each(&:remove)
43
- result.xpath('/contentMetadata/resource/file/checksum' ).each(&:remove)
40
+
41
+ # remove any resources or attributes that are not destined for the public XML
42
+ result.xpath('/contentMetadata/resource[not(file[(@deliver="yes" or @publish="yes")]|externalFile)]').each(&:remove)
43
+ result.xpath('/contentMetadata/resource/file[not(@deliver="yes" or @publish="yes")]' ).each(&:remove)
44
+ result.xpath('/contentMetadata/resource/file').xpath('@preserve|@shelve|@publish|@deliver' ).each(&:remove)
45
+ result.xpath('/contentMetadata/resource/file/checksum' ).each(&:remove)
46
+
47
+ # support for dereferencing links via externalFile element(s) to the source (child) item - see JUMBO-19
48
+ result.xpath('/contentMetadata/resource/externalFile').each do |externalFile|
49
+ # enforce pre-conditions that resourceId, objectId, fileId are required
50
+ src_resource_id = externalFile['resourceId']
51
+ src_druid = externalFile['objectId']
52
+ src_file_id = externalFile['fileId']
53
+ fail ArgumentError, "Malformed externalFile data: #{externalFile.inspect}" if [src_resource_id, src_file_id, src_druid].map(&:blank?).any?
54
+
55
+ # grab source item
56
+ src_item = Dor::Item.find(src_druid)
57
+
58
+ # locate and extract the resourceId/fileId elements
59
+ doc = src_item.datastreams['contentMetadata'].ng_xml
60
+ src_resource = doc.at_xpath("//resource[@id=\"#{src_resource_id}\"]")
61
+ src_file = src_resource.at_xpath("file[@id=\"#{src_file_id}\"]")
62
+ src_image_data = src_file.at_xpath('imageData')
63
+
64
+ # always use title regardless of whether a child label is present
65
+ src_label = doc.create_element('label')
66
+ src_label.content = src_item.datastreams['DC'].title.first
67
+
68
+ # add the extracted label and imageData
69
+ externalFile.add_previous_sibling(src_label)
70
+ externalFile << src_image_data unless src_image_data.nil?
71
+ end
72
+
44
73
  result
45
74
  end
46
75
 
@@ -12,7 +12,7 @@ module Dor
12
12
  has_metadata :name => 'descMetadata', :type => Dor::DescMetadataDS, :label => 'Descriptive Metadata', :control_group => 'M'
13
13
  end
14
14
 
15
- require 'stanford-mods/searchworks'
15
+ require 'stanford-mods'
16
16
 
17
17
  # intended for read-access, "as SearchWorks would see it", mostly for to_solr()
18
18
  # @param [Nokogiri::XML::Document] content Nokogiri descMetadata document (overriding internal data)
@@ -241,8 +241,9 @@ module Dor
241
241
  solr_doc[solr_key].push *vals unless vals.nil? || vals.empty?
242
242
  # asterisk to avoid multi-dimensional array: push values, not the array
243
243
  end
244
- solr_doc['sw_pub_date_sort_ssi' ] = mods.pub_date_sort # e.g. '0800'
245
- solr_doc['sw_pub_date_facet_ssi'] = mods.pub_date_facet # e.g. '9th century'
244
+ solr_doc['sw_pub_date_sort_ssi' ] = mods.pub_year_sort_str # e.g. '0800'
245
+ solr_doc['sw_pub_date_sort_isi' ] = mods.pub_year_int # e.g. '0800'
246
+ solr_doc['sw_pub_date_facet_ssi'] = mods.pub_year_display_str # e.g. '9th century'
246
247
  end
247
248
  # some fields get explicit "(none)" placeholder values, mostly for faceting
248
249
  %w(sw_language_tesim sw_genre_tesim sw_format_tesim).each { |key| solr_doc[key] = ['(none)'] if solr_doc[key].empty? }
@@ -41,7 +41,6 @@ module Dor
41
41
  rels = public_relationships.root
42
42
  pub.add_child(rels.clone) unless rels.nil? # TODO: Should never be nil in practice; working around an ActiveFedora quirk for testing
43
43
  pub.add_child(generate_dublin_core.root.clone)
44
- @public_xml_doc = pub # save this for possible IIIF Presentation manifest
45
44
  pub.add_child(Nokogiri(generate_release_xml).root.clone) unless release_xml.children.size == 0 # If there are no release_tags, this prevents an empty <releaseData/> from being added
46
45
  # Note we cannot base this on if an individual object has release tags or not, because the collection may cause one to be generated for an item,
47
46
  # so we need to calculate it and then look at the final result.s
@@ -1,4 +1,4 @@
1
- require 'moab_stanford'
1
+ require 'moab/stanford'
2
2
 
3
3
  module Dor
4
4
  module Shelvable
@@ -0,0 +1,64 @@
1
+ module Dor
2
+ class IndexingService
3
+ ##
4
+ # Returns a Logger instance for recording info about indexing attempts
5
+ # @yield attempt to execute 'entry_id_block' and use the result as an extra identifier for the log
6
+ # entry. a placeholder will be used otherwise. 'request.uuid' might be useful in a Rails app.
7
+ def self.generate_index_logger(&entry_id_block)
8
+ index_logger = Logger.new(Config.indexing_svc.log, Config.indexing_svc.log_rotation_interval)
9
+ index_logger.formatter = proc do |severity, datetime, progname, msg|
10
+ date_format_str = Config.indexing_svc.log_date_format_str
11
+ entry_id = begin entry_id_block.call rescue '---' end
12
+ "[#{entry_id}] [#{datetime.utc.strftime(date_format_str)}] #{msg}\n"
13
+ end
14
+ index_logger
15
+ end
16
+
17
+ # memoize the loggers we create in a hash, init with a nil default logger
18
+ @@loggers = { default: nil }
19
+
20
+ def self.default_index_logger
21
+ @@loggers[:default] ||= generate_index_logger
22
+ end
23
+
24
+ # takes a Dor object and indexes it to solr. doesn't commit automatically.
25
+ def self.reindex_object(obj)
26
+ solr_doc = obj.to_solr
27
+ Dor::SearchService.solr.add(solr_doc)
28
+ solr_doc
29
+ end
30
+
31
+ # retrieves a single Dor object by pid, indexes the object to solr, does some logging
32
+ # (will use a defualt logger if one is not provided). doesn't commit automatically.
33
+ #
34
+ # WARNING/TODO: the tests indicate that the "rescue Exception" block at the end will
35
+ # get skipped, and the thrown exception (e.g. SystemStackError) will not be logged. since
36
+ # that's the only consequence, and the exception bubbles up as we would want anyway, it
37
+ # doesn't seem worth blocking refactoring. see https://github.com/sul-dlss/dor-services/issues/156
38
+ # extra logging in this case would be nice, but centralized indexing that's otherwise
39
+ # fully functional is nicer.
40
+ def self.reindex_pid(pid, index_logger = nil, should_raise_errors = true)
41
+ index_logger ||= default_index_logger
42
+ obj = Dor.load_instance pid
43
+ solr_doc = reindex_object obj
44
+ index_logger.info "updated index for #{pid}"
45
+ solr_doc
46
+ rescue StandardError => se
47
+ if se.is_a? ActiveFedora::ObjectNotFoundError
48
+ index_logger.warn "failed to update index for #{pid}, object not found in Fedora"
49
+ else
50
+ index_logger.warn "failed to update index for #{pid}, unexpected StandardError, see main app log: #{se.backtrace}"
51
+ end
52
+ raise se if should_raise_errors
53
+ rescue Exception => ex
54
+ index_logger.error "failed to update index for #{pid}, unexpected Exception, see main app log: #{ex.backtrace}"
55
+ raise ex # don't swallow anything worse than StandardError
56
+ end
57
+
58
+ # given a list of pids, retrieve those objects from fedora, index each to solr, optionally commit
59
+ def self.reindex_pid_list(pid_list, should_commit = false)
60
+ pid_list.each { |pid| reindex_pid pid, nil, false } # use the default logger, don't let individual errors nuke the rest of the batch
61
+ ActiveFedora.solr.conn.commit if should_commit
62
+ end
63
+ end
64
+ end
@@ -1,4 +1,4 @@
1
- require 'moab_stanford'
1
+ require 'moab/stanford'
2
2
 
3
3
  module Dor
4
4
  class SdrIngestService
@@ -129,7 +129,7 @@ module Dor
129
129
  if content_metadata
130
130
  Stanford::ContentInventory.new.inventory_from_cm(content_metadata, druid, 'preserve', version_id)
131
131
  else
132
- FileInventory.new(:type => 'version', :digital_object_id => druid, :version_id => version_id)
132
+ Moab::FileInventory.new(:type => 'version', :digital_object_id => druid, :version_id => version_id)
133
133
  end
134
134
  end
135
135
 
@@ -143,7 +143,7 @@ module Dor
143
143
  # @param [Pathname] metadata_dir The location of the the object's metadata files
144
144
  # @return [Moab::FileGroup] Traverse the metadata directory and generate a metadata group
145
145
  def self.get_metadata_file_group(metadata_dir)
146
- file_group = FileGroup.new(:group_id => 'metadata').group_from_directory(metadata_dir)
146
+ file_group = Moab::FileGroup.new(:group_id => 'metadata').group_from_directory(metadata_dir)
147
147
  file_group
148
148
  end
149
149
 
@@ -1,5 +1,5 @@
1
1
  require 'rubygems'
2
- require 'moab_stanford'
2
+ require 'moab/stanford'
3
3
  require 'jhove_service'
4
4
  require 'dor-services'
5
5
 
data/lib/dor/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '5.3.3'
2
+ VERSION = '5.3.4'
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.3.3
4
+ version: 5.3.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-02-03 00:00:00.000000000 Z
17
+ date: 2016-02-12 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: active-fedora
@@ -404,14 +404,14 @@ dependencies:
404
404
  requirements:
405
405
  - - "~>"
406
406
  - !ruby/object:Gem::Version
407
- version: 1.4.4
407
+ version: '2.0'
408
408
  type: :runtime
409
409
  prerelease: false
410
410
  version_requirements: !ruby/object:Gem::Requirement
411
411
  requirements:
412
412
  - - "~>"
413
413
  - !ruby/object:Gem::Version
414
- version: 1.4.4
414
+ version: '2.0'
415
415
  - !ruby/object:Gem::Dependency
416
416
  name: modsulator
417
417
  requirement: !ruby/object:Gem::Requirement
@@ -432,14 +432,14 @@ dependencies:
432
432
  requirements:
433
433
  - - '='
434
434
  - !ruby/object:Gem::Version
435
- version: 1.3.3
435
+ version: 1.5.3
436
436
  type: :runtime
437
437
  prerelease: false
438
438
  version_requirements: !ruby/object:Gem::Requirement
439
439
  requirements:
440
440
  - - '='
441
441
  - !ruby/object:Gem::Version
442
- version: 1.3.3
442
+ version: 1.5.3
443
443
  - !ruby/object:Gem::Dependency
444
444
  name: coveralls
445
445
  requirement: !ruby/object:Gem::Requirement
@@ -454,6 +454,20 @@ dependencies:
454
454
  - - ">="
455
455
  - !ruby/object:Gem::Version
456
456
  version: '0'
457
+ - !ruby/object:Gem::Dependency
458
+ name: simplecov
459
+ requirement: !ruby/object:Gem::Requirement
460
+ requirements:
461
+ - - ">="
462
+ - !ruby/object:Gem::Version
463
+ version: '0'
464
+ type: :development
465
+ prerelease: false
466
+ version_requirements: !ruby/object:Gem::Requirement
467
+ requirements:
468
+ - - ">="
469
+ - !ruby/object:Gem::Version
470
+ version: '0'
457
471
  - !ruby/object:Gem::Dependency
458
472
  name: haml
459
473
  requirement: !ruby/object:Gem::Requirement
@@ -560,10 +574,7 @@ extensions: []
560
574
  extra_rdoc_files: []
561
575
  files:
562
576
  - config/certs/README
563
- - config/certs/robots-dor-dev.crt
564
- - config/certs/robots-dor-dev.key
565
577
  - config/config_defaults.yml
566
- - config/dev_console_env.rb
567
578
  - config/dev_console_env.rb.example
568
579
  - config/predicate_mappings.yml
569
580
  - lib/dor-services.rb
@@ -620,6 +631,7 @@ files:
620
631
  - lib/dor/services/cleanup_reset_service.rb
621
632
  - lib/dor/services/cleanup_service.rb
622
633
  - lib/dor/services/digital_stacks_service.rb
634
+ - lib/dor/services/indexing_service.rb
623
635
  - lib/dor/services/merge_service.rb
624
636
  - lib/dor/services/metadata_handlers/catalog_handler.rb
625
637
  - lib/dor/services/metadata_handlers/mdtoolkit_handler.rb
@@ -663,7 +675,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
663
675
  version: 1.3.6
664
676
  requirements: []
665
677
  rubyforge_project:
666
- rubygems_version: 2.4.6
678
+ rubygems_version: 2.4.8
667
679
  signing_key:
668
680
  specification_version: 4
669
681
  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,77 +0,0 @@
1
- cert_dir = File.join(File.dirname(__FILE__), 'certs')
2
-
3
- Dor::Config.configure do
4
-
5
- ssl do
6
- cert_file File.join(cert_dir, 'robots-dor-dev.crt')
7
- key_file File.join(cert_dir, 'robots-dor-dev.key')
8
- key_pass ''
9
- end
10
-
11
- suri do
12
- mint_ids true
13
- id_namespace 'druid'
14
- url 'https://lyberservices-dev.stanford.edu'
15
- user 'labware'
16
- pass 'lyberteam'
17
- end
18
-
19
- metadata do
20
- exist.url 'http://viewer:l3l%40nd@lyberapps-dev.stanford.edu/exist/rest/'
21
- catalog.url 'http://lyberservices-prod.stanford.edu/catalog/mods'
22
- end
23
-
24
- stacks do
25
- document_cache_host 'purl-dev.stanford.edu'
26
- local_stacks_root '/stacks'
27
- local_document_cache_root '/purl/document_cache'
28
- local_workspace_root '/dor/workspace'
29
- end
30
-
31
- solrizer.url 'http://sul-solr.stanford.edu/solr/argo_test'
32
- fedora.url 'https://sul-dor-test.stanford.edu/fedora'
33
- workflow.url 'https://lyberservices-dev.stanford.edu/workflow/'
34
- dor_services.url 'https://dorAdmin:dorAdmin@sul-lyberservices-dev.stanford.edu/dor'
35
-
36
- cleanup do
37
- local_workspace_root '/dor/workspace'
38
- local_export_home '/dor/export'
39
- end
40
-
41
- sdr do
42
- url 'https://sdrAdmin:sdrAdmin@sdr-services-test.stanford.edu/sdr/'
43
- local_workspace_root '/dor/workspace'
44
- local_export_home '/dor/export'
45
- datastreams do
46
- administrativeMetadata 'optional'
47
- contentMetadata 'optional'
48
- descMetadata 'required'
49
- defaultObjectRights 'optional'
50
- events 'optional'
51
- embargoMetadata 'optional'
52
- identityMetadata 'required'
53
- provenanceMetadata 'required'
54
- relationshipMetadata 'required'
55
- rightsMetadata 'optional'
56
- roleMetadata 'optional'
57
- sourceMetadata 'optional'
58
- technicalMetadata 'optional'
59
- versionMetadata 'required'
60
- workflows 'optional'
61
- end
62
- end
63
-
64
- accessioning_robot_sleep_time 30
65
-
66
- end
67
-
68
- # WORKFLOW_URI = 'http://lyberservices-test.stanford.edu/workflow'
69
-
70
- # Constants for Dor::WorkflowService
71
- # module Dor
72
- # CREATE_WORKFLOW = DOR_CREATE_WORKFLOW = true
73
- # WF_URI = 'http://lyberservices-test.stanford.edu/workflow'
74
- # end
75
-
76
- # External application locations
77
- JHOVE_HOME = File.join(ENV['HOME'], 'jhoveToolkit')