-
Notifications
You must be signed in to change notification settings - Fork 269
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
Community Directory #1155
Comments
Metadata keysBrainstorming the sort of metadata each file will contain (with @assuntad23).
|
Person identifierOne of the purposes of the directory is to be able to link people across the Hub. E.g. the "contacts" on a post can be a list of identifiers linked to Option 1: An
|
Groups pagesEach person is able to list groups they're a part of, which will become a list of links to the pages to those groups. The flip side of that is that we can then automatically list the members of each group on the group's page. But currently the pages for these groups are scattered or nonexistent. If we touch the groups pages we'll have to decide whether to standardize their locations or try to conform to their existing locations. For example, some current groups and where they live:
Should we add some mapping to config.json to maintain these, or just standardize it to |
All Contributors bot@tnabtaf pointed out this project which made a bot to automatically compile a list of contributors to a repo. By default it adds an HTML table to the repo's |
How to connect identifiers with objects from other Collections?It's great that this project includes creating actual, structured objects for things like people, groups, and institutes. But a fundamental issue I keep running into is that we want to be able to refer to them by simple identifiers like But we can only do one GraphQL query per .vue file, so once we obtain the ids, we can't go back and ask for the full objects. GraphQL does provide a join-like functionality, but we don't have the necessary control over the schema to do it. But Gridsome does provide a way to link objects in |
This is a central issue for all Community Directory ideas.
This was the subject of a GCC 2021 CoFest project. Here are some meeting notes, and here are some mock-ups people made.
This issue is a WIP. For now, here are my notes from the GCC 2021 CoFest discussion:
Person collection
Lets you link to people from other pages (like events)
Can generate dynamic pages that are lists or sublists of Persons
Where the data is stored
A Markdown file per person
metadata contains links to Github, Gitter, Twitter, etc
content is optional, but can be designed how the person wants
On build, we can go fetch any content we want from other sites using the metadata.
Or maybe after build - just do it on the client
GraphQL query
Each profile page should include a list of each person's contributions on the Hub
events, pages authored, etc
Basically, I'll need to do a join between the person and all their articles.
Other Hubs
Each person could have a "home" community whose Hub publishes them
Include the metadata as JSON+LD so other Hubs can grab them
Galaxy Profile Pages
See proposal: galaxyproject/galaxy#10920
Our metadata could link to any number of Profile Pages on any number of Galaxy instances
If present, we could grab data from there too
External personal pages
There could be a metadata field for any external url that people want
If it's there, it means to redirect to there instead.
redirect
Opt-in
People must only be listed if they actively choose to be
And only the data they want listed
Methods of opting in
They can always submit a pull request directly
Even better, we could make a Google Form (or similar user-friendly interface)
If Galaxy Profile Pages ever get deployed, we could include a checkbox there
Updates / Opting out
Could use the same Google Form to change/remove things
Could even embed a link in the profile page
Can we include a "special" update link in the email they get after filling out the initial form?
Fields to show
Github contributions
Maybe just highlight the projects they've most contributed to?
https://docs.github.com/en/rest/reference/repos#list-repository-contributors
Galaxy creations (workflows, tools, etc)
from Galaxy Profile Pages
GCC presentations
could source from Sched
Hub pages
Community groups they're in
Working groups, Steering committee, IUC, IWC, etc
Bio.tools annotations?
Home city?
Could let us show a big map of where all community members are based
"groups" or "interests"
give hint about what they work on & let us link together people working on the same thing
could just be a freeform field of keywords people can include
"badges"
for different activity
one could be "active in the last month" or 6 months or whatever
Inspiration
Document with examples
GTN
listing page: https://training.galaxyproject.org/training-material/hall-of-fame
profile pages: https://training.galaxyproject.org/training-material/hall-of-fame/beatrizserrano/
ORCiD
profile pages: https://orcid.org/0000-0002-9970-6657
Galaxy Profile Pages
Proposal: galaxyproject/galaxy#10920
nf-core
listing page: https://nf-co.re/community
Galaxy Europe Hub
listing page: https://galaxyproject.eu/people
implementation: https://github.com/usegalaxy-eu/website/blob/master/_data/people.yml
Parallel Tasks
Hub implementation
It might be tricky querying all the related data across the Hub like authored pages & stuff
computed
property here: https://gridsome.org/docs/guide-search/#using-local-graphql-dataDesigning the UI
Figuring out the external APIs we need to interact with
Figuring out the Google Form
The text was updated successfully, but these errors were encountered: