Closed tangollama closed 4 years ago
Approximate changes needed:
create-pages.js
isExternal
defaulting to falseproject
, opensource.newrelic.com/<repo name>
allProjectsQuery
that drives the explore-projects page to exclude isExternal
templates/
type-defs.gql
subProjects
key off of slug@jbeveland27 For:
We do NOT collect/refresh stats on external projects.
I'm thinking this is an additional step in the project-stats piece that checks for an existing project.json
file for each project and checks to see if isExternal
is true, if it is, skip it, otherwise continue. Thoughts?
Yeah I think that makes sense. I was brainstorming about how external projects would be picked up without having to manually enter them into that constants.js file. My thought was to build up the list by culling through the project.json files and grabbing the ones that didn't have newrelic
or newrelic-experimental
as the owner. Since isExternal
exists now, that will be easier to use.
That begs the question - is isExternal
necessary since that's already captured by owner
? Or rather, is it ever possible to have a newrelic/newrelic-experimental
owner and isExternal: false
?
@jbeveland27 good question, but yes, I think it is. There's a good chance that at some point, we could accept an external NR1 app project as part of the explore projects experience. That said, maybe the attribute name is confusing.
Maybe something like "excludeFromExploreProjects". That's more accurate. @devfreddy
@tangollama @jbeveland27 What do you think about adding back a field like projectType
, maintainerType
, or contributorType
?
With values like:
newrelic
- Repositories in organizations we controlpartner
- Repositories controlled by our customers/partnersexternal
- Repositories someone else controls, but which we contribute toWe should be able to then display each uniquely with its own custom template.
contributors
could still live in cachedContributors
in projectStats
, they would just only receive manual updates, as the scripts wouldn't pick them up when querying our organizations.
subProjects
could become relatedProjects
and we could make it a relationship to other projects
. This would let us re-use that field on newrelic
projects to related all of the nr1-nerdpacks together, all of the agent projects together, etc.
In support of #15, we've adjusted the data model for projects (in
src/data/projects
) to include three new attributes. All three are optional:contributorType
)slug
values for other projects)You can see this outlined here: https://hackmd.io/4V9s5U3FSTqV0M9kHVywAA?view
Consequences
cc: @jbeveland27 @danielgolden
For instance: OpenTelemetry: