Discussion on Mattermost in dev channel: https://chat.civicrm.org/civicrm/channels/dev
Project led by: @colemanw @totten @eileen
The following represents the results of a discovery project whose central objective is to improve the search and reporting capabilities of CiviCRM. The original issue is tracked here.
This page presents “Search Builder” as a recommended approach to unifying developments that are underway (APIv4 and Form Builder) as a foundation for a consolidated search and reporting utility. Furthermore, the lays out project roadmap of key blocks of work necessary to complete Search Builder via issues associated with the following milestons:
- Phase 1 - %Search Builder Overhaul - Phase 1 (target completion June 30, 2020)
- Future Phases - %Search Builder Overhaul - Phase 2
Proposed Technology Stack
Based on the research and discussions, the following solution was proposed:
- APIv4 will serve as the query builder for all future search/export/reports.
- Additional functionality will need to be added.
- A new Search Builder UI will be created.
- The Form Builder project can be used to configure search builder queries into reports and custom searches.
- The new Export UI built for WMF can be incorporated into this workflow (and is now merged into core to facilitate this development).
This is a mockup of the re-imagined search builder screen. It is intended to replace the current Advanced Search and Search Builder UIs. It will be a full-featured UI aimed at advanced users, with the ability to save configurations into simpler forms like Custom Searches and Reports.
- Allows choosing any base table + joins
- Nested and/or where clause, supports all fields and operators
- Control over grouping and sorting
- Searches can be run immediately, or scheduled to run in the background
- Output columns can be configured by dragging & dropping table headers
- Output rows can be selected and acted upon (e.g. “Add Tags”)
- The query can be saved as the basis for a Custom Search, Report, or Smart Group.