(NOTE) After the **2015 Week 49** branch cut for `stable`, infrastructure changes are landing which will impact Maniphest. These changes are far-reaching and may have rough edges for some time. If you use Maniphest, review this task before upgrading past Week 49 to know what to expect.
These changes are connected to new infrastructure (ApplicationEditor tech, out of T9132), but the infrastructure changes are fairly broad and various other things are getting caught up in them.
Current Status
===========
(IMPORTANT) {icon exclamation-triangle color=red} These changes are //extremely// new and probably don't work even a little bit. Upgrading any production instances is not recommended.
Things to Watch Out For
=====
- Three-eyed Ravens
Specifically, these are the incompatible or breaking changes:
- **Maniphest "Can Edit <Field>" policies in {nav Applications > Maniphest} are no longer respected in the UI.** There will be more details about the pathway forward soon.
- The `WILLEDITTASK` and `DIDEDITTASK` events will no longer fire for many edits, and will stop firing completely soon. See prior discussion in T9860.
- The `maniphest.createtask` and `maniphest.update` endpoints will be deprecated and removed. The new `maniphest.edit` endpoint replaces them both. The new endpoint should be a dramatic improvement over the old endpoints.
- Drafts (saved, unsubmitted comments in comment text areas) are moving to a new format, and you will lose any existing draft comments which haven't been submitted. If you've been using drafts to keep a personal journal or something, move it somewhere durable.
- Actions other than "Comment" no longer implicitly subscribe you to tasks. (I'm open to reconsidering this, but it was inconsistent with other applications and simpler to make consistent.)
- "Create New Project" on the task create screen has been removed. This was a weird one-off action which never worked right. This may be replaced with a more global action eventually, but it was easier to make consistent and I don't believe it's heavily used.
- Description previews have been removed from the task edit/create screen. These will return in some more general form via T3967, but probably not for a while.
- The "Create New Empty Task", "Create a Similar Task" and "Create Another Subtask" convenience workflows have been removed. "Empty Task" seems obsolete, but some flavor of "Similar Task" may return in the future.
(WARNING) If a feature you use is broken or missing on this install (which runs HEAD of master) but not listed above, feel free to report it as a bug to make sure it gets taken care of.
Benefits
======
These are some of the benefits of the new infrastructure:
- You can take multiple actions when submitting a comment (for example, change priority and add projects).
- All your actions are now saved as a draft, so you won't lose the stuff you typed into, e.g., "Add Subscribers" if you close the window by accident.
- Zombie versions of old comments should no longer hang around spookily after they are submitted.
- Previews will accurately reflect what your action will do.
- The new `maniphest.edit` API endpoint runs the same code that the web UI runs, and should fix all of the deficiencies in the old edit endpoints.
- You can now define multiple "Create" forms, like "File a Bug", "File a Feature Request", and "Report a Security Issue".
- Each form can set field defaults and lock, hide, and reorder fields, and include workflow-specific instructions.
- Each form can have policies associated with it.
- More details on this will be forthcoming.
- Concurrent edits by multiple users (or a single user in multiple windows) which adjust projects and subscribers will no longer overwrite one another.
- Object editing is more modular and more extensible, although you'd be crazy to touch this API anytime soon.
- Create/edit forms are universally pre-fillable with HTTP GET parameters, and there's a page explaining all the parameters for each object.
There are also major internal infrastructure benefits (for example, Conduit endpoints and EditControllers are now each about 10 lines long), but these should not generally impact users. I plan to bring this infrastructure to all applications over time. It is currently available in Maniphest, Paste and Owners.