Skip to content

NIEM Release Checklist

cdmgtri edited this page Feb 11, 2021 · 4 revisions

The following is a checklist for steps to take when updating the niem.github.io site for a new NIEM release draft or published release.

Note: After any kind of change to niem.github.io, check for broken links on the site and on niem.gov. See the Check for broken links wiki page for more.

Update site for a new release draft

For example, update the site for the NIEM 5.0 beta1 draft

The site should already include some basic information about the next NIEM release draft, which should be set up as soon as the last release has been published.

Update _data/release.yml

Information in YAML, JSON, or CSV files in the _data folder can be easily reused across the site.

  • Update the fields in the YAML file with the new draft information and feedback due date.
    • This will automatically update the release information on the home page banner and the draft links on the niem-releases page.
  • Fields in this YAML file include:
    • tag - The actual NIEM-Releases GitHub tag for the draft (e.g., "niem-5.0" or "niem-5.0rc1")
      • This has to exactly match the real tag so we don't have broken links to the schemas, readme, and zip file
    • label - A short label for the draft (e.g., "NIEM 5.0" or "NIEM 5.0-rc1")
    • description - A spelled-out version of the label (e.g., "NIEM 5.0" or "NIEM 5.0 release candidate 1")
    • feedbackDue - A date by which feedback for the draft is requested (e.g., "Tuesday, October 26, 2020")

Update the NIEM Releases landing page at niem_releases/index.md

  • Make sure the announcement at the top of the page is not commented out, like after a final release is published (no new draft is available for review yet, so the announcement banner might be hidden).
  • The announcement pulls fields from the _data/release.yaml file, so should update appropriately.
  • Check the draft row in the release info table. Update manually as needed.
    • Leave the link to the release.niem.gov site commented out; it won't be available until the final release.

Update the release draft information page at niem_releases/VERSION/index.md

  • Review the header section; uncomment if needed.
  • Review the resources section.
  • Review the schedule section. Add the appropriate link for all NIEM/NIEM-Releases issues for this draft milestone.
  • Update the recent changes section to highlight changes since the last draft.
  • Review the highlights section.

Update site for a final published release

Update data/release.yaml, as explained above.

  • Update fields to remove pre-release info (e.g., "NIEM 5.0", not "NIEM 5.0 rc2")
  • Leave the feedbackDue field empty

Update the NIEM Releases landing page at niem_releases/index.md

  • Comment out the draft review banner at the top of the page.
  • Update the release summary table
    • Make a copy of the current release draft row to use for next year's draft release before making changes.
    • Finalize the current release row.
      • Replace all variables in the row pulled from _data/release.yaml with actual numbers because those variables will change later for next year's release. Everything in this row should be hardcoded with real numbers and tags for this release.
      • Add the release.niem.gov link.
      • Fill in any missing info, like number of properties.
    • Set up the next draft release row.
      • A lot of the fields in this row may be empty or "Coming soon" at this point, but go ahead and set up the row for the next draft release. Some fields from the previous row were commented out; these values can be used temporarily until an alpha is ready.
  • Add info about any related specification updates
  • Add statistics information for the release

Update the release page at niem_releases/VERSION/index.md

For example, to update the site when NIEM 5.0 is released, update niem_releases/5.0/index.md

  • Review the page in general to remove any draft language, unnecessary announcements or sections, fix links.
  • Remove any variables or fields being pulled from _data/release.yaml - this file will soon be used for information about the next release, so release numbers, tags, labels, etc., should be hardcoded for this release.
  • Add "This is the most current NIEM release." near the top of the page, above the table of contents.
  • Review the resources section.
    • Remove the link to the issue tracker / project board (everything will be marked done, so this isn't so helpful now).
    • Move the link to Movement from the former current release page to this page. (Movement only supports a single release).
    • Check the links.
  • Review the highlights section and link to the readme.
  • Remove the schedule and the recent changes sections.
  • For a major release, add a section for specification updates. See the 5.0 page for an example.
  • Add release stats.

Look at the page for what used to be the current release and look at a page for a similar major or minor release to compare.

Update the previous current release page at niem_releases/PREVIOUS_VERSION/index.md

For example, to update the site when NIEM 5.0 is released, update the release page for NIEM 4.2 at niem_releases/4.2/index.md

  • Remove any mention of "this is the current release" at the top of the page.
  • Remove the link to Movement under the resources section if this hasn't been done already.

Set up the next release draft page at niem_releases/NEXT_VERSION/index.md

For example, to update the site when NIEM 5.0 is released, set up a new page at niem_releases/5.1/index.md

  • Copy over the template from niem_releases/_template/index.md into the new folder
  • Update the release numbers, dates, schedule, etc.
  • Set up a new issue label and project board in the NIEM-Releases repo, or comment out links until this is ready
    • Get the NIEM-Releases repo issue label for the new release (e.g., "5.1") so the link for "View all VERSION issues" works.
    • Get the NIEM-Releases project that will track issues for the new release. Update the link for the project board.

Note: _data/release.yaml still has information about the just-published release; don't pull any information from it yet until alpha is ready.

Update the redirects

There are permalinks set up for the current NIEM release and the draft NIEM release.

For example, when updating the site for the final NIEM 5.0 release, update the redirects so:

  • niem.github.io/niem-releases/current takes you to the NIEM 5.0 page, and
  • niem.github.io/niem-releases/draft takes you to the new NIEM 5.1 page.
  • Update /niem-releases/current/index.md to redirect to the release folder that is now current, no longer draft
  • Update /niem-releases/draft/index.md to redirect to the newly added draft release folder

Update the home page announcement banner manually

For example, the blue banner with "NIEM 5.0 is now available! See the NIEM-Releases page for details."

The home page banner is set to automatically pull the description field from the _data/release.yaml file. After following the appropriate set of steps from above, no additional changes should typically be needed to update the banner for a standard draft or final NIEM release.

However, to make or undo a custom change to the banner:

  • Open _includes/home.html
  • Edit the text at the top of the page under the <div class="jumbotron front-jumbotron"> tag.