In 2016 Tim Otten wrote a manifesto of sorts which outlined a practical and effective way to modernize CiviCRM. It boiled down to 5 letters: LExIM. 5 years on, CiviCRM is indeed in better shape than it was then, thanks to a tenacious community of developers following this path. So what is LExIM, why has it gotten us where we are today, and where are we headed?
In the beginning, CiviCRM was a monolithic piece of software. There were no extensions, and every new version was a big deal, with 6+ months between major releases, and many large changes in every release. As the project grew, this became increasingly difficult to manage. The time between releases was lengthening, frustrating people waiting for new features, and the number of breaking changes made upgrading a difficult and risky process.
Over time, CiviCRM's monolithic architecture evolved into something more extensible, with a very useful API, and a pluggable extension system. The 6+ (approaching 12+) month major release cycle was starting to hold the project back...
LExIM stands for "Leap by Extension, Iterate by Month" and that's what we've been repeatedly doing since 2016. Every month CiviCRM puts out a minor release with bug fixes and non-breaking improvements. Any stray regressions are aggressively squashed, often in < 24 hours. This has dramatically increased confidence in adopting the latest version, with many organizations choosing to update immediately, or even run the pre-release of next month's version in advance.
Meanwhile, major new features are developed as extensions. Extensions can be released more rapidly, but an even more significant advantage is that they can be built on newer technology and "leap" past the limitations of older CiviCRM architecture.
Searching and Reporting are two of the oldest parts of CiviCRM. Based on a patchwork of outdated technologies, they have become increasingly difficult to improve and maintain. There's a point where fixing something becomes more expensive than replacing it...
Enter Search Kit, a sleek new extension built on the powerful CiviCRM APIv4. Though less than two years old it already outmatches the features of Advanced Search, Search Builder, and CiviReport combined. At it's heart is a smart query builder that can sort, segment, join and display CiviCRM data in nearly any way imaginable. That's great news for anyone with specific needs for searching and reporting (need to find donors in a certain age range within a 100km radius of your organization, broken into tiers by giving level? No problem).
But the full potential of Search Kit is only just being realized...
The Future of Everything
Remember how I mentioned outdated technology? Most of CiviCRM is built with that stuff, because CiviCRM was originally written a long time ago. And that means most Civi screens are difficult to customize. For example, say you are generally happy with the Contact Summary screen, but on the tab for Contributions you wish there was a column showing the check number. In the old days, the answer was "hire a developer to modify the screen using custom code". Today you can do it all with a few clicks and 3 extensions: create a Search Kit display of contributions showing exactly the columns you want; use the Form Builder extension to embed it in a contact summary tab; and the Contact Layout extension can turn off the original Contributions tab and move your new one into its place.
So if Search Kit is capable of replacing an older CiviCRM screen, why not replace every screen with a Search Kit display? Wouldn't that make all of CiviCRM nicer to use and more customizable while updating the underlying technology?
Yes! Yes it would!
So let's do it. In fact, I've already started, (LExIM style) with an extension. CiviCRM Admin UI is a proof-of-concept that you can install today if you want a taste of the vision (it's bundled with CiviCRM as an optional extension). So far it replaces 2 legacy screens with Search Kit displays: Administer Custom Groups and Administer Custom Fields. As the name implies, that's just the beginning, and I'd like to see that extension grow in scope until it replaces every CiviCRM admin screen.
Here's to modernization! If you'd like to get involved in the effort, please join us on the Search Kit chat channel. See you there!
Coleman Watts is a lead developer of CiviCRM, and the host of infocomedy web series Think This Through.