My use case is two totally different types of membership: full and academic. Each profile uses different custom fields. I want the right profile to be used on the Drupal user account page, according to which type of user it is, so I set both to be used on the account edit page. By default, both profiles are then shown on the user account page. I want a user who has full membership to be able to see/edit their full profile and not see/edit an academic profile - and vice versa.
- Turn off Drupal permission for Profile editing and use ACLs.
- Create two Access Control groups in CiviCRM : Member profile user, and Academic profile user
- Create two ACL roles: Member profile user, and Academic profile user
- Assign each role to its respective group
- Give each role permission to edit its respective profile
This seems to work well, but is there a better way of doing this - and/or any unforeseen consequences to this method?