In writing a number of Phorge extensions, I found it quite challenging to
understand how to use and implement Application Transaction Editors. As these
are quite core to most Phorge applications, it seems that we should probably
have some documentation. Introduce a rough draft of a guide to using and
implementing such things.
Details
- Reviewers
valerio.bozzolan aklapper - Group Reviewers
O1: Blessed Committers - Commits
- rPcf19d84107e9: Add "Understanding Application Transaction Editors" article to Diviner
Check that the prose reads okay, and confirm that what's described is in line
with what PhabricatorApplicationTransactionEditor does. Additionally, run ./bin/diviner generate and observe that the document "Understanding Application Transaction Editors" appears in the appropriate location.
Diff Detail
- Repository
- rP Phorge
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
This is impressive, thanks for writing this up! I don't have enough expertise to comment on the "Edit Phases", however all in all this looks super helpful for technical understanding!
Content: Minor nitpick: I'd probably change 2fac to two-factor, and I'd personally prefer avoiding first-person.
Testing: Running ./bin/diviner generate before and after ../arcanist/bin/arc patch D25883 I can confirm that http://phorge.localhost/book/contrib/ lists a new entry "Understanding Application Transaction Editors". Opening that new document, all looks correct, apart from a those links going to functions (example: PhabricatorApplicationTransactionInterface::getApplicationTransactionEditor()) not working and showing a 404, but that is a problem entirely outside of this patch (namely, D25812).
I'm accepting as O1 as we/someone can always add additional patches/changes on top of this.
Remove first person voice in a few areas. And a bit of swearing that slipped through from my notes.