Page MenuHomePhabricator

Rough in EditEngine for Maniphest
ClosedPublic

Authored by epriestley on Dec 3 2015, 11:19 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 14, 6:57 PM
Unknown Object (File)
Thu, Mar 14, 6:51 PM
Unknown Object (File)
Thu, Mar 14, 6:16 PM
Unknown Object (File)
Thu, Mar 14, 5:21 PM
Unknown Object (File)
Thu, Mar 14, 5:01 PM
Unknown Object (File)
Thu, Mar 14, 4:33 PM
Unknown Object (File)
Mon, Mar 11, 4:56 PM
Unknown Object (File)
Mon, Mar 11, 3:17 PM
Subscribers
None

Details

Summary

Ref T9132. I'm going hold this until after the release cut since it isn't going to land completely smoothly, but I think I can prep it today/tomorrow and hopefully get it close enough to working to put in HEAD on Saturday after the push.

This adds the basics: new EditEngine, new EditController, and new maniphest.edit API endpoint.

I put the new stuff at editpro/ for now until it works a little better.

Some notes on stuff this is dropping/changing/not-working-yet:

  • Preview for the description. I'd rather solve this by putting a "Preview" button on every Remarkup area if we want to retain it. Particularly, it does not generalize to adding custom remarkup fields in its current form. See also T3967.
  • Per-field policies are no longer enforced. They were never truly enforced anyway (for example, any user who can edit a task has always been able to edit every field via Conduit or email actions or Herald, where Herald supports things), and only really served as a hint to users. I think we can obsolete this by having installs hide/lock these fields instead. This is a desirable outcome for me, since I don't like retaining these policies and the idea of truly enforcing them properly is worrisome. These were originally added for Uber as an onboarding sort of thing. I'll prepare users for this in greater detail in the documentation.
  • Couple of minor bugs with ordering / defaults / only-one-owner-allowed in this diff that I'll clean up in future diffs before this stuff lands.
  • I don't have a concrete plan on "Create Similar Task" / "Clone" yet (do you have thoughts? Is this worth trying to do in every application?). I'll probably just mostly mimic the current behavior.
Test Plan

I'll vet this more thoroughly in followups, just banged around some tasks for now and created/edited via the API.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable