Dashboard > CRM > Specifications - "OFFICIAL" Docs > CiviCRM Project One Pager
CiviCRM Project One Pager Log In | Sign Up   View a printable version of the current page.

Added by David Geilhufe , last edited by David Greenberg on Nov 07, 2005  (view change)
Labels: 
(None)

What?

CiviCRM is an open source project to create relationship management software for the nonprofit and nongovernmental sectors. CiviCRM stores information on the universe of people associated with a nonprofit organization and on their interactions (emails, donations, petitions, events, etc.).

The technology is designed to be lightweight, extensible, core functionality that can both stand-alone as a simple contact management application and be easily integrated with a broad variety of technologies and applications (Donation Processing, Fundraising, Advocacy/GOTV, Event Management, CivicSpace, Advokit, etc.)

Why?

Nonprofits maintain relationships many types of constituents. They track and solicit donors, recruit volunteers, track clients, and maintain relationships with the public for advocacy purposes. They send out newsletters and invite people to events. CiviCRM enables organizations to maintain all this information in a single database, creating efficiencies and new opportunities for nonprofits to better communicate and benefit from relationships with their constituents.

Before CiviCRM, relationship management solutions have been expensive, proprietary and could not interoperate with other software. The vast majority of the NPO sector cannot afford solutions from market leaders like GetActive, Kintera, Convio and others. Solutions targeted at for-profit companies like Salesforce.com and SugarCRM do not support some of the data structures and relationships unique to the nonprofit sector like households.

The CiviCRM open source strategy radically reduces the barriers nonprofits face to deploying world-class software solutions to support their missions, increasing efficiency across the sector, not just among organizations that can afford the higher costs of proprietary solutions. The strategy further creates an ecosystem of high-level NPO-focused software targeted at fundraising, advocacy, organizing, and other specific vertical market by allowing those software developers to avoid rebuilding the wheel and simply start with a robust relationship management engine—CiviCRM.

Who?

CiviCRM is being created by a network of nonprofit technology professionals in partnership with leading NPO software efforts including CivicSpace Labs and Advokit. By creating a highly qualified network of developers, product managers, customers and customer advocates, we are working to build CiviCRM into a robust, full-featured, and widely used solution to nonprofit relationship management needs.

Technology

CiviCRM is a LAMP-based (Linux, Apache, MySQL, & PHP) web application. It provides a lightweight extensible core that can be easily integrated with a broad range of existing and future modules. CiviCRM can can function both as part of an ASP-hosted product offering or as a stand-alone application within the context of a single enterprise.

CiviCRM core features include:

  • Store information on Contacts—Individuals , Organizations, Households—and the relationships among them.
  • Store multiple Locations (phone, address, etc.) for each contact record.
  • Internationalization. Support CRM information for multiple countries.
  • Support custom, user-defined fields for each contact record.
  • Support arbitrary, user-defined groups of contacts.
  • Contact level view/edit permissions.

Great initiative. A couple of comments/questions.
A number of groups I've worked with have used ebase (http://www.ebase.org/), a non-open source product that provides similar functionality. Have you looked at how CiviCRM would relate to ebase? Migration tools, data sharing scripts? Are you in communication with them?

Besides contact data management within an organization, a related need in inter-organization information pooling. For instance, member organizations of a network might maintain both pooled and individual information. Or, even, pooled information for which they have individual enhancement needs. for example, there might be a shared data pool of network members, with individual organizations maintaining their own additional attributes on a subset of the shared data. Do you envision an option for such inter-organizaitonal data pooling?

Ebase is the intellectual parent of this effort (I actually wrote some of the first Ebase Enterprise documents with Bob Schmitt and Marshal Mayer back in the day). We try to maintain open lines of communication with anyone interested in working on the project (dgeilhufe AT-yahoo DOT-com) or using the GPL code we produce.

Inter-organizational data pooling. A matter of fact, this is on my desk right now to introduce this capability into the CiviCRM physical data model. For the initial release, it would not be included in the public API. We'll probably extend do something similar to the "domain" entity, which supports the use of CiviCRM in an Application Service Provider (ASP) environment.

Anonymous

You've got to check out democracyinaction – they do most of the things that this is targeted towards, they're open source with php plugins (although their documentation is still lacking and most of the plugins are in java), and they have a relatively large user base using the ASP version –

I've worked on software that shares some similarities to this project. See http://www.campusactivism.org. I'm currently writing module(s) for Drupal/CivicSpace.

Is the goal of this project to create software for large non profits or smaller grassroots groups?

Is the goal to support organizations in putting their own information online for their own purposes (on their own website), or to facilitate sharing (as much sharing as possible) and networking?

I want software that prioritizes the needs of local grassroots activist groups (while also supporting their formation of state, regional, and national networks). I think their needs are being ignored because they don't have the money to hire consultants. Also there are other larger organizations that don't have the money because they are challenging corporate power or other elite interests. In addition, grassroots local organizations are the most fundamental building blocks for democracy and progressive social change.

I want software that shares almost all of its information by default. We need to build connections between organizations, people, social movements, and issues. We have to bring people together in a large movement for progressive social change. We need to recognize that every organization that exists has power concentrated in the hands of a minority (often white, male, upper-middle class, and/or heterosexual) - and consequently we must do the utmost to empower organization's members and promote organizational democracy. Members should have the tools to decide what their organization does.

Infrastructure is political. Software projects have a political bias. Let's be biased towards grassroots democracy.

Anonymous

What about Mambo? Its a very easy to use Content Management System (CMS) like Drupal that has been taking the open-source community by storm. Please consider developing your project as a Mambo add-on! http://www.mamboserver.com

Mambo is definitely very compelling and we are planning to add support for Mambo in a follow on release. If you would like to help with the mambo port, please do get in touch with us. The code right now is pretty independent of drupal. We rely on drupal for a few core things (menu'ing, theming, permission and user administration)

When is an initial alpha release of CiviCRM schedule for Drupal (roughly?). Is there someplace where I can look at the design specs/screen flow?

Thanks
Ben Slade
PublicMailbox at benslade dot com
(append 030516 to the subject to bypass spam filters)

Anonymous

Is there an announcement list so we can subscribe to check this when possible? We can support on beta testing, translation to pt_PT, etc.

Best. Lopo - ensoproject_cut-this_|the_at_here|gmail.com

Nedjo Rogers wrote:

"Besides contact data management within an organization, a related need in inter-organization information pooling. For instance, member organizations of a network might maintain both pooled and individual information. Or, even, pooled information for which they have individual enhancement needs. for example, there might be a shared data pool of network members, with individual organizations maintaining their own additional attributes on a subset of the shared data. Do you envision an option for such inter-organizaitonal data pooling?"

I strongly second this idea for devleopment to include this functionality, with a strucutre of a 'core' or 'global' set of recrod ID tags for common dta fields/attributes, which have a stnadardize set of hooks that other affiliated (i.e. linked in) sites/organizations can hang their own-subset of fields and attributes onto an individuals record.

For example, we are looking to make a co-operative systme between state and coutny parties and their respective websites, and want a unified volutneer/CRM db that is shared for all the county parties and the state party, but each woudl want some functionality to hang specifc 'propritary' data onto the globally shared records of core data about a 'John Smith' (the global being the unique ID, name, address, etc.).

So each affliated group could hang their own proporitary data, such as donor info for that person/record, what they volutneered for in the past for the county party, etc. which may not be visible globally to the other affiliate groups.

This would in theory resolve many of the issues surrounding data ownership, aide with permissions, and roles etc. as well. If "we" (i.e. all integrated uses and users via various applications, websites, etc.) can have a standard data repository that John Doe's address is in fact 1234 Anystreet, etc. but a county party may hang unique proprietary info onto that global core data set for the "John Doe" record, such as what donations he may have given to the county party, what he did as a volunteer for X work-group, etc.... whereas the state party might be hanging different (or similar) unique proprietary data on the "John Doe" file, this could be a way to resolve "ownership" issues of the data yet vastly improve data integrity and streamline numerous bottlenecks and data cul-de-sacs by having hundreds of various DBs in all the various parties, DBs, etc. This would be facilitated by that central core being "the" central unified repository, yet still be localized since our hooked data would hang on the open-source (if you will) global common data.

I can further envision down the road, that this would allow blind passthrough data/organization cooperative sharing as well. For example, if the state party, or even in theory national, wants to target specific local activists/volutneers/donors (whatever), there can be a way to do end-user (at state or national) blind queries and passthroughs where if the they cast for "$500 local donors and above for a campaign in County X and Y... or volunteers who are willing to phone bank in County X and/or County Y" that query would push out to the county parties db sub-sets, and the county parties can then opt-in to the blind query data-match, and "opt in" to releasing it.

This would go a long way to resolve one of the most contentious issues between parties and caucuses, about working cross-purposes in casting for volunteers/activists locally for state or national efforts or campaigns, because it allows (and almost by design forces) cooperation where it would be a win/win scenario.

In addition, it cuts down on solicitation overload and oversaturation/bombardment (and hence burnout) of prospective volunteers. Since it would allow for clear consistent outreach in a more collaborative jointly informed basis, getting all potential stake-holders up to speed about what is occurring, and builds those working relationships between all levels of all parties, etc.

Obviously if we can do as much identification up front, of types of data beyond what I would term the core "global" data, how that will get used and how it will track across various applications/uses (i.e. defining custom user experience on the website(s) CMS, donation/supporter data and reporting needs for filing, voter file information for persons in the db for voter ID drives, etc.) so we can develop a data modeling and structure to allow it to be extensible, with standardized modular hooks, the better it will be.

This would be, along with shared events and cotnent that would prpoigate into defined targeted site agregation, be the Holy Grail.

This is what we are desperately working out requirements and a plan to find a solution for in our county and state parties, and we are almost there in fully 'buying into' the CivicSpace foundation. But having a functional CRM that would be open to this developmental path and end-goal is vital. In fact having a rudimentary functional CRM is becoming a VERY contentious issues as we need something VERY soon (i.e. mid July).

Different function/question:

Is there any planing on matching/reconciling CivicSpace/Drupal account registrations to people within the CRM?

Ideally, somehow having matching/reconciling would be extremely useful in tracking activities on the site into and out of the CRM.

In other words, being able to ID people who are contributing content and comments in the CivicSpace CMS environment, to their CRM record.

Answers to some of Mitchell's queries:

1. In our current sandbox we are matching (using email address) accounts between CRM and Drupal. A contact is automatically created for an existing account. We also posted a spec on user sharing at: http://lists.caltha.pl/pipermail/crm-dev/2005-May/000370.html. We do not aggregate user behavior on the CMS side into CRM, but that should be a fairly easy extension

2. Thanx for the points regarding sharing data between various organizations / party chapters etc. While we do not address them directly in our initial releases, it is definitely important to us and we'd like to tackle that in a future release. Your suggestion of allowing the core data to be shared, while allowing various groups to hang additional info in their own private silos is quite interesting and sounds very doable . Would love to get more of your thoughts and ideas on this

3. We have completed most of the core functionality for the 0.1 release. The big pieces that we need to finish now are permissioning and port to php4. The sandbox should give u a pretty good idea of our current state, u could also download and install the code

Thanks Donald, that helps me along. One of the things we are looking to, which is more critical than email capture and matching, is we are requiring a zip+4 at account registration on the CMS (i.e. CivicSpace) side.

What I was thinking was, that that data would go a lot further into matching/reconciling the CivicRM side, which will be capturing data form numerous other sources which in many cases will not be initiated form website CMS account registration.

For instance, is a volunteer or someone who gets interested in getting involved with a party, signs up on a clip board at an event, we can capture (key) that into the CRM. Now, if that person signs up on the CMS side, but uses a different email address, or didn't provide one when singing up on paper at an event to be a volunteer/activist/interest party, etc. it would seem more reliably to match to the persons name/zip identifiers.

This would also segue into the much larger ideal state functionality of the CRM for political parties (which is what I am basically talking about as that is our focus), since we would eventually want to fold voter roles into that as well. Which is a MUCH larger data universe, but would provide some very powerful functionality for the county and state parties. This way we can run reconciling match's to flag people who may have moved but not updated their voter registration, flag people who come to eh website or want to get involved but are not registered to vote, and be a very crucial (since at the end of the day for political party doing GOTV) way of data matching and voter verification IDing to do effective GOTV, and to track and manage voters as they move within a municipality, county or state. and it would extensible. When someone disappears form one place on the voter roles, and pops up on another.. that can be a significant cross check to manage the CRM contacts if someone disappears off the radar of the CRM side, because they relocate, and vice-versa, when we track them via FOAF management via the CRM, we can assure that the person gets their ducks in a row as far as re-registering to vote in their new address.

This would be a way parties could, (with a fully integrated system) lag someone to get a local activist, (i.e. precinct person/worker to get voter registration info, their local party contact in their new area, and so forth, to the person.

But with the multiplicity and transient nature of email addresses (particularly the way more than a few people via their email address around, from hotmail accounts, work email accounts, switching ISP providers, etc. that it makes a lot of sense to key off of actual geocoding derived information which we will get with module/widgets we want to get developed that specifically do that geocoding look up, and then voter district on all levels (school board, city/municipality, county, metro-zone, state house district, state senate dist. congressional dists, water-board, school service board and many more), all on the fly at registration/CRM entry points. Then its just an issue of it being updated as they move, or redistricting occurs but that would also allow for really doing some powerful stuff on the MCS side, where we provided custom-user experience content. Where content would customized based on the aforementioned derived info. So the contact your rep, would be a simple lookup widget, and ideally a custom text call syntax that can simply be typed directly into narrative content like blog entries, page articles, etc. which would pull from the single CRM contact info for the elected officials that would also be in the system... which could then deliver page content pointers to the "about Rep. Joe Smith" page content in the CMS.

This sort of CMS/CRM integration would be a god-send. Because then all you have to do is make one change in contact information in the CRM.. and it would propagate throughout the linked system.

(response to Mitchell Gore's post above...)
Your feedback regarding match/reconciliation criteria comes at a good time - as we have been flushing out our specification for configurable User Data Sharing. This functionality deals with both control of which CiviCRM contact fields are exposed to the user account / registration process, and the rules for synchronizing user accounts with contacts.

The current spec supports site-level configuration of a matching key composed of 1-to-n contact fields. Please take a look at the write-up at:

http://objectledge.org/jira/browse/CRM-102

and get back to us with feedback

Anonymous

About the demo: Can volunteers sign up online for an event?

We will be working with Civicspace to integrate CiviCRM with their Volunteer module in our next release (v1.1). You can learn more about the features of that module here:

http://drupal.org/handbook/modules/volunteer

Anonymous

Have you looked at the data model of Siebel, just to match up?

I personally just would like to use this as just a personall addressbook, i would be very happy if it could create reports. E.g. a birthday/wedding anniversary/calender to put on my wall.

Very interesting project!

Anonymous

As a non-technical user in the non-profit sector in a developing country, I have a few questions after trying out the demo:

1.) Is there a way to use CiviCRM locally (on the intranet) and also have it available on the web simultaneously?

2.) If yes, will it work only on Linux locally or also on Windows?

Ramdak

Ramdak -
I'm not sure what you mean by the first question. You can definitely run CiviCRM on a web server that is NOT public (e.g. a local intranet). You could also use Apache to limit access to certain IP addresses, or do addtional authentication, etc.

The CiviCRM server can be run on a Windows machine, although the recommended environment is Linux. Of course, users just need a web browser to access CiviCRM - and this can be on almost any platform.

Anonymous

I would like to reiterate the question posed by "Anonymous at May 21, 2005 02:32"... "When is an initial alpha release of CiviCRM schedule for Drupal (roughly?)"

I was wanting to install this for a new Drupal site that I am building and it wasn't clear to me whether a Drupal (as opposed to the Drupal-based CivicSpace) module even existed. Apparently it does not, even in the CVS tree. At the very least, it may be worthwhile being more explicit as to whether or not a Drupal module exists and, preferably, an indication as to when this is expected.

Thanks for all the good work. I look forward to using and contributing to this project.

Omar Bickell
www.koumbit.org

Anonymous

I feel this is a very vital intiative to help the non profits to work and achieve their objectives.Most non profits are not able to maintian,transact and get connected with sources and resources.
ICT tools in reality is a strong arm to wipe out poverty and hunger from earth,since it can integrate various components to address those issues which is mainly the concern of the non profits.NGO's at grassroots,though are engaged in true work they are not able to get support from donor,reources,Governement and other sources.
I am sure this is right initiative and it is an initiative for the benefit of the bottom people and I wish success.I also compliment all those spearheading this project.
Participatory Employment Net shortly known as PEN India is a net work with Livelihood & Ecological Security Groups and number of base level NGO's in different states of India and we wish that your Team may take some interest to help them all and use this forum for betterment of common people.
With Warm Regards
Yours Sincerely
S.A.Rahim
Chairman
PEN INDIA
19-3-1K,KCR COMPLEX
Renigunta Road,
Tirupathi-517 501
A.P,INDIA
email:penindia_india@yahoomail.com
or iite_mbnr@rediffmail.com

Anonymous

Oooops. I now realise that the tool IS ALREADY ready for installation with Drupal.

Omar

Omar-

Glad you could figure it out... please feel free to ask any questions you may have on our email list:
http://objectledge.org/confluence/display/CRM/How+to+Participate

We look forward to your contributions!

Anonymous

Reply to David's post above:

Sorry, I should have been more clear.

I wanted to know if a grassroots NGO with just a stand-alone PC (may be Windows or Linux) connected to the Internet could enter data on a local installation of CiviCRM and then be able to sync the data to an online server.

This would come in very handy for the following reasons:

1.) Internet access is still not very cheap or accessible in many parts of the developing world and especially in rural areas. This would mean they only need to connect to the Net infrequently instead of having to be online all the time- even major cities in India, for example, mostly have only metered broadband access that is regulated on the basis of GB downloaded or time.

2.) The data would be accessible from anywhere in the world like you can download your hotmail account on OE etc, and still have it on the server. And, if the NGO staff were travelling, accessed the online version and made changes, they should be reflected back in the local offline version after a sync operation when the PC connects to the Net.

As someone working with about 115 ngos, I can see this being very useful.

Thanks,
Ramdak

Unfortunately the answer is No While that would be an incredibly powerful feature, technically it is quite difficult with a complex data model (like CiviCRM). Over a period of time, we suspect that internet connectivity will continue to improve and costs will continue to decrease

Anonymous

Thanks for clarifiying that. I did have a feeling I was asking for the moon

Ramdak

Anonymous

Hello Don,

If the idea interests you, do take a look at OneWorld's Open Knowledge Network (www.openknowledge.net) which has a data model possibly more complex than CiviCRM and yet has this feature (select 'Techonology' from the navigation menu). It makes heavy use of XML.

And, they mostly use Worldspace radio receivers for connecting their knowledge centres with satellites. Of course, the project is well funded

i just checked openknowledge.net. Looks like they are solving the problem of offline access to content and uploading newly created content. This is definitely quite cool and useful. However in a shared data world, where multiple people can read/write the data, the problem is a wee bit more complex and needs to include tools like merging different data sources some of which will conflict and hence need to be resolved. A source code control system (like CVS or SVN) needs to handle something like this, and does so effectively.

I dont think its incredibly difficult. However, there are always tradeoffs between resources, priorities and funding If we do find funders willing to fund the above project, we'd definitely throw resources at it and come up with solutions.

lobo

Anonymous

Where is the best place to go for related modules, development, etc? Is there a mailing list somewhere?

I would like to have Drupal feedback/contact forms that drops the contact-related info into CiviCRM and adds an action. This is common enough that it's surely done and/or in progress, but where do I find out?

The developer list is at:

http://lists.objectledge.net/mailman/listinfo/crm-dev

CiviCRM is fairly new and i suspect the above module in drupal does not exist as yet. However would be great if you were willing to write it. Most of the code that you need is present in CiviCRM Profile. We will be releasing a beta version of CiviCRM with CS 0.8.2 in the next week (alpha releases are being tested on)

lobo

Anonymous

PHP4 sandbox showing following error:

Fatal error: Class crm_core_dao_stateprovince: Cannot inherit from undefined class crm_core_dao in /home/clients/caltha/www/sandbox.openngo.org/php4/civicrm/drupal-php4/modules/civicrm/CRM/Core/DAO/StateProvince.php on line 44

Hoping this will be resolved soon.

Ramdak

Hi Ramdak,
The sandbox.openngo.org sites are trunk code in active development and will often be broken. Please use http://demo.openngo.org/civicrm Demo sites to try out stable version(s).

Regards,
Dave

ah so I'm not the only one with that error, Ramdak. I have CiviCRM rev.2869 . PHP 4.3.9, MySQL 4.0.21, Apache 2.0.52 running on os X 10.4.2 . I would install XAMPP with all the latest versions of the above locally but there's not really much point when my web host is running Apache 1.3 and PHP 4.3.12 with MySQL 4.0.22 on Linux ... Are these problems fixable in the near term on these configs?

Joe

Where i can find test version?

Joe:

CiviCRM should run on the php/apache/mysql version you mention. We have quite a few people using a similar combination

Marek: You can try the demo at:

http://demo.openngo.org/civicrm/

First of all - kudos to all those involved in making technology such as this available for non-profits!

I'm currently scoping a new web site for the organization I'm volunteering at - It's a neighborhood house with very limited resources.
In addition to a new design of the web site I'm considering a contact management system, mass-mailing, easy-to-use CMS and even pitching the idea of a wiki to the board of directors (which I'm a member of). I see the wiki for example as a great opportunity to have community members exchange information (for example tips to other new immigrants) in a constructive and effecitve manner.

I'm probably the most computer literate person they had exposure to and I don't see myself running their site or anything.
This effort can potentially move this 30+ year old organization forward light years compared to it's current web-site and overall IT system.

It appears that CivicSpace and CivicCRM can handle most if not all the requirements (still putting those together) but the main question I have is as follows:
Where can I find an ASP/Hoster that will make it all possible?
I.e. make sure the servers are running, patched/secure, backed-up etc.

Thanks,
Adi

PS The organization is Little Mountain Neighborhood House Society in beautiful Vancouver and run by beautiful souls.

We are working very hard to make sure folks have an ASP solution avaliable.

In fact, CivicSpace Labs and Bryght are very close to offering a hosted CivicSpace+CiviCRM offering (CivicSpace 0.8.2). You can find about Bryght's hosting services at www.bryght.com.

We'll be sure to announce it on the crm-dev email list once it is avaliable.

Powered by a free Atlassian Confluence Open Source Project License granted to CiviCRM . Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators