Calendar doesn't use ApplicationTransactions yet, but should.
Description
Description
Revisions and Commits
Revisions and Commits
Event Timeline
Comment Actions
ApplicationTransactions is the infrastructure component which creates edit logs, supports comments, and enables a lot of additional features for free or nearly-free. The major components are:
- Create a new PhabricatorCalendarEventTransaction class, similar to classes like AlmanacServiceTransaction.
- Create a storage patch for it, like resources/sql/autopatches/20141025.phriction.1.xaction.sql.
- Create a new PhabricatorCalendarEventTransactionComment class, similar to classes like PhrictionTransactionComment.
- Create a new storage patch for that, like resources/sql/autopatches/20141025.phriction.2.xaction.sql.
- Create a PhabricatorCalendarEventEditor, like other ...Editor classes.
- Convert the "Create Event" workflow to use your new Editor. You probably need to define four transaction types initially: status, start date, end date, description.
- Make the event detail page show the transaction log at the bottom, so you can see, e.g., changes to the event's description.
- (It won't automatically support comments, but we can add those later -- getting this far unblocks everything else which depends on ApplicationTransactions.)
Comment Actions
Exciting stuff. :) I hope this includes (or it comes soon after) feed story hook implementations in PhabricatorCalendarEventTransaction...! I think creating calendar events in particular deserves surfacing to the feed.