Feature #8016

Drag-and-drop issue (ticket) ordering

Added by James Robertson over 6 years ago. Updated 7 months ago.

Status:NewStart date:2011-03-30
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Issues
Target version:-
Resolution:

Description

We would really like to be able to specify an exact order for the resolution of tickets, by draggin and dropping them into order.

Priority should be automatically modified (ie. if an Urgent is moved 'below' a High it should be re-prioritised as High)

Alternatively, optionally the Priority of tickets (eg. Urgent, High, Normal and Low) should be respected (ie. can not drag a High beneath a Normal or above an Urgent). [Tricky]

New tickets should automatically be ordered at the bottom of their Priority.


Related issues

Related to Redmine - Feature #9183: Update grouped tickets/issues using drag-and-drop New 2011-09-05
Related to Redmine - Feature #9412: Drag and Drop Issues to Set Parent-Child Relationships New 2011-10-12
Related to Redmine - Feature #9184: Inline issue editing within list view/custom query New 2011-09-05
Related to Redmine - Feature #22802: Add the posibility to set/change the position of an issue... New

History

#1 Updated by Etienne Massip over 6 years ago

Are you talking about the issue list ?

You can already create a custom query with default sorting of issues by their priority.

#2 Updated by James Robertson over 6 years ago

Thanks Etienne. But I want to be able to order tickets precisely (ie. this High ticket, then this High ticket, then the next High ticket, etc.)

#3 Updated by Etienne Massip over 6 years ago

This is done usually by planning issues, setting start and due dates with "precedes" / "follows" relationships.

Then just sort by start date & due date.

If you change, e.g., an issue due date, then the following issues will have their dates changed too.

#4 Updated by James Robertson over 6 years ago

Thanks for the suggestion, but sounds a bit cumbersome for our scenarios.

Scenario 1:
We have several customer who websites/applications we support. We provide a fixed number of hours of support per month. In some cases there are many tickets (High, Medium (Normal) and Low) to be worked through over a period of months. The customer would like to be able to specify, and adjust, an exact order for these tickets.

Scenario 2:
We use Redmine to manage in progress, Agile projects. Our Agile methodology calls for all tickets (Stories) to be ordered and re-ordered as prioritiies change.

In neither of these cases are start or end dates used. Also, although there is an implied "precedence" between the tickets there is no technical basis for this. (Besides; setting and changing individual "precedes" and "follows" manually, would be very painful in these cases.)

So, can you accept my need to have a drag-and-drop interface to set an exact order - however that may be manifest technically.

#5 Updated by Andrew Betts over 6 years ago

I agree with James completely, and this affects our workflow in exactly the same way as he has described.

I implemented a hackish solution to this, but not knowing Ruby I did it in PHP, so it's unlikely to be of any use to anyone. But if anyone wants the code I'd be happy to share it.

#6 Updated by Josh McArthur over 6 years ago

Hi Andrew,

I am just starting an implementation of this issue now - it could save me quite a bit of time if I could take a look at your code and try and translate it to Ruby - is it on Github?

#7 Updated by Maciej Blomberg over 6 years ago

Hi,

any progress on this one?

#8 Updated by Josh McArthur over 6 years ago

Not really - I got bogged down in an implementation that would work for our company, vs. something that would work for everyone - and then ran out of time and had to move onto paid work. If some free time comes up again soon, I'll take another look at it.

The main problem I came across was working out an approach that would work across the multiple views a list of issues has - i.e it can apply across multiple projects, groupings can be used, etc etc.

#9 Updated by johnny bravo about 6 years ago

This is exactly the functionality we need as well. We spend a lot of time having to separately communicate to our developer exactly which issues to work on.

#10 Updated by James Robertson about 6 years ago

I've been thinking about this feature some more and realise that a first-cut implementation can actually be a lot simpler than I first described:
  • New custom field data-type: "sort order" (?)
  • Store as integer (1 is highest sort order)
  • Must be unique within (open) tickets of a project
  • On save, if the sort order integer has changed, any (one) ticket with the same or higher sort order integer are deprecated by one.
  • Add drag-and-drop to any Issue (ticket) filter that is sorted on a "sort order" field.
  • new/re-opened tickets are assigned the next highest integer (i.e appear at bottom of list)
  • Forget about everything else! :-)

Lots more stuff could be added later, but this would be a great first step! What do you think? Any more likely now? :-)

Cheers
James

#11 Updated by Adam N. almost 6 years ago

+1

#12 Updated by Marc Van Olmen over 5 years ago

+1

#13 Updated by Romain Vignes over 5 years ago

There is a similar mechanism already implemented in the Backlogs plugin

A "Position" field is added to issues that are stored in "User Story" trackers and is updated automatically according to drag&drop operations done in the "Backlogs" view.

Maybe the source code if this plugin could be of interest for a more generic issue ordering plugin.

#14 Updated by Bodo Maass about 5 years ago

+1

It would be great to have this. Meanwhile I'll take a look at the Backlogs plugin.

#15 Updated by Bodo Maass about 5 years ago

By looking at this I also found the Stuff To Do Plugin. Someone made a patch to allow it to run on Redmine 2.0. It has a nice implementation of the reordering-by-dragging that is requested here, albeit only for a specific view.
If this code could be applied to all issue views in Redmine, that would be awesome. Unfortunately I don't know Ruby and Redmine well enough to attempt this myself.

#16 Updated by Terence Mill about 5 years ago

+1

#18 Updated by Nathan Cooper about 5 years ago

+1

#19 Updated by Mathias Fischer over 4 years ago

+1

#20 Updated by Leonardo Salgado over 4 years ago

+1

#21 Updated by Mariusz Dalewski over 4 years ago

+1

#23 Updated by Randy Syring about 4 years ago

+1

#24 Updated by Daniel Hochman about 4 years ago

+1

#25 Updated by Jethro Yu almost 4 years ago

+1

#26 Updated by matthias rebel almost 4 years ago

+1

#27 Updated by jonathan ben almost 4 years ago

+1

#28 Updated by Stephen Johnson almost 4 years ago

+1

#29 Updated by Alexey Acidoff almost 4 years ago

+2 (me and my boss))

#30 Updated by Daniel Albuschat over 3 years ago

+1, James Robertson's two-year-old attempt seems feasible to me.
Although sorting in one specific view (in a version, for example) would be enough for us. Could be even integrated in the Roadmap.

#31 Updated by Jacq Jacq over 3 years ago

+1

#32 Updated by Enmos Proje over 3 years ago

+1

#33 Updated by Fedir RYKHTIK over 3 years ago

+1 Using such functionality on similar app, very handy

#34 Updated by Artyom Tuprikov over 3 years ago

+1, also I need to grant read-only access to the queue for all users so they could see their position in the queue.

#35 Updated by Laurent Girard about 3 years ago

+1

#36 Updated by Alex Alex over 2 years ago

+1

Toshi MARUYAMA may be are you add for issues "User vote for issue", and we don't need to write "+1" every time) ?

#37 Updated by Maicon Strey over 2 years ago

+1

#38 Updated by Steven Prutzman over 2 years ago

See also: #9184...

Would like this for the purposes of re-ranking a list. I use a custom field ("Rank") to order my list by priority. It is supremely time consuming to edit each ticket individually when priorities change.

#39 Updated by Laurent Dairaine over 2 years ago

+1

#40 Updated by Toshi MARUYAMA over 2 years ago

  • Related to Feature #9184: Inline issue editing within list view/custom query added

#41 Updated by ksamak k about 2 years ago

+1

#42 Updated by Fredrik Liljegren about 2 years ago

We tried some drag'n'drop plugins, but decided to make our own: https://github.com/Textalk/apilapse

It works directly from browser via redmine api, using the user's API-key. You just define different areas binding to different definitions and a custom field for priority.

It's poorly documented as of today, since we're the only users (afaik), but works well for our needs.

#43 Updated by Marius BALTEANU about 1 year ago

I added a patch in #22802 that implements the drag-and-drop issue ordering in roadmap and version page.

#44 Updated by Go MAEDA about 1 year ago

  • Related to Feature #22802: Add the posibility to set/change the position of an issue in a version added

#45 Updated by Susana Mielgo 7 months ago

+1

Also available in: Atom PDF