Customize ODK collect server

Hi, how can I customize server of ODK collect?
I want to release an app with a specified server URL that the user don't need to go to General setting and import URL adress as well as Username and Password.

The first way to do it should be to share a QR code of the wanted conf with users :
So they will just have to scan it to configure the app.


1 Like

Thanks Mathieu
I know that I can share my QR code to apply specific settings to another devices, actually I want share an app with specified settings that on this app the users don't need to scan a QR code to finding the settings.
Is there any way to this ?

I understood your need, my solution is in fact just a workaround :frowning: . I heard from @pailletm that it is possible to do what you want, if I didn't misunderstood what he said, but I don't know how to do it by myself.

@Ali One of the way is using a fork of ODK Collect and make changes in it so that Settings cannot be changed.
Is that what you want to do?
If yes, I can guide you.

Ok I see
Thanks for your guidance .

Thanks @Akshay_Patel
It's exactly what I need. Please help me with more description about this.

Open "/collect/collect_app/src/main/res/values/untranslated.xml".
Change the line to desired URL

<string name="default_server_url" translatable="false"></string>

Disable the edit text to enter ServerUrl :
In class ServerPreferencesFragment, in addAggregatePreferences() add following line:


In same class, you can set default values for Username and password and disable editing options.
This shall do the work but needs testing.

1 Like

ok, I will try it.
Thank you very much .

@Ali if you need more assistance in coding, feel free to ask.
You can share the link of your forked repository here, I shall open a pull request for desired functionality you expect if needed.

A post was split to a new topic: ODK training over Skype?