1. What is the issue? Please be detailed.
Summary
Essentially my question is how do I create a select multiple or select one question that looks like this: https://docs.getodk.org/form-question-types/#select-widget-with-no-buttons-appearance but uses media collected in a different form using entities?
It is important to note that when tapping the answer shown as an image, an audio should play associated with that image. I only need this to work in Collect and don't need it to work in Enketo. I've made an example form with images and audio here:
Selects Image Audio.zip (3.3 MB)
Looks like this:
SStest.mov.zip (162.8 KB)
that uses images as form attachments and the choices are just listed in the choices tab of what I would want the final question in a follup form to look like, but I want the form attachments media to be retrieved from an entity.
Details of Desired Workflow Using Entities
I'm working in a context where a minority language is primarily used orally and doesn't have an official written form. I would like to use entities in order to quickly obtain auditory linguistic data in one form when new words, concepts, important examples are found. Later, I would like to be able to review that linguistic data in a different form. The first form would be used ongoing to create new entities for large quantities of linguistic data. Let's say for any given language project we would expect to have AT LEAST 5-10k words which would each be an entity and would contain at a bare minimum a short audio recording of that word, optionally another longer audio recording of that word being used in a phrase or sentence, and often an image, but if no image, a text string would be required as well as several other selects that could be any number of things (keywords, parts of speech, subject/category, etc. Over a period of years, this list would continually be added to and I don't know what the max submissions would be, but my guess would be in the 30k-50k submissions range.
The current goal of the 2nd form would be to review linguistic data by using filters/cascading where I could filter all the linguistic data using several different filters to limit responses in a select multiple (preferably) or select one question.
It seems like this issue may be similar to this: Dynamic media - video in choice list from dynamic CSV - #7 by LN
In the following discussion LN mentioned this on April 11 2024:
That is precisely what I'm looking to do.
In the ODK Question Types documentation it says "Selects from external datasets can be used in all the same ways as internal selects". However, in the Entities documentation it states, "Another difference is that there currently isn't support for media or translations in Entity Lists."
Are there any future plans to include media or translations in entity lists?
2. What steps can we take to reproduce this issue?
Download the two files below, and upload the forms to Central. Do a couple submissions with the add participant1 form and then wait 15 minutes for the entity to update for the participant followup.
Add participant1.xlsx (20.4 KB)
Participant follow-up.xlsx (77.3 KB)
3. What have you tried to fix the issue?
So far, I just get the text of the file name rather than the media itself seen in the screenshot below:
I'm new to entities and Central but I'm really wanting to make this work. Attached below are the example forms I've used to try to get the functionality I'm talking about. I tried adding an audio, image, and media::image column to the entities tab in my XLSForm which can be seen here:
Add participant_ex.xlsx (20.4 KB)
Participant follow-up.xlsx (77.3 KB)
Error I get when trying to upload the attached add participant ex XLSX form to Central. I was trying to do what I thought was explained here: Pull data with photos - #8 by TobiasMcNulty but in the entities tab where I added a media:image column.
The XLSForm could not be converted: The entities sheet included the following unexpected column(s): 'audio', 'image', 'media'. These columns are not supported by this version of pyxform. Please either: check the spelling of the column names, remove the columns, or update pyxform.