ApplicationEditor introduced new *.edit API methods (e.g., paste.edit, maniphest.edit). Before we can really switch over to these, I need to do some infrastructure work:
Arcanist: arc commands like arc paste and arc todo need to switch to the new methods before we can throw out the old methods.
They also need to switch to new read endpoints after T7715. Since I'd prefer not to do two switches, I'm going to try to get the read endpoints in place now, then switch both reads and writes in one fell swoop. This should reduce the total engineering cost of these switches.
Special Cases: The new endpoints can nearly edit everything, but there are a few special sorts of values they can't yet edit, like Paths in Owners. I want to make these *.edit endpoints full-power.
I have some plans for doing this, but the, e.g., Owners case is sort of moot if you can't read the paths. So this also motivates getting the new read endpoints in order.
Phame: We're close to un-beta'ing Phame but I'd rather not unbeta it with a bunch of about-to-be-killed-off API methods, so this motivates getting the read endpoints sorted out, too.
Here's my plan to move forward:
- Do the infrastructure work on T7715 to let us build new *.search endpoints as companions to the new *.edit endpoints.
- Implement paste.search, owners.search, maniphest.search.
- Increase the power of both search and edit endpoints to interact with special fields (like Paste content and Owners paths).
- Swap Phame to EditEngine, implement phame.search and phame.edit (or phame.blog.edit + phame.post.edit, I suppose), throw away old Phame APIs.
- Move arc todo, arc tasks and arc paste to new endpoints.