CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Pre-installation Questions (Moderator: Dave Greenberg) »
  • CiviCRM and a complex group structure - will it work?
Pages: [1] 2 3 4

Author Topic: CiviCRM and a complex group structure - will it work?  (Read 8763 times)

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
CiviCRM and a complex group structure - will it work?
June 22, 2010, 08:24:01 am
Hi,
We are a not-for-profit organisation that would like to replace an existing proprietary CRM with CiviCRM, however one essential function for us (automatic allocation to groups)  seems to be missing from CiviCRM.  If I describe the function we require I was hoping that someone could confirm/deny that CiviCRM can do what we need.  If it can't do what we need could someone let me know if it would be feasible to pay someone to write something that will do the job and integrate with CiviCRM? 

In Australia a combination of both locality-name and postcode are used to uniquely define a location:
                Richmond 4740 and Richmond 4822 are both in the state of QLD but they are hundreds of kilometres apart.
Each postcode covers a region and can have more than one locality-name associated with it:
                Richmond 3121 and Burnley 3121 are adjacent locations. 
There are 17,000 postcode/locality-name combinations in Australia.

We have 260 volunteer groups throughout the country and each of the 17,000 postcode/locality-name combinations are assigned to a group. 
              The sizes of the geographic regions covered by the different groups vary a lot (city vs regional vs rural/remote):
                              Group A may have only two postcode/locality-names assigned to it but Group B could have 100 assigned to it. 
              Assignment to groups is not based solely on postcodes. 
                             Postcode 5185 could have 50 locality-names associated with it.  5 of these could be assigned to Group B, 15 to group C and the remaining 30 to group D. This typically happens in country
                             regions and the towns where groups B,C and D hold their meetings could be 50 kms apart. 
              Postcode/locality-names are not solely assigned to groups based on 'as-the-crow-flies' distances
                             Rivers, motorways, mountains and ravines can influence in which direction and how quickly people can travel so using longitude and latitude to determine group allocation is not appropriate. There is table in our DB that contains the contains the 17,000 postcode/locality-name/group relationships.

In our current system (not web-based) when someone joins our association (home address required) with the 'click of a button'  that person is added to the membership list for the group that covers their area and the group they belong to is recorded with their personal details.   Each group has a group leader who runs events in their local area and we tell the new member the contact details of the group leader and we give the group leader the details of the new member.

Sometimes (but not often) we need to be able to manually intervene to delete a member from the group dictated by their home address and assign them to a different group (say, a group their friend belongs to).

Groups can have 200 or more members (although most will not be attending meetings).  Sometimes a local group closes (no-one willing to take on the group leader role) and then we need to close the group by reassigning the postcode/locality-names to the closest continuing group(s) and then redistributing the members of the closing group to their new group. Currently the redistribution of all members is done by one 'click of a button' after the postcode/locality-names reassignment has been done.

I spent time on the CiviCRM demo site and have read about groups, smart groups and tags, but none of these seem to provide the functionality we require.  Manually assigning people to one of 260 groups based on one of 17,000 postcode/locality-name  combinations is not practical.  I thought smart groups might be suitable, (although a pain to set up) but I only seem to be able to use one postcode/locality-name as the criteria for each smart group. Tags don't seem appropriate.  I thought that perhaps I could do something with a map and Organic groups (we will be using Drupal if we change to civiCRM), but that will only work for those people who join via the internet, and at the moment 50% of our new members join via mail or a phone call.

I don't think I can do what we need using CiviCRM, but several hours on the demo site and reading the online manual does not make me an expert and I would love to be contradicted.

If I am right, then I know my association doesn't have the expertise to write something to do what we need.  Is the way we handle groups something that could be integrated with CiviCRM somehow and would it be likely to be 10 hrs, 100hrs or 500hrs of work for someone with CiviCRM expertise (who we would pay)?   

Any advise would be appreciated as CiviCRM seems to do everything else we need and we would love to move to it.


Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: CiviCRM and a complex group structure - will it work?
June 22, 2010, 08:41:20 am
I do not think you can cover this with standard CiviCRM functionality....but I do think it is quite feasible to make a customization using the CiviCRM hooks. Do you have any knowledge of PHP around?
Erik
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: CiviCRM and a complex group structure - will it work?
June 22, 2010, 01:24:23 pm

here's one potential way to do this:

1. create 260 static groups giving them appropriate names. You can potentially do this via a script

2. create a mapping table with columns: postcode, locality name, civicrm group id

3. In your profile /  user registration / contact edit form (or other places where u collect postcode / locality name (custom field on address?) ) implement a hook_civicrm_postProcess which add the contact to the group as specified in mapping table created in step 2 (and remove them from any of the 260 groups they might have previously been in)

4. You should use ACL hooks to give group leaders permission to view/edit contacts that are in their group

lobo

A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: CiviCRM and a complex group structure - will it work?
June 22, 2010, 01:30:14 pm
Hi,

We've done something like that with geolookup (well, set up custom fields instead of assigning to groups, but the principle is the same).

I would definitely write a custom script to create the groups, not sure if there is an API to set up the ACL (or if you really need it for that matter), but probably worthwhile developing and contributing back (anything to be done more than 200 times is worthwhile automating ;)

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Andrew Perry

  • I post occasionally
  • **
  • Posts: 98
  • Karma: 1
  • Building empowering tools that comply with rules
    • Community Builders Australia
  • CiviCRM version: 3.x, 4.x
  • CMS version: Joomla 1.0.x, 1.5.x -> Drupal 6.x, 7.x, WordPress
  • MySQL version: 5.1, 5.5, 5.6
  • PHP version: 5.2, 5.3, 5.4
Re: CiviCRM and a complex group structure - will it work?
June 23, 2010, 01:44:10 pm
We are an Australian based CiviCRM developer and have setup smart groups (around 100) for one of our clients to do similar things - so I think we should be able to get it setup for you pretty quickly or give you some instructions/training that would enable you to do it yourself.

I'll have a chat with the member of our team who did that piece of work and get back to you.

Feel free to give me a call if you would like to talk to someone about Civi and your needs - our toll free number is 1300 468 228.
Community Builders Australia Pty Ltd
www.communitybuilders.com.au

Andrew Perry

  • I post occasionally
  • **
  • Posts: 98
  • Karma: 1
  • Building empowering tools that comply with rules
    • Community Builders Australia
  • CiviCRM version: 3.x, 4.x
  • CMS version: Joomla 1.0.x, 1.5.x -> Drupal 6.x, 7.x, WordPress
  • MySQL version: 5.1, 5.5, 5.6
  • PHP version: 5.2, 5.3, 5.4
Re: CiviCRM and a complex group structure - will it work?
June 23, 2010, 01:47:29 pm
PS - yes, setting up all those smart groups initially is a painful process!  For the number of groups you are talking about though, it would probably be worth the time to write a script to automate it.

We'd be happy to work with you on developing such a script that could then be contributed to the CiviCRM community.

Andrew
Community Builders Australia Pty Ltd
www.communitybuilders.com.au

joanne

  • Administrator
  • Ask me questions
  • *****
  • Posts: 852
  • Karma: 83
  • CiviCRM version: 4.4.16
  • CMS version: Drupal 7
Re: CiviCRM and a complex group structure - will it work?
June 23, 2010, 08:42:15 pm
Thanks for all the replies.
 
It certainly sounds like it can be done - but not by me.  My current programming skills are limited to SQL (learnt to use with our existing CRM), but will be (gradually) extended to PHP if we choose to go with CiviCRM.

Lobo, thanks for the outline of how to do it. We may be able to find a volunteer in our organisation with suitable skills who can help us.

If not, thanks for your phone number Andrew.

Our next step is probably to set up a test CiviCRM for ourselves so I can find out what other problems there might be.

Joanne

 

petednz

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4899
  • Karma: 193
    • Fuzion
  • CiviCRM version: 3.x - 4.x
  • CMS version: Drupal 6 and 7
Re: CiviCRM and a complex group structure - will it work?
June 24, 2010, 07:36:33 pm
One more bit of input - we are over the ditch (NZ) but have been working for an aus client who needed quite a bit of geo-lookup requirements working off external tables with postcodes, localities, local council boundaries etc. Happy to give you a more thorough description of what we might be able to do for your scenario if/when you get to that point.

You may also be interested in reading about what Matt Chapman did by way of auto-signing up people to an Organic Group (since you are headed down the Drupal path) based on geographic data - http://forum.civicrm.org/index.php?topic=8206.0
Sign up to StackExchange and get free expert advice: https://civicrm.org/blogs/colemanw/get-exclusive-access-free-expert-help

pete davis : www.fuzion.co.nz : connect + campaign + communicate

PRedmond

  • I’m new here
  • *
  • Posts: 21
  • Karma: 0
Re: CiviCRM and a complex group structure - will it work?
June 29, 2010, 05:02:02 pm
Hi Everyone,
I work with JoAnne - I'm the ICT manager. I have both PHP and MySQL experience, but virtually no experience with CiviCRM. I would love some support and suggestions on how to automate the allocation to groups.

The other thing we are interested in (let me know if I should create a new thread, or post elsewhere) is having a variety of membership types. I realise that this is possible, but the limitation we run into is when users renew.

For example, we offer memberships which can be 12 months long and new or renewed subscription, and 24 months long and new or renewed subscription. In addition, subscribers may be eligible for consession subscription etc. The problem we have is that when a user subscribes, just say for the 12 month new subscription, they cannot renew as a 24 month subscription - they must create a new subscription.

Is it possible to create a scenario whereby the user can renew their subscription with different options? It strikes me that this would not be a very uncommon scenario, but I can't seem to find how it fits with CiviCRM.

Thanks in advance! It is great to see CiviCRM's forums are so alive!

Cheers,
          Pat

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: CiviCRM and a complex group structure - will it work?
June 30, 2010, 01:24:17 pm

you might want to start  by reading: http://en.flossmanuals.net/CiviCRM/DevelopIntro

any specific reason u dont keep 12 and 24 months as two different membership signups with two different membership types? that way the renewal / signup process is different for both sets and each set is constrained to its own duration (12 or 24 months)

lobo


A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

PRedmond

  • I’m new here
  • *
  • Posts: 21
  • Karma: 0
Re: CiviCRM and a complex group structure - will it work?
June 30, 2010, 03:53:13 pm
Hi Lobo,
Possibly the reason we don't do what you suggest is inexperience with CiviCRM...?
If a member signs up for a 12 month subscription, they will often renew their subscription with up to 3 months remaining. What we have experienced when we have set it up the way I think you are suggesting, is that when a 12 month subscriber renews to a 24 month subscription, they end up with 2 concurrent subscriptions for a period of time, rather than appending the new subscription to the end of the old one.

Perhaps we have not set it up correctly? Essentially, it is important for our members to be able to renew their subscriptions to 12 months, 24 months, Australian, International, Consession etc regardless of their previous subscription type.

Cheers,
          Pat

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: CiviCRM and a complex group structure - will it work?
June 30, 2010, 10:27:34 pm

yes, that is currently a limitation in CiviMember

if you/your org would like to contribute developer resources to improve CiviMember or sponsor improvements to Civimember that would be great. some ideas that other folks have had are here:

http://wiki.civicrm.org/confluence/display/CRM/CiviMember+-+Phase+2+Specifications

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

PRedmond

  • I’m new here
  • *
  • Posts: 21
  • Karma: 0
Re: CiviCRM and a complex group structure - will it work?
June 30, 2010, 11:42:31 pm
Well, this is essentially a make-or-break for us, so if we could contribute we would like to. Of course, it comes down to the level of contribution.

How would we go about getting an idea of the costs associated with having this done?

Due to my lack of familiarity with CiviCRM, I think it would be faster and hence more economical to get someone else to do it. Having said that, if someone is willing to mentor me, then I am more than willing to give it a go. The more I learn, the more I can contribute.

Cheers,
         Pat

PRedmond

  • I’m new here
  • *
  • Posts: 21
  • Karma: 0
Re: CiviCRM and a complex group structure - will it work?
July 01, 2010, 05:18:25 am

So I have had a quick look at the code, and it will take me some time to get my head around it all...

It seems to me that when the new membership is created, it uses todays date. If the code was changed such that it used the finish_date of the current membership, then things would work the way we want them to. Does this happen in MembershipRenewal.php?

Of course the downfall is that others out there may want the subscription to begin on todays date, so we need some form of flag to indicate whether to create a new subscription starting today, or a renewed subscription starting when the other subscription ends... The other issue could be that there could be more than one subscription... Things are never as easy as I wish them to be.


Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: CiviCRM and a complex group structure - will it work?
July 02, 2010, 07:06:35 pm
Pat,
The current behavior for online (self service) renewals is:
- If user selects a membership type that they have a current membership for, that membership is renewed (i.e. the new membership period is tacked on the end of the current membership period)
- If the user selects a different membership type - the "assumption" is that they are purchasing a new / different membership. Hence that membership's start date is "today".

There has been ongoing discussion about improving this to support "upsells" in particular - "Renew at a higher membership level for more benefits ....". I think we need a bit of discussion as to how the UI for this would work. I'm pretty sure some organizations to offer multiple membership types ("subscriptions" in your terms) that are complementary - so I don't think we can globally assume a renewal when users select a different membership type from the one they currently have. Maybe this is a configuration switch OR a prompt to the end-user.

We would definitely be open to adding an improvement like this to the core code if your organization contributes or sponsors the work. Some background on how this works here:
http://wiki.civicrm.org/confluence/display/CRM/Developing+with+the+CiviCRM+team

Let us know if you want to pursue this.
Protect your investment in CiviCRM by  becoming a Member!

Pages: [1] 2 3 4
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Pre-installation Questions (Moderator: Dave Greenberg) »
  • CiviCRM and a complex group structure - will it work?

This forum was archived on 2017-11-26.