@Tut - I’m reaching out to you in hopes that, as a moderator, you can bringing this message to the attention of the development team fairly quickly. I purchased Manage because I needed a system I could host locally. So far I am happy with how it operates but I am in dire need of improvements to the Search implementation (globally throughout). I’m sure I’m not the only person that feels this way.
Rather than just complain about it, I wish to offer a suggestion on how to quickly address the problem. I would like to suggest a formula based approach like:
<text_field> <text_field> …[field_title].process(parameters, …)
The leading “…” identify query element as “formula” rather than a “textual value”.
Parameters to formula have an OR relationship to one another (separated by commas).
The brackets allow for special characters in the target field’s name.
“process” default to “contains”.
For example some equalities would be:
…Amount is identical to …Amount(“500.00”)
…Amount is identical to …[Amount].contains(“500.00”) or …Amount.contains(“500.00”) or
…Ref No…contains(“1abc2”) is an illegal formula but …[Ref No.].contains(“1abc2”) is legal formula
A use case of:
XYZ Company …Amount(“500.00”, “600.00”) …Date.range(2020-08-01 to 2020-08-15, 2020-09-10 to 2020-12-31)
would translate to:
“XYZ” .AND. “Company” .AND. (Amount == “500.00” .OR. Amount == “600.00”) .AND. ( (DATE >= “2020-08-01” .AND. DATE <= “2020-08-15”) .OR. (DATE >= “2020-09-10” .AND. DATE <= “2020-12-31”))
This could integrate nicely into your current SQL query system in that each formulas can be chained as an inner JOINs to the main query. This would maintain the AND relationship between prime query elements. I realize it would require some work setting up injection filtering, but in the long run it would be a massive improvement over what is there now.
An edge case would be if someone needs to search for “…foo”. To solve this you could have the string function like:
…(“…foo”).
The only requirement this creates system wide is that no custom field can start with “(”
although " (" would be fine
This also has the added benefit that you could do a “textual OR” search
…string(“cat”, “dog”, “…foo”).
I admit a more user friendly approach, similar to what is done by airtable.com would be a more elegant solution, but the work required to put this in place would be significantly more than what I’m proposing, and what I’m proposing is reasonably simple to understand from a user standpoint.
So please consider adding this granularity to the Search tool as quickly as possible. It’s value during the setup cycle (migrating from another system) and for forensic searching would be immeasurable.
Thanks!