Page MenuHomePhabricator

Bridge GitHub users into Phabricator and attribute actions to them
ClosedPublic

Authored by epriestley on Mar 28 2016, 7:46 PM.

Details

Summary

Ref T10538. Ref T10537. This creates PHIDs which represent GitHub users, and uses them as the actors for synchronized comments.

I've just made them Doorkeeper objects. There are three major kinds of objects they could possibly be:

  • Nuance requestor objects.
  • External account objects.
  • Doorkeeper objects.

I don't think we actually need distinct nuance requestor objects. These don't really do anything right now, and were originally created before Doorkeeper. I think Doorkeeper is a superset of nuance requestor functionality, and better developed and more flexible.

Likewise, doorkeeper objects are much more flexible than external account objects, and it's nice to imagine that we can import from Twootfeed or whatever without needing to build full OAuth for it. I also like less stuff touching auth code, when possible.

Making these separate from external accounts does make it a bit harder to reconcile external users with internal users, but I think that's OK, and that it's generally desirable to show the real source of a piece of content. That is, if I wrote a comment on GitHub but also have a Phabricator account, I think it's good to show "epriestley (GitHub)" (the GitHub user) as the author, not "epriestley" (the Phabricator user). I think this is generally less confusing overall, and we can add more linkage later to make it clearer.

Test Plan

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley updated this revision to Diff 37464.Mar 28 2016, 7:46 PM
epriestley retitled this revision from to Bridge GitHub users into Phabricator and attribute actions to them.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad accepted this revision.Mar 28 2016, 8:01 PM
chad edited edge metadata.
This revision is now accepted and ready to land.Mar 28 2016, 8:01 PM
This revision was automatically updated to reflect the committed changes.