24 March, 2016

Are you responsible for planning, managing and monitoring campaigns for your organisation? If yes, you are probably using CiviCampaign to link contributions and campaigns and analyse their success. However, unless your campaign requirements are rather simple, I bet that you encountered some limitations of CiviCRM's campaign functions such as:

  • no function to record costs involved with a campaign action or to track the campaign's budget

  • no campaign hierarchy

  • limited reporting options

  • not much of an UI to manage and or visualise...

Read more
15 March, 2016
By Rob_S

Hello everybody. I am assessing the feasibility of a CiviCRM integrated 'Community Shares' extension on behalf of my client, the Kindling Trust.

Community Shares are an investment mechanism available to Co-operative and Community Benefit Societies in the UK - see CommunityShares.org.uk if you want more info.

Kindling are a not for profit organisation based in Northern England, who have been using Civi for a number of years, and are planning on launching a community share offer in the future, in order to raise funds for a community owned farm, to develop sustainable food practices, and regional food security.

I anticipate that the new extension would build upon the existing CiviContribute and CiviMember components, and have attached an outline document describing how I would see it functioning.

We are interested in talking to members of the...

Read more
11 March, 2016

Our customer Werk met Zin (Network of job coaches in Flanders) has a Wordpress site and uses CiviCRM to manage their relations and cases. On their Wordpress site they allow users to register for some events, which they solve with the civicrm event info and registration pages.

However, they also allow an individual to request the start of individual job coaching with a form. This should end up in CiviCRM as a special activity with the fields on the website form as custom data. And the Wordpress website is on another server, although that would not make such a big difference. Anyway, we (as in CiviCooP) developed a specific solution that takes the data from the Wordpress website on server A and sends it to CiviCRM on server B. The solution has a Wordpress part and a CiviCRM part.

The Wordpress plugin

This plugin can be found at...

Read more
10 March, 2016

If you're like most leaders of small nonprofits, you want to know where your fundraising stands as compared to other organizations your size. CiviCRM stores a wealth of data, but it might be time-consuming to search for it all. Even then, how will you know you're comparing data apples-to-apples with the rest of the sector?

The survey and extension

This is where the Individual Donor Benchmark Survey comes in. By asking standard questions of small nonprofits across the United States, the survey allows you to see how your organization stacks up against nationwide benchmarks, and you can compare your own results in subsequent years.

AGH Strategies is a sponsor of the project, and we produced a ...

Read more
09 March, 2016
By totten
Filed under API, Architecture, Extensions

Automated tests are important when collaborating with other developers in a large project. Even if you focus your attention on a small piece of the puzzle, your piece depends on other pieces, and others may depend on you. There will be inevitable occasions when a change in one causes an unexpected change or break in another. Automated tests form the first line of defense, providing timely feedback so that problems can be addressed while the material is mentally fresh.

Testing CiviCRM is trickier than testing a basic library -- tests may involve system services (from Civi or the CMS), and CiviCRM developers may use different CMS's, file structures, and URLs. This problem can be mitigated by creating more configuration files (for each extension, test-suite, or installation), but that grows unwieldy with multiple extensions.

We've published some updated documentation and tooling to support tests in extensions. The remainder of this post assumes that you have...

Read more
02 March, 2016
Filed under Extensions

Manage all your volunteer projects from a central dashboard with CiviVolunteer 2.0

Ginkgo Street Labs is proud to announce the availability of CiviVolunteer 2.0 to the CiviCRM community. CiviVolunteer adds volunteer management to the donor tracking, membership management and event registration capabilities of CiviCRM, the Bossie award-winning nonprofit constituent relationship management (CRM) system. This latest release of CiviVolunteer introduces major improvements in functionality over the previous version, released in August 2015.

Here are some of the things you'll find in CiviVolunteer 2.0...

Read more
22 February, 2016
By Eileen
Filed under API, Extensions

Using extensions on 4.7 I discovered that if you add entities but don't define them via hook you can get errors.

 

So, if you have an extension that defines entities you need a hook like the one below

 

/**
 * Implements hook_civicrm_entityTypes.
 *
 * @param array $entityTypes
 *   Registered entity types.
 */
function accountsync_civicrm_entityTypes(&$entityTypes) {
  $entityTypes['CRM_Accountsync_DAO_AccountContact'] = array(
    'name' => 'AccountContact',
    'class' => 'CRM_Accountsync_DAO_AccountContact',
    'table' => 'civicrm_account_contact',
  );
  $entityTypes['CRM_Accountsync_DAO_AccountInvoice'] = array(
    'name' => 'AccountInvoice',
    'class' => 'CRM_Accountsync_DAO_AccountInvoice',
    'table' => 'civicrm_account_invoice',
  );
}
19 February, 2016
Filed under CiviCRM, Extensions, Tips

CiviCooP is working with Emphanos on a nice CiviCRM project (of which I am sure Young-Jin will blog at some point in the near future). As part of this project I developed a specific extension that creates or updates Activity Types, Contact Types, Custom Groups with Custom Fields, Event Types, Groups, Membership Types, Option Groups with Option Values, Relationship Types and Tags from JSON files.

So for example there is a JSON file for activity types which looks like this:

{
  "cont_education_info":{
    "name": "cont_education_info",
    "label": "Continuing Education Info",
    "is_active": 1
  },
  "award_win":{
    "name": "award_win",
    "label": "Award Win",
    "is_active": 1
  },
  "advocate":{
    "name": "advocate",
    "label": "Advocate",
    "is_active": 1
  }
}

When the scheduled job Update is executed it will either create or update all the activity types in the JSON...

Read more
09 February, 2016
Filed under API, Extensions, WordPress

Our customer Werk Met Zin (platform of independent 'job' coaches and trainers in Flanders) use a Wordpress site as a front end and CiviCRM as their back end. There is now one specific instance where an individual can apply for a series of coaching sessions on the website. This has to be passed to CiviCRM and rather than updating the website to Drupal we are passing the data from the Wordpress site to CiviCRM. The company that develops the Wordpress website knows nothing about CiviCRM (and want to keep it that way.) Any remarks and/or suggestions are very welcome, and obiously we will share the solution with the CiviCRM community once it is complete. Here is what we plan to do (and thank you to Werk Met Zin for funding the development and us at CiviCooP for developing.....):

  • create a Wordpress plugin that catches the form (with the save_post action) and...
Read more
18 January, 2016
Filed under CiviContribute, Extensions

I've been working on a few larger CiviCRM migrations lately. Out of that work I've been adding some new pieces to the iATS payment processor extension as well as my more generic recurring payments extension, and here's my story.

The original CiviCRM model for recurring contributions was built around what let's call the Paypal model, which tries as much as possible to give the donor ownership and management of their payments, by managing the recurring schedule and giving donors their own 'account'. This has benefits for donors and also for the organization receiving the donations - e.g. less administration.

But I've found that for many organizations migrating to CiviCRM, this model isn't ideal. For a start, a lot of older regular donors don't want to manage their payments and assume it's the responsibility of the organization. Secondly, having...

Read more