Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Event invites #1

Open
crolek opened this issue Jan 28, 2018 · 2 comments
Open

Event invites #1

crolek opened this issue Jan 28, 2018 · 2 comments
Labels
help wanted Extra attention is needed participant_onboarding

Comments

@crolek
Copy link
Contributor

crolek commented Jan 28, 2018

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:

  • Slack

Add users to dsmHack's org
Add them to predefined defaultChannels
Create channels in the schema of YYYY_team_9 (year_team_numberOfTeams)

  • Github

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 of YYYY_team_9 based on the numberOfTeams property
Assign that team with the respective team repo

  • Google Drive

Create Root folder of dsmHack_participants_YYYY
Create the sub-folders in the schema of YYYY_team_9 based on the numberOfTeams property
Give users Edit rights to the root folder dsmHack_participants_YYYY

Output:

Log the output of each service that the person is added to a file called output.json (txt is fine too)

@crolek crolek added help wanted Extra attention is needed participant_onboarding labels Jan 28, 2018
@Kickercost
Copy link

Clarification desired, Apologies if its painfully obvious and I'm just missing the mark:
Assumptions:

  • Participants are presumably on only a single team.
  • Participants should only be added to the team channels, git repos, google drive paths they are a member of
  • Participant addition might happen independent of group addition
  • Participants will not change teams once assigned (?)
  • numberOfTeams property from data contract is the specification for the number of YYYY_team_x channels, repos, drive paths to create and provide access to.

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.

@crolek
Copy link
Contributor Author

crolek commented Feb 12, 2018

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

  • You are correct that there isn't a direct link between person and team. I didn't clarify that very well. Essentially when the event starts there's 90ish participants all as "open participants" (aka not on a team). When the project selection process starts teams will form. Each non-profit will have a team number associated with them for the slack/github/etc stuff. Once teams form and solidify we will get a list of who's on the team and give them the database credentials at that time (for that team). We will then restrict down the slack channel/google-drive/etc to only the team member. By starting with everyone having access to every team and restricting down after; we prevent us becoming a blocker as teams are trying to rapidly get started. Its the closest "happy medium" I've thought of when it comes to 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.
  • Yeah, that is a great idea. we should make it so we can add a one off user if needed.
  • Great point. I'll make a change to the data contract and tag you in on it to see what you think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed participant_onboarding
Projects
None yet
Development

No branches or pull requests

2 participants