Page MenuHomePhabricator

Bring back links to task lists on project pages; List name of assignee in workboard cards
Closed, WontfixPublic

Description

Recently some changes were made to phabricator that have really messed up how I use it as an EPM.

  1. There is no longer a way to go to view a project and simply see the list of tasks assigned to it. Please bring this back. This is how I organized my features and tracked the work being done
  1. In work boards, there name of the assignee is no longer listed - just a picture. This does not help at all, especially when most people on my team don't have actual pictures set up and...I cannot to a command + F to look for tasks assigned to a specific person. Please list names again.

Event Timeline

For (1), you can now edit the project menu and add relevant links. We removed the default task link because in many cases, the link to all tasks wasn't used, wasn't useful, or wasn't the best link (e.g., maybe several links or a link with different filters would be better). Particularly, the link was often redundant when projects use workboards.

To add a link to the menu (to tasks, a wiki page, an external resource, etc), go to the project and use ManageEdit MenuConfigure MenuLink to add a link. You can see an example on this install in the Bug Report project -- note that the left menu has a link to "Open Bugs". I added this and the "New Bug" link because they make sense for that project.

There's some more information about this in the new Projects User Guide document and help on working with and customizing menus in Profile Menu User Guide. You can get to these documents from within Projects (in the Help menu) and inside the menu configuration UI (in the "Configure Menu" dropdown), respectively.

See also the Changelog to keep up to date on changes -- the menu changes were discussed in the 2016 Week 4 Changelog.

@chad may have some thoughts on the images. Possibly see also T4104.

thanks for the info regarding being able to customize the project menu!

On images, the workboard design in https://secure.phabricator.com/M1450/2820/ has a new "columns" dropdown, which is not yet implemented. This will allow you to "Group" the columns on other variables, like assignee.

In T10308#158019, @chad wrote:

On images, the workboard design in https://secure.phabricator.com/M1450/2820/ has a new "columns" dropdown, which is not yet implemented. This will allow you to "Group" the columns on other variables, like assignee.

The benefit here being, when combined with Sprints (points), you'd be able to see the points assigned per person, knowing if an individual is overloaded.

We removed the default task link because in many cases, the link to all tasks wasn't used, wasn't useful, or wasn't the best link (e.g., maybe several links or a link with different filters would be better). Particularly, the link was often redundant when projects use workboards.

I find myself clicking on a project to get to a list of tickets and then realizing that doesn't work often enough to notice. Maybe I am just used to the old way? For projects I use a lot adding dividers, urls, and motivational quotes has been nice. But customizing every single little "tag" project with a unique url doesn't feel super fun. Would you be open to a "search for open tickets in this project" PhabricatorProfilePanel?

We removed the default task link because in many cases, the link to all tasks wasn't used, wasn't useful, or wasn't the best link (e.g., maybe several links or a link with different filters would be better). Particularly, the link was often redundant when projects use workboards.

I find myself clicking on a project to get to a list of tickets and then realizing that doesn't work often enough to notice. Maybe I am just used to the old way? For projects I use a lot adding dividers, urls, and motivational quotes has been nice. But customizing every single little "tag" project with a unique url doesn't feel super fun. Would you be open to a "search for open tickets in this project" PhabricatorProfilePanel?

totally agree with this. i just tried to do the customization part and adding the link but...it is quite time consuming for all the projects i track.

I have a few thoughts, not sure what @epriestley might have in mind.

  • Short term: Add a Maniphest Open Task panel, which is off by default but at least one click to add.
  • Long term: Have a way to assign a "template" to a nav, so a new "Tag" project automatically gets the "Tag" nav
  • or Long term: Allow "copying" of a Nav from another project.

Personally Im for anything that helps installs maintain consistency. So having a "Tag" nav automatically applied when I create a new "Tag" project seems awesome. If I make changes to that master, they get applied to all "Tags". If I customize any one "Tag" it is no longer kept in sync. I think this is how global dashboards work?

and @jillian thanks for following up from Twitter. We get lots of rants sometimes there, but it seems rare that people then come here and give us the details. We're actively working on Projects, so this feedback is very useful.

Would you be open to a "search for open tickets in this project" PhabricatorProfilePanel?

Yeah, this is a possibility. Another possibility is to make defaults, templates, or "copy from another project" available in some form. A third possibility is to just expose this link more clearly on Workboards (but I'm not sure if users who want this link just don't use workboards?).

Prebuilt, hard-coded panels feel weird to me and I'm hesitant to introduce them just to make the transition easier. After we make a user-facing change we often get a lot of feedback about how we've, e.g., completely ruined the product forever, and I don't want to overreact to that by building something we wouldn't want to have in 3 months just because the new thing will take a little setup and getting used to. The long-term cost to customize projects even with the current toolset is pretty small, there's just a big backlog of pre-existing tasks right now.

I do suspect we need some kind of templating approach for milestones (although maybe not, since putting a task list on them probably isn't useful?) which might force me to build some of this other stuff. But templating is generally very complicated to build and configure so I'm hesitant to pursue it.

We can possibly expose an API for editing menus and let you script "Open Tasks" links onto every project if you want, but that's also complicated since each menu item type supports different fields.

As I've gone through projects on this install, I've very rarely added this link -- basically only to tag-like projects where the workboard isn't used and doesn't make sense.

If you use this link a lot:

  • What do you use it for? That is, what are you trying to do when you click it?
  • Do you also use workboards? Or do you use the list instead of workboards? If you use both, when do you use the list instead of workboards?
  • If you do use both, would a link from workboards to get to a list be sufficient, or do you use them for different/unrelated purposes?

I use this link a lot:

What do you use it for? That is, what are you trying to do when you click it?

When I use this link, I'm trying to see all tasks associated with a certain feature. I use projects to tag tasks associated with certain features.

Do you also use workboards? Or do you use the list instead of workboards? If you use both, when do you use the list instead of workboards?

Workboards are only used on our sprint projects. We use projects for tagging springs but also features.

If you do use both, would a link from workboards to get to a list be sufficient, or do you use them for different/unrelated purposes?

This would not work for me as the projects where workboards are used are not the projects where I use this linke.

Prebuilt, hard-coded panels feel weird to me and I'm hesitant to introduce them just to make the transition easier.

I think I could just build this as an extension? (I've never built one, so I'm a little interested in building one for practice)

I think I could just build this as an extension? (I've never built one, so I'm a little interested in building one for practice)

Yes:

ProjectOpenTasksProfilePanel.php
<?php

final class ProjectOpenTasksProfilePanel
  extends PhabricatorProfilePanel {

  const PANELKEY = 'custom.open-tasks';

  public function getPanelTypeIcon() {
    return 'fa-anchor';
  }

  public function getPanelTypeName() {
    return pht('Link to Open Tasks');
  }

  public function canAddToObject($object) {
    return ($object instanceof PhabricatorProject);
  }

  public function getDisplayName(
    PhabricatorProfilePanelConfiguration $config) {
    return pht('Open Tasks');
  }

  protected function newNavigationMenuItems(
    PhabricatorProfilePanelConfiguration $config) {

    $object = $config->getProfileObject();

    $href = '/maniphest/?project='.$object->getPHID().'#R';

    $item = $this->newItem()
      ->setHref($href)
      ->setName($this->getDisplayName($config))
      ->setIcon('fa-anchor');

    return array(
      $item,
    );
  }

}

I guess that isn't very helpful for practice. :)

Whelp, just need @yelirekim to install it then.

I think @Pawka is west-cost install administrator, they have (at least) two totally separate installs.

We removed the default task link because in many cases, the link to all tasks wasn't used, wasn't useful, or wasn't the best link (e.g., maybe several links or a link with different filters would be better). Particularly, the link was often redundant when projects use workboards.

I find myself clicking on a project to get to a list of tickets and then realizing that doesn't work often enough to notice. Maybe I am just used to the old way? For projects I use a lot adding dividers, urls, and motivational quotes has been nice. But customizing every single little "tag" project with a unique url doesn't feel super fun. Would you be open to a "search for open tickets in this project" PhabricatorProfilePanel?

I keep running into this on my personal instance as well, I used it a lot when doing task organisation (I think I mentioned this in Errata or some other bug report I made in the last few days).

@hach-que there is an extension above to make transition easier.

Yeah, I'll probably add the extension when I get off work.

FWIW, the second issue listed here is biting me too a bit on my install.

There are users who either:

  1. don't have a profile pic set
  2. change their profile pic often => I don't associate the thumbnail as belonging to the user
  3. set their profile pic to something similar to another user => I can't distinguish the thumbnails

None of these are huge issues, but I figured it couldn't hurt to note them here.

It's helpful if we understand the core issue you'd use names. That is, what are you looking for by seeing who is assigned?

Overall our new approach is:

  • Use images in a broad sense, these should quickly allow scanning to tell who all is on what (vs. manually reading a name)
  • Use Column (Group By Assignee) to swap the layout to be by distinct assignee (this will give you the username as the column name, and allow you to see more precisely who is on what.
  • In one off "I wonder who this is" cases, you can hover over the image.

If there's a use case we're not covering, it'd be good to know what that is, but sounds like what you need would also be covered by the Group By feature?

In T10308#158087, @chad wrote:

It's helpful if we understand the core issue you'd use names. That is, what are you looking for by seeing who is assigned?

Not even a specific use-case; I guess I just like looking.

It's mostly just that when browsing a board, we're accustomed to seeing people's names. Now we'll just get used to seeing pictures instead (and hopefully missing or ill-conceived pictures will clean themselves up).

haha, It's on my mind to provide more incentive for people to set their photos. Profiles are a bit prettier now.

Yeah, I think the end vision as in your mockup looks pretty nifty. Maybe part of the issue is that the photo thumbs feel kind of chunky in the workboard right now.

In T10308#158092, @chad wrote:

haha, It's on my mind to provide more incentive for people to set their photos.

+2:

pasted_file (768×86 px, 19 KB)

(That's the default jira avatar)

You use workboards at all or JIRA Agile?

no workboards at all. Also not JIRA Agile, just "JIRA Clasic," I think.
I just like profile pictures.

In implementing the new profile avatars, I stopped short of randomly assigning them based on UID. I might look into that again.

What do you use it for? That is, what are you trying to do when you click it?

I have two different "hats" for our internal instance: As an individual contributor and has the meta-phabricator person poking around and making sure it is working well for all of our teams. As an individual contributor I don't think I use the list much since I'm mostly focused on the workboard(s) for the team I work with most often. With my other hat I'm all over the place and looking at projects I don't interact with every day and trying to figure out what's up (Why are there three almost identically named projects? Why is this project name longer than this sentence? Is this reference to something we did 6 months ago relevant?). This is often part of some sort of triage like "sort tasks by age" and then middle-click on projects that look interesting.

Do you also use workboards? Or do you use the list instead of workboards? If you use both, when do you use the list instead of workboards?

I use both but for only partially overlapping workflows. I'm more likely to use workboards for projects I use every day and search for projects I use less frequently.

If you do use both, would a link from workboards to get to a list be sufficient, or do you use them for different/unrelated purposes?

I don't have a strong preference about an extra click, but I'd like the list even (especially?) for projects without a workboard.

I appreciate that we can customize this, however this solution is not feasible for us as we have dozens of projects and add new ones regularly.

Re: "We removed the default task link because in many cases, the link to all tasks wasn't used, wasn't useful, or wasn't the best link (e.g., maybe several links or a link with different filters would be better). Particularly, the link was often redundant when projects use workboards." I'm curious if this was just what you guys think or got that feedback from users, as I regularly hear vocally internally in our company that this default view was very useful. It's true that in our case, most projects don't have workboards (although a few do), but I'm guessing that's common.

Anyhow, I highly suspect this is actually something lots of people liked and miss based on what I'm seeing internally at our company... just my 2 cents. I'm a squeaky wheel from our company because almost nobody else at our company wants to take the time to share feedback to the Phab team - I hope this is useful.

Long term you can expect Projects will pick up features from Dashboards. We'll let you customize the nav, customize the page, and customize the landing page. You will be able to recreate the old experience if you so choose.

T10308#158036 has a custom panel you can add to your install to shortcut and make adding this locally to projects easier.

@chad thanks - so sounds like you don't think this would be beneficial to everyone to have?

We'd prefer a customizable solution vs a hard wired one, if that's what you mean, as that benefits the most scenarios.

@chad I see - my gut is that this is a common use case and that most teams will not take the time/energy to do this customization (or realize it's possible) but that they'd value having an easy way to see tasks as the primary use case of clicking a project name. Just my 2 cents.

It isn't a common use case, actually. If it were we'd be very aware of it given the significant length of time it's already been at HEAD.

I honestly can't even find where tasks was the default on project home... How old was your instance? I checked back 1 year and it was a side-nav icon then, so it's been over a year since we moved tasks off the project home page.

Yeah, looks like Tasks were removed from ProjectProfileController in January of 2015. rP3bc54c204

@chad yeah it's been a very long time, a year sounds plausible. I keep meaning to share this with you guys but I had been putting it off for a very long time as it hasn't been as important as other items in my world. One of the challenges with these sorts of things is that even though people in the field may be hitting the issue, they're usually trying to do something and in their workflow and don't bother sharing it... it was only when I asked around that people were like, "yeah, I miss how it used to be a long time ago..." etc.

Also, the workaround now is to do a search so it's not horribly broken, it's just not as great/fast/efficient for us as it used to be.

Could someone with superpowers please edit the task summary to describe the actual task content? Like
Bring back links to task lists on project pages; list name of assignee in workboard cards
? (Or who do I have to bribe to get such rights?) Thanks in advance.

Oh, sorry! I added you to Community so you should now have edit power.

aklapper renamed this task from Please undo some changes to Bring back links to task lists on project pages; List name of assignee in workboard cards.Dec 19 2016, 5:08 PM

Probably should be two separate tasks. 1 is implementing some sort of "global" menuitem for projects. The other is adding group by queries to workboards, which I think is already covered in another task.

epriestley claimed this task.

You can create your own link to tasks in a few seconds; the extension above will reduce this further. I don't plan to bring a global, hard-coded "Open Tasks" link to the upstream.

T10333 discusses grouping workboard columns.

Generally, this task does not suitably describe a root problem (see: Describing Root Problems), and primarily just reacts to a change in Phabricator and asks us to revert it without real discussion of why the change creates a problem. I'm sympathetic that it can be frustrating when the product changes and things that you're used to are now different, but we can't improve the product without changing it.

I think I could just build this as an extension? (I've never built one, so I'm a little interested in building one for practice)

Yes:

42896f9f90442ecb53789769206de62beeab720e changed Panel to MenuItem:

ProjectOpenTasksProfileMenuItem.php
<?php

final class ProjectOpenTasksProfileMenuItem
  extends PhabricatorProfileMenuItem {

  const MENUITEMKEY = 'custom.open-tasks';

  public function getMenuItemTypeIcon() {
    return 'fa-anchor';
  }

  public function getMenuItemTypeName() {
    return pht('Link to Open Tasks');
  }

  public function canAddToObject($object) {
    return ($object instanceof PhabricatorProject);
  }

  public function getDisplayName(
    PhabricatorProfileMenuItemConfiguration $config) {
    return pht('Open Tasks');
  }

  protected function newNavigationMenuItems(
    PhabricatorProfileMenuItemConfiguration $config) {

    $object = $config->getProfileObject();

    $href = '/maniphest/?project='.$object->getPHID().'#R';

    $item = $this->newItem()
      ->setHref($href)
      ->setName($this->getDisplayName($config))
      ->setIcon('fa-anchor');

    return array(
      $item,
    );
  }

}