Open jpmedley opened 6 years ago
This is by design, but I think it's come up as a source of confusion more than once. Perhaps we should revisit the design.
The Design
When any filter restricts a collection to <500 records, all other collections get filtered to: "only show records associated with one of the <500 records in the other collection". This is repeated until the collections converge.
The advantage is that filters in one view pear down the data in other views to "related data". The downside is this: if the the number of records in any collection converges to zero, then all collections will eventually receive a filter saying "only show records associated with null-set"; hence all collections converge to null-set. This happens when, for example, you search for "IDB" in Confluence, and the IndexedDB APIs have no issues.
Alternatives
The most obvious alternatives to me are:
I kind of like the second one, but I'm a bit afraid of it. If it's not implemented quite right, the collections could thrash in the following way:
goto 1.
. Uh oh...@foolip and @jpmedley WDYT about this issue?
If I understand the current design correctly, I should see something for IDB. I know mdn has records for those.
I believe the problem is that those MDN records are correct. We have no generated issues for IDB.
We should probably chat synchronously about this. @foolip and I talked about a few ideas, and we seem to be leaning toward a search box that filters APIs (consistently for Confluence and MDN), and possibly a separate search box for issues (to support things like "assignee:me").
Yeah, I did find it surprising also that all views went blank, and I think something that's simpler to explain would be good. The absolute simplest would be a single search box that just filters the Confluence and MDN views to APIs that match a static string.
But then I wonder if one might want to also produce PRs that fix things for just a single browser at a time, in which case filtering by the browsers somehow would also help.
@jpmedley, what's the minimum amount of filtering that you think is needed? Could it go in a single search box, or not?
I've been trying to figure out how to convince you guys that it should go to a single box. Even knowing that the current implementation is a boolean intersection, I still have a hard time predicting what I'm going to get.
A single box sounds great if it meets the use cases. WDYT, @mdittmer?
@jpmedley, about the use cases, what kinds of things would you type into and and what would you want to happen? Just filtering by API name in all views, or do you also want to filter by something else, like the browser? And just to cover all grounds, what bad things would happen if there were no search box at all? Just that it's annoying to scroll around, or something less obvious about the work flow being impaired?
We could certainly move to a unified search box. @jpmedley what features do you think are most important for the filtering use cases you have in mind? Here's what we currently have:
key:value
works on properties (e.g., issues: status:open
; confluence/MDN: firefox45:false
)browser<version
(or >
, or =
, ...) for MDN; this should work on Confluence too, but currently doesn'tIf we're going to refactor how the search controller works, we should make sure we focus on the most important features for users.
The fist two for sure. The last one, not so much.
Joe Medley | Technical Writer, Chrome DevRel | jmedley@google.com | 816-678-7195 If an API's not documented it doesn't exist.
On Fri, Mar 2, 2018 at 6:33 AM Mark Dittmer notifications@github.com wrote:
We could certainly move to a unified search box. @jpmedley https://github.com/jpmedley what features do you think are most important for the filtering use cases you have in mind? Here's what we currently have:
- Keyword search filters API names + issue descriptions
- key:value works on properties (e.g., issues: status:open; confluence/MDN: firefox45:false)
- browser<version (or >, or =, ...) for MDN; this should work on Confluence too, but currently doesn't
If we're going to refactor how the search controller works, we should make sure we focus on the most important features for users.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mdittmer/mdn-confluence/issues/17#issuecomment-369936503, or mute the thread https://github.com/notifications/unsubscribe-auth/AH0vi6MbXQ7rjX4LwRRm94ldfyXscwjZks5taVgwgaJpZM4SYvYA .
Type the following three items in the search box for the confluence pane.
IDB - results are blank even though confluence contains information about interfaces starting with those letters. Ab then add an o - When just 'Ab' is in the box, results beginning with 'Abort' are visible. As soon as I add the 'o' I only get PaymentRequest#abort
I can enter all of AnaylyzerNode without this strange missing data behavior.