dor-services 4.15.4 → 4.16.0

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YTIzYzg5ZjFiYTU2OGQwZmEwZjIyZGY1NTdjY2Y0NWM2NDMyNGRiMw==
5
- data.tar.gz: !binary |-
6
- NTcyNGRkZTExMDk3NGI2MDY3M2NiNmQ2YjJkYzE3MWRiY2QwODlkMg==
2
+ SHA1:
3
+ metadata.gz: bda19055e5488d98744f9b3f4c88030f5c2ed3fc
4
+ data.tar.gz: fb252ec7e922e6ee181e6b1628b078dc6732c353
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NWYxZWU1NTJkNWJlMTY0ZWU1ZDA3NDI3NmM5ODZlZDk3MjY3ZmFmZDM5Y2M1
10
- NmU4ZTgzYzQ5NzIxMWIwYWJhOTIwNjRmMmEyMThkNjhjNGVhZmVhOWU3OWVm
11
- ODFmMmY0MzFhODRjMzI1NzUxNzRlNmMyYzBkMWZlYmMwN2ZmYWU=
12
- data.tar.gz: !binary |-
13
- MzE5OWM1OTIzZGMyOTUyZjliYmUyMGVjODMyNGQ2OWZhMDYxYTVlNzA5M2E5
14
- ODVjNzEzODUyODU2OGVhZmUzZDdiMTczZmE1NzIwZDc2Yzk1NGRmMGJhZDdm
15
- ZDdmODEzNmU3MWI2ZjU2NjllYmIwNTgwM2Y1ZTc3MmFhZTEyMmU=
6
+ metadata.gz: 7056ca6fd329bf73b0d617fe66a4b78caf22d22c903d1901471a20e2cfd66935a60c2b45eb522ea08bce8c9d1d7038bf3f18ada5fc759cb329566fa800ed4398
7
+ data.tar.gz: 89251676387a262a78991de2112beeb87fcaf2aef1482c4452b114f9a60c4699e57668267ff87ab02e8aa148893d56c773cb00566b3f3eefdd80b49fb20de365
@@ -0,0 +1,29 @@
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-----
@@ -0,0 +1,27 @@
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-----
@@ -50,6 +50,8 @@
50
50
  :document_cache_user:
51
51
  :local_stacks_root: /stacks
52
52
  :local_document_cache_root: /purl
53
+ :url:
54
+ :iiif_profile:
53
55
  :suri:
54
56
  :pass:
55
57
  :id_namespace: druid
@@ -61,4 +61,5 @@ Dor::Config.configure do
61
61
  end
62
62
  end
63
63
 
64
- accessioning_robot_sleep_time 30
64
+ end
65
+
@@ -0,0 +1,84 @@
1
+ cert_dir = File.join(File.dirname(__FILE__), "..", "certs")
2
+
3
+ Dor::Config.configure do
4
+ fedora do
5
+ url 'https://sul-dor-dev.stanford.edu/fedora'
6
+ end
7
+
8
+ ssl do
9
+ cert_file File.join(cert_dir,"robots-dor-dev.crt")
10
+ key_file File.join(cert_dir,"robots-dor-dev.key")
11
+ key_pass ''
12
+ end
13
+
14
+ suri do
15
+ mint_ids true
16
+ id_namespace 'druid'
17
+ url 'https://lyberservices-dev.stanford.edu'
18
+ user 'labware'
19
+ pass 'lyberteam'
20
+ 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
+ document_cache_host 'purl-dev.stanford.edu'
29
+ local_stacks_root '/stacks'
30
+ local_document_cache_root '/purl/document_cache'
31
+ local_workspace_root '/dor/workspace'
32
+ url 'http://stacks-dev.stanford.edu'
33
+ iiif_profile 'http://iiif.io/api/image/2/level1.json'
34
+ end
35
+
36
+ solrizer.url 'http://sul-solr.stanford.edu/solr/argo_dev'
37
+ workflow.url 'https://lyberservices-dev.stanford.edu/workflow/'
38
+ dor_services.url 'https://dorAdmin:dorAdmin@sul-lyberservices-dev.stanford.edu/dor'
39
+
40
+ cleanup do
41
+ local_workspace_root '/dor/workspace'
42
+ local_export_home '/dor/export'
43
+ end
44
+
45
+ sdr do
46
+ url 'https://sdrAdmin:sdrAdmin@sul-sdr-services-dev.stanford.edu/sdr/'
47
+ local_workspace_root '/dor/workspace'
48
+ local_export_home '/dor/export'
49
+ datastreams do
50
+ administrativeMetadata 'optional'
51
+ contentMetadata 'optional'
52
+ descMetadata 'required'
53
+ defaultObjectRights 'optional'
54
+ events 'optional'
55
+ embargoMetadata 'optional'
56
+ identityMetadata 'required'
57
+ provenanceMetadata 'required'
58
+ relationshipMetadata 'required'
59
+ rightsMetadata 'optional'
60
+ roleMetadata 'optional'
61
+ sourceMetadata 'optional'
62
+ technicalMetadata 'optional'
63
+ versionMetadata 'required'
64
+ workflows 'optional'
65
+ end
66
+ end
67
+
68
+ accessioning_robot_sleep_time 30
69
+
70
+ end
71
+
72
+
73
+ #WORKFLOW_URI = 'http://lyberservices-test.stanford.edu/workflow'
74
+
75
+ # Constants for Dor::WorkflowService
76
+ #module Dor
77
+ # CREATE_WORKFLOW = DOR_CREATE_WORKFLOW = true
78
+ # WF_URI = 'http://lyberservices-test.stanford.edu/workflow'
79
+ #end
80
+
81
+ # External application locations
82
+ JHOVE_HOME = File.join(ENV['HOME'], 'jhoveToolkit')
83
+
84
+ REDIS_URL = "sul-lyberservices-dev.stanford.edu:6379/resque:#{ENV['ROBOT_ENVIRONMENT']}"
@@ -0,0 +1,84 @@
1
+ cert_dir = File.join(File.dirname(__FILE__), "..", "certs")
2
+
3
+ Dor::Config.configure do
4
+ fedora do
5
+ url 'https://sul-dor-dev.stanford.edu/fedora'
6
+ end
7
+
8
+ ssl do
9
+ cert_file File.join(cert_dir,"robots-dor-dev.crt")
10
+ key_file File.join(cert_dir,"robots-dor-dev.key")
11
+ key_pass ''
12
+ end
13
+
14
+ suri do
15
+ mint_ids true
16
+ id_namespace 'druid'
17
+ url 'https://lyberservices-dev.stanford.edu'
18
+ user 'labware'
19
+ pass 'lyberteam'
20
+ 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
+ document_cache_host 'purl-dev.stanford.edu'
29
+ local_stacks_root '/stacks'
30
+ local_document_cache_root '/purl/document_cache'
31
+ local_workspace_root '/dor/workspace'
32
+ url 'http://stacks-dev.stanford.edu'
33
+ iiif_profile 'http://iiif.io/api/image/2/level1.json'
34
+ end
35
+
36
+ solrizer.url 'http://sul-solr.stanford.edu/solr/argo_dev'
37
+ workflow.url 'https://lyberservices-dev.stanford.edu/workflow/'
38
+ dor_services.url 'https://dorAdmin:dorAdmin@sul-lyberservices-dev.stanford.edu/dor'
39
+
40
+ cleanup do
41
+ local_workspace_root '/dor/workspace'
42
+ local_export_home '/dor/export'
43
+ end
44
+
45
+ sdr do
46
+ url 'https://sdrAdmin:sdrAdmin@sul-sdr-services-dev.stanford.edu/sdr/'
47
+ local_workspace_root '/dor/workspace'
48
+ local_export_home '/dor/export'
49
+ datastreams do
50
+ administrativeMetadata 'optional'
51
+ contentMetadata 'optional'
52
+ descMetadata 'required'
53
+ defaultObjectRights 'optional'
54
+ events 'optional'
55
+ embargoMetadata 'optional'
56
+ identityMetadata 'required'
57
+ provenanceMetadata 'required'
58
+ relationshipMetadata 'required'
59
+ rightsMetadata 'optional'
60
+ roleMetadata 'optional'
61
+ sourceMetadata 'optional'
62
+ technicalMetadata 'optional'
63
+ versionMetadata 'required'
64
+ workflows 'optional'
65
+ end
66
+ end
67
+
68
+ accessioning_robot_sleep_time 30
69
+
70
+ end
71
+
72
+
73
+ #WORKFLOW_URI = 'http://lyberservices-test.stanford.edu/workflow'
74
+
75
+ # Constants for Dor::WorkflowService
76
+ #module Dor
77
+ # CREATE_WORKFLOW = DOR_CREATE_WORKFLOW = true
78
+ # WF_URI = 'http://lyberservices-test.stanford.edu/workflow'
79
+ #end
80
+
81
+ # External application locations
82
+ JHOVE_HOME = File.join(ENV['HOME'], 'jhoveToolkit')
83
+
84
+ REDIS_URL = "sul-lyberservices-dev.stanford.edu:6379/resque:#{ENV['ROBOT_ENVIRONMENT']}"
data/lib/dor-services.rb CHANGED
@@ -117,6 +117,7 @@ module Dor
117
117
  autoload :Editable, 'dor/models/editable'
118
118
  autoload :Discoverable, 'dor/models/discoverable'
119
119
  autoload :Geoable, 'dor/models/geoable'
120
+ autoload :Presentable, 'dor/models/presentable'
120
121
 
121
122
 
122
123
  # ActiveFedora Classes
@@ -0,0 +1,89 @@
1
+ require 'iiif/presentation'
2
+
3
+ module Dor
4
+ module Presentable
5
+
6
+ DC_NS = {"dc"=>"http://purl.org/dc/elements/1.1/", "oai_dc"=>"http://www.openarchives.org/OAI/2.0/oai_dc/"}
7
+
8
+ def iiif_presentation_manifest_needed? pub_obj_doc
9
+ if(pub_obj_doc.at_xpath('/publicObject/contentMetadata[@type="image"]/resource[@type="image"]'))
10
+ return true
11
+ elsif(pub_obj_doc.at_xpath('/publicObject/contentMetadata[@type="book"]/resource[@type="page"]'))
12
+ return true
13
+ else
14
+ return false
15
+ end
16
+ end
17
+
18
+ # Bypass this method if there are no image resources in contentMetadata
19
+ def build_iiif_manifest pub_obj_doc
20
+ id = self.pid.split(':').last
21
+
22
+ lbl_node = pub_obj_doc.at_xpath('/publicObject/identityMetadata/objectLabel')
23
+ if lbl_node.nil?
24
+ lbl_node = pub_obj_doc.at_xpath '//oai_dc:dc/dc:title', ns
25
+ end
26
+ raise "Unable to build IIIF Presentation manifest: No identityMetadata/objectLabel or dc:title" if lbl_node.nil?
27
+ lbl = lbl_node.text
28
+
29
+ purl_base_uri = "http://#{Dor::Config.stacks.document_cache_host}/#{id}"
30
+
31
+ manifest_data = {
32
+ '@id' => "#{purl_base_uri}.manifest",
33
+ 'label' => lbl,
34
+ 'attribution' => 'Provided by the Stanford University Libraries',
35
+ 'seeAlso' => {
36
+ '@id' => "#{purl_base_uri}.mods",
37
+ 'format' => 'application/mods+xml'
38
+ }
39
+ }
40
+ manifest = IIIF::Presentation::Manifest.new manifest_data
41
+
42
+ seq_data = {
43
+ '@id' => "#{purl_base_uri}/sequence-1",
44
+ 'label' => 'Current order'
45
+ }
46
+ sequence = IIIF::Presentation::Sequence.new seq_data
47
+
48
+ # for each resource image, create a canvas
49
+ count = 0
50
+ pub_obj_doc.xpath('/publicObject/contentMetadata/resource[@type="image" or @type="page"]').each do |res_node|
51
+ count += 1
52
+ img_file_name = res_node.at_xpath('file/@id').text.split('.').first
53
+ height = res_node.at_xpath('file/imageData/@height').text.to_i
54
+ width = res_node.at_xpath('file/imageData/@width').text.to_i
55
+ stacks_uri = "#{Dor::Config.stacks.url}/image/iiif/#{id}%2F#{img_file_name}"
56
+
57
+ canv = IIIF::Presentation::Canvas.new
58
+ canv['@id'] = "#{purl_base_uri}/canvas/canvas-#{count}"
59
+ canv.label = res_node.at_xpath('label').text
60
+ canv.height = height
61
+ canv.width = width
62
+
63
+ anno = IIIF::Presentation::Annotation.new
64
+ anno['@id'] = "#{purl_base_uri}/imageanno/anno-#{count}"
65
+ anno['on'] = canv['@id']
66
+
67
+ img_res = IIIF::Presentation::ImageResource.new
68
+ img_res['@id'] = "#{stacks_uri}/full/full/0/default.jpg"
69
+ img_res.format = 'image/jpeg'
70
+ img_res.height = height
71
+ img_res.width = width
72
+
73
+ svc = IIIF::Service.new ({
74
+ '@context' => 'http://iiif.io/api/image/2/context.json',
75
+ '@id' => stacks_uri,
76
+ 'profile' => Dor::Config.stacks.iiif_profile
77
+ })
78
+
79
+ img_res.service = svc
80
+ anno.resource = img_res
81
+ canv.images << anno
82
+ sequence.canvases << canv
83
+ end
84
+
85
+ manifest.sequences << sequence
86
+ manifest.to_json(:pretty => true)
87
+ end
88
+ end
89
+ end
@@ -7,6 +7,7 @@ module Dor
7
7
  include Governable
8
8
  include Describable
9
9
  include Itemizable
10
+ include Presentable
10
11
 
11
12
  included do
12
13
  has_metadata :name => "rightsMetadata", :type => ActiveFedora::OmDatastream, :label => 'Rights Metadata'
@@ -41,6 +42,7 @@ module Dor
41
42
  rels = public_relationships.root
42
43
  pub.add_child(rels.clone) unless rels.nil? # TODO: Should never be nil in practice; working around an ActiveFedora quirk for testing
43
44
  pub.add_child(self.generate_dublin_core.root.clone)
45
+ @public_xml_doc = pub # save this for possible IIIF Presentation manifest
44
46
  new_pub = Nokogiri::XML(pub.to_xml) { |x| x.noblanks }
45
47
  new_pub.encoding = 'UTF-8'
46
48
  new_pub.to_xml
@@ -60,6 +62,9 @@ module Dor
60
62
  if self.metadata_format == 'mods'
61
63
  DigitalStacksService.transfer_to_document_store(pid, self.generate_public_desc_md, 'mods')
62
64
  end
65
+ if iiif_presentation_manifest_needed? @public_xml_doc
66
+ DigitalStacksService.transfer_to_document_store(pid, build_iiif_manifest(@public_xml_doc), 'manifest')
67
+ end
63
68
  else
64
69
  # Clear out the document cache for this item
65
70
  DigitalStacksService.prune_purl_dir pid
data/lib/dor/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dor
2
- VERSION = '4.15.4'
2
+ VERSION = '4.16.0'
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: 4.15.4
4
+ version: 4.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Klein
@@ -12,466 +12,480 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-12-16 00:00:00.000000000 Z
15
+ date: 2015-01-16 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: active-fedora
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - ~>
21
+ - - "~>"
22
22
  - !ruby/object:Gem::Version
23
23
  version: 5.7.1
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - ~>
28
+ - - "~>"
29
29
  - !ruby/object:Gem::Version
30
30
  version: 5.7.1
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: activesupport
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - ~>
35
+ - - "~>"
36
36
  - !ruby/object:Gem::Version
37
37
  version: '3.2'
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.2.18
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.2'
48
- - - ! '>='
48
+ - - ">="
49
49
  - !ruby/object:Gem::Version
50
50
  version: 3.2.18
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: confstruct
53
53
  requirement: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - ~>
55
+ - - "~>"
56
56
  - !ruby/object:Gem::Version
57
57
  version: 0.2.7
58
58
  type: :runtime
59
59
  prerelease: false
60
60
  version_requirements: !ruby/object:Gem::Requirement
61
61
  requirements:
62
- - - ~>
62
+ - - "~>"
63
63
  - !ruby/object:Gem::Version
64
64
  version: 0.2.7
65
65
  - !ruby/object:Gem::Dependency
66
66
  name: equivalent-xml
67
67
  requirement: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ~>
69
+ - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: 0.5.1
72
72
  type: :runtime
73
73
  prerelease: false
74
74
  version_requirements: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ~>
76
+ - - "~>"
77
77
  - !ruby/object:Gem::Version
78
78
  version: 0.5.1
79
79
  - !ruby/object:Gem::Dependency
80
80
  name: json
81
81
  requirement: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ~>
83
+ - - "~>"
84
84
  - !ruby/object:Gem::Version
85
85
  version: 1.8.1
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - ~>
90
+ - - "~>"
91
91
  - !ruby/object:Gem::Version
92
92
  version: 1.8.1
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: net-sftp
95
95
  requirement: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - ~>
97
+ - - "~>"
98
98
  - !ruby/object:Gem::Version
99
99
  version: 2.1.2
100
100
  type: :runtime
101
101
  prerelease: false
102
102
  version_requirements: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - ~>
104
+ - - "~>"
105
105
  - !ruby/object:Gem::Version
106
106
  version: 2.1.2
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: net-ssh
109
109
  requirement: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - ~>
111
+ - - "~>"
112
112
  - !ruby/object:Gem::Version
113
113
  version: 2.6.5
114
114
  type: :runtime
115
115
  prerelease: false
116
116
  version_requirements: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - ~>
118
+ - - "~>"
119
119
  - !ruby/object:Gem::Version
120
120
  version: 2.6.5
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: nokogiri
123
123
  requirement: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ~>
125
+ - - "~>"
126
126
  - !ruby/object:Gem::Version
127
127
  version: 1.6.0
128
128
  type: :runtime
129
129
  prerelease: false
130
130
  version_requirements: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - ~>
132
+ - - "~>"
133
133
  - !ruby/object:Gem::Version
134
134
  version: 1.6.0
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: om
137
137
  requirement: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - ~>
139
+ - - "~>"
140
140
  - !ruby/object:Gem::Version
141
141
  version: 1.8.0
142
142
  type: :runtime
143
143
  prerelease: false
144
144
  version_requirements: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - ~>
146
+ - - "~>"
147
147
  - !ruby/object:Gem::Version
148
148
  version: 1.8.0
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: progressbar
151
151
  requirement: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - ~>
153
+ - - "~>"
154
154
  - !ruby/object:Gem::Version
155
155
  version: 0.21.0
156
156
  type: :runtime
157
157
  prerelease: false
158
158
  version_requirements: !ruby/object:Gem::Requirement
159
159
  requirements:
160
- - - ~>
160
+ - - "~>"
161
161
  - !ruby/object:Gem::Version
162
162
  version: 0.21.0
163
163
  - !ruby/object:Gem::Dependency
164
164
  name: rdf
165
165
  requirement: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - ~>
167
+ - - "~>"
168
168
  - !ruby/object:Gem::Version
169
169
  version: 1.0.9.0
170
170
  type: :runtime
171
171
  prerelease: false
172
172
  version_requirements: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - ~>
174
+ - - "~>"
175
175
  - !ruby/object:Gem::Version
176
176
  version: 1.0.9.0
177
177
  - !ruby/object:Gem::Dependency
178
178
  name: rest-client
179
179
  requirement: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - ~>
181
+ - - "~>"
182
182
  - !ruby/object:Gem::Version
183
183
  version: 1.6.7
184
184
  type: :runtime
185
185
  prerelease: false
186
186
  version_requirements: !ruby/object:Gem::Requirement
187
187
  requirements:
188
- - - ~>
188
+ - - "~>"
189
189
  - !ruby/object:Gem::Version
190
190
  version: 1.6.7
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: rsolr-ext
193
193
  requirement: !ruby/object:Gem::Requirement
194
194
  requirements:
195
- - - ~>
195
+ - - "~>"
196
196
  - !ruby/object:Gem::Version
197
197
  version: 1.0.3
198
198
  type: :runtime
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
201
201
  requirements:
202
- - - ~>
202
+ - - "~>"
203
203
  - !ruby/object:Gem::Version
204
204
  version: 1.0.3
205
205
  - !ruby/object:Gem::Dependency
206
206
  name: ruby-cache
207
207
  requirement: !ruby/object:Gem::Requirement
208
208
  requirements:
209
- - - ~>
209
+ - - "~>"
210
210
  - !ruby/object:Gem::Version
211
211
  version: 0.3.0
212
212
  type: :runtime
213
213
  prerelease: false
214
214
  version_requirements: !ruby/object:Gem::Requirement
215
215
  requirements:
216
- - - ~>
216
+ - - "~>"
217
217
  - !ruby/object:Gem::Version
218
218
  version: 0.3.0
219
219
  - !ruby/object:Gem::Dependency
220
220
  name: ruby-graphviz
221
221
  requirement: !ruby/object:Gem::Requirement
222
222
  requirements:
223
- - - ~>
223
+ - - "~>"
224
224
  - !ruby/object:Gem::Version
225
225
  version: 1.0.9
226
226
  type: :runtime
227
227
  prerelease: false
228
228
  version_requirements: !ruby/object:Gem::Requirement
229
229
  requirements:
230
- - - ~>
230
+ - - "~>"
231
231
  - !ruby/object:Gem::Version
232
232
  version: 1.0.9
233
233
  - !ruby/object:Gem::Dependency
234
234
  name: rubydora
235
235
  requirement: !ruby/object:Gem::Requirement
236
236
  requirements:
237
- - - ~>
237
+ - - "~>"
238
238
  - !ruby/object:Gem::Version
239
239
  version: 1.6.5
240
240
  type: :runtime
241
241
  prerelease: false
242
242
  version_requirements: !ruby/object:Gem::Requirement
243
243
  requirements:
244
- - - ~>
244
+ - - "~>"
245
245
  - !ruby/object:Gem::Version
246
246
  version: 1.6.5
247
247
  - !ruby/object:Gem::Dependency
248
248
  name: solrizer
249
249
  requirement: !ruby/object:Gem::Requirement
250
250
  requirements:
251
- - - ~>
251
+ - - "~>"
252
252
  - !ruby/object:Gem::Version
253
253
  version: '2.0'
254
254
  type: :runtime
255
255
  prerelease: false
256
256
  version_requirements: !ruby/object:Gem::Requirement
257
257
  requirements:
258
- - - ~>
258
+ - - "~>"
259
259
  - !ruby/object:Gem::Version
260
260
  version: '2.0'
261
261
  - !ruby/object:Gem::Dependency
262
262
  name: systemu
263
263
  requirement: !ruby/object:Gem::Requirement
264
264
  requirements:
265
- - - ~>
265
+ - - "~>"
266
266
  - !ruby/object:Gem::Version
267
267
  version: 2.6.0
268
268
  type: :runtime
269
269
  prerelease: false
270
270
  version_requirements: !ruby/object:Gem::Requirement
271
271
  requirements:
272
- - - ~>
272
+ - - "~>"
273
273
  - !ruby/object:Gem::Version
274
274
  version: 2.6.0
275
275
  - !ruby/object:Gem::Dependency
276
276
  name: uuidtools
277
277
  requirement: !ruby/object:Gem::Requirement
278
278
  requirements:
279
- - - ~>
279
+ - - "~>"
280
280
  - !ruby/object:Gem::Version
281
281
  version: 2.1.4
282
282
  type: :runtime
283
283
  prerelease: false
284
284
  version_requirements: !ruby/object:Gem::Requirement
285
285
  requirements:
286
- - - ~>
286
+ - - "~>"
287
287
  - !ruby/object:Gem::Version
288
288
  version: 2.1.4
289
289
  - !ruby/object:Gem::Dependency
290
290
  name: validatable
291
291
  requirement: !ruby/object:Gem::Requirement
292
292
  requirements:
293
- - - ~>
293
+ - - "~>"
294
294
  - !ruby/object:Gem::Version
295
295
  version: 1.6.7
296
296
  type: :runtime
297
297
  prerelease: false
298
298
  version_requirements: !ruby/object:Gem::Requirement
299
299
  requirements:
300
- - - ~>
300
+ - - "~>"
301
301
  - !ruby/object:Gem::Version
302
302
  version: 1.6.7
303
+ - !ruby/object:Gem::Dependency
304
+ name: osullivan
305
+ requirement: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: '0'
310
+ type: :runtime
311
+ prerelease: false
312
+ version_requirements: !ruby/object:Gem::Requirement
313
+ requirements:
314
+ - - ">="
315
+ - !ruby/object:Gem::Version
316
+ version: '0'
303
317
  - !ruby/object:Gem::Dependency
304
318
  name: dor-workflow-service
305
319
  requirement: !ruby/object:Gem::Requirement
306
320
  requirements:
307
- - - ~>
321
+ - - "~>"
308
322
  - !ruby/object:Gem::Version
309
323
  version: '1.7'
310
- - - ! '>='
324
+ - - ">="
311
325
  - !ruby/object:Gem::Version
312
326
  version: 1.7.1
313
327
  type: :runtime
314
328
  prerelease: false
315
329
  version_requirements: !ruby/object:Gem::Requirement
316
330
  requirements:
317
- - - ~>
331
+ - - "~>"
318
332
  - !ruby/object:Gem::Version
319
333
  version: '1.7'
320
- - - ! '>='
334
+ - - ">="
321
335
  - !ruby/object:Gem::Version
322
336
  version: 1.7.1
323
337
  - !ruby/object:Gem::Dependency
324
338
  name: druid-tools
325
339
  requirement: !ruby/object:Gem::Requirement
326
340
  requirements:
327
- - - ~>
341
+ - - "~>"
328
342
  - !ruby/object:Gem::Version
329
343
  version: 0.3.1
330
344
  type: :runtime
331
345
  prerelease: false
332
346
  version_requirements: !ruby/object:Gem::Requirement
333
347
  requirements:
334
- - - ~>
348
+ - - "~>"
335
349
  - !ruby/object:Gem::Version
336
350
  version: 0.3.1
337
351
  - !ruby/object:Gem::Dependency
338
352
  name: lyber-utils
339
353
  requirement: !ruby/object:Gem::Requirement
340
354
  requirements:
341
- - - ~>
355
+ - - "~>"
342
356
  - !ruby/object:Gem::Version
343
357
  version: 0.1.2
344
358
  type: :runtime
345
359
  prerelease: false
346
360
  version_requirements: !ruby/object:Gem::Requirement
347
361
  requirements:
348
- - - ~>
362
+ - - "~>"
349
363
  - !ruby/object:Gem::Version
350
364
  version: 0.1.2
351
365
  - !ruby/object:Gem::Dependency
352
366
  name: moab-versioning
353
367
  requirement: !ruby/object:Gem::Requirement
354
368
  requirements:
355
- - - ~>
369
+ - - "~>"
356
370
  - !ruby/object:Gem::Version
357
371
  version: 1.4.0
358
372
  type: :runtime
359
373
  prerelease: false
360
374
  version_requirements: !ruby/object:Gem::Requirement
361
375
  requirements:
362
- - - ~>
376
+ - - "~>"
363
377
  - !ruby/object:Gem::Version
364
378
  version: 1.4.0
365
379
  - !ruby/object:Gem::Dependency
366
380
  name: stanford-mods
367
381
  requirement: !ruby/object:Gem::Requirement
368
382
  requirements:
369
- - - ~>
383
+ - - "~>"
370
384
  - !ruby/object:Gem::Version
371
385
  version: 0.0.14
372
386
  type: :runtime
373
387
  prerelease: false
374
388
  version_requirements: !ruby/object:Gem::Requirement
375
389
  requirements:
376
- - - ~>
390
+ - - "~>"
377
391
  - !ruby/object:Gem::Version
378
392
  version: 0.0.14
379
393
  - !ruby/object:Gem::Dependency
380
394
  name: fakeweb
381
395
  requirement: !ruby/object:Gem::Requirement
382
396
  requirements:
383
- - - ~>
397
+ - - "~>"
384
398
  - !ruby/object:Gem::Version
385
399
  version: 1.3.0
386
400
  type: :development
387
401
  prerelease: false
388
402
  version_requirements: !ruby/object:Gem::Requirement
389
403
  requirements:
390
- - - ~>
404
+ - - "~>"
391
405
  - !ruby/object:Gem::Version
392
406
  version: 1.3.0
393
407
  - !ruby/object:Gem::Dependency
394
408
  name: haml
395
409
  requirement: !ruby/object:Gem::Requirement
396
410
  requirements:
397
- - - ~>
411
+ - - "~>"
398
412
  - !ruby/object:Gem::Version
399
413
  version: 4.0.4
400
414
  type: :development
401
415
  prerelease: false
402
416
  version_requirements: !ruby/object:Gem::Requirement
403
417
  requirements:
404
- - - ~>
418
+ - - "~>"
405
419
  - !ruby/object:Gem::Version
406
420
  version: 4.0.4
407
421
  - !ruby/object:Gem::Dependency
408
422
  name: jhove-service
409
423
  requirement: !ruby/object:Gem::Requirement
410
424
  requirements:
411
- - - ~>
425
+ - - "~>"
412
426
  - !ruby/object:Gem::Version
413
427
  version: 1.0.1
414
428
  type: :development
415
429
  prerelease: false
416
430
  version_requirements: !ruby/object:Gem::Requirement
417
431
  requirements:
418
- - - ~>
432
+ - - "~>"
419
433
  - !ruby/object:Gem::Version
420
434
  version: 1.0.1
421
435
  - !ruby/object:Gem::Dependency
422
436
  name: rake
423
437
  requirement: !ruby/object:Gem::Requirement
424
438
  requirements:
425
- - - ~>
439
+ - - "~>"
426
440
  - !ruby/object:Gem::Version
427
441
  version: 0.8.7
428
442
  type: :development
429
443
  prerelease: false
430
444
  version_requirements: !ruby/object:Gem::Requirement
431
445
  requirements:
432
- - - ~>
446
+ - - "~>"
433
447
  - !ruby/object:Gem::Version
434
448
  version: 0.8.7
435
449
  - !ruby/object:Gem::Dependency
436
450
  name: rdoc
437
451
  requirement: !ruby/object:Gem::Requirement
438
452
  requirements:
439
- - - ~>
453
+ - - "~>"
440
454
  - !ruby/object:Gem::Version
441
455
  version: 4.0.1
442
456
  type: :development
443
457
  prerelease: false
444
458
  version_requirements: !ruby/object:Gem::Requirement
445
459
  requirements:
446
- - - ~>
460
+ - - "~>"
447
461
  - !ruby/object:Gem::Version
448
462
  version: 4.0.1
449
463
  - !ruby/object:Gem::Dependency
450
464
  name: rspec
451
465
  requirement: !ruby/object:Gem::Requirement
452
466
  requirements:
453
- - - ~>
467
+ - - "~>"
454
468
  - !ruby/object:Gem::Version
455
469
  version: 2.14.1
456
470
  type: :development
457
471
  prerelease: false
458
472
  version_requirements: !ruby/object:Gem::Requirement
459
473
  requirements:
460
- - - ~>
474
+ - - "~>"
461
475
  - !ruby/object:Gem::Version
462
476
  version: 2.14.1
463
477
  - !ruby/object:Gem::Dependency
464
478
  name: yard
465
479
  requirement: !ruby/object:Gem::Requirement
466
480
  requirements:
467
- - - ~>
481
+ - - "~>"
468
482
  - !ruby/object:Gem::Version
469
483
  version: 0.8.7
470
484
  type: :development
471
485
  prerelease: false
472
486
  version_requirements: !ruby/object:Gem::Requirement
473
487
  requirements:
474
- - - ~>
488
+ - - "~>"
475
489
  - !ruby/object:Gem::Version
476
490
  version: 0.8.7
477
491
  description: Contains classes to register objects and initialize workflows
@@ -486,9 +500,13 @@ files:
486
500
  - bin/dor-indexer
487
501
  - bin/dor-indexerd
488
502
  - config/certs/README
503
+ - config/certs/robots-dor-dev.crt
504
+ - config/certs/robots-dor-dev.key
489
505
  - config/config_defaults.yml
490
506
  - config/dev_console_env.rb
491
507
  - config/dev_console_env.rb.example
508
+ - config/environments/development.rb
509
+ - config/environments/test.rb
492
510
  - config/predicate_mappings.yml
493
511
  - lib/dor-services.rb
494
512
  - lib/dor/config.rb
@@ -532,6 +550,7 @@ files:
532
550
  - lib/dor/models/item.rb
533
551
  - lib/dor/models/itemizable.rb
534
552
  - lib/dor/models/mods2dc.xslt
553
+ - lib/dor/models/presentable.rb
535
554
  - lib/dor/models/preservable.rb
536
555
  - lib/dor/models/processable.rb
537
556
  - lib/dor/models/publishable.rb
@@ -577,17 +596,17 @@ require_paths:
577
596
  - lib
578
597
  required_ruby_version: !ruby/object:Gem::Requirement
579
598
  requirements:
580
- - - ! '>='
599
+ - - ">="
581
600
  - !ruby/object:Gem::Version
582
601
  version: '0'
583
602
  required_rubygems_version: !ruby/object:Gem::Requirement
584
603
  requirements:
585
- - - ! '>='
604
+ - - ">="
586
605
  - !ruby/object:Gem::Version
587
606
  version: 1.3.6
588
607
  requirements: []
589
608
  rubyforge_project:
590
- rubygems_version: 2.4.3
609
+ rubygems_version: 2.4.2
591
610
  signing_key:
592
611
  specification_version: 4
593
612
  summary: Ruby implmentation of DOR services used by the SULAIR Digital Library