Making extensions easier to find and publish

2016-12-23 10:56
Written by
The CiviCRM extension system has come a long way since its inclusion in version 3.3. There are currently over 250 extensions published in the Extensions Directory at, and scores more in public repositories, offering a very wide range of improvements with just a few clicks.  If you haven’t yet taken advantage of available CiviCRM extensions, you’re probably missing out on quite a lot.  From managing API keys to preventing inadvertent data loss, extensions can make life a lot easier.
Over at the Extensions Working Group, we’re making careful progress toward improvements to the extension ecosystem, aiming to make it easier for all of us to do what we want with extensions:
  • End users and site admins: easier to find, select, and install the right extension
  • Extension developers: easier to publish extensions and set clearer expectations for support and maintenance, and easier to avoid duplicating existing extensions
  • Community volunteers: easier to conduct extension reviews and help them get qualified for automated distribution
As an early step in those improvements, I’d like to point you to the relatively new Extensions Lifecycle documentation, which describes the process of publishing extensions through the CiviCRM ecosystem, along with clear definitions of concepts like stewardship (who’s managing this extension?), project maturity (exactly what is meant by saying an extension is “experimental” or “stable”?), and more.
This documentation is primarily aimed at extension developers and reviewers; most end-users and site admins will find it too technical to be of any immediate use. But as a foundation, I expect this kind of documentation -- and the conversations it supports -- will prove very useful in improving our less technical user-facing documents and interfaces, including the in-app Manage Extensions page, and the Extensions Directory on
If you’ve got an extension that you’d like people to use, I encourage you to look over this document and get to know its contents; if you have questions or comments, mention them here or reach out to us in the Extensions channel at We’ll be using these concepts going forward as we continue improving our processes and increasing the number of extensions approved for automated in-app distribution.
[Thanks to Karl Tatgenhorst for contributing to this post.]
Filed under
Click thumbs up if you thought this blog post was useful (login to vote or to comment)