Page MenuHomePhabricator

Change Milestone sort options
Closed, ResolvedPublic


With the recent changes from 2016 Week 8 (Late February), Milestone sorting changed and it's counter-intuitive for us. We work on the oldest milestone and plan for the next 5 sprints/milestones, so the latest/closest Milestone on the board is actually 5 weeks out and our current work is at the far right side. Please add a way to custom sort or reorder milestones.

Event Timeline

urzds added a subscriber: urzds.Feb 22 2016, 2:22 PM

I request the same, though unrelated to the recent sorting change. I used move_beneath.php from T10350 to convert old milestone-projects into proper milestones of the parent project. Now they show up as the most recent milestones in /project/view/N/?hidden=true as well as in /project/subprojects/N/. I would like to move them manually to the right position. For that I would need to know: How is the sorting order determined currently? And is it possible to change that in any way? Since this affects just a few projects in my case, I would also accept altering the DB directly, if you advise me how to do it.

Change milestoneNumber in phabricator_project.project to reorder milestones.

urzds added a comment.Feb 23 2016, 5:52 PM

Change milestoneNumber in phabricator_project.project to reorder milestones.

Thanks! That worked.

ftdysa added a subscriber: ftdysa.Feb 24 2016, 2:33 PM

I'm also a bit confused why it is ordered Milestone 3 > Milestone 2 > Milestone 1. I would assume that the third milestone is the furthest target to hit and should be displayed on the right?

Maybe the logic is that you shouldn't be creating future milestones until you are done with the current milestone?

The logic is that if you have 50 milestones, you are probably much more interested in milestones 50, 49 and 48 (this week / next week / last week) than milestone 1 (a year ago).

We archive milestones so they don't appear on the board anymore.

chad added a subscriber: chad.Feb 24 2016, 4:18 PM

I'm not sure I'd be more interested in Milestone 50 vs. Milestone 1. My assumption is the next milestone up is the most immediately on the left. And the furthest one out time wise, is the furthest one away.

Here's how our main project board looks after the recent change:

The logic is that if you have 50 milestones, you are probably much more interested in milestones 50, 49 and 48 (this week / next week / last week) than milestone 1 (a year ago).

Makes sense. I'll just leave tasks for future milestones in the backlog then.

Here is also the subproject order, I had to archive some projects because the board was too large/cumbersome with them activated. We usually plan 2-3 sprints out, with some tasks moving further out if something blocks them. This ordering really hurts us being able to effectively move or change tasks as needed:

Change milestoneNumber in phabricator_project.project to reorder milestones.

This is specific to the scripts and not a general setting, right?

The logic is that if you have 50 milestones, you are probably much more interested in milestones 50, 49 and 48 (this week / next week / last week) than milestone 1 (a year ago).

Wouldn't (this week / next week / last week) in that example be (49, 50, 48)?

My experience with these feature is obviously totally biased towards "trying stuff out" instead of what this might look like 52 weeks from now, but I feel it's strange to try iterations, create (v1, v2 v3) and have them be (v3, v2, v1)


I think I'd prefer if the ordering of iterations worked like "normal columns" where they showed up left-to-right and I could re-order if I was doing something strange, or wanted to insert vBugFixyThing before an already existing v3.

I'm not strongly attached to this behavior and don't mind swapping it and seeing how much pushback we get, it just seemed like the much better behavior at scale, and seeing it use on the Trello meta-board suggested to me that it was reasonable and possibly familiar to users coming from Trello:

We could try "1, 2, 3", and if that produces the same task with other users complaining that they don't want to have to hide columns and that that order is unintuitive and that they're used to doing "3, 2, 1" on Trello we can just remove milestones entirely.

Could it be a config option for projects for milestone sort order, newest -> oldest or oldest -> newest? It would be nice to customize it.

See T8227 for discussion of why adding an option is a measure of last resort.

Makes sense. Don't change it on my behalf then, I can see how this would benefit teams that plan sprints/milestones way far out.

urzds added a comment.Feb 24 2016, 5:53 PM

Our use-case: We usually plan our tasks max. 3-4 milestones in advance and the one currently being worked on is the most important / most looked at. We archive milestones that belong to the past (after moving all tasks to current / future milestones).

SpaceKees added a subscriber: SpaceKees.

Assuming that the milestoneNumber field will only be used for internal logic to order milestones.

An option is to support manual reordering by changing the milestone order on the Subprojects and Milestones page just like we can change the order of menu items. Ofcourse this will only work under this assumption because the milestone numbers will be changed.

If someone wants to dig the original change out of the log and send me a revert, I'll upstream it. I think this behavior (30, 29, 28) is probably better in some sense, but the other behavior (1, 2, 3) is very likely better in terms of how many upstream bug reports it generates, and I have no qualms about shipping a worse product that I don't have to support as much.

I'm late to this party, so please forgive me for reanimating an old discussion.

TL;DR: Would be super useful to allow moving Milestone columns alongside regular columns.

What my teams are looking for is the ability to sort Milestones in any order they need, regardless of time the Milestone might be resolved or when it was created. This is because they've found Milestones most useful not as literal milestones, but as a feature that autopopulates a workboard when a column on another workboard receives a task. That is, persistent Milestones.

(Simplified) example: Team has

"Triage" column --> "Improve Task" column that is a milestone --> "Ready" column

Some tasks go straight from Triage to Ready, but some need more love. Those tasks go to Improve Task. Improve Task is a Milestone with a workboard that is autopopulated when a task is dragged into the parent column. Then it goes through any number of status columns on its way to being a better task. When it is ready, it gets moved on the parent board to Ready (and thereby leaves the Milestone's workboard).

The way Milestones are set up right now, the teams can't put the column in the place that makes sense in their flow. They are forced to have the Milestone at the end of the columns on the workboard. Standard tagging can mimic the behavior described, but it's hacky and ultimately teams don't use that approach because they find it's too much overhead.

Please file a new task following Contributing Feature Requests if you'd like us to consider your feature request. We do not track resolved tickets.

T11036 is probably the pathway forward, followed by using subprojects instead of milestones if your sub-columns are not strictly ordered.

@epriestley Yup, thanks, will do. I only meant to see if one was necessary, but I was not clear with that ask. :)

Change milestoneNumber in phabricator_project.project to reorder milestones.

Thanks! That worked.

Hi guys,
could you please share me where I can do this? I couldn't find it and I'm still have this issues on my project's workboard (e.g. all milestones are ordered by oldest -> newest). I checked database, the number of filed "milestoneNumber" is correct (e.g. m1 is 1, m2 is 2, m3 is 3, etc.).