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

NodeSchool got deleted and then un-deleted :) #248

Closed
max-mapper opened this issue Jul 28, 2015 · 73 comments
Closed

NodeSchool got deleted and then un-deleted :) #248

max-mapper opened this issue Jul 28, 2015 · 73 comments

Comments

@max-mapper
Copy link
Contributor

The organizer of the Morocco chapter deleted the nodeschool github org a little after midnight PST. I'm guessing it was an accident (this exact thing happened to Maptime before actually and it was an accident). It's now 2:17AM PST and we have all repos back, have invited all previous Owners to a new team called chapter-organizers, and have triggered a rebuild on all gh-pages branches (which made all the websites come back).

Previously we had a setup where all organizers were in the Owners team, because the Owners team under the GitHub Organizations system is the only team that lets you invite new members to a team and create new repositories, which helped us prevent bottlenecks and let organizers be self sufficient.

Unfortunately, it also meant Owners had the ability to delete the organization. Since this finally happened I decided now is a good time to change it up a little. Now the chapter-organizers team has 'admin' privileges which lets them push/pull to repos and open/close issues but doesn't let them manage team membership or create repos.

Anyway, things should be mostly working again now. We unfortunately lost all of our old teams, but I do have the data available to manually restore them if we want to.

Changes we have to figure out:

  • new repos have to be created by Owners. Owners will now have to have more responsibility since they will have to create repos. But we can't add everyone to Owners like we used to (or risk getting the org deleted again)
  • we lost all teams so we have to figure out how we wanna restore them. Through GitHub Organizations Audit Log Exports I have the full data for the old team names and membership info

If anyone has concrete feedback/ideas on how we can better model our organization using GitHub Organizations, now would be a good time :)

Huge thanks to @jdennes and @jlord at GitHub who helped us un-delete all the things.

@SomeoneWeird
Copy link
Member

🎉

@mcollina
Copy link

A big hug to everybody that undeleted everything. Thanks for the long night.

👍 for the new policy.

@gootyfer
Copy link

thanks for the good work guys!

@tgfjt
Copy link

tgfjt commented Jul 28, 2015

🎉 Thanks!!

@alexfernandez
Copy link

Good job! One question, I have been subscribed to about 200 repos to which I had manually unsubscribed before, one per chapter. Is there a way to do a mass unsubscribe? The alternative is to send all notifications from nodeschool to /dev/null which is suboptimal.

@max-mapper
Copy link
Contributor Author

Oh yea forgot to mention, when everything got deleted and then un-deleted it re-set the 'root' repo for all repos that 1 or more forks. So thats why some repos (like this one) show up as forks. This can be fixed by a GitHub employee manually but it's one at a time so it might take a while.

@alexfernandez Sorry about that, I am not sure. If you find a good fix for that please share it here.

@mafintosh
Copy link
Member

We could make a bot that will allow people to create new repos by mentioning it in an issue thread.

@nodeschoolbot create chapter portland

@mafintosh
Copy link
Member

@alexfernandez go to https://github.com/watching - all the subscriptions are at the top so you can just mass click 'unwatch' there on all the repos

@mafintosh
Copy link
Member

(don't click "unwatch all" as that will unwatch all your repos)

@afronski
Copy link

Good job! 🎉

@maxogden 👍 for new policy, but it means that if someone (e.g. participant) would like to contribute to the chapter, it should be done via fork + PR, right?

@maxogden @alexfernandez @mafintosh This URL helped me unsubscribe from those repos - https://github.com/watching - it is still a manual process, but at least it is sorted by subscription date (so the top ones are those which you want to remove). Beware: "unwatch all" button will remove all other repos unfortunately.

@alexfernandez
Copy link

@mafintosh @afronski That was helpful, thanks! Yes, "unwatch all" is no good since you will lose all notifications, but some 200 clicks will get you there :)

@finnp
Copy link
Member

finnp commented Jul 28, 2015

Here's what I just used to unsubscribe all on the https://github.com/watching page:

[].slice.call(document.querySelectorAll("[title=nodeschool]")).forEach(function(n) { n.parentNode.parentNode.querySelector('button').click() })

@ghost
Copy link

ghost commented Jul 28, 2015

👍 thumbs up for the one-liner.

@fmoliveira
Copy link
Member

Yay a big thumbs up to the GitHub staff for undeleting it so quickly! 👍

I completely agree with the new policy.

The suggestion from @mafintosh about having a bot is just great. Perhaps it should allow to run the bot commands only when the message is posted by the someone from the owners team? This would keep this responsibility for the owners but may be a good way to speed up this task.

There's a bot for GitHub written in Go made by Docker's folks here, though it's a much more sophisticated bot than what we need.

@mafintosh
Copy link
Member

What if the bot just worked by allowing everyone in the chapter-organizers team to create new chaptors and invite people to join the chapter-organizers team? That would scale pretty well without owners being bottlenecks. I can easily set this up if we want.

@finnp
Copy link
Member

finnp commented Jul 28, 2015

@mafintosh Yes, that sounds like a good system. The bot could give people from that team the missing rights, like the ability to add new people to that team, create repositories and also create new teams (like berlin).

@olizilla
Copy link
Contributor

😻

@edwinallenz
Copy link
Member

Sorry to hear that, thanks to everyone that helped to restore the organization.

@thebergamo
Copy link
Member

Oh lord 😄

@a0viedo
Copy link
Member

a0viedo commented Jul 28, 2015

Thanks @maxogden, @jdennes and @jlord for all your efforts.

@fmoliveira
Copy link
Member

Great ideas @mafintosh and @finnp !

@jasonrhodes
Copy link
Member

double-picard

omg @maxogden @jdennes @jlord thanks for all your hard work getting this back up!!! I like the bot idea -- where would it live?

@mafintosh
Copy link
Member

i can host it for now

@timmarinin
Copy link

🎱

@fmoliveira
Copy link
Member

I know that this isn't one of the major problems, but I've noticed that all my contributions to Nodeschool repositories were wiped away from my contributions chart. I think it should have happened to everybody. Do you know if there's any chance for the chart to be rebuilt @maxogden ?

@fmoliveira
Copy link
Member

By the way, I'm watching the bot test repo and it looks awesome @mafintosh !

@mafintosh
Copy link
Member

@fmoliveira almost done :)

@cronopio
Copy link

@maxogden @jlord @jdennes Thanks for your hard work, you are heros!

@bcomnes
Copy link

bcomnes commented Jul 28, 2015

Oof.. Rough. 👍 to the currently implemented access model and 👍 to the bot idea to help remove bottlenecks. Ideally github could finegrain permissions a bit more e.g. permissions of who can manage who is added/removed to the org, delete the org, CRUD repos etc.

@iancrowther
Copy link
Member

@maxogden can we get the international-day teams back. they were really really useful and will be needed for next year. will i be able to create teams for int-day? I need to be able to do this to do the prep..

@iancrowther
Copy link
Member

@mafintosh so if i want to create international-day-2016 i use the bot?

@iancrowther
Copy link
Member

superb effort to get us back on track, need any help?

@mafintosh
Copy link
Member

The bot is now online. The way it works is that you can mention it anywhere in this repo and in the discussions repo and tell it to create new repositories or invite new members to join nodeschool.

It will only create new repos / add members if the user mentioning it is a member of the chapter-organizers team (new members are automatically added to that)

The source of the bot can be found here, https://github.com/mafintosh/nodeschoolbot - feel free to fix bugs etc

@nodeschoolbot are you alive?

@nodeschoolbot
Copy link

Here is what I can do for you:

  • help - shows this help
  • create-repo {name} - creates a nodeschool repo
  • add-user {username} - adds a user to the chapter-organizers team and the org

@mafintosh
Copy link
Member

@iancrowther yes you can use the bot. just try it out :)

@gangstead
Copy link
Member

@mafintosh

image

@jlord
Copy link

jlord commented Jul 29, 2015

🍴 🍴 🍴 🍴

I'll go through and make each repository the root in the next couple of days 👍 or later today in one big button pressing session, we'll see, but I'll try to get it done 🔜

@max-mapper
Copy link
Contributor Author

@nodeschoolbot do a barrel roll

@nodeschoolbot
Copy link

Here is what I can do for you:

  • help - shows this help
  • create-repo {name} - creates a nodeschool repo
  • add-user {username} - adds a user to the chapter-organizers team and the org

@mafintosh
Copy link
Member

@nodeschoolbot do a barrel roll

@nodeschoolbot
Copy link

barrel-roll

@RichardLitt
Copy link
Member

Too much fun. :D

@fmoliveira
Copy link
Member

LoL you rock @mafintosh , the bot is just awesome! ;)

@dylants
Copy link
Member

dylants commented Jul 30, 2015

I'm wondering what folks opinion is on adding additional users who want to help out in the local chapters -- do you think we should add them to the chapter-organizers team or create a separate local chapter team (so for us, it would be the Austin team)? This would be mostly for those who want to help mentor others.

@max-mapper
Copy link
Contributor Author

@dylants thats a great use case. We should probably bring back chapter teams, I just didn't want to jump the gun setting up so much infrastructure right after everything got deleted. I opened a separate issue for discussion: #250

@RichardLitt
Copy link
Member

Support managed to reset nodeschool/bali (the one I requested specifically), but when asked about other repositories, said this:

Sorry for the delay! I've made nodeschool/bali the root of that network. We unfortunately don't have any quick way to determine which of the many repositories were originally roots, but if you run into more like this, feel free to reply and let me know!

I think it might be good to just let support know if there are any specific ones that need to be reset. I went ahead and said that based on this thread it'd probably be ok to reset them all, but we'll see what support says to that.

@sotayamashita
Copy link
Member

Thanks you

@RichardLitt
Copy link
Member

More:

While we can likely change the root for all of the nodeschool repositories, we would need a request for that kind of bulk action to come from a member of the owners team in the organization.

So, @maxogden, I guess you should write in?

@jlord
Copy link

jlord commented Aug 3, 2015

@RichardLitt et al 👋 I'm a @nodeschool owner and a GitHubber 😄 so just ping me.

I'll go through and make each repository the root in the next couple of days 👍 or later today in one big button pressing session, we'll see, but I'll try to get it done 🔜

I mentioned this earlier in the thread and am working on it now. It's quite a manual process but I'll be rebuilding the contribution graph and setting root for each repository. Hang tight. 🏄

@RichardLitt
Copy link
Member

@jlord Woo! Thank you. Wasn't sure if you were working on it or not. Thanks! 🏄

@jlord
Copy link

jlord commented Aug 3, 2015

✅ All repos's contribution graphs and root status have been restored.

If you find that I've missed one some how, 🔔 ping me. Worth mentioning in this summary, I'd already rebuilt all the gh-pages branches. I think that's the last of what we needed to restore?

cc @RichardLitt

@bcomnes
Copy link

bcomnes commented Aug 5, 2015

Lots of ❤️ for the hard, manual work @jlord !

@RichardLitt
Copy link
Member

Thank you, @jlord!

@iancrowther
Copy link
Member

whats blocking this being closed now?

@jlord
Copy link

jlord commented Oct 27, 2015

@iancrowther oh, probably can be closed now 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests