Upgrade and translation plan for the civicrm.org website

2019-09-05 07:17
Written by
bgm - member of the CiviCRM community - view blog guidelines

As many of you know, the civicrm.org is both the main site for promoting CiviCRM, and also where we blog, list extensions, promote partners and contributors, list the events organized by the community, showcase case studies, jobs offers, and provide many more features. The data from the site and from the CiviCRM database attached to it also feeds various other systems, such as some of the in-app default dashboard dashlets (welcome and blog), or the in-app extension installer. Over the past two months, over 240 people have logged-in and 26 blog posts were published.

Recently the community agreed that translation should be a major focus for the website. CiviCRM works great in many languages (officially we support 47 languages, including a few regional variants), but our website does not reflect it. Many of you responded to the translation survey, which helped confirm the importance of translation (it's still not too late, if you haven't done so yet, we appreciate the feedback!).

However, with the growth and evolution of our website, we also have to consider the maintenance of the current features before adding new ones. In addition to making the site available in multiple languages, we want to make it easier to publish content, using more modern content editing tools and layout builders, and we want to avoid accumulating too much technical debt. In fact, we'd like to unwind much of the technical debt we've accrued already! With respect to translation, we had tried various options in the past, including running separate sites, but none gained traction because of the limitations and overhead they come with. It was therefore agreed to enable translation on civicrm.org itself.

Since this is a big change, we wanted to make sure we first upgraded to a content management system (CMS) that handles translation well and that will be easy to maintain. Currently we are running Drupal7. Since the Drupal8 upgrade process is somewhat complicated, we decided to evaluate all content management systems supported by CiviCRM, such as Joomla, Backdrop, WordPress and Drupal8 (not yet officially supported by CiviCRM, but it works).

There was a lot of discussion both at the NY Sprint and on Gitlab (#130, #141 and various wiki pages). It was a difficult decision, but we are planning to go with Drupal8. For translation, we had most experience with Drupal8 and WordPress. For the user content editing experience, we were strongly leaning towards WordPress. However, it will be easier to migrate content and user accounts from Drupal7 to Drupal8, port the current theme (for which small improvements are also in the works), and general tooling of third-party services that run on top of the current website. Of course, it's more complicated than that, and there are many ways of moving forward, but we had important time/budget constraints and we had to pick a solution. It's a gift and a curse: CiviCRM works really well with 4 awesome major content management systems.

We are still working on the technical details, but from the earlier stages before chosing the CMS, we (the infra/marketing folks maintaining the website) agreed on a few things: the website should showcase what CiviCRM can do out of the box, and not what the CMS can do. CMS integration is a strength of CiviCRM, but it also adds unnecessary layers of complexity to a website that, at the end of the day, is our community's primary marketing channel. Our objective in transitioning the website is not only to future proof it as Drupal7 becomes end of life, but to revisit our overall presentation to new site visitors and prospective users of CiviCRM. In this respect, the CMS doesn't matter... our focus is on a clean, clear presentation of CiviCRM and all that it has to offer.

Instead of leveraging the CMS to work around some of the limitations of CiviCRM, we want to make CiviCRM shine, no matter what CMS is used. That includes using core forms when possible and the new formbuilder extension otherwise, it also including creating event pages that look great and promoting the CiviCRM user dashboard (instead of the CMS user dashboard). We want to intentionally keep the CMS side technically simple, and invest our energy into CiviCRM extensions that all the community can benefit from.

We really look forward to having content in multiple languages on civicrm.org, to truly reflect our community and make it easier to adopt CiviCRM worldwide. If you haven't already volunteered, please add a comment and we will get in touch. You can also join the marketing channel on our chat. This will also be sprint topic for the Global community summit, 4-10 October 2019 in Barcelona.


Thanks for the detailed post, Mathieu. Although I'd wanted WP as the CMS, I'm quite content with D8. I really like the priorities and focus that has been chosen.