Skip to content
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

Easier query building interface for the admin analytics #168

Closed
GUI opened this issue Jan 12, 2015 · 1 comment
Closed

Easier query building interface for the admin analytics #168

GUI opened this issue Jan 12, 2015 · 1 comment

Comments

@GUI
Copy link
Member

GUI commented Jan 12, 2015

We've had this old issue chilling over in the API Umbrella project for a while: NREL/api-umbrella#15 We want to finally tackle building the better interface around admin analytics, so I'm adding a story over in this repo for us to track.

@GUI GUI self-assigned this Jan 12, 2015
@GUI GUI added this to the Sprint 13 (1/12-1/23) milestone Jan 12, 2015
@gbinal gbinal removed this from the Sprint 13 (1/12-1/23) milestone Jan 26, 2015
@GUI GUI added this to the Sprint 15 (2/9-2/20) milestone Feb 9, 2015
@GUI
Copy link
Member Author

GUI commented Feb 20, 2015

Implemented in NREL/api-umbrella-web#7 And this is rolled out to production. I'll be including this in the belated e-mail to all the admins about recent updates to get feedback on it, but hopefully it should be much, much easier to use than what we had before.

To cross post from the pull request:

In the current admin tool, if you wish to filter your analytics, you have to construct a query using Lucene's query syntax (which we pass along to ElasticSearch). This is powerful and flexible, but if you're not familiar with this syntax language or our internal field names, this isn't particularly friendly (especially when you get to URL paths and the need to escape slashes). Making an easier interface for people to filter the analytics has been on our todo list for forever.

This is an initial implementation of an easier query building interface. We're largely leveraging the jQuery QueryBuilder library to provide the UI for this. This provides drop down menus for picking which fields to filter on, the ability to choose conditions like "begins with", "contains", or "greater than", and then you can enter a search value (or choose from options for fields we know have a limited set of values). I've also added better inline help to describe each field. A screenshot probably best describes its functionality:

screen shot 2015-02-19 at 5 31 19 pm

Hopefully this is a lot more intuitive for most people to use. The fields available for filtering in this UI isn't entirely complete (we store other fields internally), but I think this covers the main fields that 98% of queries are probably interested in. The old interface is also available if you click the "Switch to advanced filters" link, so if you're still keen on the raw ElasticSearch/Lucene queries, that functionality is still present and works just like before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants