Page MenuHomePhabricator

Integrate Spaces into ApplicationSearch
Closed, ResolvedPublic

Description

Umbrella task for ApplicationSearch / Spaces integration.

This involves clearing some of the infrastructure work in T7715, then providing generic support for Spaces in ApplicationSearch.

Ultimately, implementing PhabricatorSpacesInterface in an application should immediately make Spaces queries available in all search interfaces, eventually including immediate integration in the API (although this requires fully clearing T7715, which probably won't happen here).

Event Timeline

epriestley claimed this task.
epriestley raised the priority of this task from to Normal.
epriestley updated the task description. (Show Details)
epriestley added subscribers: btrahan, aklapper, devurandom and 6 others.

(This is only partially blocked by work described in T7715, but I'm linking it here for completeness and to make it easier for me to dig up.)

I believe this is effectively complete. We'll probably look at revising the control itself at some point, but I think it's likely fine until we do a more complete iteration on these UIs as part of T6943.

Since "Assigned" is a search query, I'll ask here just in case:

Do users with tasks assigned in different spaces still see one single list of tasks under "Assigned", sorted in the way they have defined in their query? The problem to avoid is having to check different queues of assigned tasks for each space.

Here's how it works slightly-ahead-of-HEAD:

By default, you see everything from all spaces you have access to. Objects in some space other than the "default" space show which space they're in in the header. For example, I mostly have normal tasks here, but a few in special spaces (this design is likely to change at least a bit):

They also show their space on the detail page:

If you only have access to one space (e.g., you're locked in a client/contractor area), you currently won't see any of the space annotations (since they'd always be the same, and the theory is that this would create clutter in the UI without improving clarity). Here's a user who only has access to the "Skunkworks" space:

Note that both views show the same T50 and T51, but the user who has access to multiple spaces can see that those tasks are in the "Skunkworks" space, while the user who is locked into the "Skunkworks" space just sees the tasks as normal tasks. If this turns out to be confusing we might change it, but I don't think WMF plans to lock many users in client/contractor areas anyway.

If you have access to multiple spaces and want to look at only a specific Space, you can query for it explicitly:

So you won't need to cycle through different queues, and have to do a bit of work right now if you actually want to view your stuff as separate queues.

T8442 discusses some possible ideas around letting users temporarily hide spaces, which would give you a global way to switch between queues, optionally, if that's what you want. I'm not sure if this is actually useful or if anyone will really want it, but the idea is that some users may want to fully switch into a Space and focus on work in that Space for a while without being able to see other objects. We'll explore that in more detail once we're a little further along, since it's not clear if it's really useful to be able to do that and it creates some challenges.

Slightly-ahead-of-HEAD, if you want several queues you could create saved queries for them, which seems generally pretty reasonable to me right now, and might be completely sufficient on its own.

The workflow you showed is perfect, thank you. At least in Wikimedia nobody has asked for separate queues and I don't think anybody needs them.