ODK Collect v2022.4 Beta: colors and symbols for select one from map

ODK Collect betas are an opportunity to get community feedback on upcoming releases. If you have an ongoing data collection campaign, we recommend quickly verifying your form on a test device. The release will be delayed until all reported issues are fixed.

The release is currently planned for November. We will periodically release betas to get feedback on new features and fixes.

Joining the beta program
To join the beta program, find ODK Collect in the Play Store on your device (not in the web browser) and scroll all the way down. Please don't join the beta with a device or account actively used for data collection! In particular, note that joining the beta is account-based. If you use the same Google account across multiple devices, do not join the beta with that account.

Leaving the beta program
You can leave the beta program from the bottom of the Play Store at any time. Once you leave, you will get the next production update when it is released. If you need to go back to the previous production release, uninstall and reinstall the app. Your settings will be reset but your forms will remain (though backups are always recommended).

What to check in this release

  • Colors and symbols can now be configured for individual markers in a select one from map question. See here for a sample form.
  • Buttons on maps have been modernized
  • Changes have been made to how forms are launched from Android shortcuts. If you use this functionality, please carefully verify it. Please also report any unexpected behavior around form entry.
  • Last saved first sort option for blank forms

Additional testing
You can find a full list of changes in the release notes:

Beta 2 includes a beta-only experimental setting that demonstrates initial support for building entities from filled forms. If you build a form according to the entities specification (you can use this pyxform branch), you will be able to go to Settings > Experimental > Entities and see entities created after you finalized filled forms. These entities will only exist until Collect goes out of memory. These experimental settings will not be included in the production build.

Thanks to all testers for your help!

Hi @LN and the team,

thanks for this beta ! We will try colored markers as soon as possible (a lot of possibilities for us).
Reading the changelog I understand that it is possible to run 2 forms at the same time using shortcuts. I can't achieve to make it possible (only 1 ODK instance seems to be running).

Maybe I misunderstood that part but if I didn't, it would help my colleagues a lot (running a form for restricted list of species and another one for species out of the scope of the protocol)

1 Like

We can always count on you to dig deep and keep us honest!!

This has to do with creating and launching forms from Android desktop shortcuts. We discovered a lot of bugs when trying to launch from one shortcut and then from another. We've fixed some and it should now be possible to launch one form, partially fill it out, launch another form, fill that one out and send it, and then come back to the original form. They won't be available at the same time, though. This fix has also revealed a bunch of other issues related to shortcuts so if you do use shortcuts I would recommend you verify that they still do what you want them to.

That use case makes sense, thanks. That indeed wouldn't quite be supported currently. If you launch from one shortcut, partially fill out that form, launch the other, partially fill it out and then come back to the first as I described above each form should launch in the hierarchy view with the last collected values so that you should be able to pick up where you left off. What happens when you try it?

1 Like

Sorry @LN I didn't have any time to test it for the moment.

1 Like

Is the beta still available? I updated the device that is setup for beta versions (Galaxy S5) and it only updates to 2022.3.6.

Sorry about that, @ahblake! v2022.4.beta-1 is now out with the same contents.

Got it now, thanks! Your test form works for me now, this is a great way to guide the user amongst a sea of blue pins

Is there an approximate date? I am considering using this in the next couple of weeks, (although I suppose I could apply label/colour fields as hints rather than a crucial information step and it'll show upon release but doesn't break function beforehand.)

1 Like

We are aiming for Nov 21 but it depends on whether we find any issues in beta or regression testing.

Great to hear this new functionality is useful to you.

1 Like

Really great and quickly useful, at least for colors ! I first tried to put the symbol code instead of the symbol itself in the geojson but it didn't work.
Not all text editors show unicode characters. I'm using jedit and all the icons I tried are not displayed, even though they are well saved and displayed in collect. (For example it shows me the bird on Kiev but not the frog on Paris.
Is there any way to use the character code like we do for color? Wouldn't that make it easier to create geojson or csv?

I'm also thinking about this from the perspective of entities and the possibility of generating such properties with an expression.
For example, the material I inspected today was damaged, and I want it to be red the next time someone visits.

Regarding the shortcuts possibility, I have some difficulties to understand what happens and I need to spend more time to try it.

We are rolling out a new beta which includes a beta-only experimental setting to demonstrate initial support for building entities from filled forms. If you build a form according to the entities specification (you can use this pyxform branch), you will be able to go to Settings > Experimental > Entities and see entities created after you finalized filled forms. These entities will only exist until Collect goes out of memory. These experimental settings will not be included in the production build. This is mostly a tool for developers but some beta testers might find it fun to try! :sparkles:

We considered using symbols but it didn't seem to us like there was a standard for them. What code did you try? Is there a standard that you're aware of? Or do you mean using an HTML entity like 😀 for :grinning:?

Yes, you see where this is going! You will be able to have a form with a calculate that looks like if(${damaged}="true", "#ff0000", "#000000") and then map that to an entity property named marker-color. Then if the dataset is used for a select with map appearance in another form, each entity will have the appropriate color based on the ${damaged} field in the original form.

2 Likes

Excellent!
If this extends to map appearance rendering a trace and a shape and allows a similar colour (outline/transparent fill)/centroid marker that would be even better.

1 Like

Hi Hélène, I tried Unicode codes from this table :
https://unicode.org/emoji/charts/full-emoji-list.html
but any other should be ok even if the most important feature for me is color :wink: