2.0.0-alpha.0 • Published 4 years ago
@hyperion-framework/presentation-2-parser v2.0.0-alpha.0
Parser IIIF conversion
Lists
Set properties
- thumbnail
- logo
- behavior
- rendering
- service
- seeAlso
- partOf
Annotation properties
- body
- target
- motivation
- source
- selector
- state
- stylesheet
- styleClass
Object properties
- thumbnail -> "Image"
- logo -> Image"
- homepage -> ""
- rendering -> ""
- seeAlso -> "Dataset"
- partOf -> ""
Content type map
- "image" -> "Image",
- "audio" -> "Sound",
- "video" -> "Video",
- "application/pdf" -> "Text",
- "text/html" -> "Text",
- "text/plain" -> "Text",
- "application/xml" -> "Dataset",
- "text/xml" -> "Dataset"
Steps (re-naming)
- attribution to requiredStatement
- viewingHint to behavior
- description to summary
- otherContent to annotations
- within to partOf
- Start canvas to start - fixing string starts to objects
Steps
- Convert language mapping on descriptive properties
- Fix context fields
- Fix profiles
- Fix types
- Fix non-array elements that need to be (set_properties)
- Head requests for content type of remote items - behind configuration
- Fix License field, move to metadata if multiple
- Fix service type (nothing else)
- Combine members, collections and manifests into items properties
- contentLayer to supplementary (AnnotationCollection)
- Convert canvas images to items into annotation page
- Annotation page to Annotation list
- Annotation: on -> target
- Annotation: resource -> body
- Annotation: motivation remove prefix
Steps (todo)
- Convert multiple sequences into ranges
- Merge range structure items + make sure they all have type
- Remove behaviour=top from range
- Annotation: parse stylesheet
- Try to set
type
on everything - using format, remote types, URL format (content_type_map) - Minting of new URLs for IDs that are not set, using IIIF resource guides
Post-process steps
- Process range structures
- Add v3 context to top level
- Reorder keys
Processing levels
- Process service
- Process resource (not service or language or not to be traversed)
- Process generic (top level?)
- Process collection
- Process manifest
- Process sequence
- Process canvas
- Process layer
- Process annotation page (list)
- Process annotation collection (layer)
- Process annotation
- Process specific resource
- Process textual body
- Process choice
Post-processing
- Post-process manifest
Fixtures
- http://iiif.io/api/presentation/2.1/example/fixtures/collection.json
- http://iiif.io/api/presentation/2.1/example/fixtures/1/manifest.json
- http://iiif.io/api/presentation/2.0/example/fixtures/list/65/list1.json
- http://media.nga.gov/public/manifests/nga_highlights.json
- https://iiif.lib.harvard.edu/manifests/drs:48309543
- http://adore.ugent.be/IIIF/manifests/archive.ugent.be%3A4B39C8CA-6FF9-11E1-8C42-C8A93B7C8C91
- http://bluemountain.princeton.edu/exist/restxq/iiif/bmtnaae_1918-12_01/manifest
- https://api.bl.uk/metadata/iiif/ark:/81055/vdc_00000004216E/manifest.json
- https://damsssl.llgc.org.uk/iiif/2.0/4389767/manifest.json
- http://iiif.bodleian.ox.ac.uk/iiif/manifest/60834383-7146-41ab-bfe1-48ee97bc04be.json
- https://lbiiif.riksarkivet.se/arkis!R0000004/manifest
- https://d.lib.ncsu.edu/collections/catalog/nubian-message-1992-11-30/manifest.json
- https://ocr.lib.ncsu.edu/ocr/nu/nubian-message-1992-11-30_0010/nubian-message-1992-11-30_0010-annotation-list-paragraph.json
- http://iiif.harvardartmuseums.org/manifests/object/299843
- https://purl.stanford.edu/qm670kv1873/iiif/manifest.json
- http://dams.llgc.org.uk/iiif/newspaper/issue/3320640/manifest.json
- http://manifests.ydc2.yale.edu/manifest/Admont43
- https://manifests.britishart.yale.edu/manifest/1474
- http://demos.biblissima-condorcet.fr/iiif/metadata/BVMM/chateauroux/manifest.json
- http://www.e-codices.unifr.ch/metadata/iiif/sl-0002/manifest.json
- https://data.ucd.ie/api/img/manifests/ucdlib:33064
- http://dzkimgs.l.u-tokyo.ac.jp/iiif/zuzoubu/12b02/manifest.json
- https://dzkimgs.l.u-tokyo.ac.jp/iiif/zuzoubu/12b02/list/p0001-0025.json
- http://www2.dhii.jp/nijl/NIJL0018/099-0014/manifest_tags.json
- https://data.getty.edu/museum/api/iiif/298147/manifest.json
- https://www.e-codices.unifr.ch/metadata/iiif/csg-0730/manifest.json
Other
- Check all presence of all MUSTs in the spec and maybe bail?
- A Collection must have at least one label.
- A Manifest must have at least one label.
- An AnnotationCollection must have at least one label.
- id on Collection, Manifest, Canvas, content, Range,
- AnnotationCollection, AnnotationPage, Annotation
- type on all
- width+height pair for Canvas, if either
- items all the way down
2.0.0-alpha.0
4 years ago
1.1.0
4 years ago
1.0.0
4 years ago
1.0.0-alpha.28
4 years ago
1.0.0-alpha.27
4 years ago
1.0.0-alpha.26
4 years ago
1.0.0-alpha.25
4 years ago
1.0.0-alpha.24
4 years ago
1.0.0-alpha.21
5 years ago
1.0.0-alpha.20
5 years ago
1.0.0-alpha.23
5 years ago
1.0.0-alpha.15
5 years ago
1.0.0-alpha.14
5 years ago
1.0.0-alpha.10
5 years ago
1.0.0-alpha.9
5 years ago
1.0.0-alpha.8
5 years ago
1.0.0-alpha.7
5 years ago
1.0.0-alpha.4
5 years ago
1.0.0-alpha.3
5 years ago