Page MenuHomePhabricator

Provide basic scaffolding for workboard column triggers
ClosedPublic

Authored by epriestley on Mar 12 2019, 6:15 PM.

Details

Summary

Depends on D20278. Ref T5474. This change creates some new empty objects that do nothing, and some new views for looking at those objects. There's no actual useful behavior yet.

The "Edit" controller is custom instead of being driven by "EditEngine" because I expect it to be a Herald-style "add new rules" UI, and EditEngine isn't a clean match for those today (although maybe I'll try to move it over).

The general idea here is:

  • Triggers are "real" objects with a real PHID.
  • Each trigger has a name and a collection of rules, like "Change status to: X" or "Play sound: Y".
  • Each column may be bound to a trigger.
  • Multiple columns may share the same trigger.
  • Later UI refinements will make the cases around "copy trigger" vs "reference the same trigger" vs "create a new ad-hoc trigger" more clear.
  • Triggers have their own edit policy.
  • Triggers are always world-visible, like Herald rules.
Test Plan

Poked around, created some empty trigger objects, and nothing exploded. This doesn't actually do anything useful yet since triggers can't have any rule behavior and columns can't actually be bound to triggers.

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley created this revision.Mar 12 2019, 6:15 PM
Owners added a subscriber: Restricted Owners Package.Mar 12 2019, 6:15 PM
epriestley requested review of this revision.Mar 12 2019, 6:16 PM
amckinley accepted this revision.Mar 15 2019, 10:56 PM
amckinley added inline comments.
src/applications/project/xaction/trigger/PhabricatorProjectTriggerNameTransaction.php
33–36

We don't want to force triggers to have names?

This revision is now accepted and ready to land.Mar 15 2019, 10:56 PM

On trigger names, I'm currently imagining that we're likely to end up with a "quick" workflow where you just pick some rules for a column and we don't make you name the trigger, and a "slow and thoughtful" workflow where you take time to set things up and name the triggers. Not sure that'll stick or exactly what it'll look like.

This revision was automatically updated to reflect the committed changes.