dor-services 5.3.3 → 5.3.4

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