Page MenuHomePhabricator

Let Herald move objects between Spaces
Closed, WontfixPublic

Description

Maniphest tasks can be modified by Herald rules based on their project or their space, Herald can also add projects but cannot add (or remove) spaces.

Our situation: Phabricator is used in our context to order the work of different working groups and not all of them should see every other object. A Herald rule that could assign a certain space based on a project would solve this issue.

Why?

  • Spaces are (as far as I can see it) the easiest way to modify object's visibility. If Herald rules can modify spaces, this would be a simple possibility to facilitate that no object with undesired policies get's created.
  • Spaces could also be applied manually when creating or modifying a new object. However, most people tend to forget to set the space for new tasks quite shortly. An automatized solution would solve this issue.
  • We do not only work with different groups but also with several co-operation partners who we want to give access to Phabricator. They should only have access to the projects they belong to but should not see anything else. Since it is only possible to recognize what you can see but not what other people can see, mistakes in handling policies could remain undiscovered. Therefore, I would prefer some way of automated way of handling policies.
  • I understand the problem with policies described in the project user guide, and I see why the best way to handle this is that the object's policies are not affected by the associated project. However, by extensions of the Herald rules for Maniphest task, I could make sure that the policy is automatically set the way I intended it (for instance, changing the viewing/editing policy to a specific space when one or several projects are tagged with a specific task).

Great work with Phabricator, by the way. :-)

Event Timeline

avivey renamed this task from Extend scope of Herald rules for Maniphest tasks to Let Herald move objects between Spaces.May 13 2016, 4:38 PM

Have you seen the discussion in T8434?

Basically, IIRC, the accepted solution was to use custom Create Task forms, which lock the Space/visibility rules appropriately.

Our expectation is to use custom input forms here.

Beyond that please read and follow Contributing Feature Requests.. Our expectation is people will tell us problems they are having, and we'll group other similar problems, and propose a common solution.

Outside of that you're welcome to build a Custom Herald Rule for local needs and drop it in src/extensions (see T5571 for a similar request and patch).

hach-que added a subscriber: hach-que.

I run into this problem a lot because workboards doesn't support custom forms yet :(

This comment was removed by maxie.
epriestley claimed this task.
epriestley added a subscriber: epriestley.

I think custom forms (today), workboard support for custom forms (likely, in the future), and T8442 are the most promising ways forward here.

You can write a Herald rule which does this today, but I don't plan to bring such a rule upstream. There are two fundamental problems with Herald rules that can affect visibility:

  • Such actions allow you to create objects you can't see, which is potentially very confusing for users.
  • The policy changes are applied after other Herald rules run.

To explain the second point in greater detail, suppose you have a rule like this:

When:
[ Projects ] [ include ] [ Secret Stuff ]
Take Actions:
[ Shift to space: ] [ Secret Space ]

This takes effect after all of the other Herald rules run. Until then, the task is still in the default space. This allows users to write rules which affect the task before it shifts into the secret space, potentially including policy-violating actions.