Skip to content

De-version Password Policy Enforcer documentation - #1354

Open
DanPiazza-Netwrix wants to merge 2 commits into
devfrom
DanPiazza-Netwrix/deversion-passwordpolicyenforcer
Open

De-version Password Policy Enforcer documentation#1354
DanPiazza-Netwrix wants to merge 2 commits into
devfrom
DanPiazza-Netwrix/deversion-passwordpolicyenforcer

Conversation

@DanPiazza-Netwrix

@DanPiazza-Netwrix DanPiazza-Netwrix commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Consolidates Password Policy Enforcer's 11.2/11.1/11.0/10.2 versions into a single "current" version, matching the SaaS-style single-version pattern used by other products
  • Retains 11.2 content as the sole version; removes the older, hidden versions along with their sidebars and images
  • Updates cross-references in KB articles and Password Reset docs that pointed at PPE's old versioned paths

Test plan

  • Full production build (npm run build) passes
  • Verified no broken internal links remain after path updates
  • Confirmed shared Password Reset image references still resolve

Closes #1356

Consolidate 11.2/11.1/11.0/10.2 into a single "current" version,
matching the SaaS-style single-version pattern used by other products.
Retains 11.2 content as the sole version and removes the older,
hidden versions and their sidebars/images. Updates cross-references
in KB articles and Password Reset docs that pointed at PPE's old
versioned paths.
The product is now de-versioned, so the docs shouldn't hardcode a
specific release. Drops "v11.2" from the introduction title/heading,
genericizes installer filenames and cmdlet example output, and
rewords upgrade instructions to reference "the latest version"
instead of a specific number.
@github-actions

Copy link
Copy Markdown
Contributor

Code Review

Scope: config/build/CI correctness only (content and style are handled by the doc-review workflow). The de-versioning itself is structurally sound — the passwordpolicyenforcer entry in src/config/products.js now matches the shape other single-version products use (version: "current", defaultVersion: "current", root-level sidebar file like sidebars/1secure.js / sidebars/policypak.js), and the self-redirect that previously pointed /docs/passwordpolicyenforcer at /11_2 is correctly dropped, since plugin-client-redirects skips single-current products.

Three issues:

1. scripts/cleanup-legacy-dirs.mjs was not updated — likely breaks local builds for existing checkouts

The script exists precisely for this scenario, and its header says so: "Add new entries here whenever an outputDir is renamed." When Change Tracker was de-versioned, docs/changetracker/8.0, 8.1, and 8.2 were added to staleDirs. This PR does not add the PPE equivalents.

Anyone who has run npm run start / npm run build before this change has gitignored KB copies sitting at docs/passwordpolicyenforcer/{10.2,11.0,11.1,11.2}/kb/. Those directories used to be separate plugin roots; after this change the PPE plugin path is docs/passwordpolicyenforcer, so the leftovers become part of the docs tree — phantom /docs/passwordpolicyenforcer/11_2/kb/... pages, a stray 11.2 sidebar category, and a wall of untracked files.

Worse, docs/kb/passwordpolicyenforcer/index.md pins slug: passwordpolicyenforcer. Slugs resolve against the plugin routeBasePath, so the fresh copy at docs/passwordpolicyenforcer/kb/index.md and each stale copy under a version folder all resolve to the same route /docs/passwordpolicyenforcer/passwordpolicyenforcer — a duplicate-route build failure, not just clutter. CI is unaffected (clean checkout), so this only surfaces on contributor machines.

Fix — add to staleDirs in scripts/cleanup-legacy-dirs.mjs:

  // Password Policy Enforcer de-versioned to docs/passwordpolicyenforcer/
  "docs/passwordpolicyenforcer/10.2",
  "docs/passwordpolicyenforcer/11.0",
  "docs/passwordpolicyenforcer/11.1",
  "docs/passwordpolicyenforcer/11.2",

2. .github/CODEOWNERS line 80 points at a directory that no longer exists

/sidebars/passwordpolicyenforcer/ @netwrix/passwordpolicyenforcer-docs — the sidebar moved to the file sidebars/passwordpolicyenforcer.js, so this rule matches nothing and PPE sidebar changes will no longer request review from that team. Per the convention already used on lines 14 and 62, it should be /sidebars/passwordpolicyenforcer.js @netwrix/passwordpolicyenforcer-docs.

(Line 44, /sidebars/changetracker/, is stale the same way from the earlier Change Tracker de-versioning — pre-existing, not introduced here, but worth fixing in passing.)

3. Retired versioned URLs will 404 (informational)

/docs/passwordpolicyenforcer/11_2/** was the canonical, search-indexed path until now, and 11_1, 11_0, 10_2 were live too. The createRedirects hook in docusaurus.config.js only generates version-less aliases for versioned products, and getLatestVersionUrlMap() explicitly skips single-current products — so nothing maps the old version prefixes back. Change Tracker set the same precedent, so this may already be handled at the CDN/Front Door layer; flagging so it is a deliberate call rather than an oversight. The 11.2 tree moved 1:1 to the root, so a blanket 11_2/<rest> to <rest> rule would cover the bulk of it if in-repo redirects are wanted.

Verified clean

  • All 119 image references in the PPE docs resolve to files on disk after the flattening; the Password Reset path updates (/images/passwordpolicyenforcer/passwordreset/... and /password_reset/...) resolve too, and both CLAUDE.md files were updated to match.
  • No lingering references anywhere in the repo to the old versioned doc or image paths.
  • The KB pathname:///docs/passwordpolicyenforcer/... links (which bypass Docusaurus link checking, so the build would not catch them) all point at pages that exist: admin/manage-policies/rules/similarity_rule, installation/disable_windows_rules, admin/password-policy-client/configuring_the_password_policy_client.
  • copy-kb-to-versions.mjs already handles the current case (docs/<product>/kb instead of docs/<product>/{version}/kb), and .gitignore covers docs/*/kb/**.
  • VersionSwitcher returns null for single-version products, ProductMetaTags falls back to current when there is no version segment, and the navbar/homepage links resolve to /docs/passwordpolicyenforcer.
  • No workflow, permission, or secret changes in this PR.

Note: the build check was still pending when I reviewed, so the production build result is not yet confirmed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

KB review: De-version Password Policy Enforcer documentation (PR #1354)

1 participant