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

Propose repository #10

Open
katucker opened this issue Mar 12, 2018 · 3 comments
Open

Propose repository #10

katucker opened this issue Mar 12, 2018 · 3 comments
Labels

Comments

@katucker
Copy link
Contributor

katucker commented Mar 12, 2018

Related feature or enhancement: #4

Design idea

Initiate the feature through a Javascript function on a page in the GitHub pages files for this repository. Have the function show only for authenticated users with write privileges on the wiki.

Present a form that validates the metadata entered is compliant with the code.json schema before allowing submission.

Upon submission, have a new wiki page added in a branch named "pending" for the wiki.

@leebrian
Copy link
Contributor

It may be easier to develop, maintain, and use to reverse this process and just generate the repository using GitHub's pages feature using the code.json file as the metadata store. Changes can be proposed to the code.json file via Pull Request and the repository will rebuild once PR is accepted by someone with appropriate access.

This reduces dev time and training time for designing a wiki and makes it easier for agencies to suggest changes. We do something like this internally at CDC and programs send Merge Requests directly with metadata changes. (although most changes happen via programs updating their project and the scraper picking up the changes)

@katucker
Copy link
Contributor Author

Generating the Wiki from the code.json file limits the Wiki content to what’s in the code.json file, whereas generating the code.json file from the Wiki lets you add content on a Wiki page that supplements the elements required in the code.json file.

Using the Wiki is also meant to make it easier to browse the inventory and find something useful to reuse. The inventory entries can be reorganized and cross-referenced multiple ways in a Wiki.

Pull requests against a master code.json file isn’t needed with the Wiki approach. Instead, the multiple repo libraries can be maintained separately, and aggregated automatically into the Wiki. Supplementary entries could be added manually, and then a master inventory generated.

@leebrian
Copy link
Contributor

We've had success with using Jekyll to apply a template to data files so any time the file is changed, the site is rebuilt without any need for manual updates to a wiki. Check out github.com/cdcgov/opencdc for an example (although we don't generate from code.json) of how we build open.cdc.gov.

From an agency perspective, editing a wiki manually is rather labor intensive and would be challenging to keep as up to date as our automated catalog. We already publish a code.json file at cdc.gov/code.json and keep it up to date with our inventory so having to somehow get that information to other places will require additional work outside of the GSA standard.

My understanding is that GSA needs an HHS combined code.json. If you were able to stitch together all the opdiv/staffdiv code.jsons into a single file, you could then just use github pages to create a site without the need for custom javascript and authentication, etc.

That being said, feel free to use our code.json and blend it into your wiki. It will be neat to browse projects across HHS beyond what's available in code.gov's interface.

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

No branches or pull requests

2 participants