Use reference layers across several Collect projects

1. What is the problem? Be very detailed.
This is a minor issue.

On ODK Collect v 2021.2, multiple projects are supported. I've noticed that reference layers are now kept in separate directories, divided by project.

We have the use case of different projects capturing data in the same areas, therefore needing the same reference layers.
Our reference layers however are pretty huge, and we might not have the storage space on our devices to duplicate them for each project. It would be efficient if we could reuse them across projects.

Edit:
It would be great if the layers could live in a predictable path (without project hashes, which can differ across devices for the same project).

2. What app or server are you using and on what device and operating system? Include version numbers.
ODK Collect 2021.2.0

3. What you have you tried to fix the problem?
Starting the discussion here.

4. What steps can we take to reproduce the problem?

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.

This was actually something we initially planned for 2021.2 but ended up getting de-prioritized. You'll see there is a task in https://github.com/getodk/collect/issues/4669 that refers to that kind of feature, and I'll update that to link to this post. We're hoping that will be in our 2021.3 release.

To make sure we're going in the right direction: our plan was that there would be a layers directory at the top level (next to projects) and that all projects would have access to layers copied into that directory (as well as layers in the project specific layers directory). Does that sound right for your use case?

3 Likes

Perfect, that would work nicely! Thanks Callum!

7 posts were split to a new topic: Add offline map layers without having to put files in Collect directory

This is now ready to try out in the v2021.3 beta.

3 Likes

Tested on 2021.3 Beta 2, Android 11, works!

I've also reset the project in order to prune the older form versions, which is not the direct upgrade path.

.mbtiles files in /sdcard/Android/data/org.odk.collect.android/files/layers are available in the one (and only) project on the device.

3 Likes