With ADAM 4.6 released some time ago, it's time to bring some of its cool new
features into the daylight. Today I'm revealing the addition of a separate user
group permission (role) for modifying field values.
Field Group Permissions Demystified
Up until ADAM 4.6, there have always been two permissions (roles) for setting security
on fields from the user/user group perspective:
- Manage profile and fields of field group X
- Read profile and fields of field group X

The first permission allows users or user groups to edit the profile and fields
in the field group. This means the user or group has full control on the
field group and can change its name and members. It is important to know that this
permission has nothing to do with the actual value of any fields
in the subject field group.
The latter permission means that the field group and any fields within are visible
to the user or user group, allowing them to edit the values as
well (for as long as access to the field has not been denied elsewhere). You should
note that this permission excludes the former permission: one cannot edit the profile
and members of field groups without explicitly having read permissions on said field
group.
Summarizing, in order to be able to edit the value of a field, you only need the
"Read profile and fields of field group X" permission, however,
denying this permission renders the field invisible to the user. In order to add
fields to a field group, or change the field group's name, you'll need "Manage
profile and fields of field group X" and "Read
profile and fields of field group X".
But I Wanted It Read-only, Not Gone :-(
Some use cases require that fields are rendered read-only rather than hidden when
a user does not have the permission to modify its value. As you can deduce from
the previous section, in the dark times before ADAM 4.6, this was not possible...
But, those days are now gone for good. As of this version, you have three permissions
for controlling how a user sees a field group:
- Manage profile and fields of field group X
- Read profile and fields of field group X
- Change field values of field group X

The last one, and also the new one, is used to control whether or not the user/user
group can edit the value of fields in the field group.
This means that the purpose of the "Read profile and fields of field group
X" permission has changed to controlling the visibility
of the field.
How About Upgrading?
When upgrading to ADAM 4.6, nothing changes to your current settings! The "Read
profile and fields of field group X" permission is simply split and
the new "Change field values of field group X" permission is
given the same value as the former.
The only thing you need to do is getting used to using the new permission, and think
of this whenever you unexpectedly find a read-only field.