Changing user passwords in ODK Services/Aggregate

While testing some workflow processes, I set up two new data collector users in ODK Aggregate (v1.4.13, Appspot). I gave them new usernames (datacoll1, datacoll2), and then clicked the “Change Password” button and gave them their own passwords (also datacoll1, datacoll2). Account type was ODK, only Data Collector role checked.

I then went to the tablet and ODK Services (on rev208 for all of the tablet pieces), settings, server settings, entered username datacoll1 and Server password datacoll1. Clicked verify user permissions, Got “Protocol Error. Please verify that the server and device are compatible.”

After some testing, I determined that I could login with the username datacoll1 and the server level site admin password (not datacoll1, which was what I entered in Change Password). But now I am not clear on what password I changed with “Change password.” Is it that there a server password (same for all users?) that is distinct from users’ passwords? What is the password in “Change password” for? More importantly, I would like to have different fieldworkers have different passwords to log in with their different usernames–any insight on how to implement that appreciated. Thanks!

Hi Caroline,

I’m working with Aggregate 1.4.15, but I think this should work the same. In general I would recommend upgrading to the released versions of the ODK 2.0 tools. See the announcement here. The older versions are experimental and may have more bugs than the released versions. I know that the Services error messages for synchronization and authentication have been improved in the full release.

Looking at the Aggregate release notes, it seems like rev 208 should be compatible with Aggregate 1.4.13. To confirm, did your authentication work before changing the user’s password?

I assume you are looking at the “Site Admin” tab, “Permissions” page, “Edit Users” section. The “Change Password” button here will change an individual user’s password, not a server password. That password corresponds to that user, and the boxes to the right define that users permissions. Be sure to click “Save Changes” at the bottom of the list after making any changes.

Since you are using the ODK 2.0 tools, make sure you’ve checked the “ODK Tables Synchronization Functionality” box on the “Preferences” page of the “Site Admin” tab. Back in the “Edit Users” section, you will want to check the “Synchronize Tables” box to allow the user to submit data. The “Data Collector”, “Data Viewer”, and “Form Manager” boxes all relate to ODK 1.0 functionality. “Synchronize Tables” allows users to submit and receive data with ODK Services. You will also want at least one user with the “Administer Tables” permissions, which will allow them to Reset the App Server (pushing your app code and table definitions up).

Please let me know if any of this helps with your problem, or if you still have issues authenticating.

Hi Jeff!

Thanks for your detailed response! I had not realized that only some of the options were 1.0 and others were 2.0.

Once I switched to having datacoll1 user be only synchronize tables, interestingly, now it switched from only the admin/server password working to ANY password working (it would verify user permissions and say Success! no matter what I typed as the password). I eventually figured out that if I unchecked all of the anonymousUser permissions in the Site Admin tab, then the exact password–and only the exact password–for datacoll1 was the only thing that worked to verify user permissions (hooray! Goal achieved). Perhaps the issue has already been fixed with the improved error messages since rev208/Aggregate 1.4.13 (upgrades are in our future, but not during mid-testing :slight_smile: ), but if not it would be great to have a different response to a wrong password than “Success! user permissions have been updated.” Perhaps “Wrong password so we’re logging you on as an anonymous user!”

Hi Caroline,

Glad your problem was solved!

Ah yes I forgot to mention anonymous access. That messaging is still a bit confusing.

When you do upgrade, you can check out our new ODK 2.0 server: Sync Endpoints. You can still use Aggregate 1.4.15 if you like, but with Sync Endpoints we’ve added some new features, particularly around user and group permissions, and we’ve migrated to Docker.

Good luck with the rest of your testing!