cocina-models 0.22.1 → 0.22.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/maps/Sequence.json +10 -0
- data/docs/schema.json +12 -0
- data/docs/schema.md +3 -2
- data/lib/cocina/models/admin_policy.rb +1 -1
- data/lib/cocina/models/collection.rb +3 -1
- data/lib/cocina/models/dro.rb +4 -1
- data/lib/cocina/models/request_admin_policy.rb +1 -1
- data/lib/cocina/models/request_collection.rb +1 -1
- data/lib/cocina/models/request_dro.rb +1 -1
- data/lib/cocina/models/sequence.rb +13 -0
- data/lib/cocina/models/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93d0b9a2418a1c864d36b39293f1e89935519609a9e592594494bc332c0cf601
|
4
|
+
data.tar.gz: 59d36afc29361ed9fb1c8d26eb4506bf60b13f697a246a482ac08ef89adaf12c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0b4a1d3455d766b58fd3888b84917844a1854e1949bfc201089cfe88eb5893863f2f6d479fe33ddd62165feba1b3777bf5cb5d688f90a48ca6ec7099e92918b
|
7
|
+
data.tar.gz: 58d2204a1b24673dd719c51ee1b2623e48a94f6d72b47aea4a33ae1a7687d58ff13ccc3e01f47e919b30bedeb6f8f48709e03b072cde91b695683598a15b7d9e
|
data/docs/maps/Sequence.json
CHANGED
@@ -31,6 +31,16 @@
|
|
31
31
|
"items": {
|
32
32
|
"type": "string"
|
33
33
|
}
|
34
|
+
},
|
35
|
+
"viewingDirection": {
|
36
|
+
"description": "The direction that a sequence of canvases should be displayed to the user",
|
37
|
+
"type": "string",
|
38
|
+
"enum": [
|
39
|
+
"left-to-right",
|
40
|
+
"right-to-left",
|
41
|
+
"top-to-bottom",
|
42
|
+
"bottom-to-top"
|
43
|
+
]
|
34
44
|
}
|
35
45
|
}
|
36
46
|
}
|
data/docs/schema.json
CHANGED
@@ -1548,6 +1548,18 @@
|
|
1548
1548
|
"string"
|
1549
1549
|
]
|
1550
1550
|
}
|
1551
|
+
},
|
1552
|
+
"viewingDirection": {
|
1553
|
+
"description": "The direction that a sequence of canvases should be displayed to the user",
|
1554
|
+
"type": [
|
1555
|
+
"string"
|
1556
|
+
],
|
1557
|
+
"enum": [
|
1558
|
+
"left-to-right",
|
1559
|
+
"right-to-left",
|
1560
|
+
"top-to-bottom",
|
1561
|
+
"bottom-to-top"
|
1562
|
+
]
|
1551
1563
|
}
|
1552
1564
|
}
|
1553
1565
|
},
|
data/docs/schema.md
CHANGED
@@ -62,7 +62,7 @@ A group of Digital Repository Objects that indicate some type of conceptual grou
|
|
62
62
|
| **precedingVersion** | *string* | Preceding version for the Collection within SDR. | `"example"` |
|
63
63
|
| **structural:hasAgreement** | *string* | Agreement that covers the deposit of the Collection into SDR. | `"example"` |
|
64
64
|
| **structural:hasMember** | *array* | Component digital repository objects or collections that are a part of this collection. | `[null]` |
|
65
|
-
| **structural:hasMemberOrders** | *array* | Provided sequences or orderings of members of the Collection, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.). | `[{"@context":"example","@type":"http://cocina.sul.stanford.edu/models/sequence.jsonld","label":"example","startMember":"example","members":[null]}]` |
|
65
|
+
| **structural:hasMemberOrders** | *array* | Provided sequences or orderings of members of the Collection, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.). | `[{"@context":"example","@type":"http://cocina.sul.stanford.edu/models/sequence.jsonld","label":"example","startMember":"example","members":[null],"viewingDirection":"left-to-right"}]` |
|
66
66
|
| **structural:isTargetOf** | *string* | An Annotation instance that applies to the Collection. | `"example"` |
|
67
67
|
| **version** | *integer* | Version for the Collection within SDR. | `42` |
|
68
68
|
|
@@ -122,7 +122,7 @@ Domain-defined abstraction of a 'work'. Digital Repository Objects' abstraction
|
|
122
122
|
| **structural:contains** | *array* | Filesets that contain the digital representations (Files) of the DRO. | `[{"@context":"example","@type":"http://cocina.sul.stanford.edu/models/fileset.jsonld","depositor":{"name":"example","sunetID":"example"},"label":"example","externalIdentifier":"example","internalIdentifier":"example","version":42,"precedingVersion":"example","followingVersion":"example","access":{"access":"world","download":"world"},"administrative":{"created":"2015-01-01T12:00:00Z","deleted":true,"gravestoneMessage":"example","lastUpdated":"2015-01-01T12:00:00Z","partOfProject":"example","sdrPreserve":true,"remediatedBy":[{"name":"example","sunetID":"example"}]},"identification":{"identifier":"example","sdrUUID":"example"},"structural":{"contains":[{"@context":"example","@type":"http://cocina.sul.stanford.edu/models/file.jsonld","depositor":{"name":"example","sunetID":"example"},"externalIdentifier":"example","filename":"example","format":"example","hasMessageDigests":[{"type":"md5","digest":"example"}],"hasMimeType":"example","label":"example","presentation":{"height":42,"width":42},"size":42,"internalIdentifier":"example","use":"example","version":42,"precedingVersion":"example","followingVersion":"example","access":{"access":"world","download":"world"},"administrative":{"created":"2015-01-01T12:00:00Z","deleted":true,"gravestoneMessage":"example","lastUpdated":"2015-01-01T12:00:00Z","partOfProject":"example","sdrPreserve":true,"shelve":true,"remediatedBy":[{"name":"example","sunetID":"example"}]},"identification":{"filename":"example","identifier":"example","sdrUUID":"example"},"structural":{"isContainedBy":"example","isTargetOf":"example"}}],"isContainedBy":"example","isTargetOf":"example"}}]` |
|
123
123
|
| **structural:hasAgreement** | *string* | Agreement that covers the deposit of the DRO into SDR. | `"example"` |
|
124
124
|
| **structural:hasMember** | *array* | Component or 'children' digital repository objects that are a part or portion of this 'parent' or aggregate DRO. | `[null]` |
|
125
|
-
| **structural:hasMemberOrders** | *array* | Provided sequences or orderings of members of the Object, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.). | `[{"@context":"example","@type":"http://cocina.sul.stanford.edu/models/sequence.jsonld","label":"example","startMember":"example","members":[null]}]` |
|
125
|
+
| **structural:hasMemberOrders** | *array* | Provided sequences or orderings of members of the Object, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.). | `[{"@context":"example","@type":"http://cocina.sul.stanford.edu/models/sequence.jsonld","label":"example","startMember":"example","members":[null],"viewingDirection":"left-to-right"}]` |
|
126
126
|
| **structural:isMemberOf** | *string* | Collection that this DRO is a member of | `"example"` |
|
127
127
|
| **structural:isTargetOf** | *string* | An Annotation instance that applies to the DRO. | `"example"` |
|
128
128
|
| **version** | *integer* | Version for the DRO within SDR. | `42` |
|
@@ -250,6 +250,7 @@ A sequence or ordering of resources within a Collection or Object.
|
|
250
250
|
| **label** | *string* | Label for the sequence or ordering. | `"example"` |
|
251
251
|
| **members** | *array* | Identifiers for Members in their stated Order for the Sequence. | `[null]` |
|
252
252
|
| **startMember** | *string* | Identifier for the first member of the sequence. | `"example"` |
|
253
|
+
| **viewingDirection** | *string* | The direction that a sequence of canvases should be displayed to the user<br/> **one of:**`"left-to-right"` or `"right-to-left"` or `"top-to-bottom"` or `"bottom-to-top"` | `"left-to-right"` |
|
253
254
|
|
254
255
|
|
255
256
|
## <a name="resource-Title">Title</a>
|
@@ -69,7 +69,7 @@ module Cocina
|
|
69
69
|
attribute(:administrative, Administrative.default { Administrative.new })
|
70
70
|
# Allowing description to be omittable for now (until rolled out to consumers),
|
71
71
|
# but I think it's actually required for every DRO
|
72
|
-
attribute :description, Description.optional.
|
72
|
+
attribute :description, Description.optional.meta(omittable: true)
|
73
73
|
attribute(:identification, Identification.default { Identification.new })
|
74
74
|
attribute(:structural, Structural.default { Structural.new })
|
75
75
|
|
@@ -16,6 +16,8 @@ module Cocina
|
|
16
16
|
|
17
17
|
# Subschema for access concerns
|
18
18
|
class Access < Struct
|
19
|
+
attribute :access, Types::String.default('dark')
|
20
|
+
.enum('world', 'stanford', 'location-based', 'citation-only', 'dark')
|
19
21
|
end
|
20
22
|
|
21
23
|
# Subschema for administrative concerns
|
@@ -42,7 +44,7 @@ module Cocina
|
|
42
44
|
attribute(:administrative, Administrative.default { Administrative.new })
|
43
45
|
# Allowing description to be omittable for now (until rolled out to consumers),
|
44
46
|
# but I think it's actually required for every DRO
|
45
|
-
attribute :description, Description.optional.
|
47
|
+
attribute :description, Description.optional.meta(omittable: true)
|
46
48
|
attribute(:identification, Identification.default { Identification.new })
|
47
49
|
attribute(:structural, Structural.default { Structural.new })
|
48
50
|
|
data/lib/cocina/models/dro.rb
CHANGED
@@ -34,6 +34,8 @@ module Cocina
|
|
34
34
|
end
|
35
35
|
|
36
36
|
attribute :embargo, Embargo.optional.meta(omittable: true)
|
37
|
+
attribute :access, Types::String.default('dark')
|
38
|
+
.enum('world', 'stanford', 'location-based', 'citation-only', 'dark')
|
37
39
|
end
|
38
40
|
|
39
41
|
# Subschema for administrative concerns
|
@@ -54,6 +56,7 @@ module Cocina
|
|
54
56
|
class Structural < Struct
|
55
57
|
attribute :contains, Types::Strict::Array.of(FileSet).meta(omittable: true)
|
56
58
|
attribute :isMemberOf, Types::Strict::String.meta(omittable: true)
|
59
|
+
attribute :hasMemberOrders, Types::Strict::Array.of(Sequence).meta(omittable: true)
|
57
60
|
end
|
58
61
|
|
59
62
|
attribute :externalIdentifier, Types::Strict::String
|
@@ -64,7 +67,7 @@ module Cocina
|
|
64
67
|
attribute(:administrative, Administrative.default { Administrative.new })
|
65
68
|
# Allowing description to be omittable for now (until rolled out to consumers),
|
66
69
|
# but I think it's actually required for every DRO
|
67
|
-
attribute :description, Description.optional.
|
70
|
+
attribute :description, Description.optional.meta(omittable: true)
|
68
71
|
attribute(:identification, Identification.default { Identification.new })
|
69
72
|
attribute(:structural, Structural.default { Structural.new })
|
70
73
|
|
@@ -12,7 +12,7 @@ module Cocina
|
|
12
12
|
attribute(:administrative, AdminPolicy::Administrative.default { AdminPolicy::Administrative.new })
|
13
13
|
# Allowing description to be omittable for now (until rolled out to consumers),
|
14
14
|
# but I think it's actually required for every DRO
|
15
|
-
attribute :description, Description.optional.
|
15
|
+
attribute :description, Description.optional.meta(omittable: true)
|
16
16
|
attribute(:identification, AdminPolicy::Identification.default { AdminPolicy::Identification.new })
|
17
17
|
attribute(:structural, AdminPolicy::Structural.default { AdminPolicy::Structural.new })
|
18
18
|
|
@@ -13,7 +13,7 @@ module Cocina
|
|
13
13
|
attribute(:administrative, Collection::Administrative.default { Collection::Administrative.new })
|
14
14
|
# Allowing description to be omittable for now (until rolled out to consumers),
|
15
15
|
# but I think it's actually required for every DRO
|
16
|
-
attribute :description, Description.optional.
|
16
|
+
attribute :description, Description.optional.meta(omittable: true)
|
17
17
|
attribute(:identification, Collection::Identification.default { Collection::Identification.new })
|
18
18
|
attribute(:structural, Collection::Structural.default { Collection::Structural.new })
|
19
19
|
|
@@ -13,7 +13,7 @@ module Cocina
|
|
13
13
|
attribute(:administrative, DRO::Administrative.default { DRO::Administrative.new })
|
14
14
|
# Allowing description to be omittable for now (until rolled out to consumers),
|
15
15
|
# but I think it's actually required for every DRO
|
16
|
-
attribute :description, Description.optional.
|
16
|
+
attribute :description, Description.optional.meta(omittable: true)
|
17
17
|
attribute(:identification, DRO::Identification.default { DRO::Identification.new })
|
18
18
|
attribute(:structural, DRO::Structural.default { DRO::Structural.new })
|
19
19
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cocina
|
4
|
+
module Models
|
5
|
+
# Metadata for a sequence. See http://sul-dlss.github.io/cocina-models/maps/Sequence.json
|
6
|
+
class Sequence < Struct
|
7
|
+
attribute :viewingDirection, Types::String.enum('left-to-right',
|
8
|
+
'right-to-left',
|
9
|
+
'top-to-bottom',
|
10
|
+
'bottom-to-top').optional
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocina-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.22.
|
4
|
+
version: 0.22.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-struct
|
@@ -188,6 +188,7 @@ files:
|
|
188
188
|
- lib/cocina/models/request_admin_policy.rb
|
189
189
|
- lib/cocina/models/request_collection.rb
|
190
190
|
- lib/cocina/models/request_dro.rb
|
191
|
+
- lib/cocina/models/sequence.rb
|
191
192
|
- lib/cocina/models/types.rb
|
192
193
|
- lib/cocina/models/version.rb
|
193
194
|
- lib/cocina/models/vocab.rb
|