Skip to content

Add JSON for storing expert data #517

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

Closed
wants to merge 2 commits into from
Closed

Conversation

aeros
Copy link
Contributor

@aeros aeros commented Jul 27, 2019

Component of issue #507

@zware and @Mariatta suggested that an effective method of storing the data from the experts index would be to add a new JSON file to the devguide repository. This would allow for an efficient way to store the expert data and to easily be able to find their respective GitHub names (or any other platform). Currently, experts.rst only lists the names on bpo, and the formatting can't be changed due to the nosy list scripts using data from the tables. As a beneficial side effect, this would also likely improve the performance of any expert data extraction scripts.

The formatting of the JSON file is using two primary sections: categories and maintainers. Initially, I was going to leave the exact formatting from the experts.rst tables, but I realized that doing so would result in quite a lot of redundant data. To address that issue, I used the following format:

'categories': {
    'category_name': [
        'maintainer_name',
        // ...,
   ],
   // ...,
},
'maintainers': {
    'maintainer_name' : {
        'bpo_name': 'value',
        'github_name': 'value',
        // Other properties?
    },
    // ...,
}

Having a separate section for the specific information on each of the maintainers provides normalization, so that the information for any maintainers that are experts for multiple modules aren't repeatedly stored.

I think that providing their actual name instead of their bpo username makes a bit more sense, since that allows experts.rst to be far less platform specific. It also makes more sense for the platform specific usernames to be a property of their actual name, rather than using the bpo username as the key. Additionally, since we're moving away from bpo in the near future, that adds further reason to not use it as the identifying key for the experts.

An alternative would be to instead use the GitHub usernames as the key, but as I mentioned earlier, I find it preferable that this JSON doesn't favor any particular platform. Leaving it platform-independent makes it far more scalable in the long term. Let me know if anyone has any suggestions for alternative formats.

Note: The JSON file is currently missing a few experts (that aren't core devs), since I extracted data from the bpo committers list to convert from their bpo usernames to their actual names. Feel free to add or mention any active experts that are missing. The current experts list has an (inactive) after the names of some of the inactive people, but I'm not sure as to whether or not it's fully up to date.

Remove a couple of arrays in 'categories' that were section headers being falsely identified as categories
@aeros
Copy link
Contributor Author

aeros commented Mar 15, 2020

Closing this PR as the core issue was already solved with #552.

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

Successfully merging this pull request may close these issues.

2 participants