datahubio / datahub-v2-pm

Project management (issues only)
8 stars 2 forks source link

[Epic] Pushing data under organization account #124

Open zelima opened 6 years ago

zelima commented 6 years ago

Originally comes from https://github.com/datahq/datahub-qa/issues/13 and https://github.com/datahq/datahub-qa/issues/21

WIP

As a publisher I want to add collaborator(s) to my account(s), so that they can view/publish/delete data on behalf of my org

As a publisher I want to have multiple accounts (or usernames), so that I can publish different datasets under different account.

We want to have organizations but not teams for now. But we need to choose which way we want to implement this, see below.

The collaborator model

We keep users as is right now. Each user can add to their own account 'collaborators': other users who have view and push rights into their accounts.

If I want to make an org, I log-in using my GitHub account (or I open a dedicated one, doesn't matter). Then I add collaborators to this account (via the cli or the web).

Benefits of this approach - simplicity to the user, simple to implement, no new entity is introduced (in the UI or the backend), same functionality (i.e. no need to switch or share login credentials, private datasets work as expected etc.)

In the cli, you push by default to your account. Now you can specify --user=username to push as another account - and if you're a collaborator to that account it will work.

:::info To have multiple accounts (including organization account) one should have multiple GitHub account as well. Process is to create a GitHub user for the org and login to DataHub with that account. Then add private user(s) as a collaborator.

::: :::info Synchronizing with GitHub organization accounts is quite complicated to implement and locks us with GitHub more that we’d like to :::