Page MenuHomePhabricator

Open tasks are not shown on a project workboard when they are in a hidden column
Open, LowestPublic

Description

We might have a good bunch of open, unresolved tasks which are never shown on a project workboard because they are in a hidden column. I don't know if that's a big problem or not but I can imagine teams to never look at a list of bugs but at workboards only.

It's not trivial to find them either. SELECT project.name FROM project_column JOIN project WHERE project.phid = project_column.projectPHID AND project.status != 100 AND project_column.status = "1" GROUP BY project_column.projectPHID ORDER BY project.name; would list all projects that have at least one hidden workboard column. Now would need to check if the if that columnPHID is listed in the table project_columnposition which means that there is at least one task in that column but that still does not tell us whether that task is open or closed.

Event Timeline

Aklapper triaged this task as Lowest priority.

Alright,
SELECT p.name FROM phabricator_project.project_column c JOIN phabricator_project.project p WHERE p.phid = c.projectPHID AND p.status != 100 AND c.status = "1" AND c.phid IN (SELECT DISTINCT(cp.columnPHID) FROM phabricator_maniphest.maniphest_task t JOIN phabricator_project.project_columnposition cp WHERE t.phid = cp.objectPHID AND (t.status="open" OR t.status="stalled")) GROUP BY c.projectPHID ORDER BY p.name;
lists all projects that have hidden columns on their workboard and these hidden columns include open tasks, but that's an expensive query.

Query above is incorrect; that also queries hidden columns which once had tasks associated but project got removed from these tasks. Must also query edges.

SELECT p.name AS projectname, c.name AS columnname 
FROM phabricator_project.project_column c 
INNER JOIN phabricator_project.project p 
WHERE p.phid = c.projectPHID 
AND p.status != 100 
AND c.status = "1" AND c.phid 
IN 
 (SELECT DISTINCT(cp.columnPHID) 
 FROM phabricator_maniphest.maniphest_task t 
 INNER JOIN phabricator_project.project_columnposition cp 
 INNER JOIN phabricator_project.edge pe 
 WHERE t.phid = cp.objectPHID 
 AND cp.boardPHID = pe.src 
 AND pe.dst=t.phid 
 AND (t.status="open" OR t.status="stalled")) 
ORDER BY p.name;

Result is currently 86 columns in 56 different projects. (Query took 3.06sec.)

It's not necessarily always a problem; however I'd consider it a problem if there is no other active project tag associated, which is even harder to query.

It's not necessarily always a problem

One potential is just to talk to the teams and see if they still want the tasks tagged at all or use the column if its hidden from view, One example is the former Multimedia team that has 777 in a hidden "backlog" column

2525 tasks with open or stalled status in 79 columns in 51 active projects, according to SELECT p.name AS projectname, c.name AS columnname, COUNT(t.id) FROM phabricator_maniphest.maniphest_task t INNER JOIN phabricator_project.project p INNER JOIN phabricator_project.project_columnposition cp INNER JOIN phabricator_project.project_column c INNER JOIN phabricator_project.edge pe WHERE p.phid = c.projectPHID AND p.status != 100 AND c.name != "" AND c.status = "1" AND c.phid = cp.columnPHID AND t.phid = cp.objectPHID AND cp.boardPHID = pe.src AND pe.dst=t.phid AND (t.status="open" OR t.status="stalled") GROUP BY c.name ORDER BY p.name,c.name; but could also be less of a problem if those tasks have other active tags associated...

As a note, this practice drives me nuts. If you are someone interested in Phab but aren't driving the bus, and a team does this, then that task loses basically all visibility from the workboard.