Project

General

Profile

Actions

Feature #22802

open

Add the posibility to set/change the position of an issue in a version

Added by Marius BĂLTEANU almost 8 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Issues planning
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

In the roadmap tab, issues are now automatically sorted (positioned) in a version after tracker type (alphabetically) and created date (older first).

It'll be great to have the possibility to manually set and change the position of an issue in a version. In this way, the users will have more ways to prioritize the work in a version.

Our use case: We use the versions as sprints (time based) and for each version we plan some issues that the team should implement in the next period. Having this feature available, we'll be able the set also the order in which the features should be implemented (issues positioned in the top of the version are the most important).

This mechanism is very used in the modern software development (like scrum, kanban) and is an alternative to the classical planning (with start date, due date and follows/precedes relations) which are great also, but not so easy to use in teams that periodically release issues and the priorities change often.

A similar implementation like in the #12909 is enough in my opinion and the drag'n'drop mechanism should be available only in the roadmap tab and version page. In the future, this feature can be extend also to allow drag'n'drop issues from one version to another.


Files


Related issues

Related to Redmine - Feature #8016: Drag-and-drop issue (ticket) orderingNew2011-03-30

Actions
Related to Redmine - Feature #23287: Better structuring of Version pageNew

Actions
Actions #1

Updated by Marius BĂLTEANU over 7 years ago

related to #8016

Actions #2

Updated by Marius BĂLTEANU over 7 years ago

I made a patch that implements this feature using the drag and drop implementation from #12909.

The patch adds the following changes:
  • a new setting in Issue tracking to enable/disable this feature (called "Enable manually set issue position in versions").
    When it is disabled (default setting), the issues are sorted in versions as it is in current trunk version.
    When it is enabled, the users can manually change issue position in the respective version. Print-screen below.
  • the drag and drop mechanism in roadmap (index) and version (show) page.
  • adds new tests and passes the existing ones
  • position changing is not journalized because this info is not so relevant in issue history.

In my opinion, this feature is a must for an issue tracking system and beside that, it'll be very useful for other plugins (like Agile, Backlogs or Scrum) to build their own view with cards on a core functionality. Even if we use the Agile plugin in our company, most of the users try to prioritise the issues from Roadmap tab and complains why doesn't work.

Any feedback on this feature is really appreciated.

Actions #3

Updated by Go MAEDA over 7 years ago

  • Target version set to Candidate for next major release

Marius BALTEANU, thank you for sharing the great patch! It is very useful for agile development.

But I think we need a permission to restrict reordering to particular roles. In current implementation, even anonymous user can reorder issues.

Actions #4

Updated by Go MAEDA over 7 years ago

  • Related to Feature #8016: Drag-and-drop issue (ticket) ordering added
Actions #5

Updated by Marius BĂLTEANU over 7 years ago

Go MAEDA wrote:

But I think we need a permission to restrict reordering to particular roles. In current implementation, even anonymous user can reorder issues.

Thanks for your feedback, I've updated the patch to include a new permission which allows users to change the issue position in a version. I didn't use the existing manage versions permission because I think that are 2 different activities.

Please let me know if more work is required to have this implemented.

Actions #6

Updated by Go MAEDA over 7 years ago

Thanks for quick update of the patch. I tried out the new patch and I think it is perfect.

Actions #7

Updated by Toshi MARUYAMA over 7 years ago

  • Target version changed from Candidate for next major release to 3.4.0
Actions #8

Updated by Marius BĂLTEANU over 7 years ago

Updated the patch to cleanly apply on the current trunk. Looking forward to see this patch committed.

Actions #9

Updated by Jean-Philippe Lang over 7 years ago

  • Target version deleted (3.4.0)

Marius, thank you for submitting this patch but I prefer not to merge it into core. As you mentionned, we already have priorities that could be used to sort issues assigned to a version or start dates for those who would like a chronoligical sort. I prefer not to add another information on top of these existing things.

Actions #10

Updated by Marius BĂLTEANU over 7 years ago

Jean-Philippe Lang wrote:

Marius, thank you for submitting this patch but I prefer not to merge it into core. As you mentionned, we already have priorities that could be used to sort issues assigned to a version or start dates for those who would like a chronoligical sort. I prefer not to add another information on top of these existing things.

Thanks for you feedback even if is a very bad news for me/us.

We are using in our company Redmine for 3 years and no customer/project manager/scrum master used the prioritisation by priority, start dates or follows / precedes relations because the updates requires to many clicks and they are not so clear (if you have 4 tickets with priority Urgent, which one is more urgent?). Everyone wants a page where to move up / down the issues depending on the new priorities (which changes often in the Agile development).

Jean-Philippe Lang, is there anything I can make to have this feature implemented? I'm very sure that this feature is a must (almost all modern issue trackers has this implemented) and it'll be very useful for everyone (especially that you can enable/disable the feature). Maybe creating a new module called "Agile" which enables this feature is more appropriate than the new setting? Or more feedback from the community on this feature?

Thanks again.

Actions #11

Updated by Marius BĂLTEANU over 7 years ago

One last remark:
These 2 types of prioritisation (by rank and by priority, start dates and relations) are not mutually exclusive. They work very well together because address different needs.

For example:
  • The classical prioritisation can be used to make a release plan on med/long term which is useful to see it on a gantt chart.
  • The prioritisation by rank (manually) can be used to plan the work for the next 2 weeks (on short term).
Actions #12

Updated by Jean-Philippe Lang over 7 years ago

Marius BALTEANU wrote:

Jean-Philippe Lang, is there anything I can make to have this feature implemented? I'm very sure that this feature is a must (almost all modern issue trackers has this implemented) and it'll be very useful for everyone (especially that you can enable/disable the feature). Maybe creating a new module called "Agile" which enables this feature is more appropriate than the new setting? Or more feedback from the community on this feature?

More feedback from the community would certainly give to this patch more chance to be merged. It's not that I don't find the feature usefull, but few people have requested it for now. I left this tiket open so that people can express their feeling about this.

Actions #13

Updated by Marius BĂLTEANU over 7 years ago

Jean-Philippe Lang wrote:

More feedback from the community would certainly give to this patch more chance to be merged. It's not that I don't find the feature usefull, but few people have requested it for now. I left this tiket open so that people can express their feeling about this.

Totally agree with this approach. Thank you again for your feedback, it really help me understands some of the decisions :)

Actions #14

Updated by budo kaiman over 7 years ago

I haven't applied the patch, but I have a question. Are the issues only re-orderable on the roadmap/version page or are they orderable on the issues page (with filters applied) too? I would definitely use this if implemented, but I would like to be able to re-order issues on the issues page so that I could focus on exactly what issues I wanted to order.

Actions #15

Updated by Marius BĂLTEANU over 7 years ago

budo kaiman wrote:

I haven't applied the patch, but I have a question. Are the issues only re-orderable on the roadmap/version page or are they orderable on the issues page (with filters applied) too? I would definitely use this if implemented, but I would like to be able to re-order issues on the issues page so that I could focus on exactly what issues I wanted to order.

They are re-orderable only on the roadamp/version page because they are strictly related to a specific version (the position of the issue in that version/sprint). I'm going to investigate how can we extend the functionality also in the issues pages only if and when the patch is accepted.

Actions #16

Updated by Akipii Oga about 7 years ago

+1
For agile development, I really want this feature.

Actions #17

Updated by Thomas Ferris Nicolaisen about 7 years ago

Jean-Philippe Lang wrote:

More feedback from the community would certainly give to this patch more chance to be merged. It's not that I don't find the feature usefull, but few people have requested it for now. I left this tiket open so that people can express their feeling about this.

Registered just to vote for this. I've been looking through Redmine plugins over months looking for a good implementation for this, but found nothing quite satisfying.

In a world where people are "spoiled" by Trello and I assume the majority are doing some sort of agile/scrum with ordered backlogs, this is becoming very important in all planning tools.

Actions #18

Updated by Marcel Liebischer about 7 years ago

Akipii Oga wrote:

+1
For agile development, I really want this feature.

Same for us. Such a feature would be great. We're currently experimenting with this agile plugin for Redmine. We'll see how it goes. ;-)

Actions #19

Updated by Mischa The Evil about 7 years ago

Jean-Philippe Lang wrote:

Marius BALTEANU wrote:

Jean-Philippe Lang, is there anything I can make to have this feature implemented? [...]

More feedback from the community would certainly give to this patch more chance to be merged. It's not that I don't find the feature usefull, but few people have requested it for now. I left this tiket open so that people can express their feeling about this.

Just FTR1: based on Redmine.org tickets vote count list(2019/12/22) (which is based on '+1' count in issue journals), related issue #8016 is the 17th most "voted" for feature request.

1 I don't plea for (immediate) integration of this patch, as I see some issues with the current approach.

Actions #20

Updated by Sergey Nazarenko about 7 years ago

I'm not familiar with Ruby, so could you help to install this patch, i.e. to explain how to install it? steps\little instruction.

thanks in advance!

Actions #21

Updated by Bodo Maass about 7 years ago

+1
I want to cast my vote for drag-and-drop issue ordering.
We like small, focused issues, and as a result of that, we have a lot of them. Ordering them by setting the priority is cumbersome and does not give enough fine-grained control.
As a workaround for better ordering we are using the "Issues To-do Lists" plugin (http://www.redmine.org/plugins/redmine_issue_todo_lists), but I would really love this to be more integrated into Redmine core.

Actions #22

Updated by Ilya Potapov almost 7 years ago

+1
Also have to use "Issues To-do Lists" plugin to set a sprint. Need to keep version and to do list equal by hands, which is very cumbersome.

Sortable target version issue list would be great!

Actions #23

Updated by Ilya Potapov almost 7 years ago

Marius BALTEANU wrote:

Updated the patch to cleanly apply on the current trunk. Looking forward to see this patch committed.

Just applied your patch on our environment. Feels good - now we can finally organize a sprint without any workarounds.

As an idea for enhancement:
  • give ability to sort issue list by "position" column in custom queries
  • IMHO "Enable manually set issue position in versions" should be per-version setting, with default value in global settings.
Actions #24

Updated by t schneider almost 7 years ago

Marius BALTEANU did you ever look into prioritizing in the issues page? I like to prioritize my backlog and it would be nice to take advantage of the filters etc that are on that page.

I was also wondering where you updated the patch and when we can expect it to be merged into the main redmine build?

Actions #25

Updated by Iwadara I almost 7 years ago

+1

Actions #26

Updated by Marius BĂLTEANU over 6 years ago

Actions #27

Updated by Dipan Mehta over 6 years ago

This is great stuff. Thanks a lot.

Actions #28

Updated by Alexander Ryabinovskiy about 6 years ago

We also need this mechanism.

Actions #30

Updated by Iván Baldo over 4 years ago

+1
We use priorities but we use only a few, we'd like to reorder things inside the same priority.
Thanks a lot guys!

Actions #31

Updated by Damien Mery almost 4 years ago

+1
Is this latest patch compatible with the latest stable 4.1.1 ?
I think i have some mistakes

Actions #32

Updated by max13fr - almost 4 years ago

Hello,

Here the patch fixed for the last stable version : v4.1.1

Don't forget to add the permission to your group et run the migration :

cd /var/www/redmine
rake db:migrate RAILS_ENV=production

Max

Actions #33

Updated by Pierre de LESPINAY almost 4 years ago

Ordering by priority/start date can be useful but as said, it's not as easy as drag/dropping issues to reorder them.
For me ordering is not always a matter of showing the chronology (or any other existing criteria) of the TODO list.
This drag & drop feature would be very useful for me but not only within versions (one does not prevent the other).

Actions #34

Updated by max13fr - almost 4 years ago

Hello,

Just add the possibility to sort issues by position from the REST API.

Example:

https://xxx/issues.json?fixed_version_id=35&sort=position,id

Max

Actions #36

Updated by Florian Latzel over 3 years ago

+1
This feauture is basic, indispensable and should really be implementend in core!

Found this issue while searching for a plugin which solves this fundamental need.

Actions #37

Updated by Jason Harris about 3 years ago

+1
Also note there appears to be a conflict between this current patch and the Agile plugin from RedmineUP.

That is if both are installed there is an error raised when one tries to create a subtask.

Actions #38

Updated by Alexandr Chernyaev almost 3 years ago

+1

Actions #39

Updated by Carlos Roa about 2 years ago

+1. An absolute must have

Jean-Philippe Lang, just merge it, please!

Actions #40

Updated by Codruț Gușoi almost 2 years ago

I tried applying this patch on `4.2.7` and it did not work out of the box, had to manually copy over the diff and `git commit`.

Anyway, this patch is incompatible with the `redmine_agile` plugin since they delegate position on Issue:

`redmine_agile/patches/issue_patch.rb`:
```
delegate :position, :to => :agile_data, :allow_nil => true
```

A possible solution would be to rename the column to `fixed_version_position` but `acts_as_positioned` hardcodes the attribute to `position`, so a bigger change needs to be done in the core to allow `acts_as_positioned` with a different column. Another is to ask the folks at `redmineup` to not hijack the attribute on Issue.

Actions

Also available in: Atom PDF