Dear ASSEDEV team,
Thank you for the follow-up question. Yes, Arena supports this kind of multi-user workflow within a single form. You can achieve it by combining:
- User extra properties, to assign parts of the form to each user;
- Conditional visibility and editability, to show or unlock each part only for the users assigned to it;
- User roles, to let several users work on the same records while an administrator keeps full control.
1. Assign parts of the form to users: User extra properties
User extra properties (User Manual §6.1.4) are custom properties that you define for your survey and set for each user.
- In Dashboard → Edit info → User extra properties, define a property, e.g.
section.
- In Users, set its value for each user invited to the survey, e.g.:
vegetation for the users in charge of the vegetation part;
water for the users in charge of the water part;
all for coordinators and administrators who must see and edit everything.
2. Show or unlock each part: conditional visibility and editability
In the Form Designer, every entity (section/page) and attribute has two rules in its Advanced properties (§7.2.3 – Description of properties):
- Visibility → "Visible if condition is met": the section is shown only to users for whom the condition is true and hidden for everyone else.
- Editability → "Editable if condition is met": the section is visible to everyone but read-only for users for whom the condition is false.
In the condition, read the user's property with the userProp function (§7.3 – Expressions). For example, on the Vegetation section:
userProp('section') == 'vegetation' || userProp('section') == 'all'
and on the Water section:
userProp('section') == 'water' || userProp('section') == 'all'
The result is:
- each user can edit only the sections assigned to them;
- you choose, section by section, whether other users don't see it (Visibility) or see it read-only (Editability);
- coordinators with
section = all see and edit the whole form and can intervene at any time.
Some tips:
- Set the rule on the entity (section) to apply it to all its attributes at once.
- A user can be assigned to several sections if you define one property per section, e.g.
can_edit_vegetation = true, and use userProp('can_edit_vegetation') == 'true'.
- Other functions are available in the same expressions:
userName(), userEmail(), userIsRecordOwner() (see §12 – Examples of expressions).
3. Who can work on the same records: user roles
When several users fill in different sections of the same record, their role must allow them to edit records created by others (§11.1 – User roles):
| Role |
Records they can edit |
| Data Editor |
only the records they created |
| Data Cleanser |
all records of the survey |
| Survey Administrator |
all records of the survey, plus survey and user management |
The users sharing records should therefore be Data Cleansers. The userProp rules then limit each of them to their own sections. The record workflow (Entry → Cleansing → Analysis) and the activity log help you organize the review and trace who changed what.
Note: visibility and editability rules control what users see and change in the data entry form. They do not restrict data export or the Data Explorer. If some data must stay confidential, choose the users' roles accordingly. If, in the future, different teams need to work on completely separate sets of records (e.g. by region), see §11.3 – User Grouping.
Documentation
Feel free to follow up if you need help setting this up for your specific case.
Best regards,
The Open Foris Arena team