
Joris De Groot
As a web agency it is important to be an expert in various fields of knowledge. Contact and member management (CRM) is also important to many of our customers. That is why we have chosen to become an official partner of CiviCRM, a powerful Open Source CRM system mainly intended for websites with active member operations. The system supports the member organisation in managing contacts, memberships and events and much more. Calibrate is the only web agency in Belgium that is an official empowering partner of CiviCRM.
A partnership with CiviCRM is more than just a financial contribution. Together with other partners, we support the growth and stability of the platform. We also contribute to the CiviCRM and Drupal Community on a regular basis with code contributions and sprints.
On Friday 22/08/2018 our CiviCRM experts: Wouter Hechtermans (CiviCRM Lead), Joris Vercammen (Drupal Developer, Search API maintainer) and Wannes De Roy (Full Stack developer) again contributed to the CiviCRM and Drupal Community with a development sprint.
In preparation for a sprint, the objectives of the sprint are laid down during a planning meeting. The objectives of the last sprint were twofold: on the one hand, we wanted to update the Drupal 8 module, and on the other hand, we wanted to implement CiviCRM with Composer. Once the objectives had been determined, we started coding.
Improvements CiviCRM drupal 8 module
An overview of all submitted pull requests:
In the making (still to be tested & optimised):
Because this class has an important function, we have also added a Unit test to ensure that the behaviour is still working correctly. Unfortunately, these tests are not (yet) automated.
In order to do so, we must first succeed in installing CiviCRM in a simple way via composer.
This will make it easier to use [TravisCI], [CircleCI] or something else to perform them.
Delete _CiviCRM session for anonymous users (issue with varnish caching)_
When you visit a Drupal8 website with Varnish, Varnish caching works fine until you get to a public CiviCRM page, then a session is posted. When you leave the page by clicking another link, the session remains and Varnish can no longer be used to serve the pages.
We must therefore make sure that this CiviCRM session is removed when you leave the CiviCRM page. Our solution to this problem is a custom middleware service which, based on certain conditions, will clear this session after a user has been on a CiviCRM page.
Still to be done
Implementating CiviCRM & Composer
Below are the steps taken to add CiviCRM to Composer by Drupal.
For some packages we already use our own forks with certain fixes. Several fixes are already in pull-request but have not yet been implemented in the latest versions of the repositories.
This would work if the CiviCRM extensions were available on packagist. And together composer installers and the type `civicrm-ext` it will go directly to the right folder that you can set yourself: read more.