Open crolek opened 6 years ago
Clarification desired, Apologies if its painfully obvious and I'm just missing the mark: Assumptions:
Questions
There doesn't seem to be a direct link between a participant and the group they belong to in the data contract; should there be? or are the groups and there memberships going to be based more on the honor system. The google drive req states edit access to the root but the git repo req seems to imply only explicit access to that teams repo.
Users and groups seem to be added all in one step. Does there need to be support for adding users that arrive late or for changing what groups users belong to? Maybe this should be two parts, add default groups and then as user are entered and registered to a team the the pub groups are then updated??
Personally I dont use the same email for my google and gitHub as I do my slack account. Do we want o support service based email specification? or is it just tough cookies if you don't have your account configured. There might be errors with some of the services if your account doesn't exist. Not sure if github or slack will allow you to add collaborators for non existent accounts.
Assumptions Response
Participants will not change teams once assigned (?)
They won't change teams often, and if we have to manually move them between teams on (github, google drive, etc) we'll do that. If we can automate it, sweet.Questions Response
having resources ready and everyone invited
and having a safe way of restricting people down to private channels/repos/etc
. We are starting with "clean slate" items, so no data is going to be in these systems, and we'll quickly be locking them down.
Please see the CONTRIBUTING.md
Create a script that automatically invites users to the services. Please any work in a sub-folder under the following participant_onboarding
Input:
Format of the input data is outlined in the data contract. If additional fields are needed please mention that.
Services:
Add users to dsmHack's org Add them to predefined
defaultChannels
Create channels in the schema ofYYYY_team_9
(year_team_numberOfTeams)Create teams in the org with the schema of
YYYY_team_9
with Write permissions based on the numberOfTeams property Create repos in the schema ofYYYY_team_9
based on thenumberOfTeams
property Assign that team with the respective team repoCreate Root folder of
dsmHack_participants_YYYY
Create the sub-folders in the schema ofYYYY_team_9
based on thenumberOfTeams
property Give users Edit rights to the root folderdsmHack_participants_YYYY
Output:
Log the output of each service that the person is added to a file called
output.json
(txt is fine too)