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

Idea #1 for Team page #45

Closed
rgommers opened this issue Sep 21, 2019 · 39 comments · Fixed by #205
Closed

Idea #1 for Team page #45

rgommers opened this issue Sep 21, 2019 · 39 comments · Fixed by #205

Comments

@rgommers
Copy link
Member

rgommers commented Sep 21, 2019

This is generated from a simple yaml file that then fetches data from GitHub and creates a gallery: https://datapythonista.github.io/pandas-web/community/team.html

Code at https://github.com/datapythonista/pandas-web/blob/master/pysuerga.py#L43
Thanks for the suggestion, @datapythonista!

@datapythonista
Copy link

The code has now been committed to pandas, the new links are:

If you can be interested in the whole pandas_web.py script, I'm happy to move it to a separate repo and create a conda package for it. Probably after we integrate the new website with Sphinx. Since we'll need to render the naviagation bar from the yaml in Sphinx too.

@InessaPawson InessaPawson added this to Backlog in NumPy.org Redesign Oct 18, 2019
@InessaPawson
Copy link
Member

Very nice, @datapythonista!
The new active link is dev.pandas.io/about/team.html

@InessaPawson InessaPawson changed the title Idea for Team page Idea #1 for Team page Nov 24, 2019
@shaloo
Copy link
Contributor

shaloo commented Jan 12, 2020

This is generated from a simple yaml file that then fetches data from GitHub nad creates a gallery: https://datapythonista.github.io/pandas-web/community/team.html

Code at https://github.com/datapythonista/pandas-web/blob/master/pysuerga.py#L43
Thanks for the suggestion @datapythonista

Hi, the first link team.html is not working. @datapythonista, @rgommers is this information available somewhere else? I checked datapythonista.me domain as well but couldn't locate it.

@datapythonista
Copy link

@shaloo
Copy link
Contributor

shaloo commented Jan 18, 2020

@datapythonista, thanks - it looks v v nice!

@shaloo
Copy link
Contributor

shaloo commented Mar 14, 2020

Taking this up over the weekend...thx!

@rgommers
Copy link
Member Author

Thinking about who to list. Some thoughts:

  • I like the Pandas ordering: Contributors, then Maintainers, then other teams.
  • We have a Steering Council which Pandas doesn't have; I think that is less important Maintainers, so let's just list those towards the end under Governance.
  • I'd be inclined to do it like Pandas and put active Maintainers in the gallery, and use Emeritus Maintainers for people no longer active.
  • I'd like to add other teams/roles here. We haven't formalized that yet, but at least we can list Web and Documentation teams. Maybe leave other things like industry contacts and fundraising for later once we've sorted that out.

Does that sound okay to everyone?

@rgommers
Copy link
Member Author

@shaloo would it be easy to have separate galleries for Web and Documentation teams?

@stefanv
Copy link
Contributor

stefanv commented Mar 19, 2020

Thinking about who to list. Some thoughts:

* I like the Pandas ordering: Contributors, then Maintainers, then other teams.

I was surprised when I read this at first, so to clarify for others who may also read this incorrectly: Pandas does not list all contributors first, they are mentioned as a group ("1500 contributors"). Maintainers are then listed, individually, with photos.

@shaloo
Copy link
Contributor

shaloo commented Mar 20, 2020

@shaloo would it be easy to have separate galleries for Web and Documentation teams?

Yes, we can do that.

@shaloo
Copy link
Contributor

shaloo commented Mar 20, 2020

Thinking about who to list. Some thoughts:

  • I like the Pandas ordering: Contributors, then Maintainers, then other teams.
  • We have a Steering Council which Pandas doesn't have; I think that is less important Maintainers, so let's just list those towards the end under Governance.
  • I'd be inclined to do it like Pandas and put active Maintainers in the gallery, and use Emeritus Maintainers for people no longer active.
  • I'd like to add other teams/roles here. We haven't formalized that yet, but at least we can list Web and Documentation teams. Maybe leave other things like industry contacts and fundraising for later once we've sorted that out.

Does that sound okay to everyone?

Ok can be done provided I have a list of who’s who. At present I simply fetched top 18 contributors from Github in order to try out @datapythonista suggestion above.

@InessaPawson
Copy link
Member

I'd like to add other teams/roles here. We haven't formalized that yet, but at least we can list Web and Documentation teams. Maybe leave other things like industry contacts and fundraising for later once we've sorted that out.

AstroPy has done a good job on outlining roles and responsibilities within the project.
(See here: https://www.astropy.org/team.html) I’m not sure if we are there yet with the headcount.

@rgommers
Copy link
Member Author

AstroPy has done a good job on outlining roles and responsibilities within the project.
(See here: https://www.astropy.org/team.html) I’m not sure if we are there yet with the headcount.

That's indeed quite nice. We're definitely not there yet. Would like to get there at some point though - maybe approaching that level of role clarity by the end of the year.

@rgommers
Copy link
Member Author

rgommers commented Mar 21, 2020

Putting together the names for this page was a little challenging, and because we don't have formal teams and roles yet, here is my best attempt:

## Maintainers

- ahaldane
- mhvk
- shoyer
- njsmith
- rkern
- eric-wieser
- stefanv
- pv
- rgommers
- charris
- seberg
- juliantaylor
- bashtage
- matthew-brett
- WarrenWeckesser
- mattip
- tylerjereddy


## Web team

- joelachance
- InessaPawson
- MarsBarLee
- shaloo
- rgommers


## Documentation team

- melissawm
- rgommers
- bonn0062


## Emeritus maintainers

- Travis Oliphant
- David Cournapeau
- Pearu Peterson
- Mark Wiebe
- Jarrod Millman
- Jaime Fernández del Río

## Governance

For the list of people on the Steering Council, please see [here](https://numpy.org/devdocs/dev/governance/people.html)

It also highlighted again that we have multiple people with commit rights who haven't contributed in years, I'm inclined to clean that up. I listed here only active maintainers and web/docs team members. I also judged "maintainers" to be the key code-related group, and "steering council" much less important. @numpy/numpy-core-team comments very welcome.

@shoyer
Copy link
Member

shoyer commented Mar 21, 2020

@rgommers Thanks Ralf, this looks great to me.

@InessaPawson InessaPawson moved this from Backlog to To do in NumPy.org Redesign Mar 22, 2020
@InessaPawson InessaPawson moved this from To do to In progress in NumPy.org Redesign Mar 22, 2020
@shaloo
Copy link
Contributor

shaloo commented Mar 23, 2020

Early draft of team.html page based on grouping suggested above:

Screenshot 2020-03-23 at 8 00 02 PM

The screen shot above and this one are on the same page - had to take two shots and scroll down so they don't look aligned but they actually are on a single page.

Screenshot 2020-03-23 at 8 00 15 PM

@shaloo
Copy link
Contributor

shaloo commented Mar 23, 2020

Regarding integrating this script, here are some initial thoughts. Let me know if you have other/better ideas:

  • Typically, team list is static so it does not make sense to generate this page at every hugo build. It can be done at or just before release times. During dev/daily/regular builds Hugo can refer to statically generated html gallery.
  • The script uses GitHub http request to obtain details (avatar, id, etc) of team members. Github requests are limited and cannot be done more than x number per day. So the script has an option to use stored data (from GitHub) and then for subsequent reruns for say layout changes, user can specify stored data file instead of pulling it again and again from GitHub. I am assuming team changes are not frequent for NumPy.
  • The script generates a static html page. Hugo has a team.md file used to generate the Team information content. We can plug in script generated html (say gallery.html) page as a link on Hugo generated team.md page. This will enable us to have a AstroyPy like Team page with content that links to this gallery. It keeps hugo builds decoupled from the team page gallery data similar to how we have NumPy/BlachHole dependency chart generated with a script stored in /scripts subdirectories.
  • Alternative integration is to embed this script generated gallery html into Team.md page using raw html shortcodes. Need to investigate that option. That one may be a little more involved than simply linking the script generated gallery.html page.

Thoughts?

@charris
Copy link
Member

charris commented Mar 23, 2020

Putting together the names for this page

We should give Anne Archibald an emeritus entry, she had commit rights when we were on svn that got lost in the move to github because she had moved on.

@rgommers
Copy link
Member Author

Looks great @shaloo!

Thanks @charris, good point about Anne. @shaloo could you add her? I was actually thinking to have the emeritus maintainers just as a list of names, not a gallery (rationale: they're gone, so de-emphesize a little).

Typically, team list is static so it does not make sense to generate this page at every hugo build.

Agreed, your approach sounds good.

Alternative integration is to embed this script generated gallery html into Team.md page using raw html shortcodes.

I suspect that this will be nicer than another separate page.

@charris
Copy link
Member

charris commented Mar 23, 2020

And Alex Griffin had the cool snail avatar. See https://github.com/argriffing @argriffing. He disappeared so suddenly and completely that I worry.

@charris
Copy link
Member

charris commented Mar 23, 2020

Anne is @aarchiba on github.

@charris
Copy link
Member

charris commented Mar 23, 2020

I was actually thinking to have the emeritus maintainers just as a list of names,

I kind of like the gallery.

@stefanv
Copy link
Contributor

stefanv commented Mar 23, 2020

@rgommers I'm not sure about the list of emeritus maintainers. Several of these folks do not seem to qualify, but it could be that I missed substantial contributions from them. What is the rule for inclusion here?

I also notice that @jarrodmillman is not listed, who managed 5+ releases and coordinated several important community meetings.

@rgommers
Copy link
Member Author

Thanks @stefanv, good catch - added Jarrod. And valid point on criterion.

The ones you mean are probably Alex Griffing, Ondrej Certik, Jonathan Helmus and Francesc Alted. They all have commit rights, and were part of the NumPy team at some point. I agree that their contributions are all fairly marginal to be considered for this list. Happy to remove them all, seems fair indeed - there are many other people with similar amounts of contributions.

If we disregard commit rights yes/no, then I'd draw the line at Jarrod and Jaime. Okay, removing them.

@rgommers
Copy link
Member Author

They all have commit rights,

fixed that too - they no longer have commit rights

@certik
Copy link

certik commented Mar 23, 2020

For the record, my contribution was that I put in many months of work to get NumPy 1.7 out and was the release manager for it. It didn't translate to a lot of commits, but it took a lot of time to figure out how to fix things and how to get everything working on all platforms and how to coordinate with all the contributors.

@rgommers
Copy link
Member Author

@certik thanks for pointing that out. Yes I definitely remember you did 1.7.0/1! It was even longer than I remembered (Jul-Apr), and one of the more painful releases in NumPy's history. I think your contributions were more substantial than the others mentioned above. There's also still a bit of a gap with Jarrod/Jaime, who contributed for 3 or more years - let me confer with @stefanv on this list.

@rgommers
Copy link
Member Author

Oops, somehow also forgot Pearu - added.

@certik
Copy link

certik commented Mar 23, 2020

@rgommers indeed, it was a lot of work, over a long period of time at a point when nobody wanted to do this job for NumPy. Whether that meets the bar for this issue is up to you. But I just wanted to set the record straight regarding my contributions to NumPy.

@charris
Copy link
Member

charris commented Mar 23, 2020

Having too many emeritus contributors is not a problem we should worry about, having too few is more likely to ruffle someone's feathers.

@shaloo
Copy link
Contributor

shaloo commented Mar 24, 2020

Taking into account suggestions above, here is the second draft.
Screenshot 2020-03-24 at 4 24 47 PM
Screenshot 2020-03-24 at 4 32 23 PM

@rgommers
Copy link
Member Author

Thanks for the input everyone, and the new draft @shaloo.

First off all, someone pointed out to me this phrasing didn't sound right: "fairly marginal to be considered for this list". I apologize if that came over wrong - I definitely did not mean to under-appreciate anyone's efforts! What I meant was that what I (and I think also @stefanv) had in mind for "emeritus maintainer" status was people who were part of the NumPy core team long term, typically multi-year sustained contributions. We have many many other people who made lots of valuable contributions over the years.

Drawing a line somewhere is hard. @InessaPawson had the very nice suggestion to (on a separate page) list all contributors by name. This sounds like a good idea to me. We can use a script for that and the .mailmap file in the main repo which is reasonably well-maintained because we use it for a similar purpose of listing names of contributors in the release notes.

@shaloo could you make a PR with what you have? And can you add @certik back to that? I may have forgotten a couple of other people, I will go back and double-check everything.

@shaloo
Copy link
Contributor

shaloo commented Mar 26, 2020

ok. Will do that in the next couple of hours. You missed Anne - (in your updated list above). I have kept her based on @charris inputs above. When I run the script, I'm having some GitHub data access issues at the moment may have crossed the daily limit for API calls. Will try again in a few hours to get het latest html with @certik.

shaloo added a commit to shaloo/numpy.org that referenced this issue Mar 26, 2020
shaloo added a commit to shaloo/numpy.org that referenced this issue Mar 26, 2020
@shaloo
Copy link
Contributor

shaloo commented Mar 26, 2020

Done. Pls review.

  • The original Team.md generated html was linked in about page - so about page is now updated to refer to gallery team page generated using this script and stored under static/gallery area - recommended by Hugo devs (to include html).

  • The earlier Team.md page was redundant (I checked, not referred to from anywhere else), so deleting it from content/en/team.md This page has metamorphosed into scripts/gallery/numpy/team.md and that content is used to generate gallery/team.html along with team.yml

@rgommers
Copy link
Member Author

recommended by Hugo devs (to include html).

Can you expand on this? It seems weird to me, since regenerating the html is very cheap. Only retrieving data from the GitHub API should be cached I'd think.

@shaloo
Copy link
Contributor

shaloo commented Mar 29, 2020

Yes generating html is cheap and fast if you use stored content. What I meant by above is, in hugo forum I came across a conversation where folks were looking for a way to incorporate statically generated html files as part of their hugo site content and the response was to add the html file in static area and refer to it elsewhere in Hugo content. As of now, I have taken the same approach.

@rgommers
Copy link
Member Author

Okay, I think that discussion may have been about some externally-generated html then. In this case I don't see why we would treat the Team page different from the other pages - it's all html pages generated by Hugo itself.

@shaloo
Copy link
Contributor

shaloo commented Mar 29, 2020

Okay, I think that discussion may have been about some externally-generated html then. In this case I don't see why we would treat the Team page different from the other pages - it's all html pages generated by Hugo itself.

I think I am missing something that you are suggesting here. Afaik, the static html page is generated by script and then plugged in hugo - so it is external in that sense. Who runs the script and when? It is run once and not at every Hugo build. So this team html page is like a png (sort of) for hugo. What am I missing?

@rgommers
Copy link
Member Author

Ah I see the confusion. The last part of the script does use jinja2, I missed that. It does very little though. For each gallery all it does is a for-loop over the entries in team.context, and then inserts the same <div class="card rounded"> ... card. I think it'd be much cleaner to do that with Hugo itself: https://gohugo.io/templates/introduction/#iteration.

However, we could open a separate issue and leave that for later, since it works right now. I'll comment on the PR, let's continue there.

shaloo added a commit to shaloo/numpy.org that referenced this issue Mar 30, 2020
shaloo added a commit to shaloo/numpy.org that referenced this issue Apr 9, 2020
rgommers pushed a commit to shaloo/numpy.org that referenced this issue Apr 14, 2020
rgommers pushed a commit to shaloo/numpy.org that referenced this issue Apr 14, 2020
rgommers pushed a commit to shaloo/numpy.org that referenced this issue Apr 14, 2020
rgommers pushed a commit to shaloo/numpy.org that referenced this issue Apr 14, 2020
NumPy.org Redesign automation moved this from In progress to Done Apr 16, 2020
rgommers added a commit that referenced this issue Apr 16, 2020
* Ref #gh-45 script to generate team gallery html page using team.yml specs

* Ref #gh-45 integrate team/html in about page remove team.md not required

* Fixes #gh-45 addresses Ralf's review comments

* Replaces tabs with space=4

* team.html generated using gallery script is stored in static folder, referenced from about page in Hugo

* Replaced tabs with space tabstop=4

* Fixes #gh-45

* improved html layout tab=2

* Some minor readability cleanups to the gallery script

* Remove --ignore-errors, that hides errors that need to show up.

Also fix some minor things.

* UPdate cached GitHub data for NumPy Team

Co-authored-by: Ralf Gommers <ralf.gommers@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

8 participants