openequella / openEQUELLA

Core openEQUELLA sources
https://openequella.github.io/
Apache License 2.0
42 stars 44 forks source link

SCORM import - repeater fields missing #1786

Closed NextEdServices closed 3 years ago

NextEdServices commented 4 years ago

There is a problem with SCORM zip file uploads and repeater fields.

Problem: when uploading SCORM files containing repeating values, these repeated values are not imported into openEQUELLA.

We have raised this issue with Edalex previously, please see ticket number 101337 for more details and example package to replicate (SCORM package, metadata schema, collection export)

mrblippy commented 4 years ago

Hi @NextEdServices, is it possible for you to attach a screen recording demonstrating the issue? Or some more detailed steps to reproduce?

Also, placing edalex support numbers in these github issues doesn't give us much information. Most of the time the oEQ dev team won't have access to the Edalex support ticketing system

NextEdServices commented 4 years ago

Hi, screenrecording, SCORM file and collection by request (cannot upload here)

Steps: 1) contribute / upload SCORM zip file containing repeating metadata values into collection that has referring repeater fields marked as mandatory 2) some of the mandatory repeater fields are not imported correctly 3) remove mandatory setting in the wizard, contribute / upload same SCORM course - and the SCORM metadata values are imported.

Wizard setting with mandatory fields: image

After Uploading SCORM Course no Rol entry: image

Wizard setting without mandatory fields: image

After Uploading SCORM Course ok: image

(Further: Please note there is different behaviour when uploading SCORM courses with the contribution upload link or with clicking in the file upload field. The latter seem not to import repeater values either.)

NextEdServices commented 4 years ago

@mrblippy I have emailed you a direct link as I had difficulties uploading (sensitive) material. Let me know if you have any issues or questions.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

edalex-ian commented 3 years ago

We currently have this on our list to look at, so re-opening.

SammyIsConfused commented 3 years ago

@NextEdServices I was attempting to diagnose and fix this problem in-code, and I discovered that it is not actually a bug, rather a collection configuration issue.

So in the your collection you have the repeater in question set up like this:

image

You also have IMS metadata mapping set up for these fields, so openEQUELLA should create repeater instances for each element that matches this xpath, but it doesn’t.

Now, the problem itself is a little unintuitive - the field labelled "Minimum number of repeats" is set to 1. For some reason this disables metadata mapping to repeaters - it seems to be that the minimum count is for manually inputting data into repeaters fields rather than mapping them from metadata.

If you set that field to 0, and save the collection, data should map properly. I have tested this with your collection and SCORM package locally on my machine. I also during testing edited the imslrm.xml to contain multiple different values of lom/lifeCycle/contribute, to make sure that openEQUELLA would add and map repeaters for each one.

testing video clip I have attached a short clip of me doing the following testing steps in order:

  1. In the Administration Console, open the Buenas prácticas collection in the editor and find the Contribuciones repeater. Set the minimum number of repeats to 0 and hit Save.

  2. Open a contribution using the Buenas prácticas collection and add the SCORM package, as it is without changes.

  3. Go to the Obligatorios page and scroll down to the Contribuciones repeater.

  4. Note that the Rol field is populated in one repeater.

  5. Repeat step 2 and 3, this time using a modified version of the client’s SCORM package that contains another two instances of lom/lifeCycle/contribute in the imslrm.xml to prove that it is mapping properly. In each additional lom/lifeCycle/contribute node, the Rol and the Nombre values are edited.

  6. Note that the Rol field is populated for 3 repeaters.