2

I'm working on an electoral project. I'd like to try a little experiment with direct democracy. All involved would be Contacts within CiviCRM.

What Drupal/CiviCRM modules/extensions would I need to accomplish the following:

  1. Each candidate would have content (Blog/Forum/Polls) created by them that is viewed only by Contacts within their electoral district. The electoral district relationships are in pre-loaded CiviCRM multi-value custom fields.
  2. Each contact (voter) would be able to see and edit (comment/poll vote) the content from #1 for each candidate in a district that the voter resides in. Content from other candidates would be invisible.
  3. A contact can be both a candidate and a voter.
  4. I've already got ACLs set up which associate a candidate user ID with the voter Contacts in the electoral district. I can, if necessary, create an ACL which associates a voter user ID with all the candidate Contacts in the voter's districts, although that seems very cumbersome.

I'm assuming that all of the candidate/voter interaction will occur within Drupal content.

CiviCRM 5.3.2 Drupal 7.60

1 Answer 1

2

What Drupal/CiviCRM modules/extensions would I need to accomplish the following:

Each candidate would have content (Blog/Forum/Polls) created by them that is viewed only by Contacts within their electoral district. The electoral district relationships are in pre-loaded CiviCRM multi-value custom fields.

I would use OG and get some custom synch stuff done so that OGs are populated based on Relationships (we have done this for other clients)

Each contact (voter) would be able to see and edit (comment/poll vote) the content from #1 for each candidate in a district that the voter resides in. Content from other candidates would be invisible.

Well if we are going down the OG route for #1 then I would stick with that for this too.

A contact can be both a candidate and a voter.

Not sure what the point/question is here, but would assume Drupal Roles so that within the OG the 'voter' has more options than the 'candidate'. But if you mean they might be a Voter in one district and a candidate in another then again the OG approach would fit.

I've already got ACLs set up which associate a candidate user ID with the voter Contacts in the electoral district. I can, if necessary, create an ACL which associates a voter user ID with all the candidate Contacts in the voter's districts, although that seems very cumbersome.

It isn't clear how you are doing this since your terminology is jumping between 'user id' and presumably civi relationships, but i would use Fuzion's Permissioned Relationships extension to take care of this, and that knits well with the OG approach

I'm assuming that all of the candidate/voter interaction will occur within Drupal content.

Right, so am I - using OG in case that hasn't been clear yet ;-)

2
  • "terminology is jumping between 'user id' and presumably civi relationships" No, I'm using ACLs to restrict a candidate's view and update activity to voters within their district. Commented Oct 29, 2018 at 15:21
  • hi Ken - the Permissioned Relationships approach takes care of all the ACLs. And it can be hierarchical and 'daisy chained' so it can really simply things as no ACLs need constructing
    – petednz - fuzion
    Commented Oct 29, 2018 at 18:33

Your Answer

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

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