14 August, 2017
By totten
Filed under Architecture, Release, Tips

Compatibility with PHP 5.3 will end in December 2017, and compatibility with PHP 5.4 will end in March 2018. These changes follow a number of discussions and a multi-year deprecation process. The current recommended version is PHP 5.6.

Discussion

According to php.net, PHP v5.5.x became "end of life" in July 2016. This means that the official publishers of PHP no longer support v5.5.x -- if there are security issues in the PHP runtime, the PHP project won't provide advisories or fixes. They recommend that all PHP users upgrade. (That's just the security side of the equation -- upgrading to a newer PHP also brings access to better libraries and design-patterns.)

But... for small organizations using CiviCRM, upgrading their servers to a newer version of PHP would be an expense. So CiviCRM has continued to support PHP 5.5 (declining to...

Read more
04 July, 2017
Filed under CiviMail, Partners, Tips, Training

Based on feedback from clients, we're launching a series of Masterclasses this year. They will provide an opportunity for you to deepen your knowledge and skills in a particular area of CiviCRM. These courses will assume that you have a basic understanding of CiviCRM as a Contact Management System.

We're starting with our CiviMail Masterclass which will be on 8th August at the St Thomas Centre in central Manchester. You'll spend a day getting your hands dirty with the CiviCRM Mailings module.

We willl also be looking at the how you need to think about your communications overall and how to manage your communications with CiviCRM.

Course content includes:

  • Basic HTML
  • Using CiviCRM checksums
  • Mailing groups / un-subscriptions
  • A/B...
Read more
30 January, 2017
Filed under v4.7, v4.6, Tools, Extensions, Tips

My clients regularly need to import data from sources such as Just Giving, CAF, and various other sources like Mailchimp downloads. The problem they had was that the data was a mix of contact and contributions, and some of the rows belonged to new contacts, others belonged to existing contacts. Sometimes they had a scrappy list of names and emails where the name was all in one field instead of split out. You know the sort of thing.

At the time (a few years ago) I knocked together a Drupal module to help pre-process this data so that it could be used efficiently with CiviCRM's built in import functions. I made it in Drupal because that was quickest for me to develop a solution and they used Drupal, but I've now re-written it as a native CiviCRM extension that should work for Drupal users, and the ever proud and cheerful (but wrong) Wordpress fans alike. Maybe even Joomla. ;-)

How does it help me?

It takes your spreadsheet (...

Read more
02 January, 2017
By totten
Filed under Tools, Extensions, Tips

cv (https://github.com/civicrm/cv) and civix (https://github.com/totten/civix) are Unix/CLI tools for developers. cv provides access to your Civi site on the command line, and civix generates skeletal code for new extensions. We've had a few recent updates to each of these tools, so I wanted to introduce cv more formally and then recap some of recent improvements for each tool.

cv: Introduction

cv originated as part of the Testapalooza project which broadened support for automated tests in CiviCRM -- testing of CiviCRM extensions or external integration modules; testing with PHPUnit or Behat or Codeception; testing for headless scenarios or end-to-end scenarios; ad nauseum. In all of these cases, we start with some...

Read more
19 July, 2016
By totten
Filed under Architecture, Release, Tips

To ensure that CiviCRM continues to work with standard, contemporary PHP hosting platforms, a future version may make a subtle change in hosting requirements. We expect this to be mostly seamless; however, we're looking for administrators responsible for sites running a recent CiviCRM (e.g. v4.7+) to spend a few minutes to help ensure a smooth transition.

Q: I'm not too fluent in geek-speak. What should I do?

Forward this to whoever manages your server. If you work with a CiviCRM partner, they may be thinking of you already.

Q: I am fluent in geek-speak. What should I do?

Determine if your web server has the PHP extension mysqli installed. Any of these will tell you:

  • Use the server's command-line:
    • Run "php -r 'echo extension_loaded("mysqli") ? "loaded\n" : "missing\n";'".
    • It should display "loaded".
  • ...
Read more
09 July, 2016
By KarinG
Filed under CiviCon, CiviCRM, Drupal, Tips

Someone asked me to post this here - so that he can give it a try!

I did a Lightning Talk at CiviCON 2016 showing how you can put your Contacts on a Leaflet Map. It only takes a few minutes to put your CiviCRM Contacts on a Leaflet Map if you're using Drupal. Leaftlet is an open-source JavaScript Library for interactive maps. In addition what's really cool is that you can color the PIN based on the value of a CiviCRM custom field!

I've posted the details in a QA format including some of my slides from my CiviCON Lightning Talk on CiviCRM's StackExchange site:

http://civicrm.stackexchange.com/questions/12862/how-to-put-your-civicrm...

Give it try!

27 June, 2016
By Stoob
Filed under CiviCRM, Tips

I’d like to pose a question to users of CiviCRM that is not particularly technical.  It’s more to do with using the existing features of Civi in the most effective and efficient way to do 2 very important things...cultivate Major Donors and apply for Grants. 

A team of fundraisers at a small-to-midsize nonprofit wish to track the process of identifying and connecting with a few hundred people a year, engage them (calls, meetings, events, tours, thank you's), and ask them for higher level gifts. They would also like to track this process for solicitation of Grants and Sponsorships (points of contact, submission and reporting deadlines), which adds another layer of complexity.  To be clear, this is not an RFP.   We'd like to share what we're doing and learn what you're doing.

How do we use Civi best to track Major Donor processes?  Well we've already begun using Activites to track "moves...

Read more
15 April, 2016
Filed under CiviMail, Extensions, Tips

Note: this post was edited August 17, 2017, to include pricing changes on Mailjet and Sparkpost.

CiviMail is a great way to send targeted email to your supporters using CiviCRM to segment recipients and populate token values. Meanwhile, email marketing services such as Mailchimp and Constant Contact provide sending infrastructure so you don't have to worry much as much about deliverability. By using CiviMail with an SMTP or email API service, CiviCRM users get the benefits of both.

One popular service is Mandrill, which is offered by Mailchimp. Hundreds of organizations use the extension that integrates it with CiviCRM. However, in late February, Mandrill users received an email about “some significant changes that will affect your Mandrill account”.

To summarize, Mailchimp is looking to shed users who are not using their core Mailchimp product. Mandrill users will have to sign up for a paid monthly Mailchimp plan, and the allowance...

Read more
14 March, 2016

Hi! My name is Christian Maltais. I'm a founding member of Praxis Labs Coop. We recently launched a Civi hosting service with automated updates. However, I also wanted to help the community on a more personal level. Since I'm not a developer, I felt unsure. How could I fit in?

Luckily, the Civi folks are very welcoming, and the project needs all sorts of skills. I studied litterature in college, and I'm a pretty good copy editor. Turns out the "Features" section on civicrm.org needed some editing. That felt just right for me, so I got on it.

Editing is like thinning and weeding your garden. You're moving or removing what gets in the way; identifying and fixing potential problems.

Online readers have notoriously low patience. That's your biggest problem.

You can't make the readers more patient. You can however remove the things that try their patience, so that should...

Read more
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
randomness