Modernize Diviner
Summary:
Ref T4558. This diff modernizes the Diviner application. Basically:
- Add an edit controller, accessible at /book/$BOOK/edit/.
- Add edit/view policies.
- Added an action menu to the DivinerBookController to expose the edit interface.
- Allows projects to be associated with books.
- Implement edges and transactions.
- Implemented PhabricatorApplicationTransactionInterface in DivinerLiveBook.
Test Plan:
- Generated a Diviner book with ./bin/diviner generate.
- Added projects to a book and ensured that they persisted.
- Changed the view policy on a book and made sure it was effective.
Reviewers: Blessed Reviewers, epriestley
Reviewed By: Blessed Reviewers, epriestley
Subscribers: Korvin, epriestley
Maniphest Tasks: T4558
Differential Revision: https://secure.phabricator.com/D13091