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 +4 -4
- data/config/config_defaults.yml +4 -0
- data/lib/dor-services.rb +1 -0
- data/lib/dor/datastreams/content_metadata_ds.rb +33 -4
- data/lib/dor/models/describable.rb +4 -3
- data/lib/dor/models/publishable.rb +0 -1
- data/lib/dor/models/shelvable.rb +1 -1
- data/lib/dor/services/indexing_service.rb +64 -0
- data/lib/dor/services/sdr_ingest_service.rb +3 -3
- data/lib/dor/services/technical_metadata_service.rb +1 -1
- data/lib/dor/version.rb +1 -1
- metadata +22 -10
- data/config/certs/robots-dor-dev.crt +0 -29
- data/config/certs/robots-dor-dev.key +0 -27
- data/config/dev_console_env.rb +0 -77
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2dd35a675cb046c99db17934a58e4587b9caa03e
|
4
|
+
data.tar.gz: fcf7860c66176b880be68945ab882ff761abe815
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4283ad61ea3c41740204253a88e8b45be6546b8420c2048787f3b42eb44b6871acce199bbb5263a138c36b776dcf91e105de0bc97fb7b456b50e65980cb028b7
|
7
|
+
data.tar.gz: bbb4592f2cdf234ab5b981f38a74e6785574e07a3353325b9bf31437d20368eb3d041a81b6eac0cf7f2d31e4aa04d5cdd611a9315f4ebc956a2de429e2393e64
|
data/config/config_defaults.yml
CHANGED
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
|
-
|
41
|
-
|
42
|
-
result.xpath('/contentMetadata/resource
|
43
|
-
result.xpath('/contentMetadata/resource/file
|
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
|
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.
|
245
|
-
solr_doc['
|
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
|
data/lib/dor/models/shelvable.rb
CHANGED
@@ -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 '
|
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
|
|
data/lib/dor/version.rb
CHANGED
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.
|
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-
|
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:
|
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:
|
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.
|
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.
|
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.
|
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-----
|
data/config/dev_console_env.rb
DELETED
@@ -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')
|