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

Ballot SC41: Reformat the BRs/EVGs/NCSSRs #235

Merged
merged 28 commits into from
Feb 26, 2021

Conversation

sleevi
Copy link
Contributor

@sleevi sleevi commented Dec 2, 2020

This PR attempts to reformat the BRs, EVGs, and NCSSRs to produce "proper" Pandoc-ified output using the common CA/Browser Forum Template.

This also adds internal cross-references for section references. This helps ensure that Sections are correct (since you have to type out both the number and the section heading), as well as makes it easier to navigate the document.

BRs

NCSSRs

This attempts to align the NCSSRs with the portions of shared
structure between the BRs and EVGs, namely:

  • A common Introduction that defines the scope of the
    document, relevant definitions, and effective dates (presently,
    this at the end of the document)
  • Use Title Caps for section headings, rather than ALL CAPS
  • Break out sublists within sentences into actual enumerated
    lists (e.g. "foo (i) bar or (ii) baz" now splits bar/baz as items on
    new lines)
  • Within lists and sublists, a consistent numbering scheme is
    adopted.

EVGs

Most of these changes are merely formatting:

  • Definition lists are aligned with the BRs as to whether or not the
    : is emphasized
  • Certificate fields are code escaped, aligning with the BRs.
  • The format of 9.2.* is aligned with how the BRs specify profile
    requirements for fields. This does lose some of the indenting
    currently present in the Word doc form (e.g. 9.2.4)
  • The formatting of Appendix B is aligned to the Word doc
  • Appendix C has section headings added for US/Canada
  • Appendix D has section headings added for Japan
  • The ASN.1 modules are formatted correctly
  • Section references are aligned to a consistent format, where
    previously they used "this Section X", "the Section X",
    "Section X herein", "Section X of these Guidelines", and
    combinations that can result.

Copy link
Contributor

@timfromdigicert timfromdigicert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed everything and still willing to endorse.

The comments would be nice to address and/or fix, but none of them are showstoppers.

docs/EVG.md Show resolved Hide resolved
docs/EVG.md Outdated Show resolved Hide resolved
docs/EVG.md Outdated Show resolved Hide resolved
docs/NSR.md Show resolved Hide resolved
@sleevi
Copy link
Contributor Author

sleevi commented Dec 4, 2020

Thanks Tim! I left a few comments on your comments. Taking a step back, it seems like there's some administrivia level questions:

  • Did all the fields get aligned to code quotes correctly (matching the BRs)
  • Do we clean up references in the EV Guidelines that just read awful for how they reference sections:
    • e.g. "This Section Foo", "Section Foo Herein", "Section Foo", "The Section Foo", "Section Foo of these Guidelines", etc

I held off, but if you're willing to review for consistency (and you think others won't object), we can certainly take a stab at it.

Edit: Went ahead and aligned the language, per your inline comment.

docs/NSR.md Outdated Show resolved Hide resolved
There are three typographical/formatting issues in the current
generated documents:

- Sections 3.2.2.4.18 / 3.2.2.4.19 don't properly appear as numbered
  lists.

- Section 4.10.1 is missing a trailing period.

- Section 6.1.6 makes use of <sup> for superscript, which is valid
  for GitHub flavored markdown, but not in general Markdown.

  Although Pandoc supports superscripts via the `superscript`
  extension, that just leans more into Pandoc-flavored markdown.
  Rather than do that, keep it vanilla markdown by adding a carat
  and whitespace to indicate the superscripting.

Closes cabforum#230
Closes cabforum#231
This enables GitHub Actions-based integration for the production of
the EV Guidelines.
Update all occurrences of "Section(s) X.Y.Z" to actually link to
the appropriate section within the document. This internal
cross-reference is only relevant for HTML and PDF forms (that is,
it does not affect the Word doc).

This also fixes several bad cross-references:

  - Section 9.6.1 contains a reference to a pre-BRs 1.3.0 structure

    Closes cabforum#237

  - Section 8.1 does not contain the audit schemes (another bad
    conversion in BRs 1.3.0); they are listed in Section 8.4

    Closes cabforum#216
References to sections within the EVGs are inconsistent, as
represented in the form of
"(th[e|is])? Section X (herein|of these Guidelines)?". This
aligns the EVGs to the BRGs by consistently referring to
"Section X" to represent the Section within the current
document.
This aligns the NSRs to an internally consistent numbering format,
which goes Section (always a number), lower-case alphabet, Arabic
numeral, Roman numeral.
docs/BR.md Outdated Show resolved Hide resolved
docs/BR.md Outdated Show resolved Hide resolved
docs/BR.md Outdated Show resolved Hide resolved
docs/BR.md Show resolved Hide resolved
docs/BR.md Outdated Show resolved Hide resolved
docs/BR.md Outdated Show resolved Hide resolved
This addresses two sets of issues pointed out by aarongable: An
inconsistent use of tabs vs spaces and inconsistent breakouts of
lists (I'd missed several). This aligns on a common spacing (spaces,
the only true spaces) and breaks out the (i) items.
As of
https://github.com/cabforum/build-guidelines-action/releases/tag/v2.0.0-rc3
section links now include the section number (e.g. "1.1 Section One"
becomes "#11-section-one"). This makes it easier to review and maintain
links, as any re-organizations will cause the links to break, which the
continuous integration will warn on.

This change rewrites all of the internal links to use the new style, and
bumps the dependency to rc3 (which will hopefully be the last release).
@sleevi
Copy link
Contributor Author

sleevi commented Jan 11, 2021

Thanks @aarongable for the review (on this and the infrastructure). I think that should be everything, and hopefully @timfromdigicert and @dzacharo are still good with this.

docs/BR.md Show resolved Hide resolved
sleevi and others added 5 commits January 11, 2021 15:46
This linkifies the Appendix sections in both the BRs and the EVGs,
and fixes some markdownlint errors for the EVGs, to go along with
#34 for the BRs.
* Additional cleanups and markdownlint compliance

This commit updates the BR.md doc with the following changes:
* Removes all instances of two adjacent spaces, except when used
  for indentation
* Removes all instances of two adjacent blank lines
* Fixes all markdownlints, including spaces around lists, spaces
  around headings, and tags on fenced blocks.

It also fixes a few other pieces of miscellany, such as paragraphs
which were not sufficiently indented to semantically fall inside the
list in which they are intended to fall, and fencing code blocks which
should have been fenced.

It does not address two markdownlints: There are still multiple H1
headings, and there are a few places where markdown believes that
unordered list bullets should be unindented (but doing so would
change the semantics of the document).
This is a series of small list formatting cleanups to ensure proper
display. However, it does renumber Section 8.5.5 of the EVGs to use
Arabic numerals for the requirements, aligning with the other
requirements in Section 8.5, instead of using capitalized letters for
the list. There are no internal references to those requirements, and
so this should be safe.
During the SC26 cleanup work, there was a stray footnote that got
left in which rendered incorrectly, relating to Section 3.2.2.6 and
wildcards. This correctly removes it.

Although we do support footnotes in the PDF and Docx writers, and
we do use them, Section 3.2.2.6 was modified during SC26 to make the
normative requirement clearer and part of the text, rather than as
a footnote.
This aligns the NCSSRs with the style of the EVGs and BRs, which is
that lists use single spacing, not double. It aligns the definitions
of the NCSSRs with that of the EVGs and BRs, of keeping the colon
of a definition as non-emphasized text.
We had a few BR Section X or Section X of these Baseline Requirements
that I'd missed.
This hopefully will make it easier for people to review this PR
as it progresses, by being able to determine which commit a converted
document was associated with.
This further aligns the documents to consistently:

- Use one space after colons or other punctuation (other than period)
- Code-escape ASN.1 field names and values

(ii) A current signed government-issued identification document that includes a photo of the Individual and is signed by the Individual such as:
3. **Business Entity Subjects**: Unless verified under subsection (6), Items listed in [Section 11.2.1](#1121-verification-requirements) (3) (A) through (C) above, MUST be verified directly with, or obtained directly from, the Registration Agency in the Applicant's Jurisdiction of Registration. Such verification MAY be performed by means of a Qualified Government Information Source, a Qualified Governmental Tax Information Source, or by direct contact with the Registration Agency in person or via mail, e-mail, Web address, or telephone, using an address or phone number obtained directly from the Qualified Government Information Source, Qualified Governmental Tax Information Source or Registration Agency, or from a Qualified Independent Information Source. In addition, the CA MUST validate a Principal Individual associated with the Business Entity pursuant to the requirements in subsection (4), below.
Copy link
Contributor

@dzacharo dzacharo Jan 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we change "subsection (6)" with "subsection 6." and the various references of (3) (A) (C) to 3. A. C. and similar references, for consistency?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am open to pull requests, but given that it’s a significant editorial task to do correctly,, and that we have zero tooling to enforce it, it seemed rather Pyrrhic. There’s always things we “can” do, but my goal with this ballot was to focus on those that are semantically meaningful for display or the markdown directives itself, or which could be consistently searched and replaced.

Copy link
Contributor

@dzacharo dzacharo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a significant formatting improvement, thank you for the effort. The indentation makes things much clearer than the previous state.
I reviewed all three documents and everything looks good. I added a few comments for possible consistency improvements on referenced sub-item numbers which are not critical to fix.

docs/BR.md Show resolved Hide resolved
Copy link
Contributor

@dzacharo dzacharo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good.

@BenWilson-Mozilla
Copy link
Contributor

Proposed changes to the NCSSRs look fine.

Copy link
Contributor

@aarongable aarongable left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all of this! The changes to BR.md LGTM.

sleevi and others added 3 commits January 22, 2021 18:57
Update to v2 of the action, and set draft mode for everything but that landed to the SCWG main repository.
In hindsight, this avoids any potential breakage in the future if there's an uprev of build-guidelines-action that subtly breaks things.

Given that we don't currently regression test the generated files, this seems more likely (such as a break in the template or updated Pandoc minor version), so until we have that in place, I'll use an explicit full version.
@aarongable
Copy link
Contributor

Now that this is using v2 of the build guidelines action, do we want to bring in language tags on the code fences again? It's probably not a big deal, I think there were only three or four of them.

@sleevi
Copy link
Contributor Author

sleevi commented Jan 29, 2021

do we want to bring in language tags on the code fences again

If we end up getting other/substantive feedback during the discussion period, I'm totally game to do so!

I'd be a little sad to restart the discussion period, mostly because I'd like to get this done to unblock some of the other changes (like the onion cleanups and other potentially-normative changes). The other part is I'm not sure how long the style would be maintained (see cabforum/build-guidelines-action#18 and cabforum/forum#11 ), so it's not terribly high on the list at the moment.

Since this doesn't (presently) affect presentation, I'm not too excited for it, but let's circle back and see how the discussion period goes. If anything comes up that requires restarting, I'll add that to the list.

@sleevi sleevi changed the title DRAFT BALLOT: Reformat the BRs/EVGs/NCSSRs Ballot SC41: Reformat the BRs/EVGs/NCSSRs Jan 29, 2021
No functional change, but ensures that the fenced blocks have an
appropriate syntax/language set. The set of names is adopted from
the GitHub/Linguist supported languages.
@castillar castillar changed the base branch from main to SC41 February 25, 2021 18:48
@castillar castillar merged commit da06712 into cabforum:SC41 Feb 26, 2021
castillar pushed a commit that referenced this pull request Feb 26, 2021
* Address formatting issues with the BRs

There are three typographical/formatting issues in the current
generated documents:

- Sections 3.2.2.4.18 / 3.2.2.4.19 don't properly appear as numbered
  lists.

- Section 4.10.1 is missing a trailing period.

- Section 6.1.6 makes use of <sup> for superscript, which is valid
  for GitHub flavored markdown, but not in general Markdown.

  Although Pandoc supports superscripts via the `superscript`
  extension, that just leans more into Pandoc-flavored markdown.
  Rather than do that, keep it vanilla markdown by adding a carat
  and whitespace to indicate the superscripting.

Closes #230
Closes #231

* Convert the EVGs to Pandoc-flavored Markdown

This enables GitHub Actions-based integration for the production of
the EV Guidelines.

* Fixup NSRs

* Fix lists

* Fix tabs/spaces that were messing up lists

* Add internal cross-references

Update all occurrences of "Section(s) X.Y.Z" to actually link to
the appropriate section within the document. This internal
cross-reference is only relevant for HTML and PDF forms (that is,
it does not affect the Word doc).

This also fixes several bad cross-references:

  - Section 9.6.1 contains a reference to a pre-BRs 1.3.0 structure

    Closes #237

  - Section 8.1 does not contain the audit schemes (another bad
    conversion in BRs 1.3.0); they are listed in Section 8.4

    Closes #216

* Harmonize section references of the EV Guidelines

References to sections within the EVGs are inconsistent, as
represented in the form of
"(th[e|is])? Section X (herein|of these Guidelines)?". This
aligns the EVGs to the BRGs by consistently referring to
"Section X" to represent the Section within the current
document.

* Renumber level 2 and 3 lists of the NSRs

This aligns the NSRs to an internally consistent numbering format,
which goes Section (always a number), lower-case alphabet, Arabic
numeral, Roman numeral.

* Update to v2.0.0 action

* Fix a bug: name should be id for the step

* Update to v2.0.0-rc2 action

* Cleanup whitespace and lists

This addresses two sets of issues pointed out by aarongable: An
inconsistent use of tabs vs spaces and inconsistent breakouts of
lists (I'd missed several). This aligns on a common spacing (spaces,
the only true spaces) and breaks out the (i) items.

* Fix some format issues with lists and whitespace

* Update section links

As of
https://github.com/cabforum/build-guidelines-action/releases/tag/v2.0.0-rc3
section links now include the section number (e.g. "1.1 Section One"
becomes "#11-section-one"). This makes it easier to review and maintain
links, as any re-organizations will cause the links to break, which the
continuous integration will warn on.

This change rewrites all of the internal links to use the new style, and
bumps the dependency to rc3 (which will hopefully be the last release).

* Further style cleanups

This linkifies the Appendix sections in both the BRs and the EVGs,
and fixes some markdownlint errors for the EVGs, to go along with
sleevi#34 for the BRs.

* Additional cleanups and markdownlint compliance (#34)

* Additional cleanups and markdownlint compliance

This commit updates the BR.md doc with the following changes:
* Removes all instances of two adjacent spaces, except when used
  for indentation
* Removes all instances of two adjacent blank lines
* Fixes all markdownlints, including spaces around lists, spaces
  around headings, and tags on fenced blocks.

It also fixes a few other pieces of miscellany, such as paragraphs
which were not sufficiently indented to semantically fall inside the
list in which they are intended to fall, and fencing code blocks which
should have been fenced.

It does not address two markdownlints: There are still multiple H1
headings, and there are a few places where markdown believes that
unordered list bullets should be unindented (but doing so would
change the semantics of the document).

* Harmonize styles further

This is a series of small list formatting cleanups to ensure proper
display. However, it does renumber Section 8.5.5 of the EVGs to use
Arabic numerals for the requirements, aligning with the other
requirements in Section 8.5, instead of using capitalized letters for
the list. There are no internal references to those requirements, and
so this should be safe.

* Remove stray footnote

During the SC26 cleanup work, there was a stray footnote that got
left in which rendered incorrectly, relating to Section 3.2.2.6 and
wildcards. This correctly removes it.

Although we do support footnotes in the PDF and Docx writers, and
we do use them, Section 3.2.2.6 was modified during SC26 to make the
normative requirement clearer and part of the text, rather than as
a footnote.

* More cleanups

This aligns the NCSSRs with the style of the EVGs and BRs, which is
that lists use single spacing, not double. It aligns the definitions
of the NCSSRs with that of the EVGs and BRs, of keeping the colon
of a definition as non-emphasized text.

* Fix a few stragglers from section references in the BRs

We had a few BR Section X or Section X of these Baseline Requirements
that I'd missed.

* Update artifact name to include SHA-1

This hopefully will make it easier for people to review this PR
as it progresses, by being able to determine which commit a converted
document was associated with.

* More consistency fixes

This further aligns the documents to consistently:

- Use one space after colons or other punctuation (other than period)
- Code-escape ASN.1 field names and values

* [WIP] Attempt to enable redline generation

* Fix indent in section 8.4 (B) of the EVGs

* Update build-draft-docs.yml

Update to v2 of the action, and set draft mode for everything but that landed to the SCWG main repository.

* Switch to explicit v2.0.0 rather than v2

In hindsight, this avoids any potential breakage in the future if there's an uprev of build-guidelines-action that subtly breaks things.

Given that we don't currently regression test the generated files, this seems more likely (such as a break in the template or updated Pandoc minor version), so until we have that in place, I'll use an explicit full version.

* Add languages to fenced codeblocks

No functional change, but ensures that the fenced blocks have an
appropriate syntax/language set. The set of names is adopted from
the GitHub/Linguist supported languages.

* Incoporate changes from SC39v3 and align other links

Co-authored-by: Aaron Gable <aaron@aarongable.com>
castillar added a commit that referenced this pull request Apr 5, 2021
* SC39v3: CVSS Critical Vulnerability Definition (#246)

* CVSS Critical Vulnerability Definition

Updates to URL and threshold for CVSS Critical Vulnerability

* Update NSR.md

Change CVSS 3.0 >= 9.0 to CVSS 2.0 >= 7.0 to maintain editorial nature of change

* Update version number in NSR

* Update revision history table

* Ballot SC41: Reformat the BRs/EVGs/NCSSRs (#235)

* Address formatting issues with the BRs

There are three typographical/formatting issues in the current
generated documents:

- Sections 3.2.2.4.18 / 3.2.2.4.19 don't properly appear as numbered
  lists.

- Section 4.10.1 is missing a trailing period.

- Section 6.1.6 makes use of <sup> for superscript, which is valid
  for GitHub flavored markdown, but not in general Markdown.

  Although Pandoc supports superscripts via the `superscript`
  extension, that just leans more into Pandoc-flavored markdown.
  Rather than do that, keep it vanilla markdown by adding a carat
  and whitespace to indicate the superscripting.

Closes #230
Closes #231

* Convert the EVGs to Pandoc-flavored Markdown

This enables GitHub Actions-based integration for the production of
the EV Guidelines.

* Fixup NSRs

* Fix lists

* Fix tabs/spaces that were messing up lists

* Add internal cross-references

Update all occurrences of "Section(s) X.Y.Z" to actually link to
the appropriate section within the document. This internal
cross-reference is only relevant for HTML and PDF forms (that is,
it does not affect the Word doc).

This also fixes several bad cross-references:

  - Section 9.6.1 contains a reference to a pre-BRs 1.3.0 structure

    Closes #237

  - Section 8.1 does not contain the audit schemes (another bad
    conversion in BRs 1.3.0); they are listed in Section 8.4

    Closes #216

* Harmonize section references of the EV Guidelines

References to sections within the EVGs are inconsistent, as
represented in the form of
"(th[e|is])? Section X (herein|of these Guidelines)?". This
aligns the EVGs to the BRGs by consistently referring to
"Section X" to represent the Section within the current
document.

* Renumber level 2 and 3 lists of the NSRs

This aligns the NSRs to an internally consistent numbering format,
which goes Section (always a number), lower-case alphabet, Arabic
numeral, Roman numeral.

* Update to v2.0.0 action

* Fix a bug: name should be id for the step

* Update to v2.0.0-rc2 action

* Cleanup whitespace and lists

This addresses two sets of issues pointed out by aarongable: An
inconsistent use of tabs vs spaces and inconsistent breakouts of
lists (I'd missed several). This aligns on a common spacing (spaces,
the only true spaces) and breaks out the (i) items.

* Fix some format issues with lists and whitespace

* Update section links

As of
https://github.com/cabforum/build-guidelines-action/releases/tag/v2.0.0-rc3
section links now include the section number (e.g. "1.1 Section One"
becomes "#11-section-one"). This makes it easier to review and maintain
links, as any re-organizations will cause the links to break, which the
continuous integration will warn on.

This change rewrites all of the internal links to use the new style, and
bumps the dependency to rc3 (which will hopefully be the last release).

* Further style cleanups

This linkifies the Appendix sections in both the BRs and the EVGs,
and fixes some markdownlint errors for the EVGs, to go along with
sleevi#34 for the BRs.

* Additional cleanups and markdownlint compliance (#34)

* Additional cleanups and markdownlint compliance

This commit updates the BR.md doc with the following changes:
* Removes all instances of two adjacent spaces, except when used
  for indentation
* Removes all instances of two adjacent blank lines
* Fixes all markdownlints, including spaces around lists, spaces
  around headings, and tags on fenced blocks.

It also fixes a few other pieces of miscellany, such as paragraphs
which were not sufficiently indented to semantically fall inside the
list in which they are intended to fall, and fencing code blocks which
should have been fenced.

It does not address two markdownlints: There are still multiple H1
headings, and there are a few places where markdown believes that
unordered list bullets should be unindented (but doing so would
change the semantics of the document).

* Harmonize styles further

This is a series of small list formatting cleanups to ensure proper
display. However, it does renumber Section 8.5.5 of the EVGs to use
Arabic numerals for the requirements, aligning with the other
requirements in Section 8.5, instead of using capitalized letters for
the list. There are no internal references to those requirements, and
so this should be safe.

* Remove stray footnote

During the SC26 cleanup work, there was a stray footnote that got
left in which rendered incorrectly, relating to Section 3.2.2.6 and
wildcards. This correctly removes it.

Although we do support footnotes in the PDF and Docx writers, and
we do use them, Section 3.2.2.6 was modified during SC26 to make the
normative requirement clearer and part of the text, rather than as
a footnote.

* More cleanups

This aligns the NCSSRs with the style of the EVGs and BRs, which is
that lists use single spacing, not double. It aligns the definitions
of the NCSSRs with that of the EVGs and BRs, of keeping the colon
of a definition as non-emphasized text.

* Fix a few stragglers from section references in the BRs

We had a few BR Section X or Section X of these Baseline Requirements
that I'd missed.

* Update artifact name to include SHA-1

This hopefully will make it easier for people to review this PR
as it progresses, by being able to determine which commit a converted
document was associated with.

* More consistency fixes

This further aligns the documents to consistently:

- Use one space after colons or other punctuation (other than period)
- Code-escape ASN.1 field names and values

* [WIP] Attempt to enable redline generation

* Fix indent in section 8.4 (B) of the EVGs

* Update build-draft-docs.yml

Update to v2 of the action, and set draft mode for everything but that landed to the SCWG main repository.

* Switch to explicit v2.0.0 rather than v2

In hindsight, this avoids any potential breakage in the future if there's an uprev of build-guidelines-action that subtly breaks things.

Given that we don't currently regression test the generated files, this seems more likely (such as a break in the template or updated Pandoc minor version), so until we have that in place, I'll use an explicit full version.

* Add languages to fenced codeblocks

No functional change, but ensures that the fenced blocks have an
appropriate syntax/language set. The set of names is adopted from
the GitHub/Linguist supported languages.

* Incoporate changes from SC39v3 and align other links

Co-authored-by: Aaron Gable <aaron@aarongable.com>

* Version number update to BRs

Version number update to EVGs

Version number update to NCSSRs

* Update effective dates to reflect end of IPR period

* Update date changes for NSRs

* Bump version of build-draft-docs.yml

Co-authored-by: sleevi <ryan.sleevi@gmail.com>

* Update effective dates for IPR period end

* Update cover page dates

Co-authored-by: neildunbar <neil.dunbar@pobox.com>
Co-authored-by: Jos Purvis <jopurvis@cisco.com>
Co-authored-by: sleevi <ryan.sleevi@gmail.com>
Co-authored-by: Aaron Gable <aaron@aarongable.com>
Co-authored-by: Wayne Thayer <wthayer@gmail.com>
@sleevi sleevi deleted the 2020-11-30_Pandocification branch April 8, 2021 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants