llnl.github.io icon indicating copy to clipboard operation
llnl.github.io copied to clipboard

Re-usability Improvements and Documentation

Open LRWeber opened this issue 4 years ago • 3 comments

Codebase improvements to be made

  • [x] Generalize data file names (in PR #480)
    • e.g. "int" instead of "lab"

Elements to document

  • [ ] Primary script expectations (#477)
  • [ ] URL changes
    • Base URL issues (#478)
  • [ ] CDN usage
    • We use LLNL CDN, but may not want everyone to do so
    • Could provide recommended substitutes in comments
  • [ ] Jekyll theme
    • Should we provide a bare-bones, no-branding theme with the minimum compatible layout requirements?

LRWeber avatar Dec 11 '20 22:12 LRWeber

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.

LRWeber avatar Dec 12 '20 00:12 LRWeber

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 avatar Apr 06 '21 20:04 JustinGOSSES

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.

JustinGOSSES avatar Apr 29 '21 03:04 JustinGOSSES