Subject: [Tools-discuss] Reviewing with Phabricator (and Datatracker integration)

From: Eric Rescorla <[email-masked]>
Date: Thu, 31 May 2018 07:04:00 -0700

I wanted to let the tools team know about the way I'm using
Phabricator (https://en.wikipedia.org/wiki/Phabricator) and the new
Datatracker APIs to do my
AD and IESG. Phabricator's "Differential" tool is a code review
system that allows for:

- Line-by-line reviews
- Status and comment tracking
- Reviewer assignment
- Differences between any two versions of a document, complete
  with in-context display of comments

The basic model I have is that I treat each draft as it if were a
submitted patch to the repository of all drafts, and then review it. I
find this lets me go through a draft relatively quickly, note issues,
then create a review, and then when a new version comes out, see how
the authors resolved them. In some cases, the authors make their own
Phabricator accounts and respond in comments (this is a better
experience for everyone) but even without that, it's been a pretty big
improvement in experience for me.

Here's an example of what this looks like on Phabricator:

   https://mozphab-ietf.devsvcdev.mozaws.net/D5132

And the corresponding (auto-generated) ballot:

   https://datatracker.ietf.org/doc/draft-ietf-tram-stunbis/ballot/

Sorry, you'll need to search, no anchors on this page.

I've developed a suite of tools to automate most of the work here:

   https://github.com/ekr/iphab

Roughly speaking, here's what they do:

- Watch the draft repository and keep the list of revisions
  (Phabricator's term for change lists).

- Parse the telechat agenda and assign revisions to be reviewed
  based on the documents on the agenda (Protocol Actions get
  marked as "Blocking" and Document Actions as non-blocking).

- When a review is finished, post it as a ballot in the datatracker
  (using whether the revision was "accepted" or not to determine
  how to ballot). It also automatically sorts comments in to
  DISCUSS and COMMENT based on whether they are marked "IMPORTANT".

- Alternatively, download reviews into a text file so you can
  edit them, email, etc.

Right now, this is still a bit manual (I run the tools on my machine
before each telechat and you have to individually tell them to submit
the ballot) and only sort of works for > 1 person but if other people
were interested in trying Phabricator out, it would be pretty easy to
make it work for more than one person, and at least automate the
updating piece of it (you'd probably still have to manually tell it to
ballot for each draft for a little while). I've avoided doing that
because it *is* work, but would be happy to if there was interest.

Big thanks to Henrik and the tools team for making the Datatracker
APIs (and the API key facility) that makes this possible.

-Ekr

---

From: Chris Morrow <[email-masked]>
Date: Thu, 31 May 2018 12:48:37 -0400

On Thu, 31 May 2018 10:04:00 -0400,
Eric Rescorla <[email-masked]> wrote:
> 
> [1  <multipart/alternative (7bit)>]
> [1.1  <text/plain; UTF-8 (7bit)>]

oh neat, this looks a lot like:
  gerrit.codereview.com
  codereview.appspot.com

(codereview was the originator of those two) we use this sort of flow
at $WORK, it's super useful and makes making progress straightforward
and simple.

> [1.2  <text/html; UTF-8 (quoted-printable)>]
> [2  <text/plain; us-ascii (7bit)>]
> ___________________________________________________________
> Tools-discuss mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/tools-discuss
> 
> Please report datatracker.ietf.org and mailarchive.ietf.org
> bugs at http://tools.ietf.org/tools/ietfdb
> or send email to [email-masked]
> 
> Please report tools.ietf.org bugs at
> http://tools.ietf.org/tools/issues
> or send email to [email-masked]

---

From: Russ Housley <[email-masked]>
Date: Thu, 31 May 2018 13:30:54 -0400

I would be interested in the experiences of other ADs.

I would like to know how easy it would be for Directorates and Review Teams to leverage your work.

Russ

> On May 31, 2018, at 10:04 AM, Eric Rescorla <[email-masked]> wrote:
> 
> Phabricator (https://en.wikipedia.org/wiki/Phabricator <https://en.wikipedia.org/wiki/Phabricator>) and the new Datatracker APIs to do my
>    https://mozphab-ietf.devsvcdev.mozaws.net/D5132 <https://mozphab-ietf.devsvcdev.mozaws.net/D5132>
> 
>    https://datatracker.ietf.org/doc/draft-ietf-tram-stunbis/ballot/ <https://datatracker.ietf.org/doc/draft-ietf-tram-stunbis/ballot/>
> 
>    https://github.com/ekr/iphab <https://github.com/ekr/iphab>
> 
>

---

From: Eric Rescorla <[email-masked]>
Date: Thu, 31 May 2018 13:27:36 -0700

> I would be interested in the experiences of other ADs.

I think Warren has spent a little time on it.

I would like to know how easy it would be for Directorates and Review Teams
> to leverage your work.

Understanding that would, I think, require understanding how those tools
work. I don't have a real sense of how those tools work. I know Tero has
some secdir stuff. Does everyone have their own thing?

-Ekr

Russ

---

From: Russ Housley <[email-masked]>
Date: Thu, 31 May 2018 16:42:57 -0400

> On May 31, 2018, at 4:27 PM, Eric Rescorla <[email-masked]> wrote:
> 
> On Thu, May 31, 2018 at 10:30 AM, Russ Housley <[email-masked] <mailto:[email-masked]>> wrote:
> Understanding that would, I think, require understanding how those tools work. I don't have a real sense of how those tools work. I know Tero has some secdir stuff. Does everyone have their own thing?

No.  The datatracker supports all of the reviews in a manner similar to ballots.  The reviewer two options.  First, the reviewer puts text into a frame on a datatracker page, and then the datatracker turns it into email.  This is very similar to the way IESG ballots are handled.  Second, the reviewer sends his own email and give the datatracker the URL into the mail archive.

Your description makes me wonder if this tooling could work with an API related to the first approach.

Russ

---

From: Eric Rescorla <[email-masked]>
Date: Thu, 31 May 2018 13:59:27 -0700

On Thu, May 31, 2018 at 1:42 PM, Russ Housley <[email-masked]> wrote:

> No.  The datatracker supports all of the reviews in a manner similar to
> ballots.  The reviewer two options.  First, the reviewer puts text into a
> frame on a datatracker page, and then the datatracker turns it into email.
> This is very similar to the way IESG ballots are handled.  Second, the
> reviewer sends his own email and give the datatracker the URL into the mail
> archive.
>

I think it would, yes.

-Ekr