Page MenuHomePhorge

Add "Understanding Application Transaction Editors" article to Diviner
ClosedPublic

Authored by amybones on Feb 16 2025, 02:01.
Tags
None
Referenced Files
F3219902: D25883.1741775810.diff
Tue, Mar 11, 10:36
F3217853: D25883.1741731054.diff
Mon, Mar 10, 22:10
F3217852: D25883.1741731052.diff
Mon, Mar 10, 22:10
F3216989: D25883.1741725602.diff
Mon, Mar 10, 20:40
F3212917: D25883.1741519844.diff
Sat, Mar 8, 11:30
F3184105: D25883.1741340606.diff
Thu, Mar 6, 09:43
F3083546: D25883.1741074256.diff
Mon, Mar 3, 07:44
F3065373: D25883.1741029280.diff
Sun, Mar 2, 19:14

Details

Summary

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.

Test Plan

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

aklapper subscribed.

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.

This revision is now accepted and ready to land.Feb 16 2025, 15:49
aklapper retitled this revision from Preliminary documentation for transaction editors. to Add "Understanding Application Transaction Editors" article to Diviner.Feb 16 2025, 15:49

Remove first person voice in a few areas. And a bit of swearing that slipped through from my notes.

This revision was landed with ongoing or failed builds.Feb 16 2025, 21:37
This revision was automatically updated to reflect the committed changes.