Skip to content

Choice labels incorrect for duplicate audio files #545

@donaldgray

Description

@donaldgray

Encountered an issue where a Choice body created via paintedResouces, results in a final manifest with duplicated 'label' set on each choice item. Not sure if this is restricted to audio items only, will need further investigation.

E.g. the sample payload should create a single Canvas with a choice. The label on each choice item would be choice1 and choice2 respectively.

{
    "type": "Manifest",
    "parent": "https://{{presentationUrl}}/{{customerId}}/collections/root",
    "slug": "choice_label5",
    "paintedResources": [
        {
            "canvasPainting": {
                "canvasId": "https://{{presentationUrl}}/{{customerId}}/canvases/choice",
                "canvasOrder": 0,
                "choiceOrder": 1,
                "label": { "en": [ "choice1" ] },
                "canvasLabel": { "en": [ "canvaslabel1" ] }
            },
            "asset": {
               "id": "single1_x",
                "origin": "https://example.com/sample.wav",
                "mediaType": "audio/wav",
                "space": 228
            }
        },
        {
            "canvasPainting": {
                "canvasId": "https://{{presentationUrl}}/{{customerId}}/canvases/choice",
                "canvasOrder": 0,
                "choiceOrder": 2,
                "label": { "en": [ "choice2" ] }
            },
            "asset": {
                "id": "single1_x",
                "origin": "https://example.com/sample.wav",
                "mediaType": "audio/wav",
                "space": 228
            }
        }
    ]
}

Howver, the output is that both of the items in the choice have a label of "choice2". The canvasPainting records returned have the correct label values set.

{
    "id": "https://presentation.dlcs/499/canvases/choice",
    "type": "Canvas",
    "label": {
        "en": [
            "canvaslabel1"
        ]
    },
    "duration": 14.675,
    "items": [
        {
            "id": "https://presentation.dlcs/499/canvases/choice/annopages/0",
            "type": "AnnotationPage",
            "items": [
                {
                    "id": "https://presentation.dlcs/499/canvases/choice/annotations/0",
                    "type": "Annotation",
                    "motivation": "painting",
                    "body": {
                        "type": "Choice",
                        "items": [
                            {
                                "duration": 14.675,
                                "id": "https://dlcs.example/iiif-av/499/228/single1_x/full/max/default.mp3",
                                "type": "Sound",
                                "label": {
                                    "en": [
                                        "choice2"
                                    ]
                                },
                                "format": "audio/mp3"
                            },
                            {
                                "duration": 14.675,
                                "id": "https://dlcs.example/iiif-av/499/228/single1_x/full/max/default.mp3",
                                "type": "Sound",
                                "label": {
                                    "en": [
                                        "choice2"
                                    ]
                                },
                                "format": "audio/mp3"
                            }
                        ]
                    },
                    "target": "https://presentation.dlcs/499/canvases/choice"
                }
            ]
        }
    ]
}

I wonder if internally a mapping is made of assetId: label?

Metadata

Metadata

Labels

bugSomething isn't workingdefer

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions