Ability to reorder milestones on a project's workboard
Open, Needs TriagePublic


A colleague of mine is using milestone to manage high-level quarterly goals. Basically we have a project called #our_team and then underneath that project we have goals which were created in a specific order which doesn't match the order in which these goals were completed. Basically, we created a bunch of milestones and are now in the process of planning our next few months of work. It seems that milestones have an ordering, but it doesn't seem that milestones within a project can be reordered. I'm not sure if there were any plans to add this or not, so I wasn't sure if I should simply comment on T10349.

If the milestones aren't strictly ordered, why did the user create milestones instead of subprojects?

My understanding is that subprojects are basically just regular projects but with a parent relationship. We didn't want these projects to pollute the projects typeahead because no-one should be creating tasks within these subprojects (given that these subprojects dictate what we are working on). By choosing "milestone" instead of "subproject", it becomes clearer in the project typeahead that the subproject is internal to the parent project. That is, if we made #our_january_goal a subproject then it would show up in the projects typeahead as "Our January Goal" whereas as a milestone it is rendered as "Our Team (Our January Goal)".

chad added a subscriber: chad.Jan 23 2017, 1:12 AM

I'd rather fix the core problem if it's an unclear typeahead.

In T12144#208351, @chad wrote:

I'd rather fix the core problem if it's an unclear typeahead.

Agree, but I think that there is possibly also some ambiguity regarding subprojects vs milestones vs projects. Someone has also just asked me what the difference between a project and a subproject is, as they aren't sure whether some projects should be created as subprojects or as regular projects.

chad added a comment.Jan 23 2017, 1:17 AM

That's up to you and your team.

chad added a comment.Jan 23 2017, 1:19 AM

I think it's not perfectly clear in the UI, but we do have it documented:

Subprojects are projects that are contained inside the main project. You can use them to break large or complex groups, tags, lists, or undertakings apart into smaller pieces.

Milestones are a special kind of subproject for organizing tasks into blocks of work. You can use them to implement sprints, iterations, milestones, versions, etc.

chad added a comment.Jan 23 2017, 1:24 AM

T11036 will probably be the next round of changes, but I don't think we have this stuff on any immediate roadmap.

T11750 and T11797 are previous requests (this is the 3rd request for this feature).

@aklapper has pointed me to this task at the Wikimedia Hackathon days ago. At the https://phabricator.wikimedia.org/tag/oojs-ui/ we're dealing with the situation that milestones have been put (I don't know if the exact reason was human or program activity) into wrong order. If you show past, hidden milestone columns visible, you'll see that our releases v0.16.2–0.17.3 are before v0.7.0 which is misleading when going through historic milestones.
Would be happy to see reordering possible as well…

Milestones are a special kind of subproject for organizing tasks into blocks of work. You can use them to implement sprints, iterations, milestones, versions, etc.

Sprints, iterations, milestones, versions are ordered in time (sprint 1, sprint 2, sprint 3, milestone 1.0, milestone 2.0, milestone 3.0, etc.) so columns that represent them should keep sequence required by user. Currently there is a crippled Manage | Reorder columns function that presents window with list of columns to reorder. Unfortunately milestones are not included.

Without ordering milestones on board, the user encounters various problems.

  • It is easy to put task on a wrong column.
  • It is time consuming to find a proper column in the ocean of unordered milestones.
  • It is very distracting to work with badly ordered columns.
  • It is time consuming to scroll to needed milestone. I have added milestones: 2016-1, 2016-2, ..., 2017-5. The last one is located on the right edge on workboard and represents current month. To work with this milestone, I need to scroll two light years to the right every time! Also moving tasks on such workboard is cumbersome. The problem would not exist if I had "reverse order while adding", but this is not a general ordering solution. I know that it is possible to archive milestones, but I need some of them non-archived to see specific tasks.

Possible solutions

  • Drag&drop (always enabled). Remove Manage | Reorder columns. Allow to always reorder any columns on workboard (Trello like behavior).
  • Drag&drop enable/disable mode. Allow user changing order of columns (including milestones) by drag&drop mechanism. Drag&drop is the fastest, most ergonomic and obvious way (at last for me). Allow user to enable/disable "reordering mode" to drag&drop any columns.
  • Present all columns. Present milestones and non-milestones on Manage | Reorder columns window.

Other remarks

  • It would be useful to allow every user to have his own order of columns. Currently every workboard has some excellent features: Sort by Priority (Natural, Sort by Priority, Save as Default). Re-ordering columns should have something similar (Save Default Order?)
  • Task [T11036] is about presenting sub-projects on a board. This is useless. I don't understand why you are not sure about ordering milestones, but authored such strange thing.
  • I agree that it is important to present sub-projects somehow, but it should be done using a full blown tree. A sub-project has exactly one parent so there is no problem with drawing a graph. The tree would be a correct way. Currently the Maniphest shows only flat lists of projects (btw. please allow to show them on two columns to save screen space). I would like to suggest adding something working like a radio-button: present projects as a LIST xor present projects as a TREE. Caution: it would be extremely useful so users may demand similar feature for tasks (again!) and wikis! I know that it was rejected on [T4207], but I miss such functionality a lot.
  • I would like to have one, consistent tree mode to present any entities: tasks, projects and wiki pages (not at the same time). The main advantage would be one, consistent way to understand their structure and dependencies and manage them efficiently. Take a look: askcow - Holy Grail of project management, Work breakdown structure and project management tools, Asana - what has been forgotten to implement for $40 million.