FLCAC-admin / uslci-content

Supplementary content for the U.S. Life Cycle Inventory Database
MIT License
24 stars 6 forks source link

Table of links for direct download of different versions #6

Closed bkuczenski closed 9 months ago

bkuczenski commented 3 years ago

The file https://github.com/uslci-admin/uslci-content/blob/dev/docs/release_info/release-downloads.md Contains a table with links to download the various versions of the database in various formats. On the one hand this is really nice because it shows the different versions and makes them available. On the other hand, there are two problems:

  1. Several of the files are present in this repository- which means I can obtain them all by cloning the repository. However, if I only want one file, cloning the repository that contains all of them is not efficient. I suggest that this is not best practice for a GitHub repo- either the repo itself should have releases (e.g. https://github.com/uslci-admin/uslci-content/releases) and I should clone the desired release, or else the binary content should be stored on a file server somewhere and the GitHub repo should contain documentation that points to that.
  2. Basically, this is what you are doing with box.com -- except that the download links that point to box.com are interactive, meaning they cannot be retrieved programmatically. I have to navigate to the link and select the "download" button. This operates like a captcha- it requires a real human to do the download. Maybe this is by design, but introducing a noninteractive link could allow for more automated workflows.

Since the downloads are each single files, they should be accesssed via a simple hyperlink and not a GitHub blob. The GitHub repo can be updated with new links to the latest version when a new one is released, but the binary files for prior releases don't need to be kept in the repo.

An alternative approach that makes sense is for the archived files (the JSON-LD zips themselves) to actually be GitHub repos with tagged releases (as I believe they already are for the collaboration server). This would allow a user to update their USLCI simply by running git pull and without needing to read documentation or interact with box.com.

FLCAC-admin commented 3 years ago

The table with links has grown since the migration of the USLCI to the Collaboration Server and the creation of the USLCI Support Content to GitHub. Box is used to post files larger than a specific size (often, the ILCD and JSON-LD versions are too large to load to the repo as individual files with the current NREL GitHub account type). All of the current and archived releases uploaded to Github are also available via the repo itself as you suggest (save some of the larger JSON-LD and ILCD files): https://github.com/uslci-admin/uslci-content/tree/dev/downloads. The blobs are used to produce the lay-person, user-friendly table of downloads. Without upgrading the NREL GitHub account, the JSON-LDs would indeed have to be separate repos. We will have to discuss an alternative approach that facilitates programmatic retrieval of the archived files as well as bug fixes. The JSON-LDs as their own repos could be a work-around; likewise, a mirror of the JSON-LD could be made for bug fix suggestions. These suggestions will be proposed to the administrator.

Thanks!

robinsonkwame commented 1 year ago

re: Box, instead use git-lfs to store larger files. This is ADA and direct download friendly.