New and Improved 3.13 Beta. Highlights: Shareable filters and dashboards and lots of other goodies. Any feedback can be raised as JIRA issues in the JIRA project.
Issue Details (XML | Word | Printable)

Key: JRA-10340
Type: Improvement Improvement
Status: Open Open
Priority: Critical Critical
Assignee: Unassigned
Reporter: Tim Colson
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JIRA

Client-Side table sorting magic

Created: 02/Jun/06 10:45 AM   Updated: 03/Jun/06 03:37 AM
Component/s: Web interface
Affects Version/s: 3.6.2
Fix Version/s: None

Time Tracking:
Not Specified

Participants: Scott Farquhar [Atlassian] and Tim Colson
Since last comment: 2 years, 12 weeks, 3 days ago
Labels:


 Description  « Hide
Hey folks, around 2003 somebody figured out the Browser can sort a table orders of magnitude faster than doing server round trips. Especially useful with large issues lists, or on a hard hit server, or when bandwidth stream is less than 100 Mbps (ex. over VPN in an airport or hotel)

I keep hoping sortable magic will appear in Jira without having to ask... but...uh, no.

Is client-side sorting at least on the roadmap?

Some potential implementations:



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Scott Farquhar [Atlassian] added a comment - 02/Jun/06 11:30 PM
Tim,

This is difficult to do when:

  • there are more issues that aren't displayed on the page (ie you have displayed 50 of 500 issues)
  • the sort order isn't a natural one (ie versions which are ordered etc)

However, that doesn't mean we won't be trying to do it.

We are looking to rewrite the issue navigator, and this is one thing we want to address.

Cheers,
Scott


Tim Colson added a comment - 03/Jun/06 03:16 AM
Added another potential sortable table implementation

Tim Colson added a comment - 03/Jun/06 03:37 AM
Hey Scott – thanks for the quick feedback, I understand how paginated tables and custom sort order will be a challenge. Not intractible, just as you say difficult.

For the majority of my usage, I don't actually have pagination. And I would gladly trade pulling down 300 rows if I knew I could them sort locally.

Custom sorting for "non-natural" columns shouldn't be too difficult to hack... afterall, the server obviously has code that figures out the logic.

FYI - Canoo.com's UltraThinClient (Java applet) tackles this problem in an interesting way.
And it could perhaps be applied to a DHTML/AJAX UI.

As I recall, Canoo dynamically loads data the user can "see" plus some extra rows for buffer.

When the user scrolls, more rows are loaded. On column sort, the client sends a request to the server which sorts and then dynamically sends whatever rows would be seen post sort based on the users current row.

Ex. view ten rows ID#20 to ID#30 out of 500, sort by ID descending, user would then see #490-480. Scroll up and user would see buffered lines 500 - 490. Scroll down and more rows would be dynamically loaded.

Oh, and throw in JSON for the data transport to reduce the data transfer size... and maybe use Javascript Templates from Trimpath (http://trimpath.com/project) to render the JSON data into dynamic table rows.

Or maybe use AMASS to cache the entire 500+ issues locally and Trimpath Query to run SQL against that data. (http://trimpath.com/project/wiki/TrimQuery)

Admittedly more difficult in DHTML and AJAX... but doable, eh?
Timo