-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement new UI changes to support new Lucene #1363
Comments
I've rewritten the help text to reflect new features:
and clarify some finer points that came up in the user meetings:
Ultimately we might decide that this needs less (or more) detail, or a general re-wording. But hopefully it contains all the underlying points that we want to make. We also discussed having video material, so we might want to make this consistent with that. Finally, I've summarised the points that can either lead to timeout errors or syntax errors in the search engine (with the intent of displaying this to the user in the event of either error). I wasn't sure how errors are handled so I'll just paste it here (again happy for it to be reworded if needed):
|
New requirement: Do not display My Data checkbox if the user is logged in as |
New requirement: have a tooltip on my data checkbox to explain it |
New requirement: my data checkbox is only actioned when the user presses search |
@mattjSTFC have you had a chance to take a look at the filter panel UI for this? As we think that's the only work outstanding on this issue other than getting the PR reviewed :) |
@louise-davies Sorry, no, but I'll make this a priority. What is the state of play re filters from a coding point of view? As in was the agreed plan to get them working even though they may offer little value at the moment? I think what I am trying to ascertain is how much time to spend on it? 😆 Do we need to have it precisely laid out? |
@agbeltran suggested that she preferred that we don't ship with it "incomplete" and instead try and get all the functionality out now and working/looking as intended - as this may encourage the facilities to improve their metadata if we have support for everything built in. |
@louise-davies Do we have an idea of what filters will be shown? Plus any options available within each filter. I have screenshots from Patrick's demo to help but this was based on enhanced metadata. Any clues on what can be realistically shown, with the current metadata, would help aid me setting up the wires. 👍 |
@patrick-austin can you help with this? I suppose this isn't super simple as we can't just point at the prod/preprod data as they're not running the correct lucene... |
From my perspective there are three aspects to this: what has backend support, what actually exists in the metadata now, and how we choose to represent that.
In terms of what actually exists, I have more knowledge of the DLS metadata than ISIS. But I wouldn't expect any techniques (since they're new). For the type and format names, there are unlikely to be more than 10 possible values, and most of the data has the same value ("experiment" or "experiment_raw" seems to dominate). The parameters will depend more on the facility. DLS has around 10 possible
It's worth noting that I've never seen anyone using the
While that's true, we set @kennethnym up to point DG at the VM I was using to test performance on. That has real Diamond data indexed Finally there's the question of how we display this. Ultimately DG can do what it likes obviously, the data it recieves for types and formats (and techniques) is a simple list of strings, with the number of times each appears in the search data (this might be hardcoded to give the top 10, but that number could be altered if needed). The implementation I demoed is to have this as a list, and clicking on one filters to that value. However a drop down or even an open text box you type in and then it shows the relevant possible values based on the input might be more suitable. For parameters it's slightly more complex, you perform the same process with the parameter name (i.e. this Datafile must have a recorded "duration"). But to filter based on the value, you need to specify the name and some control on the value. For strings, I demoed this as a list you select from just like the types. I also did this with date values, by simply binning the values into "2022", "2021", "2020" "2019 or earlier". However it's very hard to know if this is suitable or not as no-one uses these. I could imagine this approach working for say, the date you got funding, or the date of publication, but if its the timestamp of when the first neutron pulse was emitted than knowing it occured sometime before 2019 is useless. Under the hood the date is just the number of ms since epoch, so we can treat this as a number if we want. Which brings us to numericValues. The demo had a box for min, box for max, and optional units. This maybe isn't as slick as a slider, or binning the values into (for example) 0-10, 10-20, 20-30, 30+, but it's very hard to know what sensible bins would be (even more so than the dates). At the end of the day my demo implementation was a trade off between what looked nice and what I thought I could implement before actually needing to demo to users. If as UI and frontend experts, you decide a different approach is warranted, then by all means go with that. Hopefully that's enough detail, but if any of that doesn't make sense let me know and we can discuss further. |
@kennethnym could you post some screenshots/GIFs of what the current filter panel UI looks like so that Matt has something to visualise? |
Will do |
DataGateway.Search.and.11.more.pages.-.Work.-.Microsoft.Edge.2022-09-23.13-49-39.mp4 |
@kennethnym could you get a video at the |
I don't think they both have a filter panel, unless I've accidentally removed it at some point and I forgot about it 😅 |
Filter panel was originally in |
If we keep the filter section on the left of the data table within the tab it could be styled as follows: No filters set Multiple filters sets
Shout if I have missed anything, things that won't work or ideas to improve. |
I like the look of the selectors and X for removing all being on a line, and I definitely think replacing the icons with text for the type selector is the right thing to do (to be honest, I can't remember now why I didn't just use text in the first place). There are some things I'd want to clarify as they don't appear in the mock ups (this might just be because we're happy with them as they are, and this comment will be overkill, but I'd rather that than they slip throught the cracks). For reference, here's screenshots from one of the demos I did as it has more of the facetable fields populated than @kennethnym 's video:
|
@patrick-austin Great feedback, thank you. What would help me greatly in order to answer some of the questions, from a UX/UI design point of view, and to suggest any further improvements is to have access to a staging / development site with the filters working using the current metadata. Having access to videos is great but it isn't providing the full picture of all scenarios. @kennethnym Do you know if this is possible? |
Before @kennethnym uploaded the video @louise-davies was asking if we could basically do that, deplot DG on the cloud VM that's currently running the new The downside there is that's only got Diamond metadata, I don't have access to real ISIS metadata anywhere (they don't have as much data as Diamond, so wasn't interested in testing the performance on theirs). And ISIS have stuff that Diamond don't, crucially (Datafile)Parameters with numericValues set. |
Thanks @patrick-austin. I'll wait for news on a site that can be accessed before making any further suggestions 👍 |
Description:
Follows on from #1361 - certain UI changes we like what Patrick has done and so we want to port them over exactly - the sort and my data checkboxes in the search controls, removing of the filters from the tables (and removing some padding). These need to either be sorted by #1361 or re-implemented.
Acceptance criteria:
The text was updated successfully, but these errors were encountered: