4

We are looking to use a Wordpress Multisite / CiviCRM integration and have a multisite development environment setup. We're not sure whether we should be using CiviCRM or Wordpress (or a combo) to establish permissions.

Here's a rundown of the user groups / permissions that we need to establish:

BACKEND USERS

  1. Admin (2) - access everything, create new site

FRONTEND USERS

  1. Committee member (10+) - add/delete documents specific to committees
  2. State Manager (8+) - add/edit/delete members within the state. Add documents for downloading
  3. Members (2500+) - when logged in can search for other members (all states), edit their own details and access private documents.

  4. Public - access unrestricted content only.

Q. We want to limit access to the admin system to the Admins only and get State Managers to add/edit/delete via the frontend. Is this possible?

Q. We want committee members to be able to upload documents via the frontend that can only be viewed by other committee members. Is this possible?

Q. Can member login data (usernames & passwords) be stored in the CiviCRM or do all members need to be Wordpress users also?

Q. Would the Committee members be best setup as groups?

Q. Does anyone have a diagram of how the Members / Groups and other permissions work across a Wordpress integration?

2

I can answer some of these questions:

  • CiviCRM doesn't store usernames/passwords on its own. It integrates with the Wordpress authentication system
  • You create user roles in Wordpress' User Role Editor. You can then go into CiviCRM and grant CiviCRM permissions based on Wordpress role.
  • Because you say you want users to "upload via the frontend" and mention that they have logins - I assume you mean that these are users who have permissioned access to Wordpress, but not CiviCRM.

With CiviCRM, you should:

  • Enable a user dashboard (to allow contacts to edit their own contacts);
  • Create a search profile (to enable members to search for other members);
  • Create ACLs (to allow you to restrict access to contacts based on their committee membership);
  • Create several document submission profiles, to allow folks to submit/search documents that they're supposed to be able to see. I imagine I'd create a CiviCRM contact for each committee, then create a profile submission form that allows permissioned users to add activities with attachments to that user.

I could also see a different approach where the documents are stored in Wordpress and permissioned that way, but I don't know enough about Wordpress to know if that's feasible. I'm thinking of a feature similar to Drupal's Organic Groups.

  • 2
    As Jon notes WP multisite and CiviCRM alone, the permissions via CMS are all role related and ACLs can be added in CiviCRM for access to a specific group of contacts for example. For CMS/front-end access via groups BuddyPress: wordpress.org/plugins/buddypress is an option, but adds a layer of complexity too. This allows groups to communicate with each other and can even have some docs integration like this: wordpress.org/plugins/buddypress-docs There is also development of group integration in progress wordpress.org/plugins/bp-groups-civicrm-sync – Dana Apr 7 '15 at 18:46
  • Dana - if you posted that as its own answer, I would upvote it! – Jon G - Megaphone Tech Apr 7 '15 at 20:01
1

Your question is very complex and you need to be very specific. I don't know what you mean by "via the frontend". For "admin" are you referring to WordPress admin or CiviCRM? We have sort of solved similar problems by adding a roles plugin in WordPress , and then creating additional custom roles, in your case: state manager, committee member, members, etc. Then we create WordPress users for each person that will login, and assign one or more of the custom roles to them. The logins are specific to a user, so you can see who did what on the system, and also avoiding mixups in the contacts table. All CiviCRM members (CiviMember) who login to the system will also be WordPress users as that's the only way to login. But members (CiviMember) in general do not have to be WordPress users, unless they need to login for some reason. (We do not allow public WordPress registrations on our system.) The CiviCRM admin permissions for the various WordPress roles are controlled via the ACL system in CiviCRM (Administer - Users and Permissions - Permissions). We setup each committee with a group definition in CiviCRM. I'm confused if you are mixing up WordPress users with CiviCRM members, they are 2 completely different things.

Some of your requirements are WordPress specific. You can upload documents and create pages to display them that are private; you must be logged in to see. The WordPress roles can be setup to have various levels of access to WordPress features, but this is outside of CiviCRM of course.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.