What is CiviCRM?

CiviCRM is a powerful web-based relationship management system. It allows you to record and manage information about the various people and organisations that are important to your organisation. CiviCRM is more than just an address book It also allows you to track your interactions with those people and organisations and to get them to engage with, and potentially give money to, your organisation through your website. The information you gather is all stored in one place but you can access it from almost anywhere.

civicrm

CiviCRM is open source, which means there are no licence costs or user fees associated with downloading, installing or using the software. You may incur costs if you use a consultant to implement CiviCRM to meet your specific needs and you may incur website hosting charges.

CiviCRM is web-based, which means it can be accessed by many users at the same time from different locations. It has been developed with the international community in mind, and translations and multi-language options are supported.

It has been designed specifically to meet the relationship management needs of advocacy, non-profit and non-governmental groups. It integrates closely with two of the most widely used free and open source content management systems (CMS), Drupal and Joomla!. There is also a standalone option for users who wish to have it working alongside another CMS.

How Can CiviCRM Help You?

CiviCRM will help whether you are starting off on a new project or whether you are wanting to better harness the mountain of information held by your non-profit. You can use it to achieve more, grow more, communicate better and make better decisions.

Achieve more

CiviCRM gives you the tools you need to easily capture information about your contacts, organise that information and put it to use.  Additional functionality to manage events, membership drives, and fund-raising campaigns means you can spend less time on administration and more on your mission.

CiviCRM's event management framework provides a set of tools to manage events from start to finish.  It integrates with your website for publicity and online bookings, and can automatically syndicate event information to other sources.  Out-of-the-box integration with a range of payment processors allows your constituents to register and pay immediately online (and you can also process registrations offline if you or your constituents prefer).  When the event is over, you are left with a complete record of attendance linked to each contact's personal record.

CiviCRM provides an automated online sign-up and renewal process, which is flexible and configurable to match virtually any non-profit's membership model (including yearly membership, 'rolling renewals', different membership prices and automatic renewals).  It is also designed for offline membership processing.

Earn more

CiviCRM has a sophisticated finance and fundraising framework, designed to make it as easy as possible for people to donate to you and for you to keep track of donations.

Create online campaign pages and send personalised emails that link to pre-filled forms for one click donations.  Leverage social networks and let your supporters fundraise for you with Personal Campaign Pages linked to your organisation's campaigns - you get the donations and they get the kudos.  You can also set up automated recurring payments to ensure you make the most out of your loyal supporters.

CiviCRM also provides an at-a-glance overview of all 'money in', whether it is from campaigns, membership drives, events, or other sources, enabling you to see who has donated as a result of what form of engagement. You can quickly generate reports about who is responding to specific campaigns and messages, enabling you to develop more effective campaigns.

Communicate better

Good communication is all about knowing your constituents.  An integrated, historical record of interactions with each constituent means you have detailed knowledge that you can use when you talk to them on an individual basis.

CiviCRM lets you harness all the knowledge you have about your constituents to generate personalised mass mailings, for example:

Communication is a two-way process.  In any online interaction with clients, CiviCRM gives you the opportunity to ask them questions either to collect information or to increase their engagement with you.  You can encourage them to volunteer more information, change to monthly giving, or make a special contribution to your current campaign.

Make better decisions

By managing your information, CiviCRM gives you the tools you need to make better decisions.  You can run ad hoc reports to answer specific questions, or run regular reports to assess the success of your work. This information can tell you how you are achieving your goals and help you to better target your resources.

Features

Depending on the activities and services your organization is involved with, CiviCRM can provide you with tools for donor management, memberships, event management, email and postal communications, tracking services and reporting. For advocacy, non-profit and non-governmental groups, this often adds measurable value.

Regardless of your organization's size and requirements for your CRM solution, the goal remains the same: learn more about your constituents and leverage that knowledge in the service of your mission. CiviCRM offers the entire spectrum of all the abilities of CRM to engage your constituents.

There are four main modules, all of which can be freely enabled to extend the core CRM functionality:

contribute_large.gif

CiviContribute: Online fundraising and donor management 

CiviContribute is an online fundraising and donor management component which enables you to track and manage contributions to your organization. It also allows you to quickly and easily create customized web pages to accept online donations. CiviContribute creates or updates contact and donation records for all contributions, eliminating data entry time and errors.

event_large.gif

CiviEvent: Online event registration and participant tracking 

CiviEvent provides integrated online event registration and management for paid and free events. It allows you to quickly and easily create customized web pages to for event registration, and then track participants. CiviEvent creates or updates contact records for all event participants, eliminating data entry time and errors.

mail_large.gif

CiviMail: Personalized email blasts and newsletters

CiviMail is a robust mass-mailing component which allows you to engage your constituents with personalized, trackable email blasts and newsletters. Target mailings can be targeted at precise groupings within your database. Messages can be personalized using mail-merge tokens. Tracking and reporting are built-in, and bounces and unsubscribe requests are managed automatically.

member_large.gif
CiviMember: Online signup and membership management

CiviMember provides flexible membership management for your organization, along with convenient online signup and renewal. You can configure any number of membership types or levels for one or more organizations and/or chapters of an organization, customize membership statuses and rules, create customized web pages for self-service membership signup and renewal, search and list memberships by date, type, status and contact information including name and address.

Real World Examples

CiviCRM is used by all shapes and sizes of organisations that are located all over the world. Some have no paid employees while others might have several hundred. Their needs range from very simple to fairly complex. In this chapter, we will have a look at some real world examples of how some organisations are using CiviCRM.

WWOOF UK

WWOOF (World Wide Opportunities on Organic Farms) UK places volunteers on organic farms where they can learn about organic agriculture in exchange for food and accommodation. They list 400 farms in the UK and have approximately 3000 volunteers annually. Before starting with CiviCRM, they used a number of different offline systems to process memberships. For example: People sent in paper application forms and volunteers were sent a printed directory of the farms.

What They Did

They used CiviMember, integrated with a payment processor and Drupal, to allow people to sign-up online to become members and to pay online using a credit card (or later with cheque or cash). They also used CiviCRM Profiles to create an online searchable directory of contacts and, using Drupal's CiviMember Roles module, they were able to control access to this directory by synchronising users with their membership database.

Since they wanted to continue to make data accessible to people that didn't use the internet, they used the CiviCRM admin interface to allow staff to manually process paper applications and, using CiviCRM's export functionality, to export data for a printed directory.

The Results

Simple online sign-up and instant access to the directory meant they doubled their membership income in the first month of implementing the new system! Staff are able to access the data from anywhere, which allows for much more flexible working practices and the ability to recruit more volunteers to help run the organisation. Membership administration time was reduced to zero for the majority of members that chose online access.

What They Learned

Transferring all office systems to CiviCRM was a 'change management' challenge! - and was more than they had anticipated. If they were to do it again, they would try split the process up, perhaps putting the directory online before switching to CiviCRM for online sign-up. They also underestimated the amount of training that was needed on the new system and would plan more time for testing and getting used to the system before 'going live'.

Wellington Circus Trust

garland_logo 

This example shows how clubs can use CiviCRM for summer camps, sports clubs, dance classes and other events.

Wellington Circus Trust is run entirely by volunteers. They have a mailing list of 500-600 people and run blocks of classes in circus skills such as trapeze and hula hoop. They also host events. For safety reasons the Trust needs to gather information about who to contact in the case of a student being injured. The Trust processes about 200 enrollments a year.

Prior to using CiviCRM, the trust maintained a Microsoft Access database, but data entry was time consuming, keeping information up-to-date was difficult and emailing the resulting contact information on a regular basis to the tutors, was challenging. The treasurer wanted people to be able to maintain their own details and wanted the tutors and volunteers to be able to access people's contact details from anywhere. 

What They Did

After some research WCT realised CiviCRM could do the things they needed.

Using the CiviEvents modules they set up online enrollment for the classes. This decision led to another, which was to pay a commission to a payment processing company so that credit cards could be used for online enrollment in classes. They also used CiviEvent to set limits on the number of students that could enroll in a given class.

In order to track emergency contact information, they created custom data fields that were added to a profile that was used as a form for event registration. This information was then stored in CiviCRM.

They integrated CiviCRM with Drupal and set up user accounts for every contact in their database and then instructed people on how to use the Drupal 'reset my password' link to gain access to the system for the first time.

Once CiviCRM was installed and running the WCT decided to implement CiviMail.

Since Wellington Circus Trust applies for grants from funding bodies, the last thing they decided to implement was the CiviGrants module. 

The Results

Simply by implementing CiviCRM, tutors and volunteers could access information from anywhere in the world where they had Internet connectivity.

By implementing CiviEvent in the way that they did, people were able to enroll in and pay for classes online and to provide their emergency contact information while doing so. By allowing people to sign-up online, data entry was greatly reduced.

By integrating CiviCRM with Drupal and setting up user accounts, people were able to maintain and update their own contact information, which greatly reduced administration time.

Implementing CiviMail made it very easy for them to email the tutors, volunteers and students. It also removed the administrative burden of manually updating the mailing list and contact information because CiviCRM automates all of that by allowing people to do it for themselves. The treasurer also found that it saved her from having hundreds of sent items in her outlook e-mail, which used to happen when she used Microsoft Office mail merges to send out newsletters.

Prior to implementing CiviGrant, Wellington Circus Trust had not been effective at tracking the status of the grants. By using CiviGrant, they were able to see at a glance, what grant applications had been sent and the status of each grant.

All up Linda estimated that installing CiviCRM saved hundreds of volunteer hours over the course of a year. 

What They Learned

After moving to CiviCRM, WCT found that contact management and class registration were both easier. One issue they did find was that some people got confused about having to reset their Drupal passwords. WCT thinks that putting more effort into the way they explained this on their website would have helped.

People found the paypal standard interface difficult to use and after six months they invested in developing a payment processor more appropriate to New Zealand.

They also learned that a cheap hosting provider is not always the best option. They wasted quite a bit of time before they switched from a free provider to one that costs them approximately $NZD20 per month.

Healthy Environment Alliance of Utah

heal 

HEAL Utah is a grassroots environmental organization working to protect Utahns from nuclear and toxic waste. Before moving to CiviCRM, they were stuck on a Microsoft Access database. In fact, they may have called it a database but it really was a glorified spreadsheet that made their day to day operations difficult. The goal for the CiviCRM project was to move to a system that would centralize all of their information across their organization including email lists, volunteer tracking, donor history and more. As an advocacy and community organizing organization, it is critical to their mission that they effectively engage their supporters and track the relationships they build with their constituency over time. They needed a tool to support that mission.

What They Did

HEAL has been using CiviCRM since the early days of the software. CiviCRM is now the central place to track all of their donors, volunteers, legislators, foundations and contacts. They use CiviCRM for donor management, email communications, event management, volunteer tracking, and advocacy.

The Results

There is no question that CiviCRM streamlined and consolidated their data management and saved them valuable resources. It is interesting to note that over the last several years their advocacy campaigns have been more successful and their impact in their community more noticeable. While one cannot and should not solely credit CiviCRM for their recent successes, the biggest change that CiviCRM has brought to HEAL is to force them to always think about what role technology will play in their outreach and organizing work.

American Friends Service Committee

The American Friends Service Committee is a large, Quaker based, peace and social justice organisation that has over 400 employees. Worldwide, they have programs that work to relieve and prevent suffering through both immediate aid and long-term development and they seek to serve the needs of people on all sides of violent strife.

Their main headquarters are located in Philadelphia, Pennsylvania. They have 9 Regional headquarters located throughout the United States, some 50 Area offices also located in the US, and numerous International "field" offices located in Africa, Asia, Europe, Latin America/ the Caribbean and the Middle East.

Lists of constituents are maintained by each office. Specific CRM system needs vary but, in general, needs are: searching for constituents that meet certain criteria, sending emails, newsletters, postal mail, announcements, collecting the contact information for people who sign on-line petitions and on-line registration for events.

Through a survey that was conducted by the Information Technology Department at AFSC, it became obvious that AFSC staff were using a number of varied "systems" to keep track of their constituents. It also became obvious that these systems were not working: repositories of data were everywhere, contact information was duplicated, staff were having a hard time managing their contacts and the IT Department was unable to provide adequate support.

The survey also revealed that staff were frustrated with the systems they were using because they lacked functionality that was necessary for them to effectively communicate and do outreach. Specifically: search capability was limited, there was no ability to send high-volume emails which meant that it was not possible to send newsletters or announcements, and there was no ability to collect information on-line.

After investigating several database systems, the IT Department finally decided that, all things considered, CiviCRM might be the best fit for the AFSC.

What They Did

Initially, CiviCRM sites, that were managed by an external vendor, were established for offices in Los Angeles, Rhode Island, San Francisco and Seattle and CiviMail was implemented. Los Angeles also decided to use the CiviEvent module to track registrations for events and the CiviMember module to track contact information for their committee members.

After implementation, an LA staff person discovered that certain functionality was missing from the CiviMember export module and this was preventing them from being able to compile a membership directory. AFSC talked to the CiviCRM Core development team and contracted them to add the missing functionality. This was a win-win situation: AFSC got the functionality they needed and because it was integrated back into the CiviCRM product the entire CiviCRM community was able to benefit from the addition. An extra advantage for AFSC is that because the functionality became part of CiviCRM they don't have to worry about it not being compatible with any future upgrades.

The Results

The decision to have their sites hosted and managed by an external vendor turned out not to be a good one because the particular vendor that was chosen ran into difficulties and was not responsive to issues or in providing the services that had been "promised", like timely updates for CiviCRM. Once the hosting issue was resolved, staff were able to take full advantage of the capabilities of CiviCRM, which allowed them to do all of the things that they had previously been unable to do.

The Los Angeles office is in full swing, using CiviCRM as the main repository to track their constituents, board and committee members and volunteers. Their constituents are now able to sign-up for events and petitions on-line, and staff are now able to send volume emails for their newsletters and announcements.

Getting rid of their old system and being able to send out their monthly newsletter was the main goal for the Colorado office, who came onboard with CiviCRM a little later in the process. They are now able to find the constituents that are to get the newsletter and to send the newsletter to them via CiviCRM. They couldn't be happier!

The AFSC currently has nine CiviCRM sites and the IT Department is now recommending CiviCRM as the "database of choice" for its offices. Support from the CiviCRM community is excellent and CiviCRM itself is improving every day, with more and more functionality being added. AFSC staff are now able to access their data from anywhere that has internet access, do complex searches, on-line event registration and send online newsletters and postal mailings. CiviCRM is allowing them to better manage their constituents. This makes their life easier and in turn, is of great benefit to AFSC.

New York State Nursery Landscape Association (NYSNLA)

nysnla_homeNYSNLA (www.nysnla.com) is a member-based association providing resources and advocacy support for nursery and landscape professionals throughout New York State. The organization seeks to advance the interests of New York State's nursery and landscape businesses and professionals by promoting sound business practices, expanding state and local markets, and exercising leadership in the development of sustainable communities.

Prior to migrating to CiviCRM the Association went through several iterations of member-management solutions, beginning with a series of spreadsheet documents and later moving to an MS Access database. The migration to CiviCRM was prompted by the desire to consolidate data, provide members real-time access to contact details, and to create a searchable member directory to site visitors who may be looking for a nursery or landscape professional.

What They Did

NYSNLA, working with a CiviCRM consultant, began the process of analyzing the structure and content of their existing database and mapping the various functions to CiviCRM structures. They determined they would use CiviMember, CiviEvent, CiviContribute, and CiviMail to address their core database needs, and would consider using CiviPledge at some point in the future for soliciting contributions to their sister non-profit, the Nurserymen's Foundation.

One data area that required particular attention was their Certified Nursery Landscape Professional program (CNLP). CNLP is an intensive, on-going educational program designed to increase the skills of garden and landscape employees. The program was designed by members of the nursery and landscape industry with assistance from Cornell University. Interested individuals must apply to the program and successfully pass a test. The certification lasts two years, after which time the individual must recertify.

NYSNLA used CiviCRM's membership functionality to track the status of CNLPs. The ability to define a rolling-period membership and to gauge when they are nearing expiration perfectly met their management needs. The initial application process, which also must be tracked carefully, was handled through CiviEvent, as an application to the program is essentially a registration to attend one of the bi-annual test events.

The Association also took advantage of CiviCRM's open source platform to make some interface customizations that improved the way they looked at their records. Because of the importance of the CNLP program, they wanted to be able to look at all employees for a certain nursery/landscape company and quickly know if any of them are CNLPs or Lifetime CNLPs. They also needed to quickly know which employees are authorized to manage the company's records. Adding the membership field and an authorization icon to the relationships view provided them this snapshot.

nysnla_relationships 

The Results

The Association has worked hard to communicate to the public the importance of using a qualified landscape professional. Essential to this effort was the inclusion of a searchable member directory on their website. Using CiviCRM they were able to create a search page that included geographic segmentation (the Association divides members into 8 regions statewide) and a list of services provided by members (using CiviCRM's tags feature). The resulting search tool, because it is directly connected with their contact data, ensures website visitors are always looking at current information. The Association is also able to provide members direct access to their contact details so they can update and maintain their list of services provided and other information.

nysnla_search


Green Party of Aotearoa - New Zealand

The Green Party has been the largest third party in NZ politics for most of the last decade, and for periods back as far as the early 1970s. They achieved parliamentary representation in 1999 and after the 2007 election had 9 Members of Parliament, 4-5,000 members and c. 50,000 contacts. The Party has 9 Provinces, over 50 branches, some of which are split across Provinces, and contest elections across all 67 electorates (which do not align with either Provinces or Branches). Prior to adopting CiviCRM the party and parliamentary units had a range of systems for managing members, donations, contacts, campaigning, media and advocacy.

The Green Party policy states:

What They Did

CiviCRM was adopted in 2007 (version 1.7). This was encouraged in part by the work that had been done developing a voter canvassing Drupal module by the Canadian Greens. A switch to Drupal was undertaken as a parallel project. A Party database was set up using CiviCRM and online donations, memberships and event registrations were instigated.

The Greens have over 100 different issues that they put media releases out about. These were reconstructed as a checkbox custom data field, and Smart Groups were built for each of these, for use when sending out media releases via CiviMail.

The highly complex 'access control' requirements of the party necessitated the development of an alternative approach to the use of ACLs in order to provide a more easily managed, highly granular system. This approach has now been incorporated as a hook (something that can be utilised by developers to extend CiviCRM) in to core code.

For the election campaign in 2007, a look-up function was developed that meant as new contacts were added to the database, they were checked against a table containing the Electoral Roll, and links were created where matches were made. 'Soft' matches were also recorded.

The Results

In the 2007 election campaign, the Party made extensive use of online fundraising and greatly exceeded previous online income. The membership renewal has been streamlined with more online renewals occurring.

As of May 2009 the Greens are still using 2.0 on Drupal 5 and therefore have not yet benefited from the many features that became available through the 2.1 and 2.2 releases. An upgrade is in progress.

What They Learned

In a complex organisation such as the Greens, training is often going to be a limiting factor, as well as the need to develop more in-house superusers. New features in CiviCRM have caused some rethinking about usage of custom data fields, particularly in terms of the use of CiviMail for media releases. The new options for both nested groups, and Drupal Organic Groups suggest that a more time effective approach may be possible.

QuestBridge

QuestBridge is dedicated to helping bright, motivated low-income high school students get accepted and pay for college. QuestBridge recruits high-school juniors nationwide and asks them to fill out the QuestBridge application online. QuestBridge also partners with America's most highly-selective colleges and universities that are looking to increase the socio-economic diversity of their student bodies. QuestBridge's college partners accept the QuestBridge application in lieu of their own admissions application.

QuestBridge

What They Did

QuestBridge built most of its business processes around the CiviCRM. They wrote their online admission application using CiviCRM and extended it using PHP. They used CiviCRM to store biographical/application information and communication histories about the students.

The Results

In 2008-9, QuestBridge helped more than 1200 students get accepted and pay for college at one of its 25 partner schools. It accomplished its goal in a very efficient manner, in part due to its effective implementation of CiviCRM. QuestBridge is currently planning on upgrading to CiviCRM 2.x in order to take full advantage of the new email features.

Learning

If Questbridge were to start over they would have invested more in training on CiviCRM upfront.

Schoolhouse Supplies

Schoolhouse Supplies (SHS) is a Portland, Oregon, USA based non-profit organization which gathers and distributes school supplies to students and teachers.

Prior to CiviCRM SHS used a combination of software programs including Exceed, EROI, Constant Contact, Salesforce, Auction Pay (for online contributions) and, of course, hundreds of spreadsheets. In addition, SHS had a custom web application for managing store inventory and for processing in-kind donations.

What They Did

SHS has centralized their operations to CiviCRM to manage all their constituent data and to unify and coordinate several of their core business processes.

All data from each source has been migrated to CiviCRM Standalone. CiviContact and CiviContribute have replaced Exceed and Auction Pay. CiviMail has replaced EROI and Constant Contact. Salesforce data was moved into CiviCRM and the custom ecommerce application it supported was integrated with CiviCRM. Lastly, the inventory/in-kind management system was integrated with CiviCRM. Spreadsheets have been imported.

The Results

Each business process at SHS now can take advantage of their full constituent database and it is easier to coordinate business activities. More importantly, SHS is now in the process of taking manual business processes (e.g. volunteer coordination) and moving them to CiviCRM. New campaigns are now being planned and executed which would have been impossible or prohibitively expensive before.

What is a CRM?

Reading about CiviCRM, you might encounter quite a lot of different terms and concepts that are new or not fully clear to you. Some of them will be technical words or acronyms (for example, module or CMS) and some of them will relate to broad phenomena (such as Free Software or NGO), and the philosophy that underpins CiviCRM. Here we explain the most important definitions and notions, as well as some of the specific ideas that will add to your understanding of CiviCRM. Even if most -- or some -- of these concepts are clear for you, it might still be good to skim through this chapter to get on the same page with other people in CiviCRM world. If you are beginning your adventure with CiviCRM, this is definitely the place to get you into the groove and find explanations that will make further reading easier.

What is CRM?

There is a vast array of software from both the commercial and open source sectors that belongs to the CRM category. CRM is often understood to be customer relation management: software used to track engagement with current and potential customers from a sales perspective. CiviCRM is similar in concept but is built from the non-profit, not the sales, perspective.

So what does a CRM do? One simple answer is that it is a contact database with many additional abilities. Imagine your address book - it's a pretty simple way to keep track of important contact information. Now imagine that every time you make a phone call to a given person, your address book automatically makes a note of it, together with brief description of the conversation and also schedules a follow-up meeting with the contact. After using this address book for a while, you could ask "what were my interactions with a given person?" and it would give you the whole history.

Now let's say you're organising a dinner party and you want to invite all the people you've met during the previous year, with party invitations, of course. Just write the invitation and tell your address book to send the email. You don't have to worry about anything else after this point (apart from preparing the dinner!) Your address book handles the RSVPs from all invited guests, together with information about who is vegetarian and who is not and it even lets you know two nights before the event how many people you can expect.

It would be great to have such an "assistant", right? Both in your personal life and at your organisation. A large part of non-profits' work is about different interactions with people and organisations; talking to them, doing things together. While in your personal life it's hard to remember all of your meetings, phone calls and other forms of contact (especially in very long term) it's also not crucial to stay on top of all these interactions. With organisations it's completely the opposite - the more you know about the people and organizations you interact with, the more successful your work will be. You'll be able to target your message to specific groups, because you know who will be interested in specific topics, and you'll be able to observe their reactions and adjust your next interaction, and continue to improve how you talk to different groups.

Just to give you an example of the wide variety of constituents that are you might need to address, let's try to answer the question: "Who does your organization interact with?" A quick and undoubtedly incomplete list would involve:

At any one time, your organisation will interact with at least a few of these different groups: you'll want to engage with donors in a different way to volunteers, you'll need to exchange information with grantees in a completely different way than event attendees. Over time, the amount and variety of information becomes overwhelming.

That's where a CRM comes to the rescue. It will not only allow you to automate different tasks but it will also enable your organization to accumulate the knowledge about different groups of contacts, and communicate with each group in a way most suitable to them.

"Constituent"?

CiviCRM, unlike most CRMs, is oriented specifically toward the needs of non-profits, advocacy and non-governmental organizations (NGOs). It is for this reason that CiviCRM avoids using the word "Customer", and uses "Constituent" as it better illustrates the interdependent relationships of advocacy and non-profit organizations. Other terms such as "client" and "contact" are also used for the 'C' of 'CRM'. Whatever the 'C' stands for, the main principle of a CRM stays the same - it helps your group or organization track and organize contacts. However CiviCRMs functionality has been designed to support the needs of fund-raising or event organizing activities rather than the process of sales of individual items, although the latter is also supported.

What is a database?

"CiviCRM is a contact database" - and what is a database? Let's take a look at a quick definition, in case you are not fully familiar with the concept.

There is a certain discrepancy between how computer science treats the definition of a database and how is it used in common communications. Formally, a database is a collection of data, ordered in a specific way. To take a look at an example: your little notepad with phone numbers (or your mobile phone's address book) contains a database of phone numbers, your local library's card catalogue contains a database of information about books. Using formal language again, the tool that is used to manage the data is called a Database Management System (DBMS) - so in our examples, the notepad itself, the mobile phone or the cabinet that holds the index cards are DBMSs. However, in common use, the term database refers to both the collection of data and the tool that is used to manage this data. So, let's not bother too much with formal definitions in the context of thinking what a CRM is - you can use the above formal definitions to have fascinating discussions with your geek friends over a glass of wine. For the sake of this text, we will be treating the definition of database as a combination of a tool and the data stored in it.

Since we are talking about CRMs (CiviCRM particularly), let's explain the database concept using a  collection of contact data. A database is made of records - each record represents one contact. A record is made of fields describing, let's say, a person: first name, last name, email address, phone number and so on. Records can be related to other records - for example, a contact record can have a related event participation record.

So when we talk about databases we are referring to a powerful tool that can store and combine data in interesting ways. CiviCRM is powerful because it leverages these basic features of a database in very smart and useful ways.

What is a module?

There is one more concept of CiviCRM that deserves a very simple explanation - the module or component. In the context of CiviCRM, and considering the scope of this text, a module is basically a group of functions related to one aspect of organization's work. For example, all of CiviCRM functions that help you manage events have been gathered together in one module called CiviEvent.

CiviCRM modules, also referred to as CiviCRM components, can be enabled and disabled as needed. If your organization's activities do not include organizing workshops, conferences or other meetings, you can just disable CiviEvent module to avoid unnecessary complication of the tool - and help keep the interface uncluttered. Once you decide that you want to manage these kinds of activities, the module can be enabled and the functionality will be immediately available for use. The term module also appears in the context of Content Management Systems. The meaning is the same as in CiviCRM - basically modules allow you to extend the functionality of a given CMS or CRM.

Further Reading

Customer Relationship Management on Wikipedia
http://en.wikipedia.org/wiki/Customer_relationship_management

Database on Wikipedia
http://en.wikipedia.org/wiki/Database

What is A CMS?

CiviCRM has been developed so that it is tightly integrated with two popular Content Management Systems (CMS): Drupal and Joomla. It is also available in a standalone version. This means it can be operated alongside any other type of CMS although more complex implementation required to set it up correctly. First though, let us take a step back and get an understanding of what a CMS is and how it having CiviCRM cooperating with them helps us.

What is a Content Management System?

In simple words, a Content Management System is a tool for building and managing a website. There are other broader definitions expanding the meaning of content to all kinds of digital information but in the context of CiviCRM's connection with CMSs we'll stay with the simple definition.

drupal

Drupal Content Management System - Content Types Screen

Generally a good website should be laid out in a clear and ordered way, visitors should be able to navigate in between different pages easily, information published should be kept up-to-date. Making sure that all these requirements are met usually takes quite a lot of work. The role of CMS is to make such work easier, quicker and more effortless. A website administrator using a good CMS tool should be able to spend as little time as possible on technical tasks and as much time as possible on creating and publishing actual information.

A good Content Management System:

If your organization doesn't have a Content Management System yet now is a good time to do some research into adopting one. Choose wisely and make sure it meets the criteria listed above.

joomla_cp

Joomla! Content Management System - Control Panel screen

Websites were originally meant to be places to publish information for visitors to read. This paradigm changed a long time ago and organizational web pages are now two-way communication channels. You can use them both to communicate your message, to gather information about the people who support you, to enlist people to help you and hopefully to donate money to you. A good CMS makes this process even easier.

How does CiviCRM work with CMS?

Traditionally, you don't get to know a lot about the people that visit your website. The most commonly gathered information about a website is the number of visitors and the number of page displays. This data gives you an idea about how popular your website is but doesn't give you any idea about specific individuals visiting the website.

This is where CiviCRM really comes into its own. It not only gives you tools to quickly extend your organization's page with interactive elements, it also stores information about the specific actions taken by your website visitors. Moreover, for each person who engages with your activities through your website you will be able to see a history of your interactions with them. If somebody signed your petition first, then signed up for an online newsletter, then donated a couple of times to support different campaigns and finally became a member, you can see what they did and when. Interesting? Not only interesting - seeing the detailed history of the most engaged supporters of your organization might give you some very solid ideas on how to run your online activities in order to get the best effects.

That's the high level view on CiviCRM - CMS integration. What does it look like from technical point of view? CiviCRM basically works as a module to a CMS (Drupal or Joomla!). The obvious advantage is that you can quite easily extend your website with all the functions offered by CiviCRM and start gathering information about your constituents. Many other possibilities are open to you when you think about how you can take advantage of the other modules that work within both Joomla! and Drupal.

Further reading

Content Management System at Wikipedia
http://en.wikipedia.org/wiki/Content_management_system

What does Web-based mean?

CiviCRM is a web application. This essentially means that people who use CiviCRM access it using a web browser (such as Firefox, Opera, Safari, or Internet Explorer). It also means that you can set it up so that it can be accessed over the internet. You need to install CiviCRM on a server, a computer that delivers (serves) web pages. It you want it to be available over the internet the server needs to be accessible from the internet.

Some organizations are large enough manage their own servers and have people trained to administer them; others use hosting services. Clearly if you are planning on using a hosting service, you must ensure that they can fully meet the requirements for hosting CiviCRM.

Advantages and Disadvantages

With web-based software you only need to install it on one server. You don't need to make changes to desktop computers or laptops throughout your organization. Therefore, the cost of using web based applications is usually lower than for software that has to to be installed directly on end-user computers. There is a 'real' cost connected to maintaining the software on the server - you do need to spend time administering the server or pay for hosting. Fortunately that cost is usually much less than servicing many computers throughout your organisation. This benefit is particularly obvious when introducing a new version of the software - an upgrade on a web-based software only needs to be done in a single place and it is immediately available to all users.

Another related advantage is that your staff and volunteers can use the software from practically any computer. You can sit volunteers down at temporary workstations to do data entry, or ask them to bring their laptops, with no need for special preparations: CiviCRM will be instantly available from any computer in the office. This is also very useful for people in your organisation that work remotely: they can use CiviCRM from wherever they are located, as long as they have an internet connection.

The next advantage might seem obvious, but it's still worth mentioning. Many people can be working in CiviCRM at the same time. So while one person is picking up the phone and registering information about a constituent in CiviCRM, someone else might be changing information about another constituent or generating a report.

Another advantage of web-based applications like CiviCRM is that your data is centralised. Your data is precious and should be protected from loss, which means you want to make backup copies of the data as frequently as possible. When data is distributed among many computers, this becomes complicated and solutions that provide effective backup tools in such circumstances are usually quite expensive. Having your data in one place allows you to protect this key asset easily.

There are obviously some limitations to using web based applications. The main one is network dependency: your staff and volunteers need to be able to connect to your server in order to use CiviCRM. If your CiviCRM website is on the internet and they don't have internet access or it's on your intranet and they can't get to it then web-based applications are probably not the best choice for you.

Further reading

Web based applications
http://en.wikipedia.org/wiki/Web_application

Internationalisation

 English is an international language of information technology, but the adoption of IT solutions requires them to be available in various languages. Software being Internationalized means that a program is ready for adoption in different countries and different cultures, without the need to modify it technically. This is an important focus for the CiviCRM Development Team. It has been built with international needs in mind.

Another term that is commonly used in this context is localization. This is basically the process of adapting software for a specific country or language (using its internationalization capabilities) by translating text displayed on the screen and introducing different region specific settings. These settings are (among others):

There are other internationalization and localization concerns to be taken into consideration when using software.

When reading about internationalization, you might sometimes run over the cryptic i18n acronym (well, numeronym, to be strict). This term resulted from a somewhat humorous, but very convenient shortening of the long word - there is exactly 18 characters in between first and last letter of 'internationalization'. Even more humorously, given it is much shorter, the word localization is sometimes written as L10n. Let's not overlook the fact that these words are both usually spelled with a 'z' which is not a universal spelling convention in the family of "English" languages (New Zealand English, for example, would use 's').

CiviCRM was built with international users in mind and it is one of the development rules to provide ability for different language use. It is not, howver, a part of the core effort to provide translations. The project relies on its community when it comes to translating all the texts that are being displayed to a person using software.

CiviCRM translations server - http://translations.civicrm.org/

Further Reading

Internationalization and localization
http://en.wikipedia.org/wiki/I18n

Who Is CiviCRM?

CiviCRM has a unique and diverse and community centered around developing, using, and documenting the software. Our community includes the CiviCRM core team, people at the non-profits that use CiviCRM; consultants working with a number of non-profit organisations; programmers and developers, power users, volunteers and community organisers! We are also closely related to many other open source projects.

Each member of the community interacts with CiviCRM in their own way, working to improve the software and how we organise ourselves. The strength of community comes from this diversity and the ease with which someone can join us, and means that we are constantly changing and improving, often in unexpected ways.

Like all communities your membership is characterised by your interactions. If you treat others well, have some fun, and help others, then you can expect to enjoy being a member of the CiviCRM community. But if you are prone to complaining or don't use a respectful tone in communications, or if you see the community just as a resource and not as a collection of very kind, generous and clever people, then you are probably not going to get much of a response. Treat people well and you can find the CiviCRM community fun and rewarding.

It's good to talk

CiviCRM is an open and learning community, and people are ready to hear your ideas. If you have a good idea, there's nothing to stop you carrying it out - but the best way to start, is to start talking about it.

If you're not sure where to start, the best place is probably the community forum (http://forum.civicrm.org/). Ask people what they think about your idea. There's a wealth of experience on the forum, and with a bit of luck, someone will have tried something similar before. CiviCRM people are a friendly bunch and their guiding philosophy is collaboration.

Depending on your idea, you'll be directed to the next best place - maybe an article on the blog, a page on the wiki, a teleconference or a meeting up with another community member in real life, yes that's right, REAL LIFE!

Be the change

So you have a great idea. Now you need an equally great action plan to accompany this idea and then you'll need implement it. Although the CiviCRM community is friendly and supportive and will like to be involved and updated about your project, you'll need to be the driver. How will you get the resources together for your project? How can you fit it in with your day job? Finding a way to simultaneously achieve your own objectives and benefiting the CiviCRM community is the best way of getting things done.

And finally...

If you're a CiviCRM user who has an ongoing relationship with a consultant, there's nothing to stop you from also being an active member of the community. The community really benefits from direct feedback from end users - your consultant is only one person or organisation - by asking on the forums you're opening yourself up to help and input from the entire community.

Evaluating Your Needs

Life is a series of making decisions. Some decisions are easy because they do not require a substantial investment of time or money. More importantly, easy decisions do not require one to do homework in order to make sure the decision is the correct one. Deciding which flavor ice cream to buy fits into this category: You really don't have to spend any time or do any homework around which flavor to pick. If you get vanilla today you can always get chocolate tomorrow.

Other decisions are much more difficult not only because they may require substantial investments of money and time, but because you may have to live with your choice for the foreseeable future. Decisions like these often require a lot of pre-planning and evaluation because once they are made, they are not easily undone and may continue to effect your life adversely on a daily basis. Buying a house fits into this category and, on some level, so does adopting a new CRM system.

Planning phase and project plan

Regardless of whether yours is a large or small organisation or a one person "shop", and regardless of whether your requirements are complex or very simple, it is still important for you to do some level of planning and thinking about your goals. Obviously, the more complex your needs, the more time you will need to spend in the planning phase of your project but statements like "I want a database to put my constituents into" or "I want to send a newsletter" often indicate that too little forward thinking has been done with regard to current organisational goals or how a new CRM system might be used to enhance constituent outreach. This is often a huge mistake; constituents are the life blood of any organisation and a CRM system is the most important tool available to help sustain that life and keep the blood pumping.

In the planning phase, it is very important not only to think about your needs and goals but to document your thoughts by creating a project plan that may then be used as a reference to help you implement the decisions that you made. A well organised project plan will list, in a logical order, the various tasks that need to be completed and it will help you to develop a realistic time line for implementation.

Whether simple or more complicated, a project plan can be invaluable as a resource for a successful implementation. It will be a work in progress that will be revised many times, so best to create it electronically if possible.

Not all of the topics in this chapter might pertain to you. If your organisation is small or your requirements are very basic, the planning phase will not be as involved for you. A more complex and involved planning process, such as the one documented below, may be applied as a whole to larger organisations or organisations, regardless of size, with more complex needs. However, even if you see your CiviCRM deployment as small, it's still worthwhile to go through all the planning aspects described below and check if some of them apply to your situation.

In general, but particularly for medium and large scale organisations, the relative success or failure of your CiviCRM implementation will be directly influenced by the amount of time that you spend, prior to installation, thinking about how to use your CRM system to embrace and enhance the relationship between your organisation and its constituents: the more time you spend on the "big picture", the more successful your CRM system will be in the long run.

Preparing Your Project Team

Unless you are a one-person shop, a critical part of your project will be picking the right people for your project team before the project begins. In fact, this should happen well before you finalize what your technology and database needs are. Once you establish who will be involved you then need to figure out what each person will be responsible for and what they will contribute towards the success of the project.

Whom to Consider

The team should include people from all aspects of your organization. If you are a large organization, this may mean staff from different departments or roles within the organization such as event coordinators, communications and marketing staff or fundraisors. If you are a small organization, one person invariably will have multiple roles so it's OK if they represent those roles within the team. The key here is that the team should represent the organization so that as the project progresses all interests and needs across the organization are taken into account.

There is an understandable tendency to bring in "accidental techies" (someone with no core expertise in this area but who has somehow inherited the job of implementing the CRM system that is chosen) onto your team. It may seem counter-intuitive, but accidental techies sometimes are the wrong people to be involved in a technology project. This is because they may be too knowledgeable about some technical aspects of the project and will focus their time on how things should be done instead of what should be done. This is often unavoidable in smaller organizations but it is something to try and be careful of.

When putting together your team, keep in mind that it might be a major time commitment - and a long term one. Throughout the project, the team should be meeting on a consistent basis (weekly or bi-weekly for large and complex projects). If a team member is not able to make that type of time commitment for the length of the project, then they should not be involved.

Avoid bringing new people in half-way through the project. The team should stay together for the length of the project. Bringing new people in half-way through the project can require a major effort to bring them up to speed.

Before you decide on how decisions will be made throughout the project you need to assign a team representative or point person. This person will represent the team to the person or people implementing the CRM system that you choose. Again, for smaller organizations, the team point person and builder may be one and the same! The important thing to remember here is that your point person must have a deep knowledge of how your organization works and what your needs are so s/he can articulate those things to the person(s) implementing your CRM system. This person should be heavily involved in the development of the project plan. S/he can then use that plan as a means of evaluating CRM systems.

Ongoing support

It's never too early to start thinking about maintenance and support. After the software is successfully deployed, somebody will have to install new versions, provide help and training to new employees who will be using the system and be able to react to any potential problems. It's usually good practice to have this person involved in the process from the very beginning.

General guidelines for planning

A couple of precepts will help you keep your decision-making process on track. Each member of the team should not only understand these precepts intellectually, but try to bring them into the heart of the discussions.

The importance of creating a constituent-centric organization

Your constituents, and the relationship that you have with them, are the most important assets in your organisation. If you believe this, then you realise how important it is to consciously and conscientiously ensure that your organisational processes and goals revolve around satisfying them. My guess is that the reason you are reading this book is because you are searching for new ways to improve and enhance the relationship between your organisation and its constituents.

A well designed CRM system will make it easier for you to communicate more effectively with your constituents and to provide prompt and professional "personal" attention when necessary. There are many things you need to think through prior to installation and actually sitting down to use your CRM system. The steps below will direct your or your team's attention towards some of these things and will help you to formulate a solid plan on how best to create a constituent-centric organisation that uses its CRM system in an effective way.

As you read through the topics below, keep the relationship with your constituents at the center of your focus and think about what your organisation needs from a CRM system to enable it to communicate more effectively.

Look at organisational processes first and follow with technology

For now, forget about technology! That's right, forget about technology and forget about CiviCRM. The reason I say that is because there are likely several CRM systems that would meet your needs, but if you aren't clear or aware of what those needs are, even the best CRM system will fall short of satisfying you: you will blame this on the system, but the fault lies with you for not having done your homework before class :) So forget technology for now and and focus on thinking about the organisational processes that you employ to communicate with your constituents. Work to re-mold these processes so that they reflect the goals of your organisation.

Decision Making Process

Now that the team is assembled with a representative, the decision making process should be finalized. In the non-profit sector there is a strong ethic and value placed on making decisions by consensus. In general, this is not a bad thing but when applied to technology projects, it can sometimes significantly slow a project down if every decision must be agreed upon by the entire team before moving forward. It is recommended that you instead maximize collaboration and discussion throughout the project and decide on how to handle decisions when things come to a disagreement. In many cases a simple vote can work. In extreme cases, it may involve bringing the issue to leadership within your organisation and having them make the final decision.

Take advantage of institutional knowledge

Talk to your co-workers, particularly those who have been around the longest, and use their "institutional memory" to record the kinds of interactions they have had with constituents. Cast a wide net here: make sure to talk to people who handle each key point of contact with your constituents, and learn about the experiences with all kinds of constituents. Use this information as a guide to define processes that will build organisational value.

Define the desired set of constituent experiences

How does your organisation want to relate its constituents? This will vary on a case by case basis, but here are some suggestions for the sorts of things you might think about:

After you have determined how you want your organisation to relate to its constituents, examine your organisational processes and change or eliminate those that are not conducive to providing your constituents with the type of experience that you want them to have. The next section will help you think through that process.

Examine organisational goals and practices

Think carefully about your current organisational processes and how they may be falling short or impeding your ability to communicate effectively with your constituents, and create a plan for what you need to do to remedy that.

Here are some areas you might think about:

What functions must your new CRM system address?

With a good idea of what you want to offer your constituents, and your staff, ask how CiviCRM's features can help your organization. Some common needs follow.

Technical and logistical planning

Technology, money, time, and expertise in your organisation all play a role in getting CiviCRM up and running.

Establish a budget for your project

It may be that you or someone in your organisation can handle the entire implementation. If that is the case, your costs will be more in the area of time rather then money. If that is not the case, you should probably figure out how much money you have to spend on this project.

Possible costs are :

Identify repositories of data

Because you can't do much with CiviCRM until you get your existing data into it, plan how you'll do this well before you set up CiviCRM for production use.

Identify the hardware/browser that will be used by office staff

Some CRM systems might not be compatible with the type of hardware (PC, MAC etc) and Internet browser (Internet Explorer, Firefox etc) that your staff are using. To avoid choosing a system that will not work properly, take an inventory of computers and make a list of the browser software being used.

Identify the information that you wish to collect and track

Your decision-making process describes in general your organisation's information needs, but now you want to determine exactly what fields you'll need in CiviCRM.

Identify the staff who will use the system

You may need to free some of your staff from existing duties to handle CiviCRM, although the system should save you time and effort after it's deployed. You may also need to hire a staff person with technical skills, or bring in a consultant.

Identify support needs

Some questions to ask yourself include:

Establish a training plan

Establish a training curriculum and a timeline for training users. The curriculum should encompass all the various functionality that your organisation requires. It should provide function-specific training for those in certain "roles", and general, overview-type training for more "casual" users. While everyone would probably benefit from an initial overview of the new system, not everyone needs to sit through a two hour training session on how to manage events (for example): Only the person responsible for event management and planning would need that training.

Some examples of what you might include in your curriculum are:

Training should be as close to final implementation as possible so that people can begin using the system while training lessons are still fresh in their minds.

Final thoughts on evaluating your needs

Hopefully, the information in this chapter was helpful in prompting you to think about the larger, more important picture. While the things listed here might be helpful, please realise that each organisation is unique. For some, the topics here may be overkill but, for others, there may be many things that were not mentioned. It should also be clear by now that the your larger your organisation and the more complex your needs, a successful CRM system can take a lot of planning before it is actually implemented.

For those with complex needs: If you have read and thought about the topics in this chapter and you feel confused or "intimidated", it might be time for you to consider hiring a professional to help you with this important phase of your project.

Evaluating CiviCRM

Much of the information in this chapter assumes that you have already evaluated what your organization needs from a CRM system. If you have not done that, you might want to before reading this chapter.

CiviCRM is a complex and powerful software. It is critical that before deciding to use CiviCRM, you evaluate whether or not it is right for your organization and will fundamentally fit its needs. Broadly speaking, there are four approaches to evaluating whether CiviCRM is right for your organization:

As you try any or all of the above methods, it is critically important to always remember your needs as an organization. Resist the temptation to be drawn to things that are "cool" but may not ultimately benefit your organization's mission.

Demonstration sites

CiviCRM hosts three freely accessible demo sites - one for each of the two supported Content Management Systems, Drupal and Joomla!, and one for standalone mode. The demo sites all present a working copy of the latest stable version of CiviCRM with sample data. You can play with CiviCRM on these sites as you wish but be aware that they are publicly viewable so don't enter any real data.

There are a few limitations of the demo sites. It will not send out emails, you do no have access to creating permissions for users and you can only do limited exploration of accepting online payments.

Talk to Others

If you know an organization using CiviCRM then talk to them about their experiences. It would be most helpful to talk to someone who has had experience in an organisation which is a similar size and has similar operations to your own organization. If you don't immediately know anyone else that has used CiviCRM then visit the CiviCRM forums.

The forums, hosted online at CiviCRM.org, are an excellent resource for just about anything you can think of that is related to CiviCRM. The forums are there to help people like you get answers to your questions about CiviCRM so that you can decide whether or not it is right for your organization before investing too much time or money. You can explore the CiviCRM forum site here:  http://forum.civicrm.org/ and you can start asking your questions whenever you are ready. 

If you are brand new to CiviCRM, the topics that will probably be of most interest to you at this point are the discussions under the forum board called "Pre-installation Questions" (http://forum.civicrm.org/index.php/board,5.0.html).

If you wish you to contribute to the discussions or ask questions you will need to register first (http://forum.civicrm.org/index.php?action=register)

Also worth checking out is the "documentation" section of the forum. This section will not give any detailed instruction on how to use CiviCRM, but will give you a general overview of its capabilities.

Test installation

Another option for those with more technical skills is to download CiviCRM and set it up on your desktop or server. Be advised that doing this requires some advanced technical skills, so is probably not a useful option if you don't have those and don't have anyone who can help you. 

if you want to pursue this option, up-to-date information for installations (including troubleshooting tips) is maintained at http://wiki.civicrm.org/confluence/display/CRMDOC/Installation+and+Upgrades. You should always refer to that information when installing or upgrading a test or real installation of CiviCRM.

Hiring a CiviCRM Consultant

If you have complex needs, regardless of your size, you may want to hire a CiviCRM expert to help you through the process of evaluating CiviCRM. On CiviCRM.org there is a page that lists professional vendors and consultants that can help walk you through CiviCRM. This may include providing a more detailed hands-on demo of the software and answering some of your specific questions. To see the professional services page on CiviCRM.org visit: http://civicrm.org/professional

Additional Considerations

In addition to ensuring that CiviCRM provides the features that you need and that it is easy to use, you need to consider and plan for several other important things prior to choosing CiviCRM:

All these criteria require complex considerations unto themselves. This chapter is just a brief guide to introduce you to things you'll need to consider before installing CiviCRM.

Do you need a CMS?

One of the biggest criteria for determining if CiviCRM will meet your organizations needs is to consider your needs when it comes to website integration. In other words, if a substantial part of your needs require a system that accepts online donations, online event registrations and member logins a critical element of your implementation will be integrating CiviCRM with one of the two Content Management Systems that it works with: Joomla and Drupal. On the other hand, if your organization has no need for on-line functionality, you might be better off with the standalone version of CiviCRM. The choice is up to you, but do be sure to consider carefully.

What are Drupal and Joomla?

Drupal and Joomla are open source Content Management Systems; complete environments for creating, organizing, and granting access to website content. They provide an easy way to create and edit your website content and can be extended with a number of features such as forums, photo galleries, blogs, and much more.

Integration with CiviCRM means that you effectively end up with a complete and very powerful system that can handle all of your external communication and outreach (website, email, etc.) as well as all of your internal data management needs (such as donors, members and events).

The downside to using a CMS in addition to CiviCRM is that you will need to maintain and upgrade both systems.

Standalone vs CMS

If you are not interested in or ready to consider using a CMS then you might choose to use CiviCRM's Standalone mode. The trade-off here is you won't be able to take advantage of all the CMS's great integrated online features. Alternatively you might install CiviCRM as part of a CMS but not explore the CMS's features until later.

Some examples of organizations using CiviCRM in standalone mode include those that:

Drupal or Joomla?

Both Drupal and Joomla have large communities of users who are passionate about them. It is generally accepted that Joomla is easier to get started with and more user-friendly, whereas Drupal offers a greater range of possibilities but has a steeper learning curve. Developers often favor Drupal, as it is easier for them to extend.

An important factor to consider when choosing which type of CMS to use is how important it is to you to control access to certain information or features. Joomla simply divides people into users who can access its administrative functions (including CiviCRM) and those who can't. With Drupal, you can create a much more detailed permissioning system by determining which roles in your organization (such as volunteers, executive directors or interns) can access or use which parts of CiviCRM (or Drupal for that matter). For example, with Drupal, an organization can limit access to their list of major donors to only the executive director and the development director. You can also allow some people to edit CiviCRM data but others to only view it, or let some people see membership record details, while others only have access to the contact details.

More information about Drupal is available at their web site: http://drupal.org/node/152218

More information about Joomla is available at their web site: http://www.joomla.org/about-joomla.html

Hosting

Before you install CiviCRM you should give some thought as to how you will acquire the Internet services (sometimes referred to as hosting services) you require and who will perform the technical tasks required to maintain the environment. There are several things to consider here:

These things do require some advanced knowledge of servers and hosting environments, so this may be a good topic to discuss with a technical consultant.

If you do decide to have your site hosted externally (by someone else), you should keep in mind that unfortunately, in the hosting provider world, you get what you pay for. In many cases, cheap hosting providers keep their prices down by limiting the services or flexibility they provide. Other, more expensive options may be much more reliable, flexible, and stable. If you would like to see some "reviews" of hosting providers, look at http://wiki.civicrm.org/confluence/display/CRM/Hosting+provider+information.

Before teaming up with a hosting provider, you should make a list of your requirements and make sure that the vendor you are considering can and will provide them. It's best to get them to confirm they can meet your needs in writing before making a commitment.

If you decide to host the site yourself, there are two possibilities: if you have someone on staff who is technically able to manage the site, that's great! If you don't, you might consider hosting the site internally, but hiring someone who can manage it remotely. These days, there are very few things that can not be done via remote access, so this might be a good compromise if you want to save money by avoiding the monthly hosting fee. Just be sure to carefully interview anyone you are considering.

Other Resources

All successful technology projects require investments of time and resources, and CiviCRM is no different. The last, but certainly not least, thing to consider when evaluating whether CiviCRM is right for you is to assess how much of your organizational resources (time and money) you can devote to making CiviCRM truly work for your organization. For larger organizations with complex needs, a successful CiviCRM project can take several months of planning, development, and training to be successful. This reality is important to keep in mind as you evaluate CiviCRM, or any database system for that matter.

Several tasks that will require someone's time and expertise include:

Be sure that you have lined up the appropriate resources, both money and staff-wise, before making a decision to adopt CiviCRM.

One Step at a Time

CiviCRM can be used for the majority of your non-profit's information and communication needs. You'll probably want to use it for as many of these needs as possible but you should resist the temptation to switch everything to CiviCRM from day one. Some CiviCRM implementations are simple, and some are more involved, but whatever your level of complexity you may benefit from an incremental approach.

Why is it sensible to break things up?

Non-profit staff usually wear many hats and are busy with day-to-day work. They may view the CRM as unimportant or incidental to what they do. Implementing a CRM often requires significant changes in working practices for staff. A useful approach is to break implementations up into discreet stages. This allows staff to get used to the changes gradually and makes the adjustment easier to manage.

Introducing functionality a bit at a time also gives breathing room to the implementer, making it easier to change or undo things should that become necessary. Any mistakes you make won't be "global" and you'll be able to incorporate learning into the next stage.

It's pretty much impossible for those involved in a CRM implementation to fully articulate all their requirements at the start of the project. Even a good project plan is likely to miss a number of things. Despite your best intentions, as the project progresses you'll make some mistakes and have to revise some decisions.

Make sure that you plan time for staff to have hands-on experience of the system and enable them to provide feedback (both positive and negative) that you can incorporate as the project progresses. The importance of this cannot be overstated. If staff are having problems or concerns and feel that these are unheard, they will resent the new system and your project will have more difficulty succeeding.

If you are planning to use CiviCRM for any large or mission-critical events, make sure that you have allowed adequate time for staff training and testing.

Training is more manageable

CiviCRM's range of functionality can be overwhelming at first (especially to the less technically minded). Remember that staff who were not involved in the project's early stages will need to have concepts explained clearly to them.

Trying to cover everything in one training session probably won't be effective. Your staff will need time to get on board and digest the new ideas. Instead, try smaller training sessions, introducing concepts and specific functionality, followed by periods of testing, piloting and feedback.

Resistance to change is reduced

Introducing a new CRM is likely to cause changes in work flow and processes at the organization. These changes may be 'political' or they may be technical. Either way, a lot of change at the same time is usually difficult and stressful.

To alleviate this give staff time to accept and support each change. Show them how the new system will make their work easier. If possible at the beginning of deployment focus on simple tasks first and then follow-up with difficult tasks.

Test systems

Setting up a test database is a great way to introduce a new system. Using real world data in a test system gives staff a chance to experiment with CiviCRM without fear of any consequences. It also lets staff test functionality and learn what works and what doesn't.

Pilots

Organisations with already existing processes and systems may like to try a pilot. This would work well, for example, for organisations that organise a lot of events. CiviCRM could be used to manage one of these events and the learning fed back into the development process.

Taking manageable steps

There are a few tried and tested ways to break-up deployments. It's unlikely that all of these will make sense for your organisation, but applying the general principle might be helpful.

Introduce your CMS independently of the CRM. The difference between the two isn't immediately obvious if they are presented together. Understanding the difference between the two helps staff understand the architecture of both, and the implications of them being linked together.

Start by only allowing staff to access and edit data (i.e. don't give your constituents access to the data via the CMS). Although the ability of constituents to update data is a key advantage of using CiviCRM with a CMS, it is a significant conceptual leap which may introduce the extra task of monitoring changes made by constituents. Consider introducing data via the CMS after staff are more familiar with the new system.

Hopefully these steps will help you and your organisation have a successful and rewarding experience with implementing your project.

Thinking About Your Data

It takes time and patience to figure out where to put data in a new system, even if you're starting fresh. It's even harder if you have pre-existing data. The purpose of this chapter is to familiarize you with how data is managed in CiviCRM and to get you thinking about where to "plant" your data in CiviCRM.

Garbage in...garbage out...

CiviCRM depends upon the integrity of the data that is stored in it: where it is and what "shape" it is in. You might be familiar with the expression: "garbage in... garbage out". The following are examples of data that is, for one reason or another, "garbage".

Clean data is data that appears in the same way consistently throughout the system. Even making a poor choice of the 'standard' for how to store data for a particular field is better then storing it in a haphazard way.

Organized data makes it easy to find the contacts that you need for a mailing, an event or any other purpose.

Whether you're moving old data into CiviCRM or starting from scratch, take time before you define data fields to think through the way your data reflects your organization's work and take time to standardize the way that certain data is recorded in your system. Also take time to learn about the purpose of the fields in the new system so that you will enter or import data into the right place and in a consistent manner.

Choosing and structuring your data in CiviCRM

If you have pre-existing data that you want to put into CiviCRM, you might find it useful to think of a process like moving your house or apartment. Part of the packing process should include asking "Do we really need this?" People use apartment moving as a chance to say, "This stuff is too old; let's trash it and get some new stuff once we have moved in."

To apply this metaphor to your data, look for fields that have no purpose, such as old organizational divisions that you've abandoned or office locations in a facility you no longer occupy.

Many fields will have continuing value. One organization, for instance, in a financial pinch decided to make use of an old list of founding donors who had not given money for many years. It turned out that these "lapsed" donors still had strong emotional ties to the organization that they had founded and they came to its financial rescue. So in that case saving old data was crucial.

While you're evaluating data place it into a structure that allows you to manipulate it later. In our moving metaphor, this is like packing things into boxes based on which room you'll want them in after you move. There are several CiviCRM concepts you can apply at this stage, even if you don't know CiviCRM very well:

Of course, if you're moving into a house you don't know very well, or one that you've seen only in plans or photos, you may find when you get there that stuff you had intended for the lounge would go better on the landing or in the hall. So part of the process is ensuring that you leave options open to move things around until you have properly settled in.

It is strongly recommended that you analyze your data needs as described here before you begin defining data groups and fields through the CiviCRM interface. Start by making a list of each existing data field that you want to transfer and any new fields that you wish to start tracking in CivCRM. Compare each field with CiviCRM's core contact fields and try to find one that is the appropriate match for your data field. If you do not find an appropriate match in core fields, then create a custom field or a tag: core fields have a specific purpose in the system and only data that matches that purpose should be present. You can then classify the remaining fields as custom data fields, groups, or tags.

What does CiviCRM offer?

At its core, CiviCRM has a number of predefined data fields. These fields should always be used before creating custom fields because core fields are tied to specific inbuilt functionality. Core fields include basic information about the contact such as:

Before continuing with the analysis of your existing data or required data needs, you should familiarize yourself with the core contact fields available. You may do this by viewing a contact in CiviCRM and clicking "edit," which will display all available fields for that contact type. At a later date you may choose to disable certain fields that will not be used by your organization. This is configurable through the Administer CiviCRM » Global Settings pages.

Wherever possible, you should seek to make use of the pre-defined contact fields before examining other options. However, it is very likely that your needs will extend beyond the options available in the core contact fields, since you may want to be capturing information about individual or organisation's characteristics, interests, history, etc. In such cases you will make use of CiviCRM's custom data tools - or make use of the Groups or Tags options.

For example, if your existing data includes a list of people who are on a Committee - you could replicate this information in CiviCRM through either a custom data field, or by adding those contacts directly in to a Group.

Extending core data

It is very likely that the information you want to collect will extend beyond the predefined fields that come with CiviCRM.

Custom data tools provide you the ability to create as many additional fields of varying types as you need, and to group and display them based on your preferences. These fields can then be used in Profiles to expose or collect data through website forms.

If you have already undertaken a data structure analysis you will have identified the fields you need in addition to those that come predefined in CiviCRM. You should have also reviewed the function and benefits of Groups and Tags, as the characteristics of these tools may be better suited for certain data management and organizational needs than custom data fields.

Custom data sets

Custom data fields are organized into sets referred to in CiviCRM as custom data groups (to avoid confusion with Groups within this manual we will refer to them here as 'sets'). These custom data sets can be associated with ALL contact types, with a specific contact type (e.g. Individuals), with a specific component (CiviMember, CiviEvent), or with other elements such as Relationships and Groups.

NOTE: It is important to carefully consider what record type your custom data group will be applied to. You will not be able to change the record type after creating your data group.

When creating field sets you should ask: How will these fields be used? What types of contacts or records will these fields be appropriate for? Will they have broad applicability, or are they relevant to a specific contact type, event, contribution type, etc. Taking the time to think through these questions will help keep your application screens as relevant and clear of superfluous fields as possible. For example, if your field set contains contact characteristics such as a field for the “color of eyes,” you would associate with the “Individual” contact type, rather than the generic “Contacts” option, as this field would be irrelevant to Organization and Household contact types.

Depending on how many custom data fields you are creating, you should also give consideration to grouping the fields topically. For example, you may have 20 custom fields that will all be associated with Individual contacts, 12 of which are fields relating to an online membership directory. Rather than group all 20 fields in a single custom data set, you may want to split them into two groups—one for the directory-related fields, and a second for more general “Individual Details.”

Configuring custom data sets

You create custom data sets and fields through Administer CiviCRM » Custom Data » New Group of Custom Fields. Using this form you identify the title of the data set, specify what type of records the data set will be used for, select the display characteristics, and enter help text. 

newcustomgroup 

Group Name
For 'inline' display custom groups, this name will appear as the field set legend. If this group uses the 'tab' display style, the name will be used for the navigation tab.

Used For
usedfor

There are many options in terms of how specifically you can define what the Data Fields will be used for. You can use this option to ensure that the fields are only available in the relevant places. The full set of options include:

As you can see, custom data sets and fields provide tremendous flexibility and control over your data needs, allowing you to create and assign fields to virtually every organizational element within CiviCRM.

Multiple Records
Data sets usually only have a single set of data associated with a contact record – for example, a person has blue eyes or a person has brown eyes. However, there are times when you may need to track multiple sets of records for a single contact. CiviCRM provides this functionality for custom data sets assigned to contacts (all contact types or a specific type). For example, you may want to track a person’s post-secondary educational history, collecting information about the schools they attended, date of graduation, degree level, and area of study. A single person may have multiple records tracking their undergraduate and post-graduate work.

To make use of this option you select the "Does this Custom Data Group allow multiple records?" option when creating the custom data set. Note that this option:

Display Style
Data field sets are either displayed 'inline' on the contact summary page (the Summary tab), or as a new Tab sitting along the top of the contact record, along with Summary, Contribution, Group, Note etc. Select 'Tab' for less frequently accessed and/or larger sets of fields). NOTE: This setting applies to Custom Data sets used for Contact records only. Custom data sets used for components, relationships, or other resources, are always displayed inline. Also note that custom data sets configured to handle multiple records must be displayed in a tab.

Other settings
You can specify that you want the field set to be Collapsed on initial display. If you check this box only the title for this field set will be displayed when the page is initially loaded as the fields are hidden. This is helpful for field sets that are less frequently used as it reduces how much screen real estate is used when the page opens.

You can also set whether the Field set is active and can provide explanatory text displayed above or below the field set.

Custom Data Fields

After defining your custom data set, you must create the actual data fields.

As you work through the settings for each field, think carefully about how you want to display and use the information. Each field type provides unique characteristics regarding how the field displays, how data is stored, and how it can be searched. For example using Checkboxes rather than Multi-Select enables you to use OR as well as AND searches in Advanced Search.

newcustomfield 


Field Label
This is a unique field name used in screen displays and when you export data. When using Fields in a Profile you can overwrite the Field Label – so choose names that make sense for Administrators, and then give more user friendly names when exposing them in Profiles.

Data and Input Field Type
datainputtype

Select the type of data you want to collect and store for this contact. Then select from the available HTML input field types (choices are based on the type of data being collected). You can also specify the database field length here, where applicable.

Multiple Choice Options
For field types that involve selecting from a set of multiple options – Select, Radio, Checkbox and MultiSelect – you are given the option of using an existing set of options which you've already created for another custom field or creating a new set.

If you choose to use the same set of options for several fields you will be notified when making any changes that this will be affecting an option set that is used by several fields.

When you create a new set you have the option of initially entering up to ten multiple choice options in a table. If you need more than ten options, you can create an unlimited number of additional choices after saving this new field by using the Edit Multiple Choice Options link.

You may modify the label, order and active status of any multiple option at a later date through Custom Data » View and Edit Custom Fields » Edit Multiple Choice Options.

If desired, you can also mark one of the choices as the default option. The option 'label' is displayed on the form, while the option 'value' is stored in the contact record. The label and value may be the same or different.

Inactive options are hidden when the field is presented.

Order
As the name would suggest, the order field controls the order in which the fields appear. You may assign the order in the field edit form, or use the up/down icons on the main field listing table to adjust the field presentation. By default, new fields appear at the bottom of the field list within a set.

Default Value
Where applicable, you may designate a default value for a field. Note the format required for date fields (YYYY-MM-DD).

Field Help
In most cases, your field name is self-explanatory in describing the purpose of the field. But in those cases where there is some ambiguity, or where you wish to help regulate how a certain field is used, you may enter help text. The help text appears below the form field. Note that the text identified here will appear in all uses of the field in administration pages and will be inserted as the default help text when fields are assigned to a profile. When used in a profile, the help text may be removed or changed without impact on the original custom field definition.

Required
As you begin defining each of your custom fields, you will undoubtedly come across some fields that you wish to designate as a required field. By selecting this option, you ensure that whoever is completing the form must provide a value for this field before submitting the form. Failure to do so will result in an error message directing the person to complete the required field(s).

Is this Field Searchable
CiviCRM’s advanced search page is a powerful tool for running complex queries on your records. The tool includes a custom field panel which displays custom fields configured to be searchable, as defined in this option. As with other areas of CiviCRM, it is worth thinking through how you will use the particular field you are defining. While you may be tempted to simply mark every field as searchable, doing so may unnecessarily clutter the advanced search custom field panel, when in fact certain fields will likely never be used in that way. You may toggle this option on or off at any time, so don’t be overly concerned about arriving at a final decision during this initial field-definition stage.

Active
The “active” option determines if the field is disabled or enabled within the CiviCRM interface. Disabling a field does not remove the data from the system—it simply hides the field from the contact interface.

While this option may seem rather mundane and obvious, it can perform very valuable functions when managing your data, especially if you are migrating from an existing database system.

For example, you may have certain fields in your existing database that you would like to transfer to the new system for historical data keeping purposes but plan to then deprecate or migrate to a new data structure in CiviCRM. Suppose you are importing membership records from an MS Access database. Each record in Access has a unique id (key) field, which has no direct benefit in CiviCRM. Rather than ignoring it altogether, you could create a custom field to hold the value, import the records, and then disable (un-activate) the field, thereby hiding it from view and minimizing the interface clutter. Though not visible to users, the field value is stored in the system and can be referenced at a later date if you need to—for instance if you ever needed to investigate archived data for a possible discrepancy or compare the field value with a printed record.

View Only
The last option on the field creation form allows you to designate a field as visible but uneditable. There are two general uses for this field: to store data imported from another system that you want available for reference to the user, but do not want them to be able to modify; or as a data container that is controlled through a custom PHP hook rather than through the user interface. CiviCRM has a number of hooks defined that allow developers to modify data, as well as customize forms and screens, without modifying the CiviCRM codebase. Visit the documentation online for more specific information about available hooks and how to implement them.

After completing the field configuration options, click save to record the field and return to the field listing for your current field set, or click “save and new” to save the field and begin defining a new field.

With the exception of the data and input field type selection, all of the configuration options may be modified after your initial creation of the field. You may also find it useful to preview your custom fields, as well as the set of custom fields as you are defining them. This is particularly useful for checking the layout of radio button and checkbox fields with a large number of choices.

Choosing between custom fields, groups and tags

Data fields, groups, and tags are three main ways to associate information with contacts. While it can be tempting to just create a custom data field for every attribute of your data, take time to learn about the alternatives. They offer powerful functionality that you may miss out on if you rely only on custom data. Furthermore, using data fields for information stored more appropriately as groups or tags can slow your system. Finally, proper use of groups and tags makes it much easier for administrative staff to maintain the records.

Some tips that may help you choose :

WARNING: Once you choose a record type in which your custom data set appears, you can't change the type. If you find later that you need to change the record type, you either have to delete and recreate the data set or get someone with database experience to look at the representation of the record types in your underlying database and copy the data manually to the new record type.

Relationships

Relationships are another way of capturing data for information that connects one contact to another. Go to Administer CiviCRM » Relationship Types to familiarise yourself the standard relationships included in CiviCRM. You can define additional types of relationships as needed.

Prior to importing data, you will need to pay attention to how you handle relationships such as employer-to-employee and household-to-individual. During the import you can create these if you understand what needs to be done.

Relationships are also the basis for providing inherited memberships, which is covered in more depth in the section on Memberships.

Creating Your Data Structure in CiviCRM

Once you have completed the analysis of your data needs, you may want to begin creating your custom data groups and fields, groups, and tags. Take time to read the sections and documentation that further details how these functions work, but in summary:

When creating a custom data group field you will need to decide how you want it to be displayed on the screen: this is what the user/guest will see. A variety of "web form elements", such as text box, date, radio buttons, checkboxes, or drop-down selection list, are availabe. Just pick the one that suits your needs.

Next Steps

After you have:

You will then be ready to import your existing data.

Install & Configure

Before reading further, please be aware that much of the information contained here is intended for technicians and may be difficult to understand if you have little or no experience in setting up web applications. If you don't understand this topic you may wish to either seek help, or point your organisation's technical staff to this material.

Installation

CiviCRM must be installed on a computer that has been configured with a web-server, PHP, and MySQL. Some people prefer to try out CiviCRM on their own local computer before installing it on a dedicated web-server. If you are doing this and don't have the pre-requisites mentioned above ou can download packages such as Wamp, Xampp, Mampp and Lamp off the internet which will quickly install Apache web-server, PHP and MySQL. (The first two are for Windows and the second two are for Macintosh and Linux respectively).

Once you are ready to start using CiviCRM in your organization you'll probably want CiviCRM to be available on the internet. However, some organizations only want internal staff to have access. In this case they may choose to install CiviCRM on an intranet or internal network.

Before you can begin the installation process, you will need to decide whether you are going to use CiviCRM integrated with Drupal or Joomla, or in standalone mode. Refer to the appropriate section in the online CiviCRM Installation Guide for the latest system requirements and specific installation steps:

http://wiki.civicrm.org/confluence/display/CRMDOC/Installation+and+Upgrades

A Note About Upgrades

New versions of CiviCRM are released two or three times a year - and you will need to apply upgrades to your CiviCRM site periodically in order to take advantage of new features and improvements. It's important that you plan for the resources (people and time) required to apply upgrades to your site. You need to plan on testing upgrades on a copy of your live site to make sure the process runs smoothly. It's critical to make backups of your site and database prior to running an upgrade.

Refer to the appropriate section of the online CiviCRM Installation Guide for specific upgrade procedures. Be sure to select the procedure that is targeted for the environment you are running (Drupal, Joomla or Standalone), and the version you are upgrading to.

For example, if you are looking at the online Installation Guide, refer to Upgrade Joomla Sites to 2.2 if you are running CiviCRM 2.1 with Joomla.

Configuration

Now that you have CiviCRM installed and running on your web-server, it's time to review the initial configuration tasks which allow you to customize CiviCRM for your organization.

You can easily access each of the configuration screens described below from the Configuration Checklist. Login to your CiviCRM site and navigate to Administer CiviCRM » Configure » Configuration Checklist. This section will cover the general tasks, while component-specific configuration will be covered in each component section.

Picture_10

Note : It's helpful to understand the term token before you continue reading this section. Tokens are special blocks of text which refer to a specific field in your database. They are used to control what fields are included in address display and mailing labels, and can also be used to personalize emails. This is described in more detail below. If you've used "mail merge" in your word processor, then you've already used tokens.

CiviCRM uses tokens to control which fields are included in mailing labels and address display, and how they are arranged. Tokens are always surrounded by curly brackets, and include the record type followed by the field name. EXAMPLE: {contact.street_address}. Address values are taken from the contact's primary location.

Tokens are skipped when they refer to a field that is empty for a particular contact.

EXAMPLE: The default Individual Name Format includes {contact.middle_name}. If a contact doesn't have a middle name, that token is skipped.

EXAMPLE: The default Mailing Label format includes {contact.supplemental_address_1} on a separate line. If there is no supplemental address for a particular contact, that entire line is omitted - there will NOT be a blank line in the label.

Localization

Localization involves adapting CiviCRM for use in a specific country or language by translating the text displayed on the screen and setting region specific formats for dates and money (including currency). By default CiviCRM is "localized" for the United States. If you are using CiviCRM in a different country or countries, or you need to store contact addresses in countries other than the United States, or you want to use CiviCRM in another language, you will need to review and update the values on this screen.

CiviCRM has been translated into a number of different languages. These translations are contributed by community members - so your first step is to determine if a complete translation exists for the current version by visiting the Translation Server home page at http://translations.civicrm.org/. If you find a completed translation, you can download it and select it on this screen. Otherwise you will need to consider whether you have resources for contributing a translation.

It is also possible to configure your site to support multiple languages. In this mode, your users will be able to choose from a list of available languages after logging in. You can also create and store multi-language versions of text that is added by your users. Examples include custom field labels, online contribution page, campaign information, and event descriptions.

Further reading:
Localization overview - http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Localisation

Domain Information

Use this screen to enter identifying information for the organization or entity which "owns" this CiviCRM installation. The organization name and address are used to identify your organization in CiviMail mailings (when you include the domain.name and domain.address tokens).

You should also enter a valid email address that belongs to your organization which will be used as the FROM email in system-generated (automated) emails.

Viewing and Editing Contacts

This screen allows you to modify the screen and form elements for the following tasks:

Address Settings

CiviCRM allows you to modify the default fields for adding and editing contact and event address data. You can also change the address field layout used for screen display and mailing labels. Review the out-of-the-box defaults by adding a new contact record and noting the address fields provided on the form. Save the record and note the order in which the fields are displayed on the Contact Summary screen. If you plan on generating mailing labels for contacts - you should also review the label layout (select Mailing Labels from the -more actions- drop-down after doing a search using the Find Contacts menu option).

After reviewing the default fields and layouts - review the Address Settings screen and make changes as needed.


Mapping and Geocoding

CiviCRM includes support for both the Google and Yahoo mapping services. These services allow your users to display contact addresses and event locations on a map. To enable this feature, select your mapping provider and obtain a 'key' for your site from that provider. Map coverage outside of the United States may vary between providers - so it's a good idea to investigate coverage if you expect to store a significant number of non-US addresses.

Once a mapping provider is enabled, your contact and event records will be automatically geocoded (the latitude and longitude for that address is inserted) as you add or edit address data.

Version Checking, Search Behaviors and CAPTCHA

Use the Miscellaneous Settings screen to configure and control the following behaviors:

[TIP] A wildcard character is a special character that can be used to substitute for any other character or characters in searches. CiviCRM allows you to use the percent - '%' - character to substitute for zero or more characters, and the underscore - '_' - character to substitute for any single character. Wildcards are useful for broadening your search results.

EXAMPLE: Typing 'Volunteer%' as your Activity Subject will match any record whose subject contains 'Volunteer' + any other words (e.g. 'Volunteer for Open House'). [/TIP]
[TIP] If you want to use reCAPTCHA protection for online contribution, membership signup or event registration forms - then you'll need to configure a Profile with reCAPTCHA enabled, and then include it in those forms. [/TIP]

Sending Emails

CiviCRM will use the default FROM address defined here when sending automated emails. If you've already entered an email address in the Domain Information screen, that address will be listed here.

Picture_12

When users send an email using CiviCRM, their primary email address is used as the FROM address by default. However, they can also select one of the general email addresses defined here as an alternative.

Outbound Email

If you are sending emails to contacts using CiviCRM then you need to enter settings which allow CiviCRM to connect to your mail server. This includes sending receipts to contributors, sending confirmations to people registering for events, and using CiviMail to send bulk mailings.

CiviCRM supports two different methods of connecting to a mail server: SMTP (Simple Mail Transport Protocol) OR Sendmail. Each method requires that you enter specific settings. If you're unfamiliar with these terms, or unsure of the correct values for these settings, check with your system administrator, ISP or hosting provider.

You should always send a test email when you enter or modify the settings on this screen. Simply click "Save and Send Test Email". An email will be sent to the email address associated with your user login. The FROM email address will be the default FROM address you've configured in the previous section.

Picture_11

If CiviCRM is unable to send the test email, you will see a message on your screen with the specific error and some suggestions for trouble-shooting the problem.

Note: If you do NOT want users to send outbound emails from CiviCRM at all, select "Disable Outbound Email". However, if you disable outbound email, and you are using Online Contribution pages or online Event Registration - you will need to turn off the automated receipting and registration confirmation features (these are enabled by default). Otherwise your constituents will see error messages after they've completed a contribution or registration.

Payment Processors

Payment processors are companies that handle credit card transactions for merchants and / or non-profit organizations and transfer funds to the organization's bank account. If you plan on using CiviCRM to accept online contributions, online membership signup and renewal or online event registration, then you will need to select and configure a payment processor for your site.

CiviCRM includes support for several different processors, and provides a way for 3rd party developers to add support for additional processors based on their clients' needs. Each processor has their own pricing structure and features, and you will want to investigate each available option to determine the best fit for your organization. Refer to the Fundraising section for a list of factors to consider in selecting a processor.

The actual steps involved in configuring and testing your payment processor connection are different for each processor. For more information, visit:
http://wiki.civicrm.org/confluence/display/CRMDOC/CiviContribute+Payment+Processor+Configuration 

Permissions for anonymous users

Note: This section applies to Drupal sites only.

If you are using CiviCRM with Drupal, you will need to review user permissions to ensure that people can get to your signup forms, contribution pages, membership pages and event registration pages.

You must be an administrator for your Drupal site to review and modify user permissions. Login to your Drupal site, and navigate to Administer » User Management » Permissions.

Picture_13

Picture_14

Then review each of the permissions listed below. You should enable them for the anonymous user role if you want these features to be accessible to people who are visiting your site but are NOT  logged in:

Now that you have reviewed all the basic configuration tasks, you're ready to begin exploring the ways in which you can record and use contact data.

Contacts and their Data

This section assumes that you are familiar with the basic concepts relating to CRM software and have spent time evaluating your organizations needs and your existing data. You will need to have access to a CiviCRM site, either your own site, or one of the public demo sites.

CiviCRM enables you to store and access information about people and organizations. You can store information about staff, volunteers, funders, clients, coalition partners, members, donors or anyone else that is useful to you.

There are three distinct contact types defined in the software:

CiviCRM provides different fields for each type of record. For example, gender only applies to individuals, not organizations or households. You can also define additional data that you want to collect and apply it to only one type.  You could choose to create a custom data field to record the Chairperson or CEO's name and only apply this field to organizations.

The Contact Screen

MWSnap001.jpg

The best way to get to grips with contact management is to have a look around the various screens that are used to store and display information about contacts.

You can find a contact from the CiviCRM home page by entering part of their name or e-mail address in the quick search box. Or leave it blank and hit the Search button to find all the contacts in your database.

Contact Tabs

Across the top of all contact records are a series of tabs. These will give you access to all of that contact's information. We are going to cover the contact summary tab here in some depth, and then look at the other tabs.

If you think that some of the tabs are not useful and will not be used in your deployment, you can make changes (disable or enable chosen tabs) from Administer CivCRM » Global Settings » Site Preferences. If you don't see some of the tabs described below, you might need to enable them.

Tabs are also dependent on the components which are enabled in your installation. For example, the Contributions tab will be hidden if the CiviContribute component is disabled.

summary

Summary Tab

The summary tab gives you an overview of information about your contact. Here you will find names, addresses and contact details. The information on this page appears fairly straightforward, but take a closer look and you will find some pretty clever stuff is going on. 

You will notice that there are also four buttons on this screen. If you wish to change any information about this contact, you can go to the editing screen by clicking the Edit button. There is also a button to Delete the contact. If you with to print out the contact's details choose the Print button to take you to a print-friendly view of this contact's information. The last button, the vCard button, will bring the contact's details into your email client (you shouldn't do this if you want your emails to this person to be recorded in CiviCRM).

There are also a range of actions you can take from this screen:

CiviCRM includes a complete set of fields "out-of-the-box" to store basic contact information. They are usually referred to as built-in fields. They include:

Note one small but significant feature of the summary screen. In the screenshot below there is a little box with a minus sign in it, next to the "Home (primary location)" text, as well as the "Communication Preferences" text.

 expand

This '-' (minus) sign icon indicates that the section is 'expanded'. Now take a look at next screenshot:

expand1 

Now the box contains "+" (plus) sign, and you cannot see the "Communication Preferences" fields. This means that the section is "collapsed". Sometimes specific sections will be collapsed by default, and you will have to click the "+" sign to see the fields. This happens for example when a contact has more than one location entered. The first one is shown by default, the rest of them will be collapsed.

The Summary screen also contains a link to the » Contact Dashboard. This screen allows users to view and modify their own group subscriptions, and see the history of their own contributions, memberships and event registrations.

If you're using CiviCRM in conjunction with Drupal or Joomla, you may also see a link to » View User Record. This link is shown when the contact is a registered User of your site. It links to a CMS-specific User Account screen.

Name Fields

Each contact's name can include the following fields: Prefix, First, Middle and Last Names, Suffix and Nickname. You don't have to use all of them, but they are available in case you want to store all of this information.

If you wish to record a prefix such as "Mr", "Ms" or "Dr" for your contact you can do so using the dropdown box on the edit screen. If there are other prefixes you need to use such as "Sir" or "Father", you can add these to the dropdown list in Administer CiviCRM » Option Lists » Individual Prefixes (Ms, Mr...). The same applies to name suffixes.

Locations

A location is a group of address related fields consisting of phone, email and postal address field groups. 

CiviCRM can hold more than one location for a contact. For example, a person may have a home address, a billing address and a work address and we need to record these in separate locations. One of these locations will be marked as "Primary". It will be used for any postal mailings that you do. You can explicitly choose which location will be primary for a particular person, or let it default to the first one entered. If a person pays you by credit card the details used for credit card payments will be stored in the Billing location for the contact. You can specify the maximum number of locations a contact may have from Administer CiviCRM » Global Settings » Address Settings. The default for this setting is 1. You will need to modify it if you plan on recording multiple addresses for some contacts.

You can also store multiple phone numbers and email addresses for each location. One of these email addresses can be explicitly marked as the address which receives all bulk mailings (e.g. emails your organization sends using the CiviMail component).

Relationships Tab

Relationships are basically "connections" between contact records in your database. Each such connection can be named to describe the nature of the connection. Let's say you have two contact records: one for a person - Richard Richardson, and the second one for an organization - let's call it ABC Association. Richard is an employee of ABC, and you want to store this information in the database. You do this by creating a relationship between Richard and his employer. Once you do this, you will be able to see this connection from both Richard's and ABC Association's records. Here is Richard's Relationships tab.
relationship_new

Actually, the Employee / Employer relationship is a special one. If you look at the Summary tab again you can see that the Current Employer field shows the name "ABC Association". This name is actually a link. If you click on it you will go to the "ABC Association" contact record. Entering in an Employer in this field is a shortcut way to define an employment relationship. Whenever you fill in the Current Employer field a record with a matching name will be looked up and the appropriate relationship will be created. If no record for this organization exists one will be added before creating the relationship.

Another special type of relationship is used for connecting individuals with households. Again, on the Contact Summary tab you can see the text "Household address" and a link to "Richardson Household". This is displayed because instead of filling in Richard's location with address information we decided to use his household address. This creates the Household Member relationship between Richard and his household.

Apart from those two special relationship types, you can create and register any other type of relationship. The Relationships tab shows all of a contact's existing relationships with other contacts (individuals, households or organizations in the database). If you want to create a new type of relationship, go to Administer CiviCRM » Option Lists » Relationship Types.

Additional powerful characteristics of relationships include the ability to set a start and end date, or disable them manually if they are not valid anymore. This means, that you can store the history of relationships in your contact records. The screenshot below shows a marriage that has ended. Other uses include showing children who are no longer considered to have a 'dependent child' relationship based on reaching their 18th birthday, or changes in employment relationships.

Relationships can be also extended with custom fields if you need to store additional information for them.

Activities Tab

The Activities tab does two things.  First, it displays all your interactions with the contact over time. This includes all CiviCRM's inbuilt activities like event attendance, contributions, membership sign-up and renewal, phone calls, emails and user-defined activities.  Second, it allows you to record activities with contacts.  Clicking on the icons at the top of the screen (Send an Email, Meeting, Phone call) will bring up a screen where you can enter those details.  This tab can also be used to record any custom activities that you've defined for your CiviCRM installation from Administer CiviCRM » Option Lists » Activity Types. The ability to define custom activity types, and extend them with custom fields provides a powerful tool for tracking a wide variety of organization activities. You could choose to track activities such as press releases, press conferences, site visits or voluntary work.

Activities are a great way to store interactions that happen at a specific time, or that link specific people.  If it is important for you to know who at your organisation carried out a task, record it as an activity.   Another advantage of activities is that they record when something has happened, which is useful if you need to report on the volume of activities performed during a specific time period.

Activities are either set as completed, or scheduled.  Scheduled activities that are overdue appear in red in the Activities tab.

activities_new

Contributions Tab

The Contribution Tab shows any financial contributions made by the contact whose details you are viewing. In the example below, the first contribution was created when a membership fee was paid while the second was created when a person signed up for an event. The status is set to pending (incomplete transaction) because their payment has yet to be received. When the payment is received you can click on 'Edit' to change the status to Completed (you can also choose to send an email receipt).

contributions_new
 

Memberships Tab

This tab displays the memberships a contact has signed up for. In this case, the contact signed up to be a General member on May 8th, 2009. 

 memberships_new

Events Tab

The Events Tab displays event registrations for this contact. Note that the related payment showed up on the Contributions Tab (above image) in the top row.

events_new 

Groups Tab

The Groups Tab shows the groups that the contact is a member of. Groups can be used for several reasons including mailing lists and permissioning (ACLs). Note that the group that displays "Added (by Web)" is the one the contact has added themselves to (e.g. from the Contact Dashboard or some other web form). On the other hand, an administrator or staff member has added them to the "Case Resources" group. Whether users can add themselves to a group is one of the settings configured for a group. When you set a group's visibility to "Public Listings" users can join via Profile forms. You may want to familiarise yourself with the discussion on using Profiles for mailing list sign-ups covered in a later section.  Also note that you can see a history of groups the contact has unsubscribed or been removed from.

groups_new

Notes Tab

The Notes Tab is a place where you can record random bits of information about a contact. Generally you would use custom fields for information you plan to collect about your contacts, but in some cases it may be useful to record additional, ad-hoc notes about people. Since information stored in notes is unstructured, you should be careful about using the Notes Tab, unless you know that you or other people using your iviCRM implementation will remember to look at that tab. When creating a Note both the subject and the content are free-text fields (i.e. the subject field does not have to be chosen from pre-defined options).

notes

Tags Tab

Tags are one way of categorizing contacts in your database. (Other methods are Custom Data and Groups). You can configure which tags you wish to use for your organization. You can search on tags and create Smart Groups based on them.

tags 

Change Log Tab

This tab gives limited information about changes made to a contact record. It shows the change date and who made the change, but not what was changed. 

changelog 

The 'First Aid Skills' tab

Many organizations need more information than is provided in the standard contact fields. You can define additional custom fields that are relevant to your organisation such as marital status, education or first aid skills. You can read up elsewhere on how and when to create custom fields but right now we would like to draw your attention to how they appear in a contact's screen. If you are looking at an installation of CiviCRM and you see unfamiliar tabs then chances are they have been created by custom fields.

In the screenshot below case we have created a group of custom fields called "First Aid Skills". When creating the custom data group we selected "Tab" as the display style. This caused the fields to show in a separate tab. If we had selected the other option, "Inline", the fields would have shown up as one of the field groups on the Contact Summary tab.

firstaid 

Controlling the Contact Screens

After working with the contact editing and summary screens for a while, you may realise that there are sections and / or fields that aren't useful for your organization. The good news is that you can easily hide some fields and sections. For example, if your organisation doesn't need to store demographics information - you can remove it by configuring Site Preferences:

Similarly, if you want to remove (or add) fields in the postal address section:

Managing Contacts

There are several ways contacts get added to your database.  You might add them one at a time, they might add themselves through your website, or you might import them in bulk using CiviCRM's import functionality.

Adding contacts

First decide whether your contact is an individual, a household, or an organisation, and then click on the New Individual/Organisation/Household from the CiviCRM home page.

You will be redirected to the contact add form where you can add personal and contact details. You can enter one or more postal addresses, phone numbers and email addresses.  Contact details are identified by location. For example, you may want to record a constituents home phone, mobile phone and work phone.  Click "another phone" to see additional phone fields within each Location.

TIP: Preferred phone numbers and email addresses should appear first and are marked "Preferred".

TIP: Only the location marked primary will be displayed in search results.

Other ways to add contacts

Preparing to import data

Importing data is a reasonably involved process and it pays to be familiar with the concepts before you start your first import. You can import both core and custom data for contacts as well as data for event attendances, activities, memberships and contributions.  This chapter will focus solely on the import process for contacts.

There are two ways in which data can be imported:

Warning: If you do not have a clear understanding of your existing data and how it will map to CiviCRM fields, you will experience frustrations and problems when you try to import the data. Please read other sections of the CiviCRM Manual and visit the CiviCRM online documentation for more information: http://wiki.civicrm.org/confluence/display/CRMDOC/Importing+Data

You may well encounter problems when running the import because every imported data has its own quirks. But you can help cut down on problems by following these recommendations: 

Import tips

Running an import

The import process has five steps.

STEP 1: SET UP

Set up lets you specify some basic details of your import including the source of the data.  Data can either come from a CSV file, or from an SQL query of a database on your server.

Import uses the default strict rule to decide whether a contact record is a duplicate.  You can specify what action to take when import encounters a duplicate.

Import mappings are the way in which you tell CiviCRM how the fields of data in your import file correspond to the fields in CiviCRM.  If you have a pre-existing field mapping, you can load it here.

TIP: if you have a saved mapping, and want to use it, but have a table to import that has some new columns added, then by moving those columns to the end of your spreadsheet, you can reuse the Saved Mapping and simply map the new fields in at the bottom. 

STEP 2: MATCH THE FIELDS

In this step you select the matching CiviCRM database fields from the drop-down lists in the right-hand column. Select '- do not import -' for any columns in the import file that you want ignored.

If you think you may be importing additional data from the same data source, check 'Save this field mapping' at the bottom of the page before continuing. The saved mapping can then be easily reused the next time data is imported.

STEP 3: PREVIEW

This screen summarises the import that is about to take place and reports back on invalid data or formatting errors. If you continue, the affected records will be skipped, or you can download a file with just these problem records, correct them in the original import file, cancel this import and begin again at step 1.

At this stage of the Import you have the option to add the imported contacts to a new or existing Group or Tag. Even if you do not need to do this as part of your outcome, it is worth using this in order to be able to quickly find the imports and if necessary delete and reimport if required.

STEP 4: SUMMARY

The final screen reports on the successful imports, and provides you with reports for Duplicate Contacts and Errors.  If you have set the import to add all contacts to a Group or Tag, you can click through to see your imported contact records.

Deduping and Merging

Duplicates can appear in your data for many reasons including mistakes by members of your staff.  They can also be created when people fill in forms about themselves on your site (e.g. event registrations).  CiviCRM has 'duplicate matching rules' to minimise the chance of this happening but there are still cases when some human intelligence needs to be applied to decide if two entries are the same person or not. F When duplicates do occur, CiviCRM provides a set of tools for finding and merging duplicate contacts.  These are accessed through the admin interface (Administer CiviCRM >> Find and Merge Duplicate Contacts).

You can set up different rules for identifying suspected duplicates.  When you use these rules (by clicking on 'use rule'), suspected duplicates are shown side by side in a table.

Editing Rules

You can configure up to five fields to evaluate when searching for 'suspected' duplicate contact records of a particular contact type. For each field, set a numeric weight which determines the relative importance of a match on that field.

You can also set a length value which determines how many characters in the field should be compared.

EXAMPLE: If you set a length of 2 on 'First name', then 'Mike' would match 'Michael', because the first 2 characters are the same. If length is left blank, then the comparison is done on the entire field value.

Finally, you set a numerical threshold for the rule. When the total of the weights of each match is equal to or greater than this threshold - the contacts will be listed as suspected duplicates by the Find and Merge Duplicate Contacts task.

EXAMPLE: A match based on First = 2, Last = 8, Cell=10 and Threshold

In the example below, the match has been set to first three characters for First and Last name. This will therefore spot potential duplicates such as Pete Davies and Peter Davis. 

 

Picture_70.png 

The rule will then return any contacts whose results meet the threshold. 

Picture_64.png 

Clicking on merge for any pair of contacts brings up a table showing both sets of details.  For each detail you can choose whether to keep the original data (shown on the right) or copy the duplicate data.

Picture_69.png 

If you realise you want to move the information in the opposite direction, there is an option to "Flip between original and duplicate contacts" which will swop the two sets of results over, so can move data from A to B, rather than B to A.

Note associated tags, groups and activity data (including event attendance, contributions, etc.) will appear in addition to data already recorded in the original record, not in place of it.

Please note, you can restrict the search to particular Groups, this is a good option with large datasets to reduce the time each search will take. To do this, make some Smart Groups based on a section of the alphabet eg a group of all surnames beginning with A-D.

Strict rules vs Fuzzy rules

There are two categories of dedupe rules - 'Strict' and 'Fuzzy'. 'Strict' rules should be configured with a relatively tight definition of what constitutes a match (for example... email address + first and last name for Individuals). It is more important with Strict rules that you avoid false matches than that you catch every possible duplicate as it is easier to sort out duplicates later on than it is to disentangle two incorrectly merged contacts. The default 'Strict' rule is automatically used when new contacts are created via the frontend of your website (including contacts created by constituents during online contributions, etc.). They are also used when you import contacts. You can only have one default 'Strict' rule for each contact type.

'Fuzzy' rules should be configured with a looser definition of what constitutes a 'match'. They pick up a wider range of possible matches because they are used in instances where human intelligence can be applied to decide if they are a match. The default Fuzzy rule is automatically used to check for possible duplicates when contacts are added or edited via the user interface. You'll also want to use a Fuzzy rule when scanning your database periodically for possible duplicates. Click Use Rule to scan for duplicate contacts (of that contact type) using the selected rule.

Groups 

Groups are an incredibly important feature within CiviCRM. They play a critical role in CiviMail and Profiles as well as their fundamental use as collections of contacts that have something in common.  Whenever you hear about the concept "contact database segmentation", groups will be one of the most important tools that you'll use for it.

There are two kinds of Groups - Regular Groups and Smart Groups.

Regular Groups allow you to explicitly place contacts in a group independent of their characteristics, based on your personal decision. For example, you would need to manually assign your Board Members to a "Board of Directors" group. You can then use this group to easily send board-related emails to each person who is a member. You may also want to restrict permissions to view and/or edit the contacts in this group.

Smart Groups allow you to configure them in such a way that contacts are automatically assigned to them based on one or more characteristics and/or activities of those contacts. For example, you can create a Smart Group for "Recent Contributors from California" - which combines the "activity" of making a contribution during the current year and the "characteristic" of having an address in California. When new contacts located in California make a contribution, they are automatically added to this group.

Basic settings and functionality

As mentioned earlier, groups in CiviCRM can perform many different functions. Not every group needs to be used for every function though. Every group has specific set of settings which describe what it can be used for and what it can't:

group_settings

Name and Description: it's a good practice to always use very clear group names and fill in the group description with additional details. When you will be working with the given group in a different context (for example in CiviMail), you will be able to quickly figure out what it is for.  Also, it is very easy for an organisation to quickly amass dozens of groups so the more clear the name and purpose the better.

Group type

There are two general uses for groups:

Visibility

Visibility indicates who will be able to view this group. Select 'User and User Admin Only' if membership in this group is controlled by authorised CiviCRM users only (people/staff who are allowed to log into the database). If you want to allow contacts to join and remove themselves from this group via your website using profiles (more on this below) you should always select 'Public User Pages.' If you also want to allow the group to be searched via a Profile used as a directory, select 'Public User Pages and Listings'.

Hierarchical or Nested Groups

Some organisations find it useful to create a hierarchy of groups. In CiviCRM, this is done by creating a "Parent" group and then assigning other "sub-groups" under them. When a user sends a mailing to a "Parent", or searches for contacts in a "Parent" group - all contacts in the associated child groups are automatically included.

EXAMPLE: An organisation that has a National office and 5 regional offices wants all 5 regional offices to be associated with the National Office. To accomplish this, they create a "National" group and then assign it as the "Parent" for all regional groups. The National office can now send mailings (for example) to the "National" group - knowing that all members of the regional groups will be included.

Adding contacts to Groups

Individual contacts can be added to a Group either in the Contact edit screen or via the Groups Tab. Multiple contacts can be added to a group at once by conducting a search, and then selecting Add Contacts to a Group using the More Actions menu.  The second way allows you to add multiple contacts to a group by going to Manage Groups, selecting Members for the relevant Group and then using the Add Members to this Group option at the top of the screen.

Contacts can also be added to a Group as a result of filling out a Profile (see below).

Managing Groups

All Groups can be found via the Manage Groups link in the CiviCRM menu block. You can search for Groups by name, Type (i.e. use), Visibility, and whether or not the Group is Enabled.

Picture_72.png

Smart Groups

Since Smart Groups are essentially saved searches, they are a powerful tool to standardise your organisational processes. For example, you can create a Smart Group of all donors who have not yet been sent a thank-you letter. As you send your letters, the donors receiving them will automatically leave the smart group, allowing you to always have an accurate list to work from.

Whilst the principle of a Smart Group is that it is a 'saved search', specific individuals can be added or removed from them. For example, if someone unsubscribes from a mailing that is based on a Smart Group, they will be recorded as "Removed from the group" even if they still meet that smart group's search criteria. Similarly, you can manually add a specific individual to a Smart Group. For example, someone who has left a town but still wants to receive the newsletter that goes out to the Smart Group of everyone in the town, can be manually added to the smart group.

You can search for group members based on their status (e.g. Added or Removed) by going to Manage Groups >> Group X >> Members >> Find Members within this Group, and then select one or several of the Added, Removed, or Pending status checkboxes.

groups_status 

Modifying Smart Group Criteria

When you need to modify the criteria of an existing smart group follow these steps:

  1. Go to Manage Groups >> Smart Group X >> Members to find everyone in that smart group.
  2. At the top of the results page for this search, you'll see a link called >> Edit Smart Group Search Criteria for Smart Group X
  3. Edit the criteria and then run the search again.
  4. Then select Update Smart Group from the 'more actions' menu on the search results page.
This will update the members in the group and from then on new members will be added based on the revised criteria.

Groups and CiviMail

Groups are the foundation of CiviMail.  CiviMail uses groups (regular or smart) to determine the recipients of a mailing.  You can include groups in your CiviMail mailing as well as exclude them.  There is also a function to send emails to a selection of individuals without adding them to a Group first, which you may want to do if you have a one-time need to communicate to a large set of contacts. This function (Search >> More Actions >> Schedule/Send a mass mailing) however, still requires a Base Group for the mailing to go to.  For this reason, and because it is useful to have a small test group that all CiviMails are sent to, we recommend setting up a 'test mail' group, and then using this as your Base Group.

If you want to allow contacts to add themselves directly to a group, CiviMail provides an easy way for them to do that by providing a preset URL that can be used. You can include this URL in an email that you send to a group of contacts if they click on it they will go to a page that displays any Groups that have the following characteristics

The URL for subscribing to Newsletters is: http://www.myorganisation.org/civicrm/mailing/subscribe?reset=1

You can also have a page that lists just a single Group for signing up to by adding gid=XX where XX is the ID of the Group to the URL, e.g. if the Group ID is 1, the URL would be: http://www.myorganization.org/civicrm/mailing/subscribe?reset=1&gid=1

A confirmation request will be sent via email to the subscriber for each selected email list asking them to activate their subscription to each list by responding to the corresponding confirmation email. 

TIP: For Drupal users, be sure to grant the "access CiviMail subscribe/unsubscribe pages" for anonymous users if using this feature.

Searching and Groups

When using Advanced Search, if you select several Groups in the Group box near the top, it will treat the search as an OR search, and return results for contacts who are in any of the Groups you select. If you want to find people who are in ALL of the groups, you will need to use "Search Builder".

There is also a very useful built in Custom Search that enables you to find contacts who are in one Group but not in another (CiviCRM >> Find Contacts >>Custom Searches).

CiviCRM


Picture_71.png 

TIP: An alternative route to finding all the contacts who are not in a particular Group e.g. Group A, is to create a Group B that contains all contacts, then find Group A via Advanced Search and use More Actions to remove them from Group B, which gives you the grouping you were wanting.

Groups and Profiles

For this section, you have to have a basic grasp of what CiviCRM Profiles are and how they work.

Groups play two special roles in relation to Profiles. Both of them are to be found in a Profile's Advanced Settings.

Picture_73.png 

Groups and ACL (Drupal Only)

Access Control Lists (ACL) provide finer grained permissioning than what is available through Drupal's Permissions and Roles. Setting up ACLs requires a good understanding of the concept, which is thoroughly explained in the online CiviCRM Documentation here: http://wiki.civicrm.org/confluence/display/CRMDOC/Access+Control

As with many processes, the key is to make sure you have assembled all the parts before you try to join them together.  In this case you must set up the required Groups, Custom Data Groups, Profiles and Roles before you can use them in ACL.

Groups and Organic Groups (Drupal Only)

Drupal users of CiviCRM have additional options when it comes to using Groups. The Organic Groups CiviCRM module http://drupal.org/project/og_civicrm integrates organic groups, like google groups for example, with CiviCRM groups. This is useful for groups that form organically on your website but need to be tracked within your organization. Once the group of web users are in CiviCRM they can be used for mailings, tracking address information, tracking activities or anything else you might do with your CiviCRM contacts.

Once the Organic Groups CiviCRM module is enabled via Drupal Administer >> Site Building >> Modules - it automatically creates two CiviCRM groups for each existing Drupal Organic Group:

The groups are synchronized "one-way" - from Organic Groups to CiviCRM Groups. When a new user is added / signs up for an Organic Group, they are automatically added to the corresponding CiviCRM Group. If they leave the OG then they are removed from the CiviCRM Group. If an organic group is deleted the CiviCRM group is deleted.

Collecting and Sharing Data

CiviCRM provides powerful tools for collecting information from your constituents as well as sharing it through your website. These features can save you significant staff time because you can allow people to update their own data and you can display the latest information from your database in a variety of ways.

For example, a membership-based organization can provide a searchable membership directory on their website that is updated as soon as a new member joins the organization. Another example is a form where people can sign up to receive emails from your organization. Once submitted, they are added to the correct email list automatically.

This section will cover the techniques you can use for both collecting and sharing data.

Profiles: An Overview

Profiles provide an extremely flexible set of options which allow you to create forms, directories, and much more. You can think of a Profile as providing a window into your data. Just like you can have many windows in a house where you get views of different objects in the house, you can have multiple profiles which refer to some of the same fields.

There are many ways that profiles are used:

Another important point about profiles is that some profiles can be used in multiple ways.

Collecting data from constituents

This section will review the different methods in which you can use profiles to collect information from your constituents. A later section will discuss how to share information from CiviCRM with your constituents.

A volunteer sign-up form

Let's walk through an example of a profile used as a volunteer sign-up form. This simple form includes fields for First Name, Last Name, and Mailing Address. It also includes a reCAPTCHA widget to protect from automated abuse (described further below).

Profile form example
 

To build a a form similar to this one:

  1. Go to Administer CiviCRM » CiviCRM Profile and click on "New CiviCRM Profile".
  2. Mark it to be Used For a "Profile":

    NewProfile_UsedFor
  3. The next two text fields allow you to provide help text to assist the person filling out the form.

    Example Profile

  4. The remaining options are listed under "Advanced Settings" (you will need to click on the gray bar to expand this section):
    1. Add new contacts to a group. It is sometimes useful to add people directly to a group upon submitting a profile form. For example, you can automatically add the people that fill out this volunteer signup form to your pre-existing "Volunteers" group. You will need to create the group you would like to automatically add contacts to BEFORE building your profile.

      addtogroup 
    2. Notify when profile form is submitted? Who in your organization should receive an email when someone fills out the form? Enter their email address here.
    3. Redirect URL. When someone clicks save to submit the form, do you want to take them to a specific URL? Most commonly, you would create a special Thank-You page on your website to redirect people to. (This setting does not apply if you embed your form in an event signup or contribution form)
    4. Cancel Redirect URL. Similar to the previous item, what is the URL you want to redirect people to if they click to cancel the form. (This setting does not apply if you embed your form in an event signup or contribution form)
    5. Include reCAPTCHA. CAPTCHA is a type of spam blocking software that requires the visitor to fill in text generated from a graphic. In so doing, it prohibits automated spiders from completing the form. It is highly recommended that you include it. You must have configured your free reCAPTCHA account before enabling this. Go to Administer CiviCRM » Global Settings » Miscellaneous Settings to configure this.

      recaptcha 
    6. Update Contact on a duplicate match. This is a very important setting. If the person filling out the form already exists in CiviCRM, then with this setting enabled, their record will be updated if a match is found. This is generally the desired behavior so it is recommended that you enable this option. Contact matching is done using the default Strict Contact Matching Rule. You may want to familiarize yourself with CiviCRM's Contact Matching process before inviting visitors to fill in your profile forms.

Once you have saved the profile settings, it's time to add fields to the profile. If you plan to reference custom fields in a profile form, make sure that the fields have already been created.

A few other important notes on adding fields for this example:

  1. You can change the name of a field label for the profile. For example, the Postal Code field can be renamed Zip Code if your audience is more used to that term.
  2. You can make certain fields required. In this scenario, we would want to at least make First Name and Last Name required.
  3. You can make a field View only. This setting is not relevant for the volunteer sign-up scenario.
  4. Since this profile form will be used on your website, you need to make sure all of your fields' visibility settings are set to "Public User Pages."

    profile_form

Important

For our volunteer signup form, you cannot include Event, Participant or Membership fields. Profiles that are directly displayed to contacts through a form, search, or listing view must use all the same contact type fields. You may only include event, participant, membership and other fields if the profile will be used for an event page or contribution page.

You also cannot mix fields which belong to different types of records. Profiles that are directly displayed to website users through a form, search, or listing view must use all the same contact type fields. For example, if your profile includes Individual contact fields like first and last name, you cannot include fields related to Organizational records such as SIC Code.

Data Entry Tool

If you have volunteers or interns that you ask to perform manual data entry for your organization, a simplified way to do that is to create a profile form with just shows the fields they will need to input. This greatly simplifies data entry and avoids the chance of them incorrectly entering data.

Linking to your Form

Once your profile signup form is built, it is ready to be used! There are several ways to do this.

Important: For Drupal users, be sure you grant anonymous users the following permissions: access profile listings and forms, and access custom data (if your profile contains custom fields).

Including Profiles on your Event Registration and Contribution Pages

Very often you will want to define certain fields for inclusion in event registration and contribution pages. This process is similar to the example above. The only significant difference is that you can include fields in your profile that are specific to participant records (for event registration forms) and contributions (for contribution pages). You should read the sections covering creating contribution pages and event registration pages for more information.

Including Profiles in Drupal's User Registration Screen

For websites that have logged-in users, you may want to allow people to provide additional information as they register for an account on your website. Similarly, as people are filling out a Profile form you may want to encourage (or force) constituents to sign up for a user account. 

To include a profile form during the user registration process:

  1. When creating a profile select User Registration under Used For:

    addprofile_usedfor_reg 
  2. Then add the fields you want people to fill out as they register using the same process described above. Make sure the field visibility is set to Public User Pages.

Including Profiles in Drupal's 'My Account' screens

You can embed one or more CiviCRM profiles directly into Drupal's "My Account" screen. This makes it easy for logged in users to review and update this information anytime they visit their My Account page.

To create a Profile for this purpose:

  1. Create a new CiviCRM profile (or navigate to an existing profile and click Settings)
  2. Select "" under Used For.
  3. Click Save.
  4. Then add the fields you want people to periodically edit from their account page.

New Account Creation During Profile Signup

If you want your constituents to create a Drupal or Joomla! account while filling out your profile, you can enable this using the User account registration option under Profile Settings » Advanced Settings. Anonymous (not logged in users) will then be invited (or required) to create an account when they visit the profile. Logged in users will just see the profile fields.  

Profile user registration options 

You must include a Primary Email Address field in the profile for this feature to function properly. For Drupal sites, this feature also requires the Email Verification option to be checked under Drupal Administer » Users » User Settings. There are no additional settings required for Joomla! sites.

Sharing Information

Profiles & Directories

Many organizations have data they would like to display on their website. Historically it has been difficult because you would invariably need to manage and update the same data in two places—your website and your database. Using CiviCRM profiles solves this problem because you can expose data from your database on your website but will only need to manage the data in CiviCRM.

For example, an organization called Native Americans in Philanthropy (NAP) wanted to create a membership directory that their members could use to search and connect with other fellow members.  Before CiviCRM,  they would create a very expensive annual print directory and mail it to every member. This process was time-consuming and expensive, and it was very difficult to keep the data updated. Switching to CiviCRM significantly saved them resources and, because their website became a portal for their members to connect, CiviCRM helped to advance their mission.

To get started building your directory:

  1. Go to Administer CiviCRM » CiviCRM Profile and click on New CiviCRM Profile.
  2. Set it to be "Used for" a Profile:

    NewProfileMemberDir

  3. Limit listing to a group This is very important.  By default, CiviCRM will expose every record in your database, which is not ideal in most cases. You will want to create a smart group of the contacts in your database to appear in the directory. In NAP's case, they created a smart group of all members that had a status of New and Current. They then limited the directory to only show contacts in that smart group (see below). Remember, smart groups are dynamic lists of records. When new contacts join NAP, they will display in the directory automatically.

  4. Advanced Settings. There are a few options under advanced settings that are helpful when using profiles for directories.
    1. Enable mapping. A really cool feature available in CiviCRM is to allow visitors to map contacts in your directory using Google or Yahoo! maps. They can then obtain directions to a record's address dynamically. To enable this you must have already enabled mapping under Administer CiviCRM » Mapping and Geocoding
    2. Include profile edit links. Check this box if you want to include a link in the directory listings to allow people to edit the profile's fields. Only users with permission to edit the contact will see this link. This is not very commonly used in the membership directory scenario. More often than not you will not enable this setting.
    3. Include Drupal user information (Drupal only). Check this box if you want to include a link in the directory listings to view a contacts' Drupal user account information (e.g. their 'My Account' page). This link will only be included for contacts who have a user account on your website.

      profile_adv_settings

Now it's time to include the fields that will make up the directory. For profiles used as directories you have total control over which fields:

As you build your fields to include in your directory, the important options you must configure for directory purposes are displayed below:

directory_fields

The search page, the search results page, and a contact view page from our example Membership Directory are shown below.

Member Directory Search Form

 
 

MemberDirResults

Profile Member View
As we've seen, building a directory for your website can provide a valuable tool for your constituents.

Linking to Your Directory

To link to your directory you have several options:

Other Profile Uses

Search Results

Searching is outside the scope of this section but, assuming you are familiar with searches, you may wish to change the columns used to display the results of an advanced search. To do this:

  1. Select Search Results under Used For.

    profile_searchresults
  2. When adding fields to this profile, you will need to set Visibility for your fields to "Public Pages" and mark the "Results Column" box.

When conducting your Advanced Search, use the "Search Views" dropdown in the top right of the page to select your profile.

Batch Updates

The final way profiles can be used is to perform batch updates of data. For example, consider a scenario in which you have a custom field called "volunteer interests." You conduct a search of your volunteers' group because you want to mass update the entire list with a certain interest. You can easily update the entire group using a profile.

  1. Select Profile under Used For.

    profile_batch

    No other Profile settings are relevant for this type of profile usage.

  2. Add your fields to the profile. Only add fields you need for batch updating.  In the above example, the only field you would need is your custom "Volunteer Interests" field (contact name is always displayed when doing batch update). Remember, fields added to the profile must all be of the same contact type. You cannot add fields that are specific to both organizations AND individuals.

Once your profile is created, and you have conducted your search, select Batch Update via Profile under -more actions-. Once selected from the menu, you will be asked which profile you would like to use.

batchscreen


You will then see a grid with the fields in your profile. You can update each field and row individually. If there is a field where you want to enter the same value for ALL records, you can enter that value in the first row and then click on the "copy values" icon to the left of the column header. This will copy the field value to all the rows in your grid.

Batch Update via Profile

Don't forget to click the Update Contacts button at the bottom of the page to save your changes.

Batch Update Limitations

Exporting Your Contacts

Exporting is a way of sharing your data with external applications by providing a copy of data from CiviCRM in a standard format (comma separated value) that can be viewed and edited in spreadsheet applications, imported into other database applications, or used to merge with word processing applications. You can either export a predefined set of fields or create your own custom export mapping which can be saved for reuse.

The export process has three steps.

STEP 1: Select contacts you wish to export

To export contacts, first carry out a search based on your desired criteria using basic or advanced search. Then select all records or choose individual records for export using the checkboxes to the left of each record. In more actions, choose 'Export Contacts' and hit go, which takes you to an export wizard.

s1

STEP 2: Export All or Selected Fields

Choose between exporting the basic primary fields or selecting your own set of fields for export. If you want to export custom data, you'll want to choose 'Select fields for export' and see step 3.

s2


STEP 3: Select Fields to Export

If you would like to include specific fields or custom fields, choose this option to select the fields you want to export. After selecting your fields you will be given the option of saving the export mapping, which enables you to reuse the field set at a later time.

s3


TIP: By default, export uses primary location data.  If you wish to export non-primary addresses you need to explicitly specify the address type.

After selecting your desired fields click export and save your file.

CiviCRM's export functionality is available to you in any of the search tools and when viewing group members. This includes component-based search results, where the resulting records reflect the component specific data rather than simply core contact data. For example, you could export your donors and their contact information for use in a thank you letter in which the total amount donated is included.

By default, a comma is used as the field separator for import and export functions. You may change the default value in: Administer CiviCRM » Global Settings » Localization » Import/Export Field Separator.

Searches 

The whole point of putting information into your CRM system is so you can get information out again. Searches are one of the key ways of doing this. They are useful both for retrieving specific information and as a form of ad hoc reporting.

For example, you might do a search because you want to find out the phone number of someone in your database. Or you might do a search because you are considering running an event targeted at youth, and want to find out how many people in your database are under 18 years old.

You can search for different types of information within CiviCRM. Some examples are:

Generally the principals of searching are similar for each type of information so we will concentrate here on the various ways in which you can search for contacts.

Finding contacts

The main types of search for finding contacts are: 

You can also create predefined searches for your users by creating profiles. This method is discussed elsewhere.

The wildcard (%)

Understanding wildcards really opens up your options when you want to search. In CiviCRM when we refer to a wildcard we are talking about the % symbol. You may be familiar with other symbols such as '*' from other applications.

A wildcard is a symbol we use to mean 'any character' (letter or number or punctuation mark). It is most easily understood through examples.

If we search on the first name 'Michael' we will find all the people with the first name 'Michael'. If, however, we search on 'Mich%' we might find 'Michelle', 'Michał', 'Micheal' and 'Michele'. This is really useful if we don't know how 'Michael's' name is spelled, or we think it might have been mispelled. Wildcards can be used before, after or even within words. For example, searching on 'Mich%el' will exclude 'Michał' and 'Micheal' but still shows 'Michelle', and 'Michael'.

MWSnap074

You can see that this search is not case sensitive. In other words even though we entered 'mi%el' in lower case, it found people that had upper case 'M's in their name.

Contact Search

The contact search is very easy to use and looks like the image above. It uses the format 'Last name, First name' so if you want to find Michelle Smith you should search for 'Smith, Michelle'. You can change how your search behaves but we will assume you have left it at the default settings in the next couple of paragraphs. Search settings can be changed under CiviCRM >> Administer CiviCRM>>Global Settings >>Settings - Miscellaneous.

By default the Contact Search has an implicit wildcard. This means that if you enter Mich it will treat it as %mich% and find anyone with 'mich' anywhere in their full name. As you type you will see possible names presented to you. If you see the one you want you can select it and click on 'Go' or press 'Enter' to go into that contact's summary screen. Or you can just type in the text you are searching for and click on 'Go' to see all the people who have that text in their name.

If you type in a partial or complete email address, the search box will not offer you any options while you type. However, under the default setting, the results screen will show contacts with email addresses matching your input. For example, if you type 'gmail.com' and click 'Go' your search results will include any contact with a gmail.com email address.

If you are using Drupal and don't see the Contact Search box while you are on a CiviCRM page you may need to enable it in your Drupal blocks menu. You will not see this box on non-CiviCRM pages such as your Drupal home page unless you modify the configuration of this block (from Administer » Site Building » Blocks).

Find Contacts

This simple search form is at CiviCRM > Find Contacts. From this screen you can still enter part or all of a name or email address, but you can also narrow down your search by selecting a specific type of contact (Individual, Household or Organisation), as well as selecting a specific Group and / or Tag.

The search shown below will find all "Individuals" in the group "Volunteers" who have the letters "rich" somewhere in their name or e-mail address.

MWSnap097

Once you have your search results, there are many useful things you can do. First click the "All records" radio button, or mark the specific rows you want to take action on by clicking the checkbox on the left side of each row. Then click the "- more actions -" dropdown as shown in the picture below.

MWSnap096

Some of the most commonly used actions are "Add Contacts to Group", "Export Contacts", create and print "Mailing Labels" and "Map Contacts".

For example, you might want to view the locations of a number of contacts on a map to help you plan a route for home visits. To do this, mark the contacts you are interested in and then select "Map Contacts".

This simple search form is quick and useful. However, if you need to search on contact attributes other than those offered here (such as address fields or custom data), the Advanced Search screen provides many more options. You'll also need to use Advanced Search if you want to select contacts in more than one group.

Advanced Search

Advanced Search allows you to choose from (and combine) a broad range of search criteria, and allows you to select more than one option within some criteria. For example, you can use Advanced Search to get a list of contacts you have tagged as "Outdoorsy" or "Environmentally Aware", who are between 16 and 18 years old, live in "Vancouver", and have a "Student" membership.

In this screen the choices for contact type, groups and tags are shown as checkboxes rather than as a dropdown. This allows you to select more than one option. In the case below, your search results will include contacts who have been tagged with either "Outdoorsy" OR "Volunteer" (or both). If you did not check any tags, then the results would show contacts with any tag or indeed those with no tags at all.

 MWSnap093

You will also see several gray bars on this screen. If you click on a gray bar it expands to reveal more options. For example, if you wanted to search for all people in your database between 16 and 18 years old you would click on the "Demographics" bar and select the Birth Date range you are interested in.

MWSnap086

If you want to combine this with searching by membership type, you can click on the "Memberships" bar. You can continue refining and narrowing your search by selecting or entering additional criteria in any of the search panes. For example, if you want to narrow this search to contacts living in a specific city, click on the "Address Fields" bar and enter the city name.

If multiple boxes are checked for Contact Types, Groups, Tags and Location Types, the selections are combined as OR criteria (e.g. checking 'Group A' and 'Group B' will find contacts who are either in 'Group A' OR 'Group B' or both). All other search fields are combined as AND criteria (e.g. selecting Tag is 'Major Donor' AND Country is 'Mexico' returns only those contacts who meet both criteria).

Modifying Search Result Columns

Advanced Searches also allow you to use to change the columns that are displayed in your search results. The default columns are Name, Street Address, City, State, Postal Code, Country, Email and Phone. If you want to display a different set of columns (perhaps including a custom field and removing the Country column) you can create a Profile with the "Search Results" option selected. Make sure that the fields in this Profile are set to "Public User Pages and Listings" visibility, and are marked as "Results Columns". The Profile will appear in the "Search Views" dropdown in the upper right corner of the form - as shown below.

MWSnap089

Combining this feature with the "Batch Update via Profile" action provides a powerful method of viewing and updating a specific set of fields for a batch of contact records.

You may want to familiarise yourself with the steps for creating Profiles which are described in detail in another section.

Search Builder

Advanced Search lets you choose from a wide range of criteria but it has one important limitation. As noted above, most of the search criteria you select in advanced search are combined as AND criteria. For example, if you select a birth date AND select female for gender in the "Demographics" section, your results will include only contacts who are born after that date AND who are also female.

The Search Builder tool provides an alternative when you need to do a search using OR for some criteria. Continuing the example above, you can build a search for contacts who are born within a range of dates OR who are female.

search_builder

Search Builder is intended for advanced users and requires you to use specific formats for your search values. Refer to the online documentation at http://wiki.civicrm.org/confluence/display/CRMDOC/Search+Builder before you try to create your own searches. 

Custom Searches

Custom searches are special searches to meet special needs. The CiviCRM developers recognise that some people may need additional ways of collecting and aggregating data, so they have created a framework that people can use to create their own searches. When properly constructed, custom searches allow users access to the same powerful action options that are available from the built-in search screens described earlier. This includes Export, Mapping, saving searches as Smart Groups, and more.

Take a look at the list of available custom searches from CiviCRM > Find Contacts > Custom Searches. These have been written by members of the CiviCRM community to meet their own needs, and then contributed back to the community. It's worth spending some time exploring these searches as some of them may be useful to you, and they give you an idea of the sorts of things that are possible.

The Proximity Search is an excellent example of the power of custom searches:

Proximity_search

You can use this search to locate contacts within a specific radius of a specific location.

You need to be comfortable with MySQL and PHP to write your own custom search. If you create a custom search that you think would be useful for others, consider contributing it back to the community.

Further reading: http://wiki.civicrm.org/confluence/display/CRMDOC/Custom+Search+Components

Fundraising Planning

This chapter covers setting up and configuration of fundraising strategies and campaigns with CiviCRM. using CiviContribute.  CiviContribute allows you to track different types of contributions and search and report on contributions. Before reading this, you should have a basic knowledge of CiviCRM concepts including custom fields and searching.

CiviContribute Basics

Every contribution you receive can be categorized by type. Examples of contribution types include event fees, member dues, donations, and grants. Contribution types are useful because:

First, think about the types of contributions you receive as an organization and which of those you want to track using CiviCRM.  To configure contribution types, go to Administer CiviCRM » Contribution Types.  

Custom Data

CiviContribute has a set of pre-defined fields to track contribution information. If you need to track more information about contributions, you can define and use custom data fields.  Custom data might be useful to further categorize your contributions or track additional information.

For example, Healthy Environment Alliance of Utah (HEAL Utah) created a custom field for contributions called Contribution Category that lists every fundraising tactic they use throughout the year.  At the end of the year can quickly compare the success of different tactics - a very valuable bit of information for an organization that thrives on community support.  Below is a screenshot of the options they added to their custom field.

 customcontributionfield_heal

First consider all the information you want to track about your contributions and then carefully compare it with the pre-defined fields available in CiviCRM.  There's no point in creating your own custom fields if they already exist and lots of useful functionality is built in to the core contribution fields that you can take advantage of if you use them.

When deciding what data to collect, think carefully about what you need to know, and the reports you would like to run on your data.  This will help ensure that you don't collect data uneccesarily, and that and your data is usable in reports.

If you don't have CiviCRM installed, you can go look at the core fields on the CiviCRM demonstration site http://demo.civicrm.org/.  The fields are displayed on a contacts contributions tab: click on New Contribution, and review the pre-defined fields.

If you need to create custom contribution fields you can do so through Administer CiviCRM » Custom Data. When creating custom field sets for contributions you can associate them with all contribution types or assign them to a specific contribution type.

Reporting and Evaluation

When you begin your fundraising efforts with CiviCRM, think about the reports you'll need to evaluate how successful you have been.  Choose reports that let you see how processes can be improved and that can gauge the overall health of your organization.  For example:

Payment processors

A payment processor is a tool that integrates with CiviCRM to process the live credit card transactions. In other words, it accepts the credit card information submitted by your site visitor, processes it, and transfers money to your organization's bank account.  As of this writing, the payment processors compatible with CiviCRM include:

Each has their own pricing structure and features, benefits and drawbacks.  You should carefully investigate each available option to determine what is best for you.  Important things to consider include:


Secure Sockets Layer (SSL/HTTPS)

If you wish to collect credit card information through a CiviCRM form (as opposed to on a payment processors own website) you must configure your site for secure sockets layer, or SSL encryption. Alternatively you choose to use a processor such as Paypal Standard, Elavon or PaymentExpress where the customer is redirected to the payment processor's website to enter their credit card details and back to your site afterwards.

Visitors to your website see that their data is encrypted when the see a symbol (often a padlock) somewhere in the browser or by noting that the http: part of your url has been replaced by https:. 

To enable SSL you will need an SSL certificate. An SSL certificate should be purchased through a reputable third party provider, and may range in price from USD$30 - USD$100 a year depending on the company and the level of service and protection they provide.

If you are using shared hosting or a virtual private server (VPS), it is likely that your hosting provider has preferred vendors they work with to provide SSL security. Contact your hosting provider for more information and to assist with the installation of the SSL certificate.

SSL certificates are domain-form specific. If purchased and installed to your root domain (https://domain.org), it may not be valid for the www form of your domain (https://www.domain.org). Additionally, subdomains do not automatically inherit the certificate authentication (https://sub.domain.org).  Discuss the options available with your hosting provider and ensure the certificate and its installation will meet your needs. Wherever possible, purchase a certificate that will cover both the root domain and www form of your domain.

Once the certificate is installed and you have tested its functionality by browsing to a page on your site using https (rather than http), you should enable SSL redirection in CiviCRM. To do this, navigate to: Administer CiviCRM » Global Settings » Resource URLs » Force Secure URLs (SSL) » Yes.

This will force any pages that include contribution related information (i.e. credit card fields) to redirect to the secure form of the url (https).

After enabling the Force Secure URLs setting and saving the page, CiviCRM will automatically check to ensure the SSL certificate is activated and working properly.  You should also navigate to a contribution page on your website to confirm the https redirection works correctly. 

PCI DSS Compliance

The prevalence and impact of online fraud has led to increased security measures to counteract the schemes of fraudsters. The Payment Card Industry Data Security Standard sets out security standards that all major credit cards require sites to comply with. In cases where your CiviCRM page accepts card numbers rather than having your payment processor pages accept them, your site and its hosting environment may need to comply with those standards. Some payment processors, notably Moneris, put some of the compliance burden on you by making you complete a long and technical Self-Assessment Questionnaire.

For more information, visit: https://www.pcisecuritystandards.org/

 

Management Methods

This chapter discusses methods for fundraising using CiviCRM and its powerful contribution management component, CiviContribute. Throughout CiviCRM the term "contribution" is used to refer to any financial transaction or payment taking place in the system. This may include a donation, event fee payment, membership dues payment, or other similar transaction. This chapter assumes you have a working understanding of custom fields, contact matching rules, CiviCRM profiles, and the CiviMember and CiviMail components. The chapter also assumes you have already set up your payment processor, configured contribution types, and created any custom fields you want to use when tracking contributions.

Online Fundraising

One of the best parts of CiviCRM is its integration with your site's content management system.  Once integrated with either Drupal or Joomla!, CiviCRM allows you to build an unlimited number of contribution pages that can be seamlessly accessed from your website. Contribution pages can be used to:

This section will walk through each of those three scenarios and point out some options and features that may be useful for you. Once you answer all the necessary questions and consider all the points mentioned in the chapter, you can build your contribution pages. Step-by-step documentation for doing that is available at http://wiki.civicrm.org/confluence/display/CRMDOC/Manage+Contribution+Pages.

General Online Contribution Page

Before you configure a general contribution page, ask yourself:

Once you have answered and resolved all of these questions, you can build your contribution page. Go to CiviContribute and click on Manage Contribution Pages » New Contribution Page. The options and settings should map pretty clearly to the choices you made for the questions listed in this section.

Membership Sign-up Donation Page

CiviContribute is closely integrated with CiviMember, the membership management component of CiviCRM.  This means that your online contribution pages can allow people to join your organization at predefined membership levels.  When people do, they create not only a membership record for themselves but a corresponding contribution record.

Note: You must create all of your membership types and status settings within CiviMember's administration tools before you build your online membership sign-up page.

Before building your membership sign-up page, you need to ask most of the questions listed in the previous section for the contribution page. A couple of additional questions include:

If your organization allows organizations as well as individuals to become members, you will need to allow individuals to join on behalf of an organization. Depending on your membership structure you may want to require this behavior.

Campaign Fundraising Page

In addition to the questions in the previous sections about how the contribution page will be used and what information it will capture, CiviCRM includes some exciting features for campaign fundraising purposes:

Publicizing your campaign

Now that you've created your contribution page, it's time to bring people to the page so they can contribute! Naturally you will display a link to the page prominently on your website through a donate button or menu item. Here are some additional tips for the different CiviCRM versions:

TIP: CiviContribute contribution pages have "ugly" URLs.  In other words, they are difficult to remember. An example is :

www.myorganization.org/civicrm/contribute/transact?reset=1&id=1

You may find it useful to create a URL redirect (take people from one URL of your website to another automatically) on your server to take people to a "pretty" URL like :

www.myorganization.org/donate

Pretty URLs are much easier to remember and use in your organization's outreach. Creating a redirect requires some technical skill and access to your web server.

For Drupal users, there is a helpful module called Path Redirect (http://drupal.org/project/path_redirect) where you can create URL redirects from the user interface without any technical skills. For Joomla! users who have Search Engine Friendly URLs enabled in Global Settings, creating a menu link to the contribution page will allow you to define the "pretty" url using the alias field.

Emailing your current membership is the other critical way to publicize the campaign. The CiviMail component of CiviCRM allows you to send targeted emails to any group of contacts in your database. Within a CiviMail message you can include links to the contribution form and use CiviMail's tracking capability to see how many people click on that link.

One time-tested way to increase contributions is to send each targeted constituent a personalized email with a link to the contribution form that has all of their contact information already filled in. This saves them the hassle of filling it out and raises the chances that they would ultimately donate. Using CiviMail, you can use this feature by creating a special link in the body of your CiviMail message that includes a checksum token. A checksum is a unique and pseudo-random number assigned to each recipient of the mailing that points back to their contact information that is securely stored in your database.

When people click on the special link, CiviCRM looks them up in the database and pre-fills any information on the contribution form (core fields or fields exposed via a profile) with the corresponding data if it exists in their record.  To read more on how to do this and what the link path must be, visit: http://wiki.civicrm.org/confluence/display/CRMDOC/Mail-merge+Tokens+for+Contact+Data

Automatic Contribution Recording

Regardless of how donors get to your contribution page, CiviCRM automatically records their donations, freeing your staff from doing manual data entry. If they already exist in the database, CiviCRM adds the contribution to their existing record. If they don't exist, CiviCRM creates a new record for them.

To record contributions in the appropriate records, CiviCRM must identify the donor correctly by comparing the information they enter into the contribution page versus what exists in the database. By default, CiviCRM checks just the contributor's email address. In other words, if Judith Monroe has a contact record in CiviCRM with an email address of judith@example.com and she puts in that email address when she contributes, but with the first name of Judy, the contribution will correctly go into her record. If she puts in another address, such as a Hotmail or Gmail account, a new record will be created and you may have to manually clean it up later. Note that this is only applicable for anonymous users (those not currently logged into your website). Once a user logs into the website, CiviCRM recognizes them in the system and will attribute any activity to their record.

We recommend that you configure CiviCRM to match contact information very strictly by changing the default duplicate matching rules.  In our opinion, it is better to risk creating a new (duplicate) record for someone who is already in the database than to incorrectly credit their donation to someone else since it is not uncommon for multiple people to share an address such as info@example.org  or judyandjim@example.com. We recommend you change the duplicate matching strict rule so that the first name, last name, and email must all match. This raises the bar on whether data is merged with an existing record or a new record is created. Using CiviMail's automatic fill-in feature (checksum token) will help avoid some of these issues. To configure your duplicate matching rules, go to Administer CiviCRM » Find and Merge Duplicate Contacts.

Offline fundraising

Organizations have plenty of offline opportunities to raise money. You may pick up donations at events or solicit donations via postal mailings. For money raised through any of these offline activities, your staff needs to enter the results manually.

There are three steps in offline fundraising: creating your lists, creating your mailings, and manually entering contributions.

Creating your lists

This process is fairly straightforward if you are familiar with CiviCRM's search capabilities.

  1. Create a list of records to receive your offline postal mail appeal (this can be your entire database if you like). If you want to later track the success of a mailing or if you are tracking who receives certain appeals, it is recommended you save the search results as a group.  Later on, you can mark everyone in that group as recipients of that appeal using the Record Activity for Contacts option under the More Actions menu.
  2. From a search (whether a search of the groups' members or of other criteria) you will see a More actions dropdown menu that allows you to, among other things, export the list as a CSV file. Select all records or a subset using the checkboxes, choose export and click Go.
  3. As you export to a CSV spreadsheet, you can determine which fields you want to export to your spreadsheet and save the list of exported fields as an export mapping for future use. By default, CiviCRM will export a great deal of data, including contacts' names, contact information, email addresses, and phone numbers, and a list of their groups and tags.

Creating your mailings

Once your spreadsheet is created you can do a mail merge using any popular word processing software (such as OpenOffice.org the Free Software Word Processor) that will insert any fields you want in the letter.

CiviCRM can also create mailing labels for you. Perform the same search you used in the previous section to create your list of recipients, but under the More Actions menu, choose Mailing Labels. Then select the mailing label number, determine whether you want to exclude people with "do not mail" checked in their privacy options (checked by default and recommended), and whether you want to merge two records that have the same mailing address into one label. This last option is very useful when you are mailing a household or organization and you don't want them to receive duplicate mailings. When the records are merged, each name at that address appears on its own line on the label. Once you click 'Make Mailing Labels," a PDF document will be created that you can print off.

Note: Many nonprofit organizations in the United States have to sort recipients of a mailing based on zip code for bulk mailing purposes. If this is true for your organization, it is recommended you do not create your mailing labels within CiviCRM and instead create them using word processor merge functions where you have control over the sort order. You can reuse the same spreadsheet for the mail merge you exported in step 1.

Entering contributions

Hopefully your mailing is successful and contributions start pouring in! To manually enter a contribution for a record that is already in your database:

  1. Find their record using the contact search tools.
  2. Select the Contributions tab and click Record Offline Contribution.
  3. Complete the new contribution form (see below image).

newcon


Note: If you have setup a payment processor that allows credit card transactions directly on your site you may select the "Submit Credit Card Contribution" option and process the payment immediately. The form is almost identical to the offline contribution form, with the exception of the payment related fields.

On this form you record the contribution type, amount, received date (the default is the current day), receipt date, and status (the default is Completed). Any custom fields for contributions will also appear on this form. The "Additional Details" section near the bottom offers many other options, including adding a note about the contribution and entering the date when the thank-you letter was sent. The last two drop-down lists cover whether the contribution you are entering was in honor of someone else and whether there is a premium associated with the contribution.

If the donor does not yet exist in the database you will need to manually create their record first. From the CiviCRM home page there are links to create new records called New Individual, New Organization, and New Household. Click on the appropriate link and fill out any information you have for this contact. Once the record is created, follow the same steps as above.

Soft Credits

The Soft Credit To field is a powerful CiviCRM feature. As mentioned earlier, if a donor sets up a personal campaign page (PCP) and their friends and family use it to make donations to your organization, some of the credit goes to the donor who set up the PCP. The person giving the money receives a "hard" credit while the owner of the PCP receives a "soft" credit. When you enter a donation manually on the contributor form shown above, you can assign a soft credit.

Other uses of soft credits which can be managed using this form include credits to spouses, partners, or employers, enabling you to get a sense of how much money is coming from a relationship or providing a credit to employees if they urged their employers to donate.

Searching and Reporting

Databases are useful to store data, but the real power of any database, especially CiviCRM, is getting data out! This section will review how to build contribution reports. You should already be familiar with CiviCRM's contact search features such as Find Contacts, Advanced Search, and Search Builder, as well as CiviCRM profiles

CiviContribute Summary

The CiviContribute main page (displayed below) gives a summary of contributions including contributions received in the current month to date, year to date, and cumulatively since inception.  Listed below are the 10 most recent contributions:

summary

You can also view bar or pie charts to compare contribution totals across months of a given year and/or across years.

chart

Contact contributions summary

Every contact in CiviCRM has a contributions tab which shows contributions they have made to your organisation.  Use this tab to view, edit, or delete contributions.

cont_tab

Contribution reports using Find Contributions

Find contributions is CiviCRM's interface for reporting on contributions made to your organisation.

resized_500x253_findcon_1

You can search based on a number of criteria, specifying date range, amount, contribution status etc.

Contributions matching all specified criteria are returned, so the more criteria you enter, the narrower the search will be.  For example, searching for the contribution type 'donation' and the date range 'January 1st to May 1st' will return contributions that meet both criteria.

The results screen from a search displays the the total amount for that search criteria, the number of contributions, and the average amount per contribution :

contribution_totals

You also have options under the "more actions" menu once you select all or a subset of records :

resized_400x300_more_action_con_1

The "more actions" menu allows you to:

Advanced Search

There are many scenarios where searching solely by contribution criteria is insufficient. You may, for example, want to search all of your donors that live in a certain state and have a certain tag assigned to their record.  This type of search is accomplished within CiviCRM's advanced search.

The advanced contribution search engine offers essentially the same criteria as Find Contributions. The key differences between Advanced Search and Find Contributions are:

The disadvantages of using an advanced search include:

Search Builder

For organizations needing complex donor reports and queries, Find Contributions and Advanced Search may not be enough. Luckily, there are still more powerful options. Search Builder is a tool that builds a report from a variety of criteria (pictured below). The search can be built so that records must meet all the criteria you enter or any criteria you enter.

searchbuilder

Advantages of Search Builder include:

Disadvantages include:

Custom Searches

If Find Contributions, Advanced Search, and Search Builder do not provide you with the report you need, the final reporting option is to build a custom search. This is only for those with advanced technical skills, including strong knowledge of MySQL and PHP as well as knowledge of CiviCRM's internal database structure. If you have that knowledge you can build a query on any criteria and control how it is displayed in the interface to allow other users of the database the ability to periodically run the report.

With custom searches you control:

An example where you may need to create a custom search is to aggregate the total amount of contributions coming from a household record and all individuals that are related to it. 

CiviCRM includes some pre-built custom searches specifically related to contributions, including:

To read documentation on how to build a custom search, visit: http://wiki.civicrm.org/confluence/display/CRMDOC/Custom+Search+Components.

Configuring and Planning

CiviCRM provides powerful and exciting tools for managing events and provides real-time registration forms through your website (CiviEvent). By harnessing the power of CiviCRM you can centralize your registration data process, provide your constituents the ability to register online with credit cards, and even have live access to your data while onsite at the event.

Before diving in to the event creation process, there are several global settings you will need to configure and concepts you should understand.

The chart below demonstrates the basic structure and functions of the event management process.

eventmgmt_flowchart2

Global Event Configuration

CiviEvent has three global settings that must be reviewed and configured before you can proceed with the event creation process. In addition, there are three general CiviCRM settings that should be reviewed and configured.

NOTE: If you do not see links to CiviEvent from your CiviCRM home page or in the Administer CiviCRM page, you may not have the component enabled. Navigate to Administer CiviCRM » Global Settings » Enable Components to manage which components are enabled.

Navigate to Administer CiviCRM and note the CiviEvent block towards the bottom of the page. You will need to review the following settings:

In many cases you may find that the default options for Participant Roles and Participant Status are sufficient for your needs. But it is important to review them before proceeding to ensure you have structured event management to fit your organisational needs.

There are several core CiviCRM settings that may play an important role in how you use the event tools. It is possible that you have already reviewed and configured them as part of your initial installation process. But it is worth reviewing the following configuration options:

Planning Event Management

In addition to the configuration steps above, you should familiarize yourself with various tools available in the event creation process. Some of these require you to take steps prior to the actual creation of an event (though if you've already begun creating an event you can always complete the process, address these tools, and return to complete the event configuration).

The two essential tools you should understand are Custom Data/Profiles and Price Sets.

Custom Data/Profiles

CiviCRM provides ample flexibility for you to define and integrate custom fields into your event management process. Custom data are fields that you define and associate with a specific data type. You can then use them to collect information from your contacts as they register for an event, as well as in other ways.

Custom data is managed through Administer CiviCRM » Custom Data. You begin by creating a new group of custom fields, at which point you designate how the set of fields will be used. There are several types of uses available to CiviEvent tools:

After creating your set of custom fields you begin defining the actual fields to be included. If you are not familiar with the range of options available through the custom fields tool you should investigate that further before creating your actual fields.

Participant custom data groups and fields will be automatically included in their assigned location when accessing the information through the CiviCRM administrative tools. However, they will not be displayed in your online event registration page unless they are first included in a profile, which is then included with the event configuration.

A profile is a collection of fields (both pre-defined and custom) from your database, acting as a "window" into your data. By creating a profile you are able to pull only those fields relevant for a specific purpose and then incorporate them into your event registration or other online tool. If you are not familiar with how profiles are created and configured, please research that before continuing. The diagram below provides a visual explanation of how existing fields are assigned for use in a profile.

Profiles

Thinking ahead and planning your data needs before you create your event will help streamline the event configuration process. But it is not uncommon for people to begin the event creation process, and perhaps get to a testing stage, before they realize that there is an additional field they need to capture through a custom field and profile. Don't worry—after creating your event you can always return to the configuration and assign a profile(s) at a later stage.

Price Sets

Price sets play a similar role to custom data fields and profiles except that they are used to provide event fee options rather than basic data collection.

When creating a new event, one step in the process involves configuring event fees. The standard fees layout form is a very simple structure, allowing you to create a list of fees and their labels. The resulting layout allows the registrant to select one option from the list. Often times, this single-option format does not meet the complex demands of your event registration structure. Price sets allow you to create multiple registration fee fields and assign the entire set to an event.

Price sets are created and managed through Administer CiviCRM » Price Sets or as an option under CiviEvent in the sidebar menu.

Similar to how custom data sets work, you begin by creating a new price set and then adding specific fields. The field types are similar in structure to custom data fields, with some unique qualities and usage relevant to fee structures.

pricesets 

Using these four field types, the administrator can define any number of registration fees in combination with each other. The result is a robust and flexible system for managing event fees.

As with custom data fields, it is to your advantage to give thought to the structure of your registration fees and build the price set before creating the event. However, if you begin the event creation process and determine that you needed to construct a price set, you can complete the process, create the price set, and then return to the event configuration page to assign the price set.

Also note that price sets can be reused in multiple events. This is particularly helpful for organizations that run multiple events in a series, such as a regional training seminar program.

Creating and Promoting

This chapter will deal with the details of creating, configuring, and promoting an event in CiviCRM. CiviEvent, the event management component in CiviCRM, is a flexible and powerful solution for your event organisers, enabling them to collect registrations online, process participants, view and search through event registrants.

Create an Event

To begin the event creation process, click CiviEvent from the CiviCRM home page and select "New Event" from CiviEvent main page. The event creation tools are organized into a series of "wizard" pages, each of which provides you a series of options to consider.

SideBar

These options are numerous, allowing your organisation to take advantage of various fee price mechanisms, configure date-based discounts, permit batch registrations—all while remaining confident that CiviCRM is managing the records and calculating the fees accurately.

As we walk through each page of the event creation wizard we will demonstrate the options and their effects on the resulting registration form through screenshots and examples.

1. Event Information and Settings

The first page in the event wizard requests basic information about the event: 

After reviewing the details on this page, click continue to advance to the next step of the wizard.

2. Event Location

The next step in the event configuration process is to complete the location and contact details for the event. Though optional, it is highly recommended that you take the time to provide these details to your potential participants. If you have enabled a map link in the previous step, you will need to make sure that you fully complete the address details on this page. Also note that you are able to list phone numbers and email addresses for registrants or interested individuals to use when registering for the event. This is particularly helpful if the event will be held off-site from your organization's primary location and you want to provide contact information for the meeting location.

EventLocation

3. Event Fees

CiviCRM provides the ability to manage both free and paid events. If you plan to assess fees for participation in your event, this third step in the wizard will walk you through the options available. Note that if you plan to accept credit card payments through the online registration form you will need to configure a payment processor prior to completing the details in this section (Administer CiviCRM » Global Settings » Payment Processors).

4. Online Registration

While CiviEvent can certainly be used in only an administrative capacity, where staff enter event registrants as they are received by mail or phone, the real benefits are realized when the event registration form is made available to your constituents through your website.

In step four of the event creation wizard you can enable online registration and configure the options for this feature.

5. Tell-A-Friend

Leverage the social networking power of your committed constituents by empowering them to quickly and easily share details about your organization and event with their friends and colleagues. The final step in the Event Creation wizard is a page where you can enable "Tell-A-Friend" capabilities and define the text and links to be included on that page and in the email sent from the tool.  Note that the people who are emailed using this feature are automatically added to CiviCRM.

Promoting Your Event

Now that you have completed the creation of your event you should test it and then find ways to begin promoting it. Returning to the Manage Events page you will see your recently created event listed with any others you have created. From the action list, select Test-drive to test the registration page. Test-drive mode will use the Sandbox options for your payment processor, if available, and will create a registrant record with a "test" indication so that it can be reviewed and easily removed.  If you have events where anonymous users register for events, you should also test the registration when not logged in.

If you discover elements that you need to edit and adjust, select Configure to return to the list of event setting pages. Once you are satisfied with the event information and registration form, it's time to display it on your website. If you are using Drupal, select the "Live Page" link to obtain the url. You can then create a menu item or link to the form from a page on your site. In Joomla!, use your menu manager to create an Event Information or Event Registration page. You may also link to the event information page from an article using the following url (replacing the EVENTID with the value for your event as displayed in parentheses by the title):

http://www.myorganization.org/index.php?option=com_civicrm&task=civicrm/event/info&reset=1&id=EVENTID

The url to directly access the event registration page in Joomla! is (again replacing EVENTID with the id as displayed in the manage events page):

http://www.myorganization.org/index.php?option=com_civicrm&task=civicrm/event/register&reset=1&id=EVENTID

Creating a direct link to the event information or registration page is central to your event promotion efforts. But CiviCRM provides several other ways to publicize your event.

Navigate to the Event Summary page (CiviEvent link in the main menu), where you will find a series of icon links above the summary table. These links provide helpful ways for you to display a list of upcoming events on your website or through email. They are as follows:

Congratulations!—you've created an event and begun promoting it on your website. CiviCRM has provided you with the ability to display event registration forms and collect registrations online in real-time. You've taken an important step toward streamlining your event management system, reducing data entry by staff, and providing your constituents valuable new benefits.

Managing Participants

Once you've created your event and provided the registration form to website visitors, you will need to begin managing your participants through the CiviEvent administrative tools. CiviEvent provides the ability to register participants administratively, search through participants based on a variety of criteria, export participant lists, and perform a number of other functions on your event records. CiviEvent not only gives participants a smooth journey from registration to payment to attendance at the event, but also lightens the burden of administrative duties on your organisation's staff.

An events' administrator at your organization can view an intuitive events dashboard that brings together all your events and participant information in one place. In this section we will discuss how these administrative tools are used.

Event Dashboard 

Registering a Participant

While CiviCRM helps alleviate data entry for event registration by allowing your constituents to register directly through your website, it is likely that you will continue to have a segment of your contacts that continue to register by mail, phone, or in person on-site.

As with other functions in CiviCRM, you register a contact for an event by first locating their contact record, and then selecting the Events tab. This tab displays a summary list of past event attendance and provides a link for registering the contact for a new event.

SamEvents

You'll notice that there are two options available for registering the contact: "new event registration" and "submit credit card event registration." The latter will only be available if you've configured a payment processor that allows direct payments through your website. The first option is used for offline registrations—those that do not require actually processing a credit card. The interface for both options is very similar, with the exception of those fields that impact the payment recording details.

After choosing to create a new registration for this contact, you are taken to a form where you complete details regarding the record. 

SamReg1_1 

As you work through this form, you'll notice certain sections of the page may change to reflect selections you have made. For example, when you choose the event you want to register the contact for and select their participant role, the form will automatically load predefined custom data fields that pertain to those selections.

If the event selected is a paid event, you will see an event fees section which has been defined in the event configuration details, and an option to record the financial transaction details will be visible (Record Payment).

This introduces an important concept central to CiviCRM's event function (as well as other areas). Event registration records in CiviCRM are independent of, but can be related to, a financial transaction. While this may seem confusing to organizations accustomed to viewing event registrations as essentially a financial transaction, it offers an important and valuable distinction.

An event registration communicates the contact's participation in the organization's event. A corresponding financial transaction indicates the monetary value associated with that participation. While related, the two are distinct.

The distinction is best understood by considering the all too common scenario of an organization waiving fees for certain attendees. This may be done because the individual is a V.I.P., a speaker, or is participating in the event in a limited way. Regardless, the organization will want to record the individuals involvement in the event by registering them, but may not want to create an associated financial transaction.

CiviCRM respects this distinction by recording the event registration record under the Events tab, and the Financial record under the Contributions tab, and then creating a link between the two records.

event + contribution 

By clicking the Record Payment checkbox and completing the transaction fields that are displayed, you are building these two associated records. After recording the membership, you will be able to view the event registration record and see the related contribution record at the bottom. If you do not select the Record Payment checkbox, only a registration record will be created.

view_participant 

Bulk Registration Action

A great time saving feature that CiviCRM offers is bulk registration for an event. Using this feature you can register a group of contacts simultaneously.

  1. Search for the contacts you want to register for a particular event
  2. On the search result page, click "select all" or use the checkboxes to select only those records you wish to register.
  3. From the actions dropdown box, select "Add Contacts to Event" and click Go.
  4. Complete the participant registration form.

Note that when registering multiple participants for an event using this tool there are two limitations:

Bulk Import Registrations

Another way to register a large number of individuals quickly is to import registrants from another application using a "comma-separated-values" format file (CSV).

This can be very convenient in a number of situations. Your organization may be collaborating with another organization for a specific event where the other organization has a preferred events registration system other than CiviCRM. Or perhaps a volunteer in charge of the event with no experience using CiviCRM recorded registrations with MS Excel. In these cases it is still important to capture inside CiviCRM those individuals who have registered through these alternative methods. Importing the records into CiviCRM will help consolidate your information and allow better interactions with your contacts in the future.

Importing records involves preparing your data, and then walking through the Import Participants wizard.

It is ideal if the records to be imported contain data that can uniquely match to an existing contact in your CiviCRM database. In general, the first name, last name and email are used for this purpose. Be aware that even slight variations in these values can inadvertently create duplicate contact records. you may want to run deduplication rules after the import in order to identify and merge duplicate records.

In some cases where there are only a few registrants to be imported and they already exist in CiviCRM, it may make sense to use the bulk registration action above. But usually when there is a significant number of registrations, including registrants who are not currently in your database, it will be faster and lead to less errors if you process a bulk import and deal with deduping efforts after the import. 

Find Participants

Up until this point we have focused on how to register contacts for events and review past event participation for each individual through the contact's Events tab. But one of the most important functions of any event management tool is the ability to search for participants and quickly pull up attendance lists for an event.

Returning to the main event dashboard page (by clicking the CiviEvent menu item), you notice that the list of upcoming events includes several hyperlinked options in the attendee summary column.

eventsummary2

The hyperlinked options available will depend on your registrants to date. For example, if you have no Registered/Attended status records, the text would not be hyperlinked. Selecting one of the options quickly displays a list of the registrants meeting that criteria for the event.

CiviCRM also provides event participant search tools, accessible by clicking Find Participants in the CiviEvent submenu. The resulting search form provides the ability to search by participant name, event name, event type, event dates, participant status, participant role, fees, pay later registrants, and any combination of the above.

FindParticipants

After conducting a search you have the opportunity to select all of the resulting records or a subset, and to perform an action on the records. The actions available include:

Additional Search Tools

CiviCRM has several pre-built custom search pages available through Find Contacts » Custom Searches that provide advanced tools for event management.

TIP for Drupal users: When using Drupal CMS, you should ensure that registering user has correct permissions. For example, if an anonymous user wants to register for CiviCRM Events, he needs to have "register for events" permission. If a profile has been included in your event, you need to have "profile listings and forms" permission as well.

Configuring Membership

CiviCRM provides a suite of tools that allows you to track and manage membership records and to view a snapshot of who your current members are at any point in time. You can manage your memberships more easily by allowing individuals and organizations to become members or renew an existing membership online.

Both Joomla! and Drupal have extensions available to control access to website resources and allow user registration based on membership status. Visit the CiviCRM website for more details.

Before you begin using CiviCRM's membership tools with your contacts you will need to configure several elements and give some thought on how your records will be organized and used.

Configuring Membership Types

The first step toward implementing CiviMember is to configure the membership types and status rules. These are handled in: Administer CiviCRM » CiviMember » Membership Types ( Drupal: http://siteurl/civicrm/admin/member/membershipType?reset=1 ).

Membership types are the various membership categories that your organization offers. You can configure an unlimited number of membership types and set various options for each of them. Options include how they are used, the membership term period, and the dues amount. The below image displays the various options.

New Membership Type

Begin by defining the name of the membership type and a brief description. The name will be used throughout the system so be sure to choose it carefully. CiviCRM requires the membership type be associated with an organization record.

Having each membership type is connected with an organization gives CiviCRM the flexibility to handle multiple membership types with multiple organizations (or sub-organizations) within a single interface. For example, if your national organization consists of 6 regional chapters, each of which maintains membership records separate from the national membership, you can create membership types for each chapter membership and associate it directly with the chapter organization.

Continue through the membership type configuration by entering the minimum membership fee (zero if the membership is free), and select the contribution type. When a user or administrator logs a membership record in which a fee is recorded, CiviCRM will log a corresponding contribution record and assign the selected contribution type. In most cases you will select "Membership Fee" from the dropdown. You can create and modify Contribution types through the Administer CiviCRM tools.

Each membership type must have a duration value and period type selected. The duration value is the length of time for which the membership is valid (e.g. an annual membership has a duration of 1 year). The period type determines when that duration is measured from. A rolling membership is measured from the date it is entered in the system, whereas a fixed membership begins on a defined date. For fixed period memberships you must also identify the rollover date the point after which new memberships are entered as belonging to the next dues period.

Membership can be inherited from one contact to another which is useful in situations like professional trade organisations where the organisation is the member, but employees of the organisation receive the benefits of membership. Use the relationships dropdown to specify which related records should receive membership through the parent record.

You can restrict certain membership types (e.g. honorary, lifetime) so they can only be accessed by administrators and are not available to membership signup or renewal pages on your website, but are only to be managed by administrators. Use the visibility option to control who is able to access the membership type.

At the bottom of the membership types page you will find a block of information for managing renewal reminders. CiviCRM can be configured to send out a reminder email to members as the expiration date for their membership nears. This is particularly helpful for rolling membership types where contacts may join at any time during the year. To configure the renewal reminder you must first have setup a renewal email template through Administer CiviCRM » Message Templates.

The Atlantis State Public Transit Association (ASPTA) is useful as a case study for thinking about how to apply memberships.

aspta_logo

The Atlantis State Public Transit Association (ASPTA) has four membership categories it must configure in CiviCRM:

As the ASPTA CiviCRM administrator configures the membership types, she creates three separate types for the Regular Member category to account for the three dues levels. The duration is one year, beginning on January 1, with a rollover date of October 1. In this way she accounts for new members who join very late in the year and are not able to fully benefit from their membership—the membership extends through December 31 the following year.

In the relationship type dropdown she selects "employer of." All employees of regular member organizations are allowed to attend the annual conferences and training programs at the member rate, and receive mailings from the Association through their inherited membership. The Affiliate Member category is configured in a similar way.

Associate Members are people, not organizations, so the configuration is similar with the exception that no option is chosen for the relationship type dropdown.

Note that CiviCRM does not have the ability to connect a membership type to a specific contact type (individual, organization, or household). While we have structured the membership types according to the ASPTA category definitions, it will be important to train staff to enter records with the appropriate contact record (Regular and Affiliate with the organization; Associate and Honorary with the individual).

The last membership category is a little different than the previous. It is awarded to those who have retired from the industry and are recognized for their contributions to the organization. Membership is defined as rolling (beginning on the date of retirement), lasting for 1 lifetime (no expiration date), and it is not available to public access pages (only administrators can assign the membership to an individual).

Configuring Membership Status Rules

Having completed the configuration of the organization's membership types, you must now define the membership status rules. These are handled in: Administer CiviCRM » CiviMember » Membership Status Rules ( Drupal: http://siteurl/civicrm/admin/member/membershipStatus?reset=1 ).

At any point in time, your members will have a status identified for each membership record. The status provides information about the record, for example if it is current, new, expired, or in a grace period. Generally those status types are measured from the start or end date of the membership record.

CiviCRM will check the status rules for a membership record and update it accordingly when you create or edit the record. In order to take full advantage of the membership status rules, and to automatically send membership renewal emails you must configure your server to regularly update the status of your members.  This is done using CRON.  For more details, visit the online documentation: http://wiki.civicrm.org/confluence/display/CRMDOC/Membership+Types.

Membership rules are very powerful but can be involved to set up.   At its most basic, membership rules are based on a start time and an end time.  The start event indicates when the rule begins and the adjustment allows you to offset the start date. The end date works the same way, though it is not required.

The current membership checkbox is an important way to determine whether a certain status is considered "current" when viewing the CiviMember summary statistics for memberships. In most cases, the New, Current, and Grace status types are considered current.

When configuring the membership status rules, be sure to take note of the order in which they are listed. CiviCRM will process the rules beginning with the first and assign a status as soon as one matches.

ASPTA is most interested in identifying new, current, grace, and expired members. The status rules defined by default when installing CiviCRM will largely meet their needs, with a few modifications.

Once you have completed the membership configuration, you can use CiviCRM to track your membership records.

Managing Members

One of the greatest values CiviCRM offers is the ability to integrate an organization's administrative database with online forms in real time. No more duplicate data entry; no more convoluted efforts to synchronize multiple data sources; no more excuses to your Board of Directors and constituents—CiviCRM provides a single data repository for both administrators and online users.

While this functionality is experienced throughout the CiviCRM tool set, one of the most useful ways this is seen is in the membership management tools. In this section we will discuss the tools available to administrators as they manage members. You will learn ways you can expose membership signup/renewal pages and membership directories to your members and other website visitors.

Administering Memberships

Organization administrators will primarily work with membership records through the contact view. After finding the contact you wish to manage, click the Membership tab to view a summary of the contact's membership records.

Membership Tab

Membership records will appear in a list with active memberships (those with a current status) first and expired or canceled memberships below.

From this interface the administrator can edit existing membership records, renew a membership, or create a new membership record. If you have configured an online credit card payment processor for use in CiviCRM, you will see two options for creating or renewing a membership—one for handling an offline record (no real-time transaction taking place), and one for handling an online record (real-time credit card transaction takes place). The interface for each process is very similar, with the exception of the available payment processing and recording options.

After choosing to create a new membership, you are taken to a form where you complete details regarding the record.

New Membership Record

Many of the fields on this page will be auto-completed if left blank. This includes:

The status override field is used to manually define a status for the record. As indicated by the title, it overrides the automated status calculation. You should use caution with this field as setting it will disable the automated status function for the record.

Recording Payments

The Record Membership Payment checkbox expands the membership payment and receipt block and provides you an opportunity to record payments associated with the membership record.

This also introduces an important concept central to CiviCRM's membership function. Membership records in CiviCRM are independent of, but can be related to, a financial transaction. While this may seem confusing to organizations accustomed to viewing membership records as essentially a financial transaction, it offers an important and valuable distinction.

A membership record communicates the contact's relationship with the organization. A corresponding financial transaction indicates the monetary value associated with that relationship. While related, the two are distinct. The distinction is best understood by considering two scenarios:

CiviCRM respects this distinction by recording the Membership record under the Membership tab, and the financial record under the Contributions tab, and then creating a link between the two records.

Membership + Contribution 

By clicking the Record Membership Payment checkbox and completing the transaction fields that are then displayed, you are building these two associated records. After recording the membership, you will be able to view the membership record and see the related contribution record at the bottom.

View Membership Record

Renewing Memberships

Naturally you expect your constituents to not only join your organization, but to maintain their membership on an ongoing basis through renewals. CiviCRM anticipates the renewal process and simplifies how that transaction takes place.

Returning to the contact's membership tab you will see the option to renew an existing membership record. The renewal process does two things:

Compare the screenshot below with the one above. Note that the end date has been extended by one year, and there is a second contribution record listed below the membership details.

viewmembership_renewed.gif

Because the renewal process is an extension of an existing membership record, CiviCRM locks certain fields related to the record, such as the join date and membership type. In addition to protecting against inadvertent data changes, it also helps to streamline the administrative process when recording renewals. If your constituent is moving from one membership type to another, you would need to create a new membership record, distinct from the existing one. In this way you develop a membership history for the member.

Signup/Renewal Pages

Membership signup and renewal pages allow website visitors and existing users to manage their own membership.  Membership signup and renewal pages can be connected with a financial contribution, which means you can use CiviCRM to process membership contributions.

CiviCRM thinks of membership sign up pages as a type of Contribution Page (even if there is no associated contribution). So to create a sign up page, you need to create a contribution page.

Select Manage Contribution Pages from the CiviContribute menu in the sidebar, or click Administer CiviCRM » Manage Contribution Pages.

Manage Contribution Pages displays a list of existing contribution pages. To create a new page, click the New Contribution Page button.

In this example, we will focus on some options in the contribution page setup wizard which are most likely to be used for a typical membership signup/renewal page.

aspta_logo

The Atlantis State Public Transit Association's (ASPTA) Membership Committee would like to begin a focused outreach to non-member public transit systems (Regular Member category) and non-member businesses working in the public transit industry (Affiliate Member category). They also would like to allow their members to renew online and pay through a credit card.

To accomplish this, they will create a membership signup/renewal contribution page. The membership join (signup) page will be available to all website visitors. The membership renewal page will be visible to members after they login to the members-only section.

ASPTA has decided that it will not provide signup and renewal pages to Associate members at this time.

1. Title and Settings

Title and Settings is the first step in the contribution page setup wizard. An important setting affecting memberships is the Allow individuals to contribute and / or signup for membership on behalf of an organization checkbox.

People (not organizations) visit websites, so CiviCRM assumes by default that any interaction is done through an individual's contact record.  This becomes a problem if your membership categories are organization based. To address this, CiviCRM allows you to select this option and permit an individual to act on behalf of the organization they represent. The membership record will then be attached to the organization's record—not the individual's. After checking the box, you can add descriptive text and select whether the signup on behalf of an organization is optional or required.

Membership Signup, Step 1 

2. Contribution Amounts

The second step of the wizard allows you to configure details related to the financial transactions for the contribution page. If you have configured a credit card transaction payment processor in CiviCRM, you will be able to execute real-time transactions through this wizard page.

In this example, we are building a contribution page for membership signup and renewal only, so we will uncheck the Contribution Amounts section enabled checkbox. (This hides the section which allows you to solicit extra financial contributions, in addition to the membership fee.)

In addition to executing real-time transactions, you can allow constituents to make make offline payments through the Pay later option. The pay later tool is essentially a commitment on the part of the user to become a member and pay by check or cash at a later date.

Membership Signup, Step 2

3. Memberships

The next step in the contribution page setup wizard is specifically related to memberships. Check the Membership Section Enabled checkbox to show two sets of title/introductory message fields, one for new memberships, and the other for membership renewals.

CiviCRM will display the title and introductory message for new memberships if the website visitor is not logged in. If the user is logged in and has an existing membership record, then CiviCRM will display the title and introductory message for renewals. Joining the organization creates a new membership record, while renewing membership will update the member's existing record and extend their membership end date.

Administrators should be aware of potential confusion and duplicate records if an existing member uses a membership join page without having first logged in. CiviCRM will make an attempt to match the user with an existing contact record, but any variations in the name or email address will cause a new contact record with corresponding membership record to be created.

You may want to provide guidance in the introductory text on your membership join page to encourage members to login before completing the form. By logging in first, existing members can ensure that the transaction properly interacts with their contact and membership record.

Toward the bottom of the Memberships wizard page are some additional options:

ASPTA selects the three Regular membership categories and the Affiliate category for display on this form, and leaves the default options unselected. This contribution page will only be used for membership signups, so membership type is set to be a required field. Fees will be displayed on the form for site visitors to view.

Membership Signup, step 3

4. Thank-you and Receipting

After the site visitor completes the membership signup or renewal form, they will be redirected to a thank-you page and can have an email receipt generated and sent to them. This fourth step in the wizard allows you to configure those options.

5. Tell-A-Friend

Organizational growth and development is increasingly built through viral social networking mechanisms. CiviCRM allows you to add a tell-a-friend feature to the thank-you page. The page lets your members share details about your organization with their friends by emailing them a link and information.

6. Include Profiles

The concept and usage of profiles is central to much of CiviCRM's interfacing with website visitors. In short, a profile is a collection of data fields that are used to obtain information from visitors or display data to visitors. If you are not familiar with the creation and function of profile sets you should read up on this.

Profiles are critical to the effective function of membership signup and renewal pages. By default, contribution pages will only include an email field (required), in addition to the membership and contribution amount fields. Organizations almost always expect and require additional contact information to be collected as part of the membership signup process. On this sixth step of the contribution page wizard you may select an existing profile(s) for inclusion on the form.

Forgot to define custom data fields or configure a profile before creating your membership contribution page? Don't worry—you can continue with the contribution page wizard and come back later to assign a profile to the page.

7-9. Premiums, Campaign Widgets, Personal Campaign Pages

Premiums are thank you gifts and incentives offered to organization contributors. They are most commonly associated with tiered donation levels, though they could be created for use with memberships. Before including premiums on a contribution page, you must configure them through Administer CiviCRM » Manage Premiums. Step 7 of the contribution page wizard controls the introductory text, contact information, and other premium-related details.

Campaign widgets (Step 8) are used for displaying fundraising goals, and are not typically applicable to membership signup/renewal pages.

The final step (Personal Campaign Pages) are also geared toward fundraising efforts and are not applicable to membership pages.

Publishing your membership signup/renewal page

After completing the contribution page wizard you return to the listing of pages where you will find the page you've just created. You can now view the page, test the functionality, or return to the configuration options and make adjustments.

At this point you've completed the contribution page but have not made it visible or available to website visitors. Depending on the environment in which CiviCRM is operating, this will be accomplished in different ways.

After completing configuration of their membership signup-renewal page, ASPTA creates a menu link to expose the form and begin their online membership recruitment effort.

Membership Signup Page

Searching and Reporting

CiviCRM provides several tools to help you obtain a quick snapshot of your members and search through your members based on various criteria.  From the main sidebar menu, select CiviMember to view the membership dashboard page. This page contains two blocks of information providing a summary of your membership categorized by type and date range, and a list of recent member activity.

CiviMember Dashboard 

All of the summary numbers are hot-linked, allowing you to drill down and view a list of members who have joined or renewed over the last two months, the year-to-date, or are considered current according to the membership status definitions.

The Find Members page displays a series of searchable fields to help you segment and locate membership records. It is important to note that searching using this tool will display a list of membership records. So if a certain contact has multiple membership records meeting your search criteria, the contact will be duplicated as all their membership records will be displayed. This is in contrast to the advanced contact search tool which displays one row per contact (i.e. there would be no duplicate listed, even if a contact had two membership records meeting the search criteria).

Toward the bottom half of the form are a series of date range fields. The left column indicates the From value and the right column the To value so you can narrow down searches to between two particular dates.  If you are interested in membership records before a certain date, only use the to field.  Conversely, if you are interested in membership records after a certain date, only select the from field.

At the top of the search result set is a shaded block with tools to take action on all records in the result set or those selected using the checkboxes in the leftmost column.

Member Search Resultset 

The actions are as follows:

Email Communications

The last decade has seen a remarkable shift in organizational communication methods away from postal mail and towards the use of the internet and broadcast email as a primary means of communicating with constituents. This reality is particularly true for non-profit organizations who have found email a faster, more effective, and lower cost way of communicating with their contacts.

CiviCRM provides broadcast email capabilities through the CiviMail component. The central benefit CiviMail offers is the opportunity to manage your mailing contact list in conjunction with your contact database. Unlike other solutions, you do not have to transfer your mailing list from one system to another or manually update your primary contact database to reflect optout and unsubscribe requests. CiviCRM presents a unified solution toward contact email capabilities.

Methods of sending Emails

There are two ways to send emails using CiviCRM.

1. Emails can be sent directly to a single individual or group of individuals collected through search results. Emails sent through the contacts screen or search screen are recorded in CiviCRM as activities and can be saved as templates.

2. Emails can be sent through the CiviMail component tools.

CiviMail

CiviMail is a more advanced way to send mass emails and should be used for larger scale mailings. The CiviMail tools will help you manage your mailing list by: allowing recipients to subscribe and unsubscribe; placing bounced emails on hold; providing ways for users to optout of mailings completely (in accordance with the United State's CAN-SPAM act).

Using track-back mechanisms, CiviMail also provides feedback on how your emails are being used and whether they are received and opened. For example, if you send an email to your contacts and the email contains a link, you will be able to review how many people clicked the link to open it and who those people were. This is a tremendous value when trying to assess the success of your email marketing programs.

The disadvantage of CiviMail over the simple contact and search based email function is that it requires more work for the initial configuration and requires more steps for sending out emails.

warningNote that CiviMail has specific server requirements that are necessary in order to take advantage of the full functionality. In some instances you may require professional assistance setting up CiviMail or you may find that the web hosting provider you are using does not meet the CiviMail configuration requirements. Please review the requirements and documentation online before attempting to setup the system: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviMail+Configuration

Setting up Email Templates

Whether you are using simple contact and search-based email or CiviMail, there may be consistent layouts or content pieces that you wish to use repeatedly in your emails. For example: the Wellington Circus Trust often has people who have registered online for a class but who have not completed their registration by submitting payment. Some are simply slow in paying whereas others have changed their minds about taking the class. Obviously this makes it difficult to determine in advance how many people are going to attend the event. To address this, the organization sends out a standard email on a regular basis to all people with pending events registrations, requesting confirmation. This standard email is consistent from one event to the next.

Rather than write that email every time they need to request confirmations, they have created it once and saved it as a template. To create or edit a template go to Administer CiviCRM » Message Templates.

MWSnap028_1 

Note that the message title is only for internal use (template selection) whereas the message subject is what the recipient sees.

CiviMail will allow you to create both a text and an html-based message for your emails. Templates can contain both versions of the email or just one. Templates may also be created or updated at the time you prepare a new email. After developing your email content you have the option of saving the email as a template before you continue to the next step in the mail "wizard".

Tokens

You may notice in the screenshot above that the very first line contains text that is surrounded by curly brackets. Text that appears in this way is called a token. Tokens present one of the most valuable features in CiviCRM's mailing tools. A token represents a field (predefined or custom data) or action, and is replaced by the appropriate value at the time the email is sent out. The example above uses the first name contact token in the salutation. For each contact that the email is sent to, the token will be replaced with their first name. For example: if the email is sent to Richard Richards, the first line will read: "Hello Richard." There are dozens of tokens available and each has its own unique functionality. To view the list of available contact and action tokens visit:

Only contact fields and actions can be inserted in your email as a token. Related records, such as the name of the event that they have a pending enrollment for, cannot be included. However, you could provide a link to the person's contact dashboard so that they can review their registration details for themselves (once logged in). 

In most mailing interface pages the list of available tokens will be displayed above the mailing content block. Here, they can be inserted directly into the content by clicking the desired token. This greatly simplifies the token insertion process.

The checksum token

There is one contact token with unique qualities, the checksum token {contact.checksum}. The checksum token allows you to send an email to your constituents with a link to a contribution page or profile that has their contact information already filled in. This saves contacts the hassle of logging in or completing the form from scratch, and can increase the chance they would respond to the email by contributing or reviewing the details provided on the screen.

To use this functionality, you will need to create a "special" link in the CiviMail message that includes the checksum token {contact.checksum}. When people click on the link it looks them up in the database and prefills any information on the contribution page or profile form with any data that exists in their record. The special link lasts for seven days from the time it was sent out. For more information on how to create links with checksum tokens, visit: http://wiki.civicrm.org/confluence/display/CRMDOC/Mail-merge+Tokens+for+Contact+Data

Email Formats

As noted earlier, the email content page includes one field for entering a text version of your message and another one for entering an HTML version. Which version is sent depends on the individual's preferences as configured in their contact summary screen. The relevant part of the screen is displayed below.

commpref 

The default setting for email format is "Both", which means that the email that you send will use a multi-part mime type, and the email will contain the message content for both the text and html content fields. This also means that which version the recipient sees will depend on the settings they have chosen in their email client application. If the email format is set to HTML they will receive the email content you have entered in the HTML field. If you have not entered HTML content they will receive the content from the text field.

Note, however, that if the contact's Email Format is set to "Text" and you leave the text content field blank, the contact will receive the html version of the email but it will not be displayed nicely. Their email client may display a lot of extra characters and information making it very hard to read. It is advisable to copy the content into the text version of the email unless you know it is not required. You should also think carefully before changing someone's email format to anything other than Both as this is usually the best setting.

Writing HTML Emails

Formatted emails are called html emails because they use the Hyper Text Markup Language for formatting. Fortunately you don't need to know HTML markup (unless you want to), as CiviCRM offers two WYSIWIG editors that use common toolbar buttons to control the layout. "WYSIWYG" stands for What You See Is What You Get and it is commonly used when referencing graphical editors that allow you to work with visually formatted text rather than the code that is actually used to achieve the formatting. The two WYSIWIG editors that are included with CiviCRM are called FCKEditor (the default) and TinyMCE. You can choose which one you want to use under Administer CiviCRM » Global Settings » Site Preferences. Both WYSIWIG editors are well-used Open Source Software and have their own websites and forums which you can consult if you wish to use advanced configurations such as replacing the default styles in the drop-down boxes with your own styles.

fckeditor 

FCKEditor

tinymce

TinyMCE

The interfaces of the two editors are pictured above. They are intended to be fairly self-explanatory and if you hover over a button information about what it does will appear. There are two buttons of particular interest in this environment:

Sending Simple Emails

A simple email can be sent to an individual, a search result set, or to a group. In any of these cases, details of the email are added to both the sender's and recipient's activities tab record. This provides a valuable way of recording communications for future reference and/or for developing an audit record.

Simple emails are generated in the following ways:

Note that the simple search tools are intended for low volume mailings, both because of the scalability of the sending mechanism and the way the emails are tracked for each contact in the system. Using the simple search for very large sets of emails may create unnecessary overhead on your server and add unnecessary records to your database. In addition and of equal importance, sending high volume emails via this method may cause your organization to wind up on an email "blacklist", which is definitely something to be avoided.

CASE STUDY: Sending Email to contacts found in Search Results

Wellington Circus Trust hosts several workshops for people interested in developing circus-related skills. People are allowed to register online with the option of paying later. Unfortunately, giving people this option often results in many registration records with pending status either because individuals often take their time submitting payment or they decide, after all, not to attend.

Begin by navigating to the Find Participants menu option (CiviEvent » Find Participants), select "pending" from the Participant Status field, and click Search.

findparticipatns 

In this case, the search returns two contacts. You can either Send Email to contacts directly or if you plan on reusing the search result you can create a New Smart Group. For the sake of this case study we will simply initiate the mailing.

After choosing "All 2 records" we will select "Send Email to Contacts" from the action dropdown and then proceed with creating and sending the email.

Composing and sending the email

The Send Email page is where you will construct the content of the email. Note the following:

sendsimpleemail

 After completing this form, click send and the message will be sent immediately.

Preparing Broadcast Email in CiviMail

CiviMail performs the same basic functions as the simple mail tools with the following additional features:

When compared with the functionality and workflow of the simple mail tools, CiviMail is clearly more robust and complex. It is directed toward larger broadcast mailings where tracking, bounce handling, and more advanced recipient selections are required.

As noted earlier, it is important to understand that CiviMail has certain server requirements and additional installation steps that must be completed before it can be used. This includes configuring bounced email processing and scheduling "cronjobs" on your server to trigger mailings. Please review these requirements thoroughly and consider seeking outside help if you are unable to complete the configuration steps. You can find more information here: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviMail+Installation

Configuring CiviMail Settings

Before using CiviMail you must configure Mailer Settings and a Mail Account on the Administer CiviCRM page.

Note: After sending your first email using CiviMail, please monitor the process carefully using the mailing report tool. If you notice a significant number of bounces, it is likely that your server is rejecting emails because you have exceeded the maximum limits per hour. If this is so, you will need to adjust the mailer settings to limit how many emails are sent per hour, or how many are sent per batch.

Also note that the Return Channel functionality is not a required feature. If you choose not to implement one of the Return Channel solutions you will continue to receive bounced emails, but they will not be processed by CiviCRM automatically. Also, if you do not configure a return channel, replies from the recipients CiviMail will not go to the sender of the mailing and will instead end up in your email domain's catchall account.  You must also be sure to use the unsubscribe and optout url tokens—as opposed to the email tokens, as your system will not be able to process the emails unless a Return Channel solution is functioning.

The CiviMail wizard

We will now review the five step wizard used to create and send a new mailing and discuss the features on each page in more detail.

1. Select Recipients

CiviMail uses a series of include/exclude field sets to construct logic for the recipients list. The first pair of field sets is used to select groups that should be included, and groups that should be excluded, from the mailing. The second set of field sets is used to include and exclude contacts from previous mailings. The primary value of this logic-based layout is the ability to send mailings to contacts and exclude those that may have already received the mailing.

For example, consider a situation in which you need volunteers to help with a fundraising event. You have already sent out an email to the contacts in your "Volunteers" group but having not received enough replies has prompted you to send an email to all newsletter subscribers. You don't, however, want to re-send the email to the Volunteers who have already received it, but a few people have been added to the volunteers mailing group since you last sent the email, and you do want them to receive it.

Complicating the matter is the fact that there are a few people in your database who helped with last year's event but proved very difficult to work with. You've added them to a group called "Hard to Work With" and you would like to exclude them from the mailing to discourage their participation. Finally, you want to include contacts from the "Trustees" group, some of whom are not in the newsletter subscribers group.

This fairly complex set of mailing recipient requirements can all be accomplished using the logic rules in CiviMail.

civimail1 

Note that the name of the mailing defined toward the top of this page is used for internal reference, and should be descriptive of the mailing.

The CiviMail recipients selection mechanism is heavily dependent on groups. You will need to make sure your desired recipient list is defined in a group prior to initiating the mailing creation process. If you are not familiar with how regular and smart groups are defined and configured, please take time to research that further.

When you create and configure groups, be sure to select "Mailing List" from the available Group Types list if you would like that group to be available to the CiviMail component.

grouptype

Using the recipient selection options shown above, someone who is in both the Trustees and the Newsletter Subscribers lists will only receive the e-mail once. If however, they are in a group that is excluded they will not receive any e-mails. Exclusions override inclusions, so Trustees and Newsletter Subscribers who received the Please Help with Our Annual Fundraiser email would be excluded from this follow-up mailing.

If two different people are included in the mailing and they have the same email address the email will be sent twice to that email address. Any personalisations that you use (e.g. putting in the person's first name using a token) will be specific to each recipient.

2. Track and Respond

The second step in the mailing wizard controls tracking and response options. Tracking is the system whereby CiviCRM seeks to determine if the recipient has clicked any links included in the content of your email, and whether they opened the email on their computer. If you have enabled these two options in this second stage of the wizard, you will be able to view a report at the conclusion of your mailing in which summary details about your mailing are listed, including the number of click-throughs and tracked opens. A sample summary report is displayed below.

summaryreport

The summary report provides totals for each statistical category. The items in blue are hot-links which when clicked direct you to additional details about the statistics. The Tracked opens field gives you reasonable insight into what proportion of your audience read your email, but should not be viewed as a definitive measure. People who only read your email in their preview panel or who choose not to download images will not be recorded. Thus it is likely that the true number of people who read your email is probably more than that reported.

Click-throughs refer to the number of times people have clicked on links embedded in your emails. The detail report breaks this down further for you into unique clicks (i.e. if one person clicks on one link more than once there are several click-throughs but only one unique click-through). The screenshot below is from a real mailing distributed by Wellington Circus Trust. As you can see from this report you receive more information about the success of your email communications if you adopt a strategy of including a teaser in your emails with a link to the full story. A teaser is an enticing introduction to a topic with a link to read more about it on your website.

clickthroughs

Additional details about the specific contact person are also included in this report.

The Responding section of the second wizard step provides options regarding reply forwarding, auto-respond, unsubscribe, resubscribe, and opt-out messages.

Anyone who has managed a mailing list knows the significant challenges involved in maintaining an accurate and updated mailing list. There are several ways you can use mail-enabled groups in CiviCRM to ease the creation and management of mailing lists, and to configure CiviMail to automate the removal of contacts from mailing lists or completely opt-out of all mailings.

Generally, if people do not wish to receive emails from you they can either Unsubscribe (remove themselves) from a specific mailing group or they can Opt-out to indicate that they don't want to receive any further emails from you. You enable them to do this by including action tokens in your mailings.

The easiest way to accomplish this consistently is to create a footer that contains the necessary action tokens and can be included with your broadcast emails. Footers are handled through the Administer CiviCRM » Headers, Footers, and Automated Messages page. The footer should include either the opt-out URL or email, or the unsubscribe url or email. If you are using the URL formats, understand that the action token creates the actual URL value. For the HTML version of the footer you will want to use the HTML "<a href" tag to construct a hyperlinked text-friendly link to the opt-out and unsubscribe email or URL.

Note: CiviMail requires the inclusion of the opt-out url or email token and the domain address token:

Opt-out is the more powerful of the two mechanisms, as it indicates the user does not wish to receive any emails from you—not simply be removed from a certain mailing list group. CiviMail will never send emails to contacts who have chosen to opt-out (although you can send them simple emails if you wish).

If someone has opted out of a mailing group (mailing list), their groups tab will show that they have removed themselves from the group. In this screenshot the person has unsubscribed from the group by email.

group_unsubscribe

If a person Opts Out  it will show up in the Communication Preferences of their Contact Summary Screen.

commpref2

Whereas unsubscribe and opt-out actions are triggered by the contact, bounce holds are handled automatically by the system. A bounced email causes a hold to be placed on the contacts email address. The emails remain in your database but further emails will not be sent to them until the hold is released. Depending on the cause of the bounce failure, CiviCRM may place the hold on the email immediately (as in the case of an invalid email address) or it might record the failure and place the hold if the email address keeps failing (for example if the mailbox is full or it cannot reach the email domain; three failures of these potentially temporary kind will trigger the hold). It may be useful for you to create a smart group of contacts whose emails are on hold. That way, you can try to get their correct email address through other communication channels.

email_hold 

3. Mailing Content

Having selected your recipients and configured tracking and response settings, the next step in constructing your mailing is to develop the content. The interface and options available are very similar to the simple email tools discussed earlier in this chapter, with a few important differences.

CiviMail provides you with the flexibility to create your content on-screen using the WYSIWYG editor or to upload content from a file. The ability to upload content is important if you are developing an email that has more advanced styling or layout, and is more easily constructed in design software. 

  content_options

Another feature unique to the CiviMail tools, as introduced earlier, is the ability to select a pre-configured header and footer for the email.

headerfooter

Whether you are creating the content for the mailing using the editor or are uploading the content from a file, there are several things you should consider:

Once you are satisfied with the email content click Next to advance to the fourth step in the wizard. Don't worry—you will be able to preview and test your email, and then return to this page to edit content if you need to.

4.  Test

The fourth step in the email creation process is where you preview and test your mailing. Toward the bottom half of the page is a "Preview Mailing" block title which can be expanded to view the email content. The top half is where you can initiate test emails. The interface and options are very straightforward: you can either send to a single email address or to a predefined group.

Testing the actual email—not simply previewing it—is a very important part of the mailing process. It is strongly recommended that you create a group that will be used for testing. The group should include email addresses representing one of each of the following different types of email environments, if possible:

Depending on your use of email and the nature of your constituents, you may also want to test emails on a PDA.

previewtest 

While it may seem tedious to test email in so many different environments and software, it is worth the effort to identify any layout and styling issues that are problematic in those different settings. You may find that once you've defined several well-formed templates and are more familiar with the use of CiviMail that testing on all of those environments is not necessary. But early in your use of the mailing functions it is worth the effort.

As you test your email, you can seamlessly transition back and forth between the previous content-creation page and the preview/test page. Once you are finished with testing click Next to advance to the last stage in the mailing wizard.

5.Schedule or Send

The final step in your mailing process is to send the email immediately, or to schedule it for a date and time. The ability to schedule the mailing for a date and time is particularly helpful if you prefer to run the mailing during off-hours in order to limit impact on your server resources.

If you are using scheduling to time delivery around a certain event, be aware of two things:

sendschedule 

Once you've completed these settings, select "Submit Mailing" to complete the process.

CiviMail will display the mailing scheduled time, actual start time, and when it is completed. Once the mailing has started, you will see two actions that can be taken on the mailing: report and cancel. Selecting report will show you statistics for the mailing as outlined earlier in this section. Cancel will stop the mailing immediately.

Reviewing Past, Scheduled, and Draft Mailings

CiviMail maintains records for all past and scheduled mailings which can be viewed and searched for on the main CiviMail page or through the "Scheduled and Sent Mailings" submenu page. The main CiviMail page also includes unscheduled (incomplete) mailings.

You may have noticed that on each page of the mailing wizard there is an option to Save and Continue Later. If at any time during the mailing preparation process you choose to stop with the intent of continuing later, you may click this button. CiviMail will save the mailing settings and allow you to continue the process at a later date by accessing the "Draft and Unscheduled Mailings" submenu page.

If you become a heavy user of CiviMail you will quickly find the list of sent mails to grow quite long. The searching capabilities are useful for finding emails, but if you generate many emails with similar titles (such as "Newsletter") you may still find it difficult to locate specific mailings. CiviCRM provides the ability to archive sent mailings, removing them from the list of sent emails. Once archived you can access them through the Archived Mailings submenu page.

Another commonly used feature is the ability to reuse mailings. From the list of completed mailings you will see a "Re-Use" option in the action list. Selecting this will create a copy of the mailing and allow you to walk through the wizard, editing it to suit your needs.

Postal Mail Communications

It's often thought that in the 21st century there is no longer a need for old-fashioned snail mail.  But you can't send everything over the internet, and if your constituents aren't online - or don't want to be - then postal mail is still an effective and crucial communication tool.

This chapter discusses the different ways that CiviCRM helps with postal mail and post mail campaigns. You should have a strong understanding of CiviCRM's search features as well as custom fields, activities, profiles, and how to perform mail merges using word processing software.

Planning Your Mailing

Before beginning any communication program, take the time to identify goals and plan the process steps. For our purposes, there are a few key questions to ask before you sending out postal mailings.

Tracking

For many organizations, its important to track the recipients of a mailing. Knowing who has been appealed to is a key part of your interaction with contacts.  It is also useful for reporting success and return rates of a mailing used as part of a fundraising, membership development, or event promotion campaign.

There are a couple of ways to track recipients of a mailing:

recordactivity

Note: You may create additional activity types through Administer CiviCRM » Activity Types.

Tools for mailings

CiviCRM provides two tools that are useful for creating mailings: export contacts and mailing labels. The Mailing labels tool is useful to quickly print out standard address labels when you don't need to personalize their content.  Export contacts is useful for creating mail merges and when the standard mailing labels don't provide the information you need.

Greetings and Salutations

An important part of a postal mailing is including a salutation that is personable and friendly. Many people also prefer to be greeted in a special way if they are a doctor or esteemed person like a politician. Every individual record can have a prefix (Ms., Mrs., Mr., Dr., etc.), suffix, and a Greeting Type. 

Important: The greeting type field does not actually merge and export the data values for the selection (e.g. "Dear John"). Rather it exports the option selected (e.g. "Dear [first]"). It is only there to help you know how to perform the mail merge once your list is exported into a spreadsheet. Alternatively, if you select Customized Greeting under Greeting Type a new field appears where you can manually enter a greeting that will be exported and can be mail merged.

There are other options for handling greetings that you should be aware of:

Mailing Tactics

Once you have identified who your mailing recipients are, how you will track them, and how you are going to handle greetings and salutations, it is time to begin your mailing!

Creating Your Mailing

  1. The first step is to run a search of who you intend to send the mailing to. Sometimes this may be your entire database.
  2. From the search results screen you will see a More Actions dropdown menu that allows you to, among other things, export the list as a CSV file. As you export to a spreadsheet, you can determine which fields you want to export to your spreadsheet and optionally save the list of exported fields as an export mapping template. Export templates are very useful if you run similar mailings very frequently and you have a defined set of fields you use every time. By default, CiviCRM will export a contact's name, contact information, email and phone, list of their groups and tags, current employer, and much more.
  3. Once your spreadsheet is created, you can do a mail merge using popular word processing software that will insert fields you want into the letter. For mailing labels, perform the same search as in step 1 above but under the More Actions menu, choose Mailing Labels (see the screenshot below). Then select the mailing label number, determine if you want to exclude people with "do not mail" checked in their privacy options (checked by default and recommended), and whether you want to merge two records in your search result with the same mailing address into one label. This last option is very useful when sending a mailing to a household or organization where you don't want them to receive duplicate mailings. When the records are merged, each name at that address is one line on the label.

mailinglabel

TIP: many nonprofit organizations in the United States need to sort recipients of a mailing based on zip code for bulk mailing purposes. If this is true for your organization, it is recommended you do not create your mailing labels within CiviCRM and instead create them using a word processor where you can control the sort order. You can reuse the same spreadsheet for your mail merge you exported in step 2 above.

Fundraising Mailings

The steps above are useful for generalized mailings but many nonprofits have specific types of mailings such as thank you letters, renewal letters, and general fundraising appeals. The following tips and notes provide suggestions for how to handle those types of mailings.

Free Software?

CiviCRM is Free Software - this means it is developed by a community and licensed in a generous way so you can use it for free for whatever you want.

Free Software (sometimes also referred to as Free and Open Source SoftwareFLOSS, FOSS, Software Libre,  or Open Source) is software that anyone can download, share, and -- significantly -- change in any way they want. Practically speaking, you might never want to change the software, or even have a staff person who can read the source code (the instructions written by programmers). But the ability to change the software protects you in many ways:

That may be enough for you, but for the sake of completeness we'll offer some widely used definitions:

"Free software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and that manufacturers of consumer-facing hardware allow user modifications to their hardware. Free software is available gratis (free of charge) in most cases."
(from: http://en.wikipedia.org/wiki/Free_software)

"Open source software (OSS) is defined as computer software for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that meets the Open Source Definition or that is in the public domain. This permits users to use, change, and improve the software, and to redistribute it in modified or unmodified forms. It is very often developed in a public, collaborative manner."
(from: http://en.wikipedia.org/wiki/Open_source_software)

Nearly any software that qualifies as free also qualifies as Open Source, and vice versa. The main reason that two different terms exist is that "free software" emphasizes the freedom aspect (that you aren't under the control of the original programmers) whereas "open source software" emphasizes the convenience and potential for innovation provided by having the source code available.

When you install and use CiviCRM, you'll notice there's no annoying click-through software license imposing a thousand things that you can or cannot do with it. That's because free software doesn't limit your right to do with the software whatever you want. Free and open source software have licenses, but they're simpler than and quite different from proprietary software ('closed software') licenses. CiviCRM itself is available under Affero General Public License version 3.0, one of the popular free software licenses used by many other projects.

Free Software and non-profits

Explaining all of the possible considerations on using FOSS in non-profit and advocacy work might take a really long time, so let's focus on the most important highlights:

Apart from the quite practical advantages listed above, there is also a more philosophical approach to answering the question of importance of FOSS for non-profits and advocacy organisations. Without getting too deep into philosophical discussions, there is a great overlap between values shared by non-profit organisations and these shared by Free and Open Source Software communities. By working with the community of users, providing your feedback, contributing your changes back into the project, you're actually strengthening the non-profit sector.

Further Reading

Free Software Foundation
http://www.fsf.org/

The Free Software Definition
http://www.gnu.org/philosophy/free-sw.html

Open Source Initiative
http://www.opensource.org/

The Open Source Definition
http://www.opensource.org/docs/osd

GNU Affero General Public License v3
http://www.opensource.org/licenses/agpl-v3.html

Choosing and Using Free and Open Source Software: A primer for nonprofits
http://www.nosi.net/projects/primer

Bug Reporting

There will be times when you use CiviCRM - as there are when you use any software - when things don't work the way you expect them to.

When this happens, a good first step is to search the forums for similar problems and follow advice given there.  If your problem hasn't been addressed, posting to the forum is probably the right thing to do.

Have a look on the forum for good posting guidelines and spend a bit of time writing your post. Make sure you are detailed and specific about what software you are using, what you are trying to do and how you are trying to do it. For example letting people know the url you are using (with any confidential details removed) may cause them to realise that you are configuring the wrong page. Unclear posts are less likely to get good replies.

What causes problems with CiviCRM?

Check the following possible sources of problems before you report something on a forum. You can save yourself and a lot of people trouble by isolating the problem. CiviCRM forums try to be friendly and don't criticise you for misjudging a problem, but you'll certainly get more help and resolve problems faster by doing some checking of your own first.

Recreating your problem on the demo site

Recreating your bug on one of the demo sites helps determine whether your problem is a result of a bug in the source code, or as a result of changes on your site, such as your server setup or any customisations you've made to the code. If you can show us that the code on the demo site turns up your bug, it's very likely that the CiviCRM source code is the problem, and your demonstration will help us find and fix it.

Still, no demo site can cover all possibilities. So even if you can't reproduce your bug there, it might still be a bug in CiviCRM. It is, however, probably triggered by your server setup or other customisations.

Write to the forum and explain the problem you are experiencing. If the bug was reproduced on the demo site, describe exactly what you did there. If not, include as much information about your server setup as you feasibly can. Configuration files from the web server, CMS, and CiviCRM will be valuable.

If the forum suggests you discovered a bug in CiviCRM, you can report it to the CiviCRM bug tracker (http://issues.civicrm.org/jira/browse/CRM).

Using older versions of CiviCRM

If you are using an older version and the problem you are experiencing is a bug that has been fixed in the lastest release, be prepared for the answer that it is time to upgrade to the latest version. Although the CiviCRM community tries to be as helpful as possible, and we recognize that upgrading puts a burden on your organisation, it is difficult to support multiple versions simultaneously.

Fixing bugs

The amount of time taken for the bug to be fixed depends on the severity and complexity of the bug.  It could be as quick as the same day, but it could take much longer.

To get bug fixes, the easiest way is just to download and install the latest revision of CiviCRM. Downloading bug fixes between releases and fixing ('patching') your existing software is possible, but it's a more involved process and depends on your technical ability and server setup.

Extending CiviCRM

So you want do something that isn't currently possible in CiviCRM. The first question to ask yourself is: Are you sure it isn't possible? CiviCRM is a sophisticated software package and much of its functionality isn't immediately obvious.  It might be that CiviCRM can already do what you want it to.

A great way of finding out whether something is supported is by writing - and getting feedback on - a use case. A use case is a story that documents the experience of performing a specific task.  When you write a use case, avoid technical or database specific language like "field" or "record". Instead, concentrate on your real-world objects and scenarios.

There are numerous ways to get feedback on your use case.  Talk to other CiviCRM users, show them the use case and ask them how they would do it.  Try talking to people in person, on the forum, or on IRC.

Be flexible in how you think about your organisations processes, and how you use CiviCRM functionality.  Maybe what you want can be done but in a different way to how you imagined you would do it.

If your use case isn't satisfied with current CiviCRM functionality, it might be time to start creating it.

Good practice for developing with CiviCRM

CiviCRM is open source and you can freely modify the source code.  If you or someone you know has the knowledge, there is nothing to stop you downloading the code, modifying it, and running the new code at your organisation with little or know communication with the CiviCRM community.  However, there are a few reasons why working like this isn't a great idea.  The more you communicate with the community the higher the chances of success for your project.

If you do change CiviCRM's source code, that is when it is most important to develop your code in co-ordination with the rest of the CiviCRM community.

If you don't, then you'll find upgrades become cumbersome as you'll have to individually check and rewrite any customisations.  That can be non-trivial, especially if you don't know understand the significance of the changes in the newest version.  It's easy to say that you won't need any new features - that CiviCRM is feature rich enough for you - but what happens when the community has implemented new features that your clients would like, or has solved the same problem you solved?

In contrast, if your changes are developed as part of the wider development process, the complex integration and testing work is done as part of the development process.  And you'll benefit from the experience of the entire CiviCRM community in your developments.

Another reason for developing in co-ordination with the CiviCRM community is that the more interaction you have with the community, the more you'll understand CiviCRM, the better you will be at using it, and the more you can guide its development.

Planning new functionality

A clear and well thought out set of use cases for your organisation is a great starting point to developing new functionality, but you should go further and try to find a general solution that will be of use to many different organisations.  Thinking more generally increases the likleyhood your ideas will be accepted into the core, and also helps you better understand your own needs.  Disagreement and debate are a natural part of the planning process and will help ensure your functionality is implemented in the best possible way.

Consider going on a publicity drive on the CiviCRM blog or forums, or talking directly to others you think would find the functionality useful. The interest and support of other organisations using CiviCRM will help drive your project forward.

Also remember that the community is involved in a constant trade off between developing a product that 'can do everything' and ensuring the product is usable by everyone.   Your very useful functionality might be seen as unecessary complexity for others.  And even if the functionality can be turned on and off form a user perspective, it might still cause an extra layer of complexity 'under the hood'.

The development cycle

CiviCRM follows a regular development cycle. Major version increments (for example the change from 2.3 to 2.4) happen roughly two or three times a year. Minor revisions (e.g. from 2.3.2 to 2.3.3) happen as needed between releases. When developing code that is integrated into the core, you project will co-ordinate with this release cycle. Knowing when the major versions come out  is useful when planning development projects. Check the CiviCRM web site for the release schedule.

Development methods

CiviCRM uses a number of standardised methods to help people develop new functionality inlcuding an API and hooks.  Detailed discussions of these methods is outside the scope of this text, but if you are considering custom development, you should be familiar with and use these tools. Changing actual CiviCRM core code should be a last resort.

1. API: http://wiki.civicrm.org/confluence/display/CRMDOC/API+Overview

2. Hooks:  http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+hook+specification

3. Custom templates and CSS: http://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens

 

Glossary

ACL / Access Control List

ACLs define permissions for a group of contacts to perform an operation (e.g. edit, view, delete...) on a set of data or a type of record. For example, you could set up a group "Administrators" that allows people to view and edit all contact records. Those in the "Volunteers" group can view contact records but can not edit them.

Accidental Techie

Someone who has inherited the role of IT technical support but whose primary role maybe something else; often has little or no formal IT training (which is not always a bad thing!).

AGPL - Affero General Public License version 3.0

A software license. CiviCRM uses this license - it gives you the right to do with the software as you like and guarantees the source code will always protect your rights in this way.

Activities

An activity in CiviCRM is a record of any scheduled or completed interaction with one or more contacts. Examples include meetings, phone calls, emails, event attendances and contributions. You can define additional types of activities in CiviCRM as needed.

Admin / Administrator

The person or persons that maintain a server or a web-based software like CiviCRM.  Administration includes maintenance, configuration, backup, security, creating and deleting user accounts etc.

AGM

Annual General Meeting. An AGM is generally held every year to inform members of previous and future activities. Certain types of organizations are required by law to hold an AGM.

Alpha Version

A version of the software that contains very new source code with new functionality and bug fixes. Alpha versions are there for people wishing to see where the development is going, and for testing, but they are not considered to be any where near ready for general release or use.

Apache

The most popular web server software. Apache is Free and Open Source.

Backup

Protecting your data by doing periodic copies and storing them independently of the original files so they can be restored if necessary.

Bandwidth

The speed at which you can transfer information through a network or internet connection. If a connection can transfer a lot of information it is said to be 'high bandwidth'.

Beta Version

A version of the software that is in good condition but still needs testing to make sure it functions as intended before general release.  Testing beta versions is a helpful way to participate in the CiviCRM community.

Blog

Short for web-log. A website which is updated with news and views from one or more individuals.

Bug

An error that prevents software from behaving as the user would expect.

Bug Reporting / bug Fixing

The process of reporting bugs to people that wrote the software, and then fixing the bugs so the software operates as intended.

Bug Tracker

The official repository for recording bugs. http://issues.civicrm.org/jira/browse/CRM

Captcha

see reCaptcha

Cache

Cache is a recent copy of frequently used data.  Data is cached so it can be quickly and easily accessed and is especially useful if the data is complicated or takes a large effort to generate.  The disadvantage of cache is that they can often be out of date, though often this isn't a problem.  Even caching data for 5 minutes might be useful in certain circumstances.  If a page is accessed 1,000 times in 5 minutes, then having a cached version means the data will only need to be generated once.

A Web cache holds copies of Web page files.

CiviCase

The case management component of CiviCRM.  CiviCase provides organizations which provide human services with tools for structuring, scheduling and recording case activities.  

CiviContribute

CiviContribute is an online fundraising and donor management component which enables you to track and manage contributions to your organization. 

CiviCRM

What this whole manual is about!  CiviCRM is web-based, open source software that allows you to record and manage information about your various constituents including volunteers, activists, donors, employees, clients, vendors, etc.

CiviEvent

CiviEvent provides integrated online event registration and management for paid and free events.

CiviDog

See Scout.

CiviMail

CiviMail is a mass-mailing component which allows you to engage constituents with personalized email blasts and newsletters.

CMS

Content Management System. A CMS is an application used to create, edit, manage, search and publish various kinds of digital content (text and other media such as pictures and videos). Web-based CMS allow organizations to add and manage content on their website without requiring advanced technical skills. CiviCRM is often integrated with a CMS (commonly Drupal and Joomla!) which helps you interact with clients.

Cron Job

A cron job is a way of automatically scheduling a program to run at certain intervals.  Crons are often used in CiviCRM to handle once a day, or once a month events like sending membership renewal reminders, processing ongoing payments, etc.

CSS

Cascading Style Sheets (CSS) are a way to define the style of a website  by defining what tables headers, etc. to use.  The advantage of CSS is that you only need to define the style once and it is repeated throughout the website.  So you can change the style of a heading once and it will be repeated throughout the website.

CSV

Comma Separated Values. A simple format for a spreadsheet.  CSV files are actually just text files where each cell is seperated by a comma, and each row is seperated with a return.  CSV files are useful because they are a very simple format that many different programmes can understand.

Closed Software

See proprietary software.

Constituent

See also Contact.  A constituency is usually defined as a group of people bound by shared identity, goals, or loyalty. In CiviCRM, 'constituent' is used to broadly describe all of the supporters, potential and current of given organization.

Contact

See also Constituent.  In CiviCRM a contact is either an individual, an organisation or a household.  You can use CiviCRM to store information about contacts and their interactions with your organisation.

Contact Summary Screen

The page that displays at a glance all the data about an individual, organization or household that's stored in the CiviCRM database.

Component

see module

Comma Separated Values

see CSV

Community Advisory Group

A representative group of people from CiviCRM community who work with the CiviCRM team on project development.

Cookie

A file stored on your computer that a website uses to identifiy you.  Some Web sites cannot be used without accepting and storing a cookie.

Core Code

Also called core. The source code that constitutes the official code of CiviCRM.

Core Data Field

A field that is included in a record structure "out-of-the-box". For example, the CiviCRM contact record includes First Name as a core field.

Core Team

The people most closely involved with CiviCRM development.

CRM

Constituent (or Customer or Contact) Relationship Management. CRM (or eCRM) software was originally developed to help companies track and organize their interactions with current and potential customers from a sales perspective. CiviCRM is oriented specifically toward the needs of non-profits, advocacy and non-governmental organizations, so the term "Customer" is replaced with "Constituent". Outside the US it is often referred to as Contact Relationship Management.

CRUD

Create, Read, Update and Delete.  The basic functions performed on databases.

CSV

see comma separated values

Custom Data Field

A field that is added to the data structure of a CiviCRM record by your organization. Custom data fields extend the information that can be stored in that type of record. For example, your organization might need a custom field to record each contacts' ethnicity, or food preferences for an event attendence.

Data Centralisation

Storing all your data in one place.

Demo Sites

A website that allows you to test and explore the functionality of a piece of software. CiviCRM maintains three demos sites; one integrated with Drupal, one integrated with Joomla! and one in standalone mode.

Dedupe

dedupe refers to the task of finding and merging multiple entries for one contact.

Developer

Someone who develops software.

Domain

see DNS

Donor

Someone that makes a donation, i.e. voluntarily gives money.

DNS (Domain Name System)

The Domain Name System (DNS) converts domain names, made up of easy-to-remember combinations of letters (example.com), to IP addresses (123.456.123.234) which are hard-to-remember strings of numbers. Every computer on the Internet has an unique address (a little bit like an area code+telephone number).

Drupal

A Content Management System (http://drupal.org).

Encryption

A way of disguising data when it is being transferred from one computer to another so that it is unreadable by any computer that it may pass through on the way.

Environment

The specific hardware and software on which you are running your software.

Event Listing Feed

A RSS feed containing the list of events defined in CiviEvent.

Firefox

Firefox is a popular free and open source web browser, developed by the Mozilla Foundation.

FLOSS

Free/Libre Open Source Software, licensed so as to guarantee the essential freedoms of software users to source code and reuse. A combination of Free Software and Open Source Software, with Libre added in to emphasize that software freedom is essentially a matter of rights, not price.

FOSS

Free and Open Source Software - see FLOSS.

Forum

A web based tool to for discussions (see http://forum.civicrm.org/).

Free Software

Software that is licensed so that you can use it, distribute, it, and change it without restriction. CiviCRM is Free Software.

FTP (File Transfer Protocol)

The FTP protocol is used for file transfers. Many people use it for downloads; it can also be used to upload files to web servers. A popular free and open source FTP client for Windows is FileZilla. There are also some Web-based FTP clients that you can use with a normal Web browser like Firefox.

Functionality

The set of tasks that a piece of software can perform.

Geocoding

The process of finding associated geographic coordinates (often expressed as latitude and longitude) from other geographic data, such as street addresses, or zip codes (postal codes).

Graphical User Interface (GUI)

User interface offering windows, icons, mouse control, multiple fonts, and so on. The opposite is a command line interface with only text.

Hosting Service

A service (usually a commercial service) that provides server space for your web site. Hosting services also can provide physical space to put your own server in so that it is connected to the internet.

Internationalization: I8n

The process of making software ready for adoption in different countries and different cultures, without the need to modify it technically. Also see Localization

Internet Service Provider (ISP)

A business that provides services such as internet access, email, and website hosting.

Intranet

A network of computers that are connected through a home or office but not accessible from outside the network.

ICT

Short for Information and Communication Technology.

IT

Short for Information Technology.

Joomla!

A Content Management System. ( http://www.joomla.org  )

Linux

A type of Operating System. Linux is popular as a web server but it is also gaining popularity on laptops and Desktop computers. Linux is Free Software.

Localization: L10n

The process of translating a product into different languages or adapting a language for a specific country or region.

Local Computer

A computer that runs CiviCRM but is not publicly available via the internet. This is often your personal or home computer or it can be in your office.

Mail Server

A computer that transfers email from one computer to another.

Mapping Provider

A service provider that allows displaying contact locations on maps - Google Maps or Yahoo Maps in CiviCRM.

Module

A part of a system, also named as "component". CiviCRM includes a number of modules, each of which adds functionality to the basic contact management features. For example, the CiviEvent module provides event management functionality. Organizations using CiviCRM can turn modules on or off based on their needs.

MySQL

A popular database engine. CiviCRM uses MySQL to hold its data.  MySQL is Free Software. ( http://mysql.com)

NGO

Non-governmental organization. A legally constituted non-business organization with no participation or representation from government. In the United States, this type of organization is more often referred to as a Non-profit. They may be also called civil society organizations.

Non-Profit

see NGO

Numeronym

A word where the number is used to form an abbreviation

Online Contribution Page

A function of CiviCRM which allows creating a page on the website, which provides visitors with ability to make online donations using credit cards.

Open ID

OpenID is a free and easy way to use a single digital identity across the Internet.

Open Source

See FLOSS

Payment Instrument

Medium or Method that is used for payment.

Payment Processor

A payment processor is a company (often a third party) appointed by a merchant to handle credit card transactions for merchant banks.

Permissions

Allow you to limit access for different users to different parts of the system.

Personal Campaign Pages

A feature that you can enable and allow your constituents to create their own fundraising pages.

PHP

The language in which the majority of CiviCRM is written.

Ping

Sending and receiveing a small amounts of data to a server.  Often used to measure the response time.

Point Person

Someone given the responsibility to keep their eye on a certain issue.

Premium

A gift that can be offered to contributor in exchange for donation. CiviCRM allows offering premiums as a part of the donation gathering process.

Price Sets

A way of storing and re-using complicated price structures for events.  You can charge for different elements of an event.

Primary Location

The contact information that someone wants to use as their main point of contact.  Used for mailings etc.

Profiles

A central concept in CiviCRM. In essense a subset of fields.  See Collecting and Sharing Data chapter for a full explanation.

Proprietary Software

Also called closed software. Software licensed so that you cannot access the source code and modify it without first coming to an agreement with the authors.

Radio Button

An element of web-based application user interface, allows you to choose only one of a predefined set of options.

reCAPTCHA

reCAPTCHA is a common way to test whether a user is a human or a computer.  Useful to prevent spam.

Rich Text Editor

An editor that allows you to add formatting, like bold, italic and underline to text (as oppoosed to just plain text).

Root Domain

The 'raw' URL of a website without 'www' or any other subdomain eg. (http://mysite.com is the root domain while http://www.mysite.com&nbsp; is not).

RSS Feed

RSS (Really Simple Syndication) is a way to publish frequently updated information, either for including on websites or being read by RSS readers.

RSVP

"Répondez s'il vous plaît", a French phrase that translates to "please respond". Commonly used for request for confirming or declining attendance in the event.

Sendmail

Sendmail is one of the most popular mail transfer agents (MTA), software used for handling email on a server. Sendmail is Free and Open Source.

Script

A script is a short program that does one specific thing. Many Web pages include scripts to manage user interaction with a Web page, so that the server does not have to send a new page for each change.

Scout

The CiviCRM Book Sprint official dog. Scout likes dog biscuits, rolling on the ground, eating snow and proof-reading.

Shared Hosting

A website hosting service, where multiple websites reside on single computer.

Server

Usually used to refer to a computer connected to the internet that delivers (serves) web pages.  Most computers can become servers.  It just depends on how they are set up.

Smart Group

A group in CiviCRM to which contacts are automatically assigned.  Smart groups are created by running a search and then saving the search.  They are useful for groups that might change frequently, for example 'Expired members in Kenya'.

SMTP

Simple Mail Transfer Protocol. A standard used by email software to transfer (send) email.

Software

Programs that enable specific functionality on your computer. There are many broad categories of software such as 'Web Browser', 'Word Processor' etc'. Within each category there are many available softwares that perform the functions you require. For example, Firefox and Internet Explorer are two softwares you may be familiar with, both of these examples are Web Browsers.

Soft Credit

Allows you to credit a seperate contact for a donation that someone made. i.e. the person that inspired the actual donor to make a donation.See Personal Campaign Pages.

Software License

The terms you must accept before using a piece of software.

Source Code

Software is created by writing instructions that a computer understands. These lines of instructions are known as code or source code.

SSL (Secure Sockets Layer)

SSL (or Secure Sockets Layer), is one way of making internet communication secure.  You can easily see if you are using SSL by looking at the URL in your browser.  If it starts with https instead of http, your connection is using SSL.

SSL Certificate

An SSL certificate is provided by the server to proove its identity, in the same way that a person carries a passport or driving license. See also SSL (Secure Sockets Layer).

Stable Version

A version of the software that has been tested and is considered to be ready for general use.

Standalone

An installation of CiviCRM which is not integrated with a Content Management System (CMS) such as Drupal or Joomla!.

String

A string is a sequence of characters for example "Hello, World", the URL "http://www.flossmanuals.net/", and  the text message "No such file or directory." Different character sets allow different strings.  Unicode strings can include any combination of languages, such as "Japan (日本) a nd Korea (대한민국)".

Subdomain

A domain that is a part of larger larger domain. For example: crm.mysite.com  is a subdomain of mysite.com domain.

Requirements

The things that you require a particular application to do.

Token

Tokens are used in CiviCRM to insert elements like name or greeting into emails being sent out. In the message sent out to a group of people, a token {first.name} will be replaced with actual names of each message recipient.

Upgrade

When a new version of a software is available you may wish to replace your old version with the new one. (see also Version)

URL

Unique Resource Locator. The technical convention that identifies the location of a resource on a network. The 'resource' might be a web page, in which case the URL refers to the location of that webpage on the internet (eg. www.cnn.com  is the URL for the CNN webpage).

Use Case

A use case is a central concept in software development.  Think of it as a story that documents the experience of performing a specific task.  When writing a use case, avoid technical or database specific language like 'fields' or 'record', and instead concentrate on the real world objects and scenarios.

Version

Updates to software are released periodically, these releases are referred to as a version of the software. There are different applications of the term, for example the most recent release of a software which has been tested and is intended for general use is referred to as the stable version

VPN

Virtual Private Network. A technical method of sharing information between members of an organisation over encrypted connections.

Web Application

A software that provides a website which has functionality you require. CiviCRM is a web application.

Webmail

Webmail is e-mail service through a Web site. The service sends and receives mail messages for users in the usual way, but provides a Web interface for reading and managing messages, as an alternative to running a mail client like Outlook Express or Thunderbird on the user's computer. For example a popular and free webmail service is https://mail.google.com/

Wiki

A web based software that enables anyone to edit the content via a web browser. Wikipedia is the best known example of a wiki.

Wildcard

A character that can match an any number and collection of characters.

Work Station

A computer used for working.

WYSIWYG

What You See Is What You Get. A visual tool for editing web content.  See rich text editor.

About this Manual

This manual was written during a 5 day Book Sprint organised by CiviCRM and led by FLOSS Manuals. The sprint was sponsored by the Information Program initiative of the Open Society Institute http://www.soros.org/initiatives/information). We are especially grateful to Janet Haven for pushing this forward.

Having secured sponsorship, the CiviCRM Core team invited a group of people from around the globe to gather for a week at Lake Tahoe in California. The modest goal was to transform our diverse experience of CiviCRM into a manual that we hope will help people to use this great piece of software. This turned out to be an interesting, and at times difficult, challenge.

Here are the people that wrote this book.

team

In the back row you are looking at Michael McAndrew (London, UK), Tony Guzman (Salt Lake City, USA), Brian Shaughnessy (Albany, NY, USA), Dave Greenberg (San Francisco, USA), Yashodha Chaku (Mumbai, India) and Adam Hyde (Berlin, Germany). In the front row Mari Tilos (San Francisco, USA), Cynthia Tarascio (Philadelphia, USA), Michal Mach (Warsaw, Poland) and Peter Davis (Wellington, New Zealand). In the very front is Eileen McNaughton (Wellington, New Zealand).

We came from different backgrounds, had used CiviCRM in different ways, and had worked with very different organisations. It was often a challenge to meld these perspectives into a cohesive whole but we hammered away at it and we think this made for a better book. We had some lively discussions about important issues, such as whether there is a 'z' or an 's' in organis/zation or a 'q' in check/que, and finally agreed to use both spellings in the spirit of internationalism. We also struggled with the word 'constituent' which is core to the non-profit sector in America but was unfamiliar to those of us from outside America.

It has been a pretty intense five days. Adam (our friendly Floss manuals taskmaster) has kept us realistic, on track, and hard at work - even hauling us back to work after dinner each evening. Overall it has been both fun and productive and we really appreciate the way Adam has helped us to actually produce a book within a week. Thank you.

For most of us, however, the highlight of the week has been the breathtaking cuisine cooked by Jill Klein (http://www.partiesthatcook.com/about-us/). We love you Jill and wish we could take you home with us. We are also grateful to Dave Greenberg, Bob Concannon and Mari Tilos for their hospitality, and to Scout the dog just for being there.

scout

We have had help from around the world during the preparation process, and over the course of the Sprint. Andy Oram has helped us both in the planning process and then with editing and feedback during the Sprint. We also had a number of people log in to write and edit the manual during the Sprint. They include Robert Santiago, Xavier Dutoit, Joe Murray, Sarmeesha Reddy, Jay Maechtlen, Dream Gomez, Leila Johnson, Duncan Hutty, and Kurund Jalmi.

pteam

Our office for the week was Dave and Bob's house.

civi1

 We mitigated the hardship of late-night work with some tasty beverages.

log

 And occasionally they let us out for a bit....

How to contribute to this manual

If you would like to contribute then follow these steps:

1. Register

Register at FLOSS Manuals:
http://en.flossmanuals.net/register

2. Contribute!

Select the manual http://en.flossmanuals.net/bin/view/CiviCRM/WebHome  and a chapter to work on.

If you need to ask us questions about how to contribute then join the chat room listed below and ask us! We look forward to your contribution!

For more information on using FLOSS Manuals you may also wish to read our manual:
http://en.flossmanuals.net/FLOSSManuals

To help give our manual some continuity, we've come up with some agreed writing conventions.  You should probably read this before contributing.

3. Chat

It's a good idea to talk with us so we can help co-ordinate all contributions. We have a chat room embedded in the FLOSS Manuals website so you can use it in the browser.

If you know how to use IRC you can connect to the following:
server: irc.freenode.net
channel: #booksprint

4. Mailing List

For discussing all things about FLOSS Manuals join our mailing list:
http://lists.flossmanuals.net/listinfo.cgi/discuss-flossmanuals.net

CREDITS

All chapters copyright of the authors (see below). Unless otherwise stated all chapters in this manual licensed with GNU General Public License version 2

This documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this documentation; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Authors

ABOUT THIS MANUAL
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
Michael McAndrew 2009
Yashodha Chaku 2009

ADDITIONAL CONSIDERATIONS
© Eileen McNaughton 2009
Modifications:
adam hyde 2009
Alan Schacter 2009
Andy Oram 2009
Cynthia Tarascio 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009

INTERNATIONALISATION
© adam hyde 2009
Modifications:
Andy Oram 2009
Cynthia Tarascio 2009
Dream Gomez 2009
Eileen McNaughton 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009

FEATURES
© adam hyde 2009
Modifications:
Andy Oram 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009

BUG REPORTING
© adam hyde 2009
Modifications:
Andy Oram 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Michael McAndrew 2009
Michal Mach 2009

WHAT IS A CMS?
© Michal Mach 2009
Modifications:
adam hyde 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Michael McAndrew 2009
Peter Davis 2009

INSTALL & CONFIGURE
© David Greenberg 2009
Modifications:
adam hyde 2009
Andy Oram 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Michael Lenahan 2009
Michael McAndrew 2009
Tony Guzman 2009

COLLECTING AND SHARING DATA
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
David Greenberg 2009
Eileen McNaughton 2009
jay maechtlen 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009
Yashodha Chaku 2009

ADDING AND IMPORTING
© Peter Davis 2009
Modifications:
adam hyde 2009
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
Tony Guzman 2009

CREDITS
© adam hyde 2006, 2007, 2009
Modifications:
Cynthia Tarascio 2009
Michael McAndrew 2009

WHAT IS A CRM?
© Michal Mach 2009
Modifications:
adam hyde 2009
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
Michael Lenahan 2009
Michael McAndrew 2009
Peter Davis 2009

THINKING ABOUT YOUR DATA
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
jay maechtlen 2009
Mari Tilos 2009
Michael Lenahan 2009
Michael McAndrew 2009
Peter Davis 2009
TWikiGuest 2009
Tony Guzman 2009

EXTENDING CIVICRM
© adam hyde 2009
Modifications:
Andy Oram 2009
Eileen McNaughton 2009
Kurund Jalmi 2009
Michael McAndrew 2009
Michal Mach 2009
Yashodha Chaku 2009

EMAIL COMMUNICATIONS
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
Tony Guzman 2009
Yashodha Chaku 2009

CONFIGURATION AND PLANNING
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael McAndrew 2009
Tony Guzman 2009
Yashodha Chaku 2009

MANAGING PARTICIPANTS
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Joe Murray 2009
Mari Tilos 2009
Michael McAndrew 2009
Tony Guzman 2009
Yashodha Chaku 2009

CREATING AND PROMOTING
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Duncan Hutty 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
Tony Guzman 2009
Yashodha Chaku 2009

REAL WORLD EXAMPLES
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
jay maechtlen 2009
Mari Tilos 2009
Michael Lenahan 2009
Michael McAndrew 2009
Peter Davis 2009
Roberto Santiago 2009
Tony Guzman 2009

FREE SOFTWARE?
© Michal Mach 2009
Modifications:
adam hyde 2009
Cynthia Tarascio 2009
Mari Tilos 2009
Michael McAndrew 2009

FUNDRAISING PLANNING
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
Eileen McNaughton 2009
Joe Murray 2009
John Langer 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
TWikiGuest 2009
Tony Guzman 2009

SEARCHING AND REPORTING
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
Mari Tilos 2009
Michael McAndrew 2009
Tony Guzman 2009

MANAGEMENT METHODS
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
Cynthia Tarascio 2009
Michael McAndrew 2009
TWikiGuest 2009
Tony Guzman 2009
Yashodha Chaku 2009

EVALUATING CIVICRM
© adam hyde 2009
Modifications:
Alan Schacter 2009
Andy Oram 2009
Cynthia Tarascio 2009
Duncan Hutty 2009
Eileen McNaughton 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009

GLOSSARY
© adam hyde 2009
Modifications:
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
Kurund Jalmi 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
Tony Guzman 2009

GROUPS
© adam hyde 2009
Modifications:
Andy Oram 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009
Yashodha Chaku 2009

CONTACTS AND THEIR DATA
© adam hyde 2009
Modifications:
alan zucker 2009
Andy Oram 2009
David Greenberg 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
TWikiGuest 2009
Yashodha Chaku 2009

HOW CAN CIVICRM HELP YOU?
© adam hyde 2009
Modifications:
Andy Oram 2009
Cynthia Tarascio 2009
David Greenberg 2009
Duncan Hutty 2009
Eileen McNaughton 2009
Joe Murray 2009
Michael Lenahan 2009
Michael McAndrew 2009
Peter Davis 2009

WHAT IS CIVICRM?
© adam hyde 2006, 2009
Modifications:
Andy Oram 2009
Dream Gomez 2009
Duncan Hutty 2009
Eileen McNaughton 2009
Joe Murray 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Rosanne Ferruggia 2009
William Merriam 2009

POSTAL MAIL COMMUNICATIONS
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Cynthia Tarascio 2009
Michael McAndrew 2009
Michal Mach 2009
Tony Guzman 2009

CONFIGURING MEMBERSHIP
© adam hyde 2009
Modifications:
Andy Oram 2009
Brian Shaughnessy 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael McAndrew 2009
TWikiGuest 2009
Tony Guzman 2009
Tracy Smith 2009

SEARCHING AND REPORTING
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Eileen McNaughton 2009
Michael McAndrew 2009
Michal Mach 2009
TWikiGuest 2009
Tony Guzman 2009

SIGNUP/RENEWAL PAGES
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Tony Guzman 2009

MANAGING MEMBERS
© adam hyde 2009
Modifications:
Brian Shaughnessy 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael McAndrew 2009
TWikiGuest 2009
Tony Guzman 2009

EVALUATING YOUR NEEDS
© adam hyde 2009
Modifications:
Alan Schacter 2009
Andy Oram 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009

ONE STEP AT A TIME
© adam hyde 2009
Modifications:
Alan Schacter 2009
Andy Oram 2009
Cynthia Tarascio 2009
David Greenberg 2009
Eileen McNaughton 2009
Mari Tilos 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009

SEARCHES
© adam hyde 2009
Modifications:
David Greenberg 2009
Eileen McNaughton 2009
Kurund Jalmi 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009
Tony Guzman 2009
Yashodha Chaku 2009

WHAT DOES WEB-BASED MEAN?
© Michal Mach 2009
Modifications:
adam hyde 2009
Cynthia Tarascio 2009
Eileen McNaughton 2009
Michael Lenahan 2009
Michael McAndrew 2009
Peter Davis 2009

WHO IS CIVICRM?
© adam hyde 2009
Modifications:
David Greenberg 2009
Eileen McNaughton 2009
Michael Lenahan 2009
Michael McAndrew 2009
Michal Mach 2009
Peter Davis 2009

 

100.gif

Free manuals for free software

 

General Public License

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:


a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:


a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though