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

Re-usability Improvements and Documentation #481

Open
1 of 5 tasks
LRWeber opened this issue Dec 11, 2020 · 3 comments
Open
1 of 5 tasks

Re-usability Improvements and Documentation #481

LRWeber opened this issue Dec 11, 2020 · 3 comments

Comments

@LRWeber
Copy link
Member

LRWeber commented Dec 11, 2020

Codebase improvements to be made

Elements to document

@LRWeber
Copy link
Member Author

LRWeber commented Dec 12, 2020

Alternatively, GitHub does have the concept of "template" repos.
https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/creating-a-template-repository

I'm not sure if having a secondary repo as a template is ideal for us or not, but it would greatly simplify the re-usability for other teams. Not only could it provide a very clean and generalized bare-bones starting point, but it would also eliminate the massive commit history that carries over with a direct fork. (Cloning a new fork of this repo to my desktop took quite a while.)

It could also minimize how much we actually have to document; All of our LLNL elements would be stripped away, and it would be largely up to the user how they want to flesh it out.

@JustinGOSSES
Copy link
Contributor

JustinGOSSES commented Apr 6, 2021

I'm here as I saw what NIST had built with their version of this repository in this month's open-data telecon.

I had done a small proof-of-concept project similar to your network visualization of dependencies back in ~2017. It was before github had added dependency graph and I was writing my own dependency scrapers. The graph part was done with neo4J. Very cool to see this done with modern GitHub API capabilities.

I did a quick fork of the repo and ran it on the bulk of the main NASA open-source repositories here: https://github.com/JustinGOSSES/llnl.github.io . Live webpage version is here: https://justingosses.github.io/llnl.github.io/explore/ Some of the links don't work but basic functionality is otherwise there and I spent only a couple hours figuring out how to make it all work and using the scripts to scrape nasa data.

NASA already has other content that covers some of the functionality of this webpage, so I'm thinking we're only interested in the explore tab content. My initial plan for reuse would be to

  • change out header,
  • change out footer,
  • change favicon,
  • get the links to work with the standard github pages base URL structure.
  • change some of the default headers & text in the data visualizations to be "NASA" instead of "LLNL". Ideally this could be done by changing one thing?

So in terms of reusability, it would be great to be able to do those changes above but also be able to easily integrate any changes you'll eventually make to the API calling code and metadata parsing code. That could be done through separating into multiple repositories. However, I could also envision having a script that replaces all the LLNL specific content with NASA specific content.

@JustinGOSSES
Copy link
Contributor

I used this repo for a weekend hackathon project for a non profit group focused on intersection of code & subsurface geology, so I figured I'd share.

Repo fork is: https://github.com/softwareunderground/open_geosciene_code_projects_viz
Live Link: https://softwareunderground.github.io/open_geosciene_code_projects_viz/explore/dependencies/
Slides I presented are: https://observablehq.com/@justingosses/more-visible-connections-between-projects-can-nudge-devel

I'll add a full list of things I had to change once I have more time to do a complete review, but I ended up having to change links in Jekyll configuration file, html stubs, and JavaScript files to get everything to work. Even so, there's a variety of 'LLNL' text in the visualizations still. Finding all the places to change things is hard. Deleting, or commenting out before deletion, whole sections you don't need was pretty easy.

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

No branches or pull requests

3 participants