ADVANCED SEARCH
----------------
FILTERS (aka conditions, restrictions, wql snippets,.. )
filter is: cardtype? combination of UI (form), wql snippet, & target search:
ui template: "edited_by: "
wql snippet: {"edited_by":"_editor"}
target search: "Front page search"
notes: Filters paramaterize themselves. A full search interface may include lots of filters. Its conceivable, but out of scope, for filters to be added dynamically.
How it works:
Filter Jobs:
- On change, the filter performs a subtitution of the value currently in its UI to generate an "absolutized" wql snippet. It then finds the "target" Search (DOM node) on the page, and updates the filter hash (key by cardname of filter, stored in the DOM node). It then triggers the search to refresh. ( if there are multiple instances of the search on the page, all are updated. )
Search Interface Jobs:
- on refresh, pass all filters from the hash as CGI arguments
- on the receiving end, unescape CGIfied filters and pass them as arguments to WQL.
WQL Jobs:
- handle merging of snippets
Great start. I'm a little confused by the . Is there a card involved? Is the value stored in the db?
I'd love to get how this is going to work. Will it let you put a search box where you can type something in and only get results that are cards of a given type (or any arbitrary WQL-defined subset)?
--John Abbe.....Wed Apr 28 16:18:29 -0700 2010
This seems like a really powerful idea, but I really don't get the proposal very well from the above text.
I'm guessing that this is so we can use the powerful Wagn searching capabilities to make the UX more interactive and allow for a lot more complex contextualized completions and such. This seems like the browser (Javascript) is doing a lot of the work and sending what? A complete query? Couldn't it just send a set of parameters expected by the filter and have all the absolutizing going on in the server much like it does for *navbox and Pointer item searches now? The browser then just presents the options mostly as links.
Or am I just confused by this ticket?