Homec4science

Bridge GitHub users into Phabricator and attribute actions to them

Authored by epriestley <git@epriestley.com> on Mar 28 2016, 21:01.

Description

Bridge GitHub users into Phabricator and attribute actions to them

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:
{F1194104}

{F1194105}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10537, T10538

Differential Revision: https://secure.phabricator.com/D15541

Details

Committed
epriestley <git@epriestley.com>Mar 28 2016, 22:10
Pushed
aubortJan 31 2017, 17:16
Parents
rPHe5427a95211f: Extract GitHub actor IDs from GitHub events
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH7b0b820be123: Bridge GitHub users into Phabricator and attribute actions to them (authored by epriestley <git@epriestley.com>).Mar 28 2016, 22:10