Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel1
maxLevel2
outlinefalse
stylenone
typelist
printabletrue

Using Custom User Data

Configure Custom User Data

In this stage, you must define what data fields you want to collect for each mobile user.

...

This configuration would then update the Mobile Worker Registration Page to look like this:

...

Add Custom User Data

There are two ways to add custom user data - through the Mobile Workers section of CommCareHQ, or through Bulk Upload

CommCareHQ Mobile Workers Page

After you configure the user data, each time you add a new mobile worker the CommCareHQ user will be prompted to populate the field, in addition to the standard username and password fields. Required fields will have to be populated at the time of creating the mobile worker, while other fields are optional. These can be filled in during registration, or when editing a worker account.

Bulk User Upload

Multiexcerpt include macro
macro_uuid785c6088-0e28-4857-9b71-fdd34d840424
nameSoftware Plan - Standard
templateDataeJyLjgUAARUAuQ==
page[Internal] CommCare Public Management
addpanelfalse

...

  • You cannot add new user data fields by just adding a new column in the Excel file. You must use the edit user fields page to set it up.

  • If a field is required and you upload a spreadsheet that does not have a value for that field for all users, the upload will fail.

  • If you change the Custom User Data for a user, the new values should sync down to the user's phone, any time the user syncs with the server as long as the user has filled in at least one form since the last sync.

Using Custom User Data in an Application

Storing Custom User Data in a Hidden Value

You will have to reference the user data through the commcaresession.  The format is generally instance('commcaresession')/session/user/data/custom_user_data_name

...

if(count(instance('commcaresession')/session/user/data/village) > 0, instance('commcaresession')/session/user/data/village, "Unknown")

Use a Custom User Data in a Display Condition

For example, to only show a particular question if the user is a supervisor (using the custom user data is_supervisor), add the following to a question's display condition.  Replace is_supervisor with the name of your custom user data and yes with the value you want to check for. 

count(instance('commcaresession')/session/user/data/is_supervisor) > 0 and instance('commcaresession')/session/user/data/is_supervisor= 'yes'

Accessing Phone Number and the User Name

Some additional information is also available through custom user data. They are automatically added to the data:

...

concat(instance('commcaresession')/session/user/data/commcare_first_name, " ", instance('commcaresession')/session/user/data/commcare_last_name)

Removing Custom User Data and Handling "Uncategorized" Data

As described above, you can remove fields on the "Edit User Fields" page. Removing a field does not necessarily remove the data that is attached to users.

...

This unrecognized data will still appear in mobile worker downloads and can still be edited. It will appear in columns marked "Uncategorized."

Limitations

There are instances where custom user data will not be activated when used in an Application that was copied from another one.