Improving the contribution search form

Pubblicato
2012-08-20 11:43
Written by
Dave Greenberg - member of the CiviCRM community - view blog guidelines

At our last big sprint there was some good discussion about ways to clarify the filtering conventions used on many of the search forms. One specific area that seemed to need "help" is the set of checkboxes for filtering on Pay Later, Recurring and Test contributions. Here's the current version of that section of the form:

With the checkbox interface, it's not obvious what effect checking the box has. Does it cause the search to ALSO include Test contributions (for example), or to ONLY include Test contributions?

Samuel Vanhove from Koumbit followed up by posting a suggested set of changes to the Find Contributions form recently here. Coleman and I discussed the proposed changes and came up with a few alternative approaches. Coleman also pointed at that the use of the word " - select - " on the dropdown filters was not ideal. Given that NOT making a selection results in "any" value being included for that filter, he suggested replacing " - select - " with " - any - ".

Looking at the Contributions pane in Advanced Search, we also realized that the same issue of "confusing checkboxes" is present in several other component search forms and panes (Find Memberships, Find Participants, Find Pledges) - and should be addressed at the same time. We came up with a few alternative approaches - shown below - and would appreciate feedback from folks before we jump in and make the changes.

Option 1

Option 2

Option 3

Filed under

Comments

Experimenting w/ making the 'any' option a radio button (in Option 1), and reverting back to using 'clear' for the link UI text (rather than 'any'). Feel free to "mix and match" these options when commenting on them.

"any" is confusing.  either stick with 'clear' and infer that without a selection it will be either/both, or replace the word "any" with "both" or "either".  thanks for tackling this

I think the Yes / No / Clear is the preference from my reading.

Clear is being used in other places so creates consistency.

"Any" still feels like an ambiguous term, and I was going to suggest 'ignore' but realise it similar can be interpreted in several ways.

I also wonder about using include/exclude instead of yes/no

hence Include / Exclude / Clear

@Pete: Unfortunately in the case of search include is not the opposite of exclude. Exclude means "add this param to the query with value FALSE or NULL" and include means "ignore this param." The true opposite of exclude would be something like 'Only' or 'Limit to'

option 1 is the clearest. either the term "any" or "both" make sense to me.

I prefer having three radios instead of the clear function in this context, because our defaults may be different for each set. for example, "contribution is a test" should default to "no", but the others should default to any. semantically, we can keep the label consistent and just set our defaults explicitly.

okay after extensive testing on my 17 year old (yes ask a bright person) she reckons the reason I stumble on 'any' is that 'any' is a word that covers more than two options (maybe getting semantic here)

Yes / No / Don't Care    is probably the most accurate in terms of what I think when i look at the question "is it Pay Later?"

But if 'Any' works for others I am sure I will get use to it, especially if it is the Default

Otherwise does    

Yes / No / Either    

Yes / No / All

work better for others?