I'm looking for an advanced search option to query the tasks listed under a specific column of a workboard. Is this possible?
Revisions and Commits
- Mentioned In
- T13120: Plans: 2018 Week 15 Bonus Content
T10268: "Batch Edit" from workboards uses "?ids=X,Y,Z" which can exceed "Location" header or URL byte limits for large task sets
T12144: Ability to reorder milestones on a project's workboard
T12376: Export workboard columns for reporting
rP63bfa5ccb5be: Add "project.column.search" for querying workboard column information
D17157: Add "project.column.search" for querying workboard column information
T11377: Query-driven workboard columns
T10578: Provide 'Sort by Points' option in workboards
T10531: Make workboard column headers into clickable links
Q193: Maniphest search by project & column (Answer 224)
D12475: Add a "Batch Edit Tasks..." action to workboard columns
T5523: Make bulk moves easier on Workboards
D9611: (WIP) Initial work on task search on column, not finished yet
T6064: One-Click Add Task on Workboard Columns
- Mentioned Here
- D19366: Allow Maniphest tasks to be queried by workboard Column PHID via SearchEngine
T7907: Ability to filter/search Maniphest tasks based on Workboard column position
T5474: Support workboard column triggers which activate when a task is dropped into a column
Two use cases:
In our boards we have a column for "Need discussion". It would be very useful to have a URL for a saved query that would always show the tasks needing discussion in a specific project. We can use that URL in wiki pages and mailing lists asn an entry point of collaboration of editors and other users willing to give feedback. Of course we can share the URL of the board and tell them to focus on the "Need discussion" column, but it is good to remove as many elements of possible confusion / overwhelm as possible for these potentially new Phabricator users.
As long as closed tasks disappear from boards, it is... impossible? to know which tasks do you have under a specific column in a board. You need to query all closed tasks of a project and open them to see which ones are in the column desired, a value that is only shown in the "Projects" field of each task. This is especially annoying when you want to get rid of a column and you cannot because such column "contains tasks" (that you cannot see or find).
For the first case, maybe a column permalink would be a better solution? Then you could navigate back up the board easily. We can structure this as a search query instead (and it might not be bad to make that possible, for Dashboard panels) but it will lose some context. There's also no control which will easily let you select a column right now, and building a nice one is probably a fair bit of work (plus, it overlaps a lot with some other less well-defined tasks and infrastructure-blocked things).
For the second case, T4673 should cover it.
Permalinks are more convenient than search queries that need to be constructed, sure. They could be provided in the "settings" page of the column (i.e. https://secure.phabricator.com/project/board/404/column/86/ ) not to clutter the board view.
Where would those permalinks lead, to a subpage of the board listing only the tasks of a column, or...?
Ref T4673, agreed.
It would be very nice to have such list in column page to give changelog to other users. If column is hidden, this page would show closed tasks.
I create, for my application, a project, where columns are major version. And For each major version I create a project, eg 1.2.x, where columns are minor versions.
I'd like to add some additional color commentary on the request as originally stated: searching for column names. We have several cases where tasks will be on multiple workboards -- each with their own columns -- and people struggle with figuring out "what is going on?". For example, a task might have been tagged with two engineering teams (either because ownership is unclear or multiple people need to work on the task) and on two product management like boards. This causes more pain with goals that are larger and more complex and don't fit cleanly into normal processes (something extraordinary like "provide more than 9 desk slots").
We ended up in this situation by saying (1) the engineering sprint process is going to meet the needs of engineers first (2) product,marketing,etc can make as many tags as they want to make sense of things in their context. I still think those at least sound like good ideas.
- An engineering manager wants to answer: For in flight tasks that are in the CoolCodeName column on the ProductManagerX board, how is my team doing? Am I prepared to talk to the PM? Is way too much work coming from this PM and messing up my this sprint? Does the intersection of ColumnA from ProductManagerX and ColumnB from ProductManagerY have unexpected overlap and show two PMs are trying to manage what is really the same project?
- As a product manager: I'd like to understand how tasks for CoolCodeName are progressing and I know that the EngrTeamX columnA is meaningful? Other PMs are my sworn enemies and I want to see if they are trying to steal my turf by putting everything in the WestSideStorySharks category. I have yet another board with a product like function (Marketing?) and want to see the intersection of two (board,column) tuples that represent how we are going to present externally.
In some cases there are probably better processes that we could implement, better ways we could use existing features, or what we really need to make this work for product people is feature X (burndown charts?). Even if searching by column isn't exactly the right solution, it give us a better sense of what is going on now, and allow people who think that reporting system X will solve their problems to hack it together over conduit and see if that is actually the case.
While some of the workboards may have state-like qualities, I'm unsure if T5474 is the right approach (I think it had been brought up in that context before). In particular I can't think of a better rule than "if task is moved to AnyColumn, write Project+AnyColumn custom field X". But that might not even work without some sort of hypothetical hash-like custom field. I recall some other discussion about searching for columns and there being technical complications (edges?), but that might have been lost to chatlog.
Another approach would be to make a lot of "real" states for most of this instead of workboard columns, and impose the One True Flow on all teams. Based on previous experience with other tools (Jira, trac) that allow creating custom directed graphs for task flow I am confident that trying to meet all needs with this would be -- at best -- a brittle mess.
D19366 adds a "View as Query" option to the dropdown on workboard columns. This will take you to the Maniphest query results page with a query that selects exactly what was shown in the column when you selected the item.
Note that this query combines any existing board filters applied to the current view with an additional column constraint. For example, if you had the board filtered so that it only shows "Open, Wishlist" tasks, the "View as Query" link will give you a query which shows you "Open, Wishlist, In Column X on Board Y" tasks. This generally makes the workflow more powerful, but might be surprising if you're expecting it to give you an unfiltered view of every task in the column. If you want an unfiltered view, either switch the workboard to "All Tasks" first, or remove the additional constraints after following the "View as Query" link.
The query you end up with is a normal query that you can use all the existing query tools on (Add to Dashboard, Export Data, etc), save as a permanent link, add to a menu, save as a named query, modify to refine further, use as an API query constraint, etc.