dor-services 4.15.4 → 4.16.0

Sign up to get free protection for your applications and to get access to all the features.
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