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) »
  • General Discussion (please no support requests here!) (Moderator: Michał Mach) »
  • How to model a CRM?
Pages: [1]

Author Topic: How to model a CRM?  (Read 2188 times)

jtheelen

  • Guest
How to model a CRM?
April 13, 2010, 02:22:00 am
I'm rather new to CRM and I am planning to use CiviCRM for our first implementation. I'd like to know what is the best way to model a CRM solution? UML and its diagrams or is there any other notation or software to do this?

Thanks and my apologies if this turns out to be a silly question.
Joeri

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: How to model a CRM?
April 13, 2010, 02:28:40 am
I do not think this is a silly question :-) I do feel though that there should be a step before Use Cases or anything of the sort: what are you trying to achieve? What is the problem for which you think CRM might be a solution?
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

jtheelen

  • Guest
Re: How to model a CRM?
April 13, 2010, 02:49:23 am
Thanks for the swift reply. I'm working in for one of the projects at my university. For this project, there are a lot of  different 'actors' involved:
- permanent staff members (about 20)
- temporary project members (about 80 each year)
- sponsors (about 50)
- people attending our yearly lectures (about 2000)
- individuals or families who donate money (about 800)
- subscribers to our electronic newsletter (about 2500)
- people who (want to) buy from our e-shop (none yet, since we are just starting the e-commerce)
- etc.

In the past (20 years ;-) we kept many lists in Access, Excel etc. to maintain this information. Now, it is time to migrate to a CRM and import all this info in one single database. Our website is already in Drupal (version 5, but we are planning to migrate to version 6 in the near future). Thus, CiviCRM on top of Drupal seemed to be the logical choice.

My fear is that if I do not model our application well ahead of its implementation in CiviCRM, I may be stuck awfterwards. Since I am rather new to CRM, I was just wondering if there is any best practice for setting up such a datamodel.

Thanks,
Joeri

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: How to model a CRM?
April 13, 2010, 03:24:27 am
Hello Joeri,
looking from the theoretical side you would need to model your database and use cases before you could decide to use off-the-shelf software or develop new stuff. In practice my eperience is that companies describe some key processes and desired output and then check if the standard software (liek CiviCRM) does the job. And then they accept the datamodel of the software....the basic datamodel of CiviCRM can be found here:
http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+ERD+2.0
Erik
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: How to model a CRM?
April 13, 2010, 05:16:20 am
Hi,

I'd suggest you to read the book chapters on that topic, the ERD isn't enough to help you choosing between custom fields, tags, groups, contact subtypes... to model your need.

http://en.flossmanuals.net/CiviCRM/Needs

What works well for us is to define some scenario of what you want to do, eg. anonymous visitor registering to the newsletter, admin sending an email alert to the sponsors...

Then, install civicrm and start customising it and put some test contacts, see if it works. No matter what, you will probably make some mistakes, and realised that you should have taken a different route. In my experience, that's not difficult to change the model afterward, but might be time consuming.

This being said, asking yourself how to model your application is a very good first step not to make any really big mistake.

Good luck.

X+

P.S. If you have the budget, might be worthwhile hiring a consultant a few hours to brainstorm and see if you didn't miss anything obvious
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

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: How to model a CRM?
April 13, 2010, 06:14:46 am
To add a minimal touch: if you do hire a consultant, perhaps his/her assignment should be to coach you in the process, not do the process for you?
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

jtheelen

  • Guest
Re: How to model a CRM?
April 13, 2010, 07:25:10 am
Thanks to both Erik and X+ for their reply's. I think I will read the chapter in the CiviCRM book and see how to proceed from there. I have been thinking about this myself, using a textual requirements document first, followed by an UML use case document and other UML diagrams...

Since I am familiar with ORM (Object Role Modeling), I've also thought of using that to describe the many objects, their attributes and relationships, but I don't think ORM lends itself to describe a CRM model. Any comments on that?

Thanks,
Joeri

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: How to model a CRM?
April 13, 2010, 07:49:44 am
You could use ORM for CRM, the question is if this is the right context for it....I would tend to focus on the processes and what is required to administer CiviCRM in the right way. This would focus more on questions like:
* what types of contacts would you want to use (individuals, households, organizations, subtypes)
* what groups, tags or smart groups would you want to use
* what relationship types are required
etc.etc.
The task at hand seems to be to establish a link between the requirements and the software provided. I think ORM would be more applicable in an environment where the application still needs to be designed? I would only customize CiviCRM if I HAVE to, and use the standard functionality as much as I can.
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • General Discussion (please no support requests here!) (Moderator: Michał Mach) »
  • How to model a CRM?

This forum was archived on 2017-11-26.