Friday, October 13, 2017 - 04:50
Written by

Writing on the train back to London from the CivicCRM Sprint at Duvale Priory in mid-Devon, I can see why some people are willing to travel from across the world for the Sprint: it is a great way to spend a week. I went for the Developer Training, delivered by Parvez and Raj of Veda Consulting. The training was held for two days alongside a week's sprint (5 days + 2 travel days). I stayed for the rest of the Sprint.

Having looked at the code, and dipped into the developer documentation over the years, I still started with little idea of how the CiviCRM code works and is structured. My background is providing Drupal and WordPress support covering sysadmin, development, site building and front end work. One of my clients, Arts Professional, is a CiviCRM user and provided financial support for my attendance at the training. The training was pitched well for people like me, covering the basics of CiviCRM development. Nine attended, and there was a bit of help from one or two of the developers at the sprint, who gave time to help students at the training get their setup working, and talking people through problems individually. I'd already pre-installed local CiviCRM sites on my laptop using Drupal 7 and Drupal 8 (where CiviCRM loaded slowly) before the training. Then I discovered civibuild, a command line tool which can do all the work of setting up a fully-featured environment and dev sites, so I used that to set up a dev CiviCRM site based on Backdrop CMS too. I am not sure there is a simple way to avoid the difficulties at the start of trainings for people who have had trouble setting up a development environment in advance. Remote sites could be set up on a VPN or cloud service, though they would problematic if the Internet is flaky. There are now good online IDEs, which of course also make you hostage to having a good Internet connection.

The training shed a flood of light on the way CiviCRM works. It included an introduction to the Smarty templating engine, and was mostly concerned with php. There was on a little time to cover CiviCRM-related JavaScript. I am not complaining about that: we covered a lot of ground. The largest task in the dev training was building an example extension for CiviCRM. Not all of the code provided worked, and it seems that updates in CiviCRM core had broken backwards compatibility even for the fairly simple extension used for the training. From my point of view the problem was a good thing because I learned more from trying to debug it, having been pointed in the right direction, than I would have learned from having the working answer provided on a plate. The trainers explained that with a smaller group it was possible to give more individual support in guiding trainees to the right solution, and because this became difficult with nine of us, the example code was in some cases just given on the projector.

The trainees ate and shared accommodation with the Sprinters in Duvale Priory. The sponsors, listed on the event page, desrve a mention. As well as excellent and heroic provisioning and cooking by Craig, with wine for dinner (some of it from the local vineyards: future sprint in Haut-Médoc, anyone?), there was always as much snack food, teas and coffees etc, available as anyone could want, and even a couple of casks of local beer for people to help themselves from. The good and plentiful food and drink, and Michael's efficient and cheerful organization of the event, contributed a lot to the good mood. The training occupied Monday and Tuesday. Apart form the Sprint involved several presentations.

On Wednesday and Thursday I was expecting to get on an do some work on the sprint. As it turned out, on Wednesday morning Alain was generous enough to guide a couple of us through the way he had a written a Drupal module he was using for GDPR compliance, and I spent a lot of the remaining time working on that. In terms of contribution, that is not a waste: just being around was enough of an introduction to the social style and working methods of the sprint to overcome initial nerves and uncertainty to be in a with a good start for next time. Experiencing the congenial atmosphere is a motivator to attend a future sprint.

Quite how effective this kind of sprint environment is for making a lot of progress on the software, is hard for me to say. The frequent presentations, and strong social aspect, may be distracting from the hardcore coding you could find at other sprints. On the other hand, meeting colleagues face to face has its own value in promoting good communication during the rest of the year.

I liking the community, and rather liking the software too, as well as feeling gratitude to the sponsors, organizers, cook, trainers, and others who worked together to make the event so worthwhile. Clients and employers who had facilitated attendance, including the subvention for my attendance from Arts Professional, even though not counted among official sponsors, also contributed to the event to the development CiviCRM, and their willingness to support a product which benefits many non-profit and third-sector organizations is appreciated.

Filed under