Wednesday, August 22, 2007

Code for Change is over (for now)

As of last Friday (August 17), the first Code for Change summer has officially come to a close. We set out to turn CiviCRM into a better system for helping organizers spend more time organizing and less time shuffling things around on their computers. CiviCRM is a constituent relationship management system, but that's just a nerdy way of saying that it's a program to save you from spreadsheets-pasted-into-Outlook hell when it comes to keeping track of and in touch with all of your contacts. I'm pretty excited about what we got done.

Code for Change is my brainchild, so I'm a little biased. However, other people seem to think it's cool too. The basic idea behind Code for Change is that by putting a little effort into an existing open source project, we get a lot more out of it than if we wrote something ourselves from scratch or paid someone else to modify an off-the-shelf system. We hired some computer science interns--current students and recent grads, downloaded the source code to CiviCRM, and set about turning it into a system that everyone can use (from large, complex organizations all they way down to my mom who sends out a regular newsletter to her home-based business contacts). In the true spirit of openness, all our work is open source and is planned to be released with the CiviCRM 2.0 release later this year.

From June 4 to August 17, we hacked away at it. We had a lot of help from others in the CiviCRM developer and user community, and their contributions were invaluable. Here's what we all accomplished:


  • We made CiviCRM a standalone system. This means you no longer need Drupal or Joomla to use it. (Those are web content management systems, and not everyone who wants to use CiviCRM uses those.) For people who just need a CRM, this makes it much easier to get CiviCRM up and running and doesn't put a lot of unnecessary CMS functionality between you and your contacts.

  • We added OpenID logins. OpenID is a pretty cool new technology that allows you to use one login for all systems that use it. No more having to remember umpteen different passwords for every system you have to login to.

  • We added support for complex groups and organizational structures. The organization I work for, U.S. PIRG, is a national network of state-based organizations. This means we need a system that can keep all its data separate for each state, but still allow those of us who work centrally for all the organizations (I'm an online organizer, for example) to aggregate that data when necessary. Other organizations (such as political parties) have similar geographic and departmental structures that they need a CRM system to model. CiviCRM is now pretty powerful in this regard. You can put groups inside other groups (inside other groups, inside...) and you can affiliate groups with organizations and sub-organizations.



I'll be working over the next few weeks to actually roll out CiviCRM as the new system that U.S. PIRG uses for its online organizing, so we'll be eating our own dog food. If you want to give it a try now (instead of waiting for the official 2.0 release), you can download a preview release of CiviCRM Standalone here.

And we're not done there. We're looking to hire an intern for the current fall semester and another in the spring to continue working on CiviCRM. If you or anyone you know is interested in applying, let me know.

Cross-posted at Future Majority

2 comments:

Darren said...

Heya,

I really want to get my hands on the standalone CiviCRM. It looks like great work you guys have done!

Only problem is that your codeforchange.net site is down and I can't find any version anywhere for download.

Please help?

kenlyle said...

How to set up the standalone version 0.5 on standard shared hosting:

Create a new database.

Create a user

Assign the user to the database.


Note: if your language is not English, you will need to use the

correct files in the next two steps for your language.

Import the civicrm_41.mysql file, which creates the basic structure.

Import the civicrm_data.mysql file, which adds basic data.

Upload the standalone .zip file to your web root, or wherever you

want the civicrm directory to end up when you unzip the file.

Unzip the file.

Go to civicrm.settings.php in the

Around line 92, must read like:
define( 'CIVICRM_DSN' ,

'mysql://databaseusername:databasepassword@127.0.0.1:3306/databasenam

e?new_link=true' );

Now you should be able to open the page to create the first user,

which is at:

yourdomain.com/whereeveryouputcivicrm/standalone/ - you will need to

get an OpenID.