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.

Proposed solution:

  • 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?

  • If that works then is seems a reasonable approach. A route i would probably have explored was a Webform assuming that you can a/ control who sees which webform and b/ set the webform to show on the page you require
    – petednz - fuzion
    May 4, 2020 at 20:08
  • Thank you @petednz-fuzion. My problem is that as a non-developer, CiviCRM Webform is quite daunting, especially in Drupal 8, and with almost no documentation I can find. I have tried it out, but quickly get stuck in configuring it. Am I missing any good documentation somewhere? May 6, 2020 at 8:46
  • yes it is a bit different to d7. might be easier if i offer a short tour - PM me - c/- fuzion.co.nz
    – petednz - fuzion
    May 6, 2020 at 19:36


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.