On June 24, 2022, Tadpole hosted a virtual Lunch and Learn where Kevin Cristiano gave an update on the progress of the CiviCRM Search Kit. Now under development by the CiviCRM core team, Search Kit expands and improves upon the search experience for CiviCRM admins. Search Kit is community funded; the primary funder of the initial work was Wikimedia Foundation.
Below is the full recording of the session, followed by a brief summary of the demonstration.
Since our Search Kit demo last August, some major improvements have been added — and continue to be with each new release. Where Search Kit once allowed us to pull data from only the Contact record plus one additional entity (for example, Contact plus Contribution data, Contact plus Event data, etc.), we can now build complex queries to return data across all CiviCRM entities: Events, Participants, Memberships, Case, Contributions (down to the line-item level), Campaigns, etc.
While Search Kit is still a work-in-progress, Search Kit is now mature enough to provide a robust solution for many searching, reporting, and data manipulation tasks. Tadpole has been implementing Search Kit for clients whenever we’re approached with requests for new reports — or changes to existing reports. Using Search Kit eliminates the need for code modifications when you need something simple, like adding an additional column to the report.
Search Kit Admin Screen
[04:25] The main Search Kit admin screen displays your Search Kit searches and tells you which CiviCRM entity the report is based on. The interface allows you to assign tags (in different colors!) to give you further ways to search/filter your Search Kit searches.
Simple Membership Search
[05:30] Our first example shows a simple Membership search for which we also wanted to collect some Contact data. Our search returned 46 records in a table with column headings representing the fields we specified in our search criteria. If we want to include another field/column in our Search, we can do that inline, right from within Search Kit’s results preview, by clicking the “Add” button to the right of the column headings [06:15].
Start typing the name of the field you want to include in your columns; in our case, we wanted to include the Most Important Issue for each Member/Contact.
[07:34] The search builder screen also allows you to take various actions on a selection or all of the current dataset. By selecting some or all of the checkboxes then clicking the Actions button, you can choose to download a spreadsheet of the current dataset or do a bulk update on the Membership data. (Kevin explained that the “Export Memberships” option actually bounces you away from Search Kit to CiviCRM’s native export tool which will require you to redefine your search again.)
Search Kit Forms
[08:58] In cases where users may not necessarily have access to — or feel comfortable using — the backend Search Kit admin screen, we can create a form for the user to conduct their searches and act on the returned result set.
First we need to add a View. Search Kit allows you to create Tables, Lists, Grids or Smart Groups and for our example we want a table. The following screen allows you to decide how each field is to be treated in the Table view; we can rename our column headings, decide whether a column should be sortable, add a placeholder for empty columns, link our data to a CiviCRM record, allow for in-place editing, and more.
Kevin demonstrated how we can also style certain columns conditionally, for example, to highlight all expired Memberships in red.
[11:50] Once we have our table view defined, we use the Form Builder to create the form, set up a page to display it (the slug will always have civicrm/ prepended), and assign the proper permissions. In our example, we set the permissions to allow access only to CiviCRM admins, but any level of access can be granted. Additionally, there is an option to make the form available on the front-end of the website.
[13:20] On the right side of the Form Builder screen, we select the fields we can to include on our form for searching. For this example, Kevin selected the Member’s Status, Membership Type, Member Since and Expiration Date for our search form. Fields can be added and removed by dragging and dropping from the Field list on the left.
Once we have our search fields set up, we can view the page and see our search form displayed above the result set. Kevin demonstrated the inline editing and bulk updating features.
Event Search Example
[18:28] Our second example looked at finding data around Events. Kevin walked us through buliding a query to find Event Participants who are also Members and how to limit our search to Memberships with a certain Status: New, Current, or Grace.
[20:55] We again stepped through the process for setting up the Table view and Form, but this time we set up the form to be viewable on the front-end of the website [22:20]. Now when we view the page the form appears within our regular WordPress page template instead of the website’s admin area. This allows us to limit the amount of data the user can see and/or edit to just those fields absolutely necessary. Note that the form is still only accessible to those with the proper access permissions, as designated in the Form Builder settings.
[23:22] Kevin gave a few more use cases for the inline editing and bulk updating features: changing a participants’ soup selection; changing participants’ roles, etc.
Kevin gave a few more practical examples of Search Kit uses including a simple Contact update form [26:10] and using a Group search to clean up Groups that may no longer be needed [29:16].
[31:00] He also talked about future of the Form Builder and how it will ultimately be used for data input as well as searching.
At this stage, Search Kit is already an awesome tool for users of CiviCRM (site owners, admins, end users) with more enhancements and improvements on the way. Get in touch if we can help you with any implementation or training or if you have a specific project in mind that would benefit from the power of Search Kit.