26 April, 2018
Filed under Architecture

A couple of months ago, I made the first commits to a repository in which I have been experimenting with CiviCRM Buildkit on Docker. It's gone quite well so far. Last week we found out that as part of the Google Summer of Code, we will be running two Docker based projects, so it seemed like a good time for a post.

Health warning: I've tried to make this post accessible to a wide audience but it does get technical in places.

For those unfamiliar with CiviCRM buildkit, it is a collection of roughly 20 tools designed specifically for developing and testing CiviCRM.

For those unfamiliar with...

Read more
20 April, 2018

This is a first blog post about how we build the team portal for Roparun.

But first what is Roparun? The Roparun is a relay race of over 500 kilometres from Paris and Hamburg to Rotterdam, where people in teams, take part in an athletic event to raise money for people with cancer. It’s also called an adventure for life. This is also clear from the motto, which for years has been: ‘Adding life to days, when days often can’t be added to life’.

So each year Roparun organizes this race and around 400 teams participate in the event. The first part of the project was to setup donation functionality and that is working right now.

The next part of the project is to create a new portal for team captains where they can manage their team data, (e.g. name of the team, start location and the individual team members). We...

Read more
01 April, 2018
You may have read the recent announcement of CiviCRM 5.0 and its revolutionary new method of numbering CiviCRM releases.
 
Meanwhile, those who prefer greater stability can use the Long-Term Support (LTS) releases of CiviCRM.  LTS users won't be left behind in the version numbering progress, however.
 
You can soon download the latest LTS release, 4.☔.♈, from the CiviCRM download page.  Each monthly LTS release is clearly numbered according to its star sign for your convenience: you can easily know that when 4.☔.♋ comes out, your copy of 4.☔.♉ will be two months old.
 
Periodically, API and schema changes may be necessary, and a new major release will come every six months, identified by the middle digit change.  Currently, we anticipate releasing 4.⚜.♎ in early October and 4.♞.♈ in April 2019.
 
... Read more
13 March, 2018

During this coming April, you may notice something peculiar on the civicrm.org download page -- instead of 4.7.32, you'll see a jump up to 5.0.0. Does this mean that CiviCRM is finally implementing a personal voice-assistant to take-down Amazon Echo? Nope. Maybe it means open-season on changes, granting a general license to break backward-compatibility? Nope. 5.0 is boring. It's basically the same thing as 4.7. It's just a big number with a little change.

OK... what is the little change? In short: a realignment, such that a typical increment looks like 5.x instead of 4.7.x. It doesn't change the substance. It shifts the relation between version-numbers (the superficial numbers you see in 4.5.6) and work (the labor you don't see, from people who triage...

Read more
13 March, 2018
Filed under Tools, API, Architecture, Extensions

I have finished a working prototype of the form-processor and action-provider extension. See my previous blog post for where the idea came from.

Below I will explain what you can do with this extension. Lets assume we have an external website where students can signup to volunteer in a summer program. When a student has signed up we want this data to be present in CiviCRM and the student added to the group student volunteers.

So first we have to install the action-provider and form-processor extension. After that we can create our form processor, go to Automation --> Form Processor --> New Form Processor.

We then have a screen where we can enter the name, define the input fields (in our case email address)...

Read more
12 February, 2018

Last week we had a Sprint in the wonderful city of Brussels. This blog post is a recap of what I have been up to.

Form Processor

I started the sprint to work on a new extension the form processor.  This idea came to my mind as I had a few clients at which I had to develop a custom api for data coming from their website (in those cases CiviCRM was separated from the website). And my idea was that I wanted to give system administrator and implementers a tool in which they could create those kind of API by themselves. So the form processor was born.

Below is a sketch of the screen of the form processor (click the image for a larger preview):

The form processor is designed so that the user first defines the...

Read more
24 January, 2018
By totten
Filed under Tools, API, Architecture, WordPress

The civicrm-setup library aims to replace the CiviCRM installer. Following the December/January iteration, it's available for use as a CLI installer and as a web-based WordPress installer.

What's wrong with the old installer?

  • Entropy: The main installer's code has grown messy. For example, it mixes...
Read more
15 September, 2017
Filed under Architecture, CiviCon, Drupal

A big thank you to all our CiviCON UK Sponsors. Here's a special post from Gold Sponsor Yoti:

Doing things differently: Registrations in seconds, logins without passwords and minimising data.

Over the last 15 years I’ve probably been responsible for around 50 or so websites or microsites that in some way or another have tried to gather people’s data.  Either to enter into an event, join a forum or buy something.  And like most other marketeers I’ve been obsessed by two things.  Funnels and Data. i.e how easily are people signing up and how much do I now know about my customers.  I’ve always known that by asking people for more information there was a danger people would drop out of my acquisition funnel but we marketeers are hungry for data. We want it all and we want it now.

I’ve now come to realise that less is more.  I still want the customers, and loads of them, but I want them to join me on their terms. If I ask people less about themselves I’m more...

Read more
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
08 August, 2017
By totten
Filed under Architecture, Release

The 4.7.24 release is scheduled for the first Wednesday of September. Ordinarily, there would be an announcement about the release-candidate (RC) in mid-August, but we're doing something a bit different this time around -- extending the RC to a full month, which mean the RC is available now at http://download.civicrm.org/latest. Testing out the RC is a great way to ensure that your systems will continue to work in the next release. Let me talk about how this change helps.

The Background

Quality-control for a new release is a team sport. It relies on reporters and developers performing thoughtful analysis when they identify a problem or improvement. It relies on developers writing code which anticipates errors, improves test-coverage, and follows recognizable conventions. It relies on infrastructure running automated tests. It relies on reviewers understanding the problem-domain and questioning assumptions. It relies...

Read more