Page MenuHomePhabricator

Expected subprojects to appear in project's workboard
Closed, DuplicatePublic

Assigned To
Authored By
Feb 7 2016, 4:58 AM
Referenced Files
F1096547: pasted_file
Feb 7 2016, 5:22 AM
F1096522: pasted_file
Feb 7 2016, 4:58 AM
F1096520: pasted_file
Feb 7 2016, 4:58 AM


I just upgraded to the latest version of Phabricator so I could start using the new subproject / milestone features. I understand that these aren't complete, but wanted to document something that didn't meet my expectations. I wasn't sure whether I should file this as Bug Report or Feature Request either.

For one of our projects, we're changing the underlying framework that it's built on as we move away from the prototype stage and into main development. Before the upgrade we had a single project called "Sixty Seconds" and it had the following workboard columns:

  • Backlog / Maybe
  • Unity Version
  • Marketing
  • Protogame Version

While we want to move away from the Unity Version and onto the Protogame Version, we still need to document the tasks that need to get done, especially because we still need to be applying bug fixes and minor improvements to the Unity Version while we rebuild the game in the Protogame engine.

I noticed that on this install, milestones appear in the project's workboard columns and I expected subprojects to do the same.

My plan is to have a structure like this (in terms of projects / milestones):

  • Sixty Seconds
    • Unity Version (subproject)
      • Previous Issues (subproject)
      • Improvements for Next Exhibition (milestone)
    • Protogame Version
      • Milestone 1
      • Milestone 2
    • Marketing

This would allow us to track our progress of task completion while we prepare for the next exhibition (using the older prototype version of the project because we know the rebuild won't be ready yet), while independently tracking progress on the new version.

However, without subprojects appearing on the main project's workboard as a column, we get into a weird state like this, where it looks like the project overall doesn't have any tasks in it at all:

pasted_file (468×1 px, 49 KB)

While the subproject shows (I haven't updated the workboard columns here yet, and imported them from the parent expecting that a task's position in the parent's workboard would also be copied across since I moved the tasks first):

pasted_file (541×1 px, 80 KB)

I can't make the "Unity Version" project and "Protogame Version" projects milestones to show them in the parent project's workboard either, because then they can't have their own milestones.

Related Objects

Event Timeline

T10010 is tracking subprojects. It should be labeled in the UI these are currently prototype features.

Yeah I realise they're prototype features (and I mentioned so in the task filing). I just wanted to document something that caught me off guard if it wasn't already on your radar.

(Should I repost the task description as a comment on that task so it doesn't get lost?)

The problem is that it means a card may appear more than once on a workboard (in multiple subproject columns) which violates a lot of assumptions the code makes and will probably be confusing to users forever. We technically generate these columns today, they're just hidden at the last second to avoid obvious brokenness in the UI.

I'm currently leaning toward implementing these and doing our best with double cards, but ideally some kind of better approach that avoids the double-card issue comes to us in a dream.

I'm definitely not happy with the current behavior, it's just not-obviously-broken and served as a reasonable checkpoint to start getting a better feel for milestone columns, which are in better condition.

I have concerns giving users too much rope (normal column, milestone, subproject) will result in a lot of confused users and bad feelings towards Phabricator. My general feeling moving forward is that more time will be taken to ensure even with lots of rope, the experience never confuses someone to the point of hating the product. We get many requests that certainly seem reasonable, but once they're wild in the field, lead to a very poor experience. I'd rather start with shorter rope and dole it out over time if that makes sense. In this case I think having multiple cards displaying isn't a good user experience, no matter the logical intent.

I think I kind of expected subprojects to act a bit more like milestones than they currently do - for example, the fact that a subproject doesn't have the parent project's name in it when it's shown against tasks isn't ideal ("Protogame Version" on it's own doesn't mean much; what if we have multiple projects with Protogame versions?), and this carries across to tasks as well (searching for "Sixty Seconds" doesn't show the subprojects).

And knowing I could technically have a task in two subprojects is also somewhat unexpected - I guess I was looking for milestones (without their own end dates) that could be broken down into further milestones.

Milestones are only 1 level, subprojects go... 16?

Yeah that's why I was using sub-projects. But I kind of expected them to have the context of the parent project shown in UIs? Now I'm back to doing this sort of thing in subprojects so that I have the right context in various places, which seems kind of janky:

pasted_file (203×796 px, 32 KB)

Yeah I know, I'm just giving feedback in the event that your expectations for how users will see / use it was different.

Overall, If your tag looks janky, that's what we expect you to solve. There is no UI I can present automatically (that I've found) to present 16 levels of information. So we're leaving it to you to present. We took a very basic route (which you can copy) for Milestones. However if you really want "Company > Org > Team > Backend > Bugs > Interns" to show up on a tag, that's just what it's going to look like.

Suscinting that to "Bugs > Interns" or "Company > Interns" just doesn't work. @epriestley and I went back and forth on this most of last weekend. :( We arrived at "do what you want".