I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

If you have questions or if you want to share your opinion about Aware IM post your message on this forum
Post Reply
Jaymer
Posts: 2430
Joined: Tue Jan 13, 2015 10:58 am
Location: Tampa, FL
Contact:

I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

Post by Jaymer »

When that left menu thread started, one of the things buried in the discussion might have slipped unnoticed. Its the issue that if/when you change VP (to display a changed menu) you lose the grids and they are redrawn. Not good experience for end users. So we have to do a lot of 'extra work' to try and minimize this negative aspect if we really want to fine tune the UX.

There are several places in aware where this occurs - not saying aware is bad - just saying that when we want to REALLY fine tune something, its easy to go down a rabbit hole of tuning and experimenting.

Only a few will remember v5 or v6 with the CUSTOM SQL option.

One shortcoming, in my opinion, is the lack of ability to make a grid that Sorts multiple ways.
Because the built-in sort is hardcoded to the Query.
As soon as the Accounting Dept. wants it sorted differently than Customer Service, then WE have to duplicate the Grid (ie. Redundant code = Maintenance nightmare). OK, nightmare might be pushing it, but you see the point. Sometimes we need nested sorts - but can't do that when we can only click on 1 column to sort. I wonder how many of you have multiple grids in your app that basically show the same data.
Yes, It would be nice if we could hold down a key and set a 2nd & 3rd sort (btw, grouping doesn't fully solve this because of records spilling over to other pages), but then a user has to do it each time he brings up the grid.

One solution would be to allow a variable to be used for the ORDER BY clause. And that could be front-ended with a simple screen that allows a user to pick a few variables (Sales Rep, then State, then Balance Due DESC , for example) and then saved in a config table for use the next time that grid is run: ORDER BY <<LoggedInSystemUser.customer_sort>>

This reduces redundancy in our app, lowers maint and modification costs/time, and makes a better app.

BUT This goes beyond a simple FR... its part of a larger issue of things that are just a pain in the ass OR hard for a new user to accomplish.
Emails is another example. (a nice email, with a logo and HTML)
Forgotten passwords.
Combine those two with an email with a link to log you in.
...Log someone in and bring up a specific form/record to approve something.

Most serious aware ppl here have done these things... but it wasn't clear cut. Took a LOT of work to figure it out. How's a newbie supposed to get that done?... if they are evaluating the tool. There's SO MANY of these no code/low code tools out there that do so much for you now. I'm not saying we need to compete with them, just using this as an example.
Click Here to see a collection of my tips & hacks on this forum. Or search for "JaymerTip" in the search bar at the top.

Jaymer
Aware Programming & Consulting - Tampa FL
hpl123
Posts: 2579
Joined: Fri Feb 01, 2013 1:13 pm
Location: Scandinavia

Re: I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

Post by hpl123 »

Jaymer wrote: Mon Jan 30, 2023 5:25 pm When that left menu thread started, one of the things buried in the discussion might have slipped unnoticed. Its the issue that if/when you change VP (to display a changed menu) you lose the grids and they are redrawn. Not good experience for end users. So we have to do a lot of 'extra work' to try and minimize this negative aspect if we really want to fine tune the UX.

There are several places in aware where this occurs - not saying aware is bad - just saying that when we want to REALLY fine tune something, its easy to go down a rabbit hole of tuning and experimenting.

Only a few will remember v5 or v6 with the CUSTOM SQL option.

One shortcoming, in my opinion, is the lack of ability to make a grid that Sorts multiple ways.
Because the built-in sort is hardcoded to the Query.
As soon as the Accounting Dept. wants it sorted differently than Customer Service, then WE have to duplicate the Grid (ie. Redundant code = Maintenance nightmare). OK, nightmare might be pushing it, but you see the point. Sometimes we need nested sorts - but can't do that when we can only click on 1 column to sort. I wonder how many of you have multiple grids in your app that basically show the same data.
Yes, It would be nice if we could hold down a key and set a 2nd & 3rd sort (btw, grouping doesn't fully solve this because of records spilling over to other pages), but then a user has to do it each time he brings up the grid.

One solution would be to allow a variable to be used for the ORDER BY clause. And that could be front-ended with a simple screen that allows a user to pick a few variables (Sales Rep, then State, then Balance Due DESC , for example) and then saved in a config table for use the next time that grid is run: ORDER BY <<LoggedInSystemUser.customer_sort>>

This reduces redundancy in our app, lowers maint and modification costs/time, and makes a better app.

BUT This goes beyond a simple FR... its part of a larger issue of things that are just a pain in the ass OR hard for a new user to accomplish.
Emails is another example. (a nice email, with a logo and HTML)
Forgotten passwords.
Combine those two with an email with a link to log you in.
...Log someone in and bring up a specific form/record to approve something.

Most serious aware ppl here have done these things... but it wasn't clear cut. Took a LOT of work to figure it out. How's a newbie supposed to get that done?... if they are evaluating the tool. There's SO MANY of these no code/low code tools out there that do so much for you now. I'm not saying we need to compete with them, just using this as an example.
This is already possible in Aware using advanced scripts. You can for example set different sorting, grouping etc. etc. dynamically i.e you compile the grouping, sort etc. and save it in an attribute (that can be customized/saved for example per department, user or whatever) and then use tags in the script of the query. Here is an example doing both grouping and sorting (and then some):

Code: Select all

`var ds = config.dataSource;config.columns[3].groupHeaderTemplate='#= value # <span class=fpquerygroupcount>(#= count #)</span>';ds.group = [{field:'ScContext', dir: 'asc',aggregates: [ { field: 'ScContext', aggregate: 'count'}]}];ds.serverSorting=false;ds.sort={field: 'Importance', dir: 'desc'};`
I would recommend you dig into the Kendo documentation where you can find details about these things and that is how I found the different parts in the scripts above.

I do however agree that having options for this in the config tool i.e built into Aware would be useful.
Henrik (V8 Developer Ed. - Windows)
hpl123
Posts: 2579
Joined: Fri Feb 01, 2013 1:13 pm
Location: Scandinavia

Re: I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

Post by hpl123 »

Jaymer wrote: Mon Jan 30, 2023 5:25 pm When that left menu thread started, one of the things buried in the discussion might have slipped unnoticed. Its the issue that if/when you change VP (to display a changed menu) you lose the grids and they are redrawn. Not good experience for end users. So we have to do a lot of 'extra work' to try and minimize this negative aspect if we really want to fine tune the UX.

There are several places in aware where this occurs - not saying aware is bad - just saying that when we want to REALLY fine tune something, its easy to go down a rabbit hole of tuning and experimenting.
I rarely have a problem with this, possible small things like when a row in a query is highlighted and the VP change, the highlight goes away (solvable quite easy btw) and then of course things like if a user is in the process of entering something into a form etc. but most if not all of these things has to do with how the app is designed as well I would say. If the app does change VP etc. for different things then I would minimize all things like that and ideally have none of them to create the best possible UX.
Henrik (V8 Developer Ed. - Windows)
Jaymer
Posts: 2430
Joined: Tue Jan 13, 2015 10:58 am
Location: Tampa, FL
Contact:

Re: I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

Post by Jaymer »

Thats not the point.
Click Here to see a collection of my tips & hacks on this forum. Or search for "JaymerTip" in the search bar at the top.

Jaymer
Aware Programming & Consulting - Tampa FL
aware_support
Posts: 7523
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Re: I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

Post by aware_support »

Several issues are touched upon here.

1) Certain things should be easier especially for newbies
2) Multiple sorting for queries
3) Changing left menus

Some comments:
1) I agree that things should be easy, but if you consider all possible development issues that applications have to solve/implement, then it's next to impossible to make everything easy. Therefore, the general Aware IM philosophy is not to have anything that is IMPOSSIBLE, rather than make everything easy. Hence the ability to use scripts, plugins, stored procedures etc. We do strive to make things easier whenever possible as well. By the way, I don't think that emails with HTML, or links to login or forgotten passwords are difficult at all.

2) There are two solutions to the multiple sorting issue - use custom scripts as Henrik suggests or use EXEC_STRING, which can dynamically build a query with multiple sorting criteria. In the future we will make it easier...

3) I have already provided some feedback on what can be done with left menus - you don't need to change perspective/layout in most cases
Aware IM Support Team
hpl123
Posts: 2579
Joined: Fri Feb 01, 2013 1:13 pm
Location: Scandinavia

Re: I HATE REDUNDANCY: A note about Dynamic Sorting, AND the LEFT MENU issue

Post by hpl123 »

Jaymer wrote: Tue Jan 31, 2023 2:40 am Thats not the point.
What is "not the point"? The easy for newbie things? Well, I for one think the current Aware is a lot better when it is complex and has options. It has enough simplicity for the average Joe to build ok apps and then a lot pf customizability for more advanced developers, the perfect mix IMO. Many moons before you joined Jaymer, Aware was a lot more "rigid" in that you couldn't do anything outside of what the config tool allowed you to do i.e it was "simpler" if you want to call it that but then also a whole lot less flexible i.e you couldn't do anything custom almost. I don't want to go back to that lol.
Henrik (V8 Developer Ed. - Windows)
Post Reply