Skip to content

Provides custom search functionality for those who don't wish to use Drupal Views.

License

Notifications You must be signed in to change notification settings

UofS-Pulse-Binfo/chado_custom_search

Repository files navigation

Tripal Dependency Module is Generic GitHub release (latest by date including pre-releases)

Build Status Maintainability Test Coverage

Chado Custom Search

Provides custom search functionality for those who don't wish to use Drupal Views.

Why might you want to use this module?

  • Gives you complete control of the query so you can tweak performance.
  • Removes query-determination overhead of Drupal Views for better performance.
  • Lets you make quick custom searches which can be under version control.
  • Saves you from having to render the result table, generate the filter form, handle the user input and execute the query.
  • Lets you focus on customizing only what you want to!

Chado Custom Search API

  1. Implement the ChadoSearch plugin type by creating a class extending ChadoSearchBase at src/Plugin/ChadoSearch. At a minimum you need to set the annotations, the $info property and the getQuery() method. See BreedingCrossSearch for an example.

  2. Clear the cache, navigate to the path defined in the class and enjoy your custom search!

Citation

If you use this module in your Tripal site, please use this citation to reference our work any place where you described your resulting Tripal site. For example, if you publish your site in a journal then this citation should be in the reference section and anywhere functionality provided by this module is discussed in the above text should reference it.

Lacey-Anne Sanderson (2024). Chado Search API. Development Version. University of Saskatchewan, Pulse Crop Research Group, Saskatoon, SK, Canada.

Technology Stack

See specific version compatibility in the automated testing section below.

  • Drupal
  • Tripal 4.x
  • PostgreSQL
  • PHP
  • Apache2

Docker

We use docker images within our Automated Testing Github Workflows and for development purposes. Specifically, the Dockerfile within this repo extends the tripalproject/tripaldocker by installing this module package.

Automated Testing

This package is dedicated to a high standard of automated testing. We use PHPUnit for testing and CodeClimate to ensure good test coverage and maintainability. There are more details on our CodeClimate project page describing our specific maintainability issues and test coverage.

Maintainability Test Coverage

The following compatibility is proven via automated testing workflows.

Drupal 10.5.x 11.0.x 11.1.x
PHP 8.1 Grid1A-Badge
PHP 8.2 Grid1B-Badge
PHP 8.3 Grid1C-Badge Grid2C-Badge Grid3C-Badge

About

Provides custom search functionality for those who don't wish to use Drupal Views.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages