[#23] Add release, download, Docker and security links; drop stale releaseversion - #32
Conversation
maximthomas
left a comment
There was a problem hiding this comment.
praise: The links point at what each product actually has, and nothing hardcodes a version that can go stale.
- The Security advisories link is left out only for OpenIG, which has 0 published advisories (OpenDJ 7, OpenAM 46, OpenIDM 3), at
ROOT/modules/ROOT/pages/index.adoc:60-62. - The
img.shields.io/github/v/release/...badges currently show v5.1.2, v16.1.3, v6.1.1 and v7.1.2, the same as GitHubreleases/latest, so the start page cannot go stale the wayreleaseversion: 5.2.4did. - Removing
releaseversionis safe: no page references{releaseversion}, and Antora passes onlypage-*attributes to the UI templates.
suggestion (non-blocking): Nothing re-checks the new external links after this manual run.
ROOT/modules/ROOT/pages/index.adoc:24-27, :39-42, :60-62, :73-76, supplemental-ui/partials/header-content.hbs:55-58, :60
The only workflow is publish.yml (push to master and workflow_dispatch), so a renamed Docker repo or advisories path, or a typo in a later edit, shows up only on the live site. The lychee step proposed in #28 runs --offline, which skips remote URLs, so it would not catch these either.
npx antora --fetch antora-playbook.yml
docker run --rm -e GITHUB_TOKEN -v "$PWD/build/site:/site" lycheeverse/lychee:0.24.2 \
--no-progress /site/index.htmlPin: the start page also carries the header, so a mistyped GitHub repo or advisories path in either file (404) fails this check. Not run.
nitpick (non-blocking): The new license headers say "Portions Copyright", but neither file had a copyright holder before.
openig/antora.yml:13, ROOT/modules/ROOT/pages/index.adoc:14
At base, openig/antora.yml starts with name: openig and index.adoc starts with = Open Identity Platform Documentation. "Portions" is for files that already carry another holder's line, such as the ForgeRock line in supplemental-ui/partials/head-meta.hbs.
# Copyright 2026 3A Systems, LLC. (openig/antora.yml)
Copyright 2026 3A Systems, LLC. (index.adoc, inside the //// block)
nitpick (non-blocking): The release badge is not separated from the first link by "·".
ROOT/modules/ROOT/pages/index.adoc:24, :39, :60, :73
Each row renders as [badge] Releases and downloads · Docker images · Security advisories. The first gap is a plain space and every other gap is "·".
image:https://img.shields.io/github/v/release/OpenIdentityPlatform/OpenDJ?label=latest%20release[Latest OpenDJ release,link=https://github.com/OpenIdentityPlatform/OpenDJ/releases/latest] ·Or: leave it as is if the badge is meant to label the row.
note (non-blocking): Changes and gaps the description does not mention.
supplemental-ui/partials/header-content.hbs:51-63: #23 also asks for Security Advisories links in the header, but the Downloads menu has only the release pages and the Docker org.Fixes #23will close the issue on merge.ROOT/modules/ROOT/pages/index.adoc:1-15,openig/antora.yml:1-13: the PR adds CDDL headers, which neither the description nor the commit message mentions.
3045b8f to
0d56f9a
Compare
|
Rebased onto Security advisories in the header: fixed. The Downloads menu now ends with a third group: OpenDJ, OpenAM and OpenIDM security advisories (OpenIG has none, as on the start page), so "·" after the badge: fixed — each row is now CDDL headers not in the description: added to the description. "Portions Copyright" on files without a previous holder: kept on purpose, for consistency with Online link check: agreed that nothing re-checks the external links, but it belongs to the CI work in #25 / #28, not to this PR. Checking remote URLs on every pull request also makes the check flaky (GitHub and Docker Hub answer bots with 429), so if we add it, a scheduled run over the start page fits better than a PR gate. |
maximthomas
left a comment
There was a problem hiding this comment.
- The Downloads menu now has an advisories group for exactly the three products that publish advisories (
header-content.hbs:62-64). Those are the same three as on the start page (index.adoc:27,:42,:76), and there is none for OpenIG. - Each badge line now ends with
·(index.adoc:24,:39,:60,:73), so every row reads[badge] · Releases and downloads · Docker images ….
…wler (#33) Fixes #25, together with #28 — this PR does item 5, the migration to the current DocSearch; items 1–4 are #28. The front end moves now, on the existing index; the crawler stays the legacy scraper until Algolia Crawler access is set up, for which this PR prepares the configuration. ## Changes - **Front end: `@docsearch/js` 3.9.0** instead of `docsearch.js` 2 (vendored as before, `supplemental-ui/js/vendor/docsearch.min.js` and `supplemental-ui/css/vendor/docsearch.min.css`): - the header shows the DocSearch button, which opens the search modal; shortcuts `Ctrl/Cmd+K` and `/`; - same application, key and index (`doc_openidentityplatform`): the records of the legacy scraper carry the fields the v3 front end reads (`hierarchy.lvl0–6`, `content`, `type`, `url`), so no reindexing is needed; - `transformItems` drops the `#cookie-notice` anchor that the legacy scraper gives to page titles and to the text before the first section (the first id on the page, the cookie notice); - rendered only when the build has both `ALGOLIA_SEARCH_API_KEY` and `ALGOLIA_APP_ID` (the v3 client requires `appId`); otherwise the `SITE_SEARCH_PROVIDER` branch (plain search input), which is kept, or no search. 3.9.0 is the last 3.x; 4.x and 5.x add Ask AI and a side panel, which this site does not use, and are 4–5 times larger (510 KB and 619 KB of JS against 133 KB). - **`docsearch/crawler-config.js`** (new): the same crawl for the [Algolia Crawler](https://www.algolia.com/doc/tools/crawler/) — records only from the product pages, as the `start_urls` of `config.json` (the site home page is crawled for links only), the same exclusions (API docs, generated references, and the older versions of #31) and the same selectors for the hierarchy and the content. Not carried over, because none of it changes the results: the version in lvl0 and the `desc(version)` ranking (every component has `version: ~`), the `component` attribute (nothing reads it) and `min_indexed_level`. It writes a new index, `doc_openidentityplatform_v3`, so the live search is not affected while it is checked. **Not run yet**: it needs Crawler access on the Algolia application (for an open-source site, through the DocSearch program). - **`docsearch/readme.md`**: how the search is set up, and the steps to move to the Crawler. The link it held before (how the index was set up for the legacy scraper) is kept. `publish.yml` and `config.json` are unchanged: the legacy scraper keeps reindexing after every deployment. ## Verification Local build with the public search key of the site, checked in a browser (Playwright): - the DocSearch button is rendered in the header, no console errors; - `Ctrl+K` opens the modal; "session" and "replication" return results from the live index, grouped by product; page titles link to the page with no anchor, and no result URL ends with `#cookie-notice` (in the live index every page-title record does); - a build with only `ALGOLIA_SEARCH_API_KEY` has neither the button nor the DocSearch bundle; - the `pathsToMatch` pattern of `crawler-config.js`, checked with micromatch, matches `/openam` and `/openam/` but not `/`, `/openicf/…` or `/commons/…`; - rebased onto `master` (with #29); merges with #30 and #32 without conflicts (`git merge-tree`).
…ersion - index.adoc: under each product, a shields.io badge of the latest release and links to its releases, Docker images and security advisories (OpenIG has none published) - header-content.hbs: a Downloads menu with the releases of the four products and the Docker images - openig/antora.yml: remove releaseversion 5.2.4, which no page uses Fixes OpenIdentityPlatform#23
…nu; separate the release badge - header-content.hbs: OpenDJ, OpenAM and OpenIDM security advisories in the Downloads menu, as OpenIdentityPlatform#23 asks for the header too (OpenIG has none) - index.adoc: "·" between the release badge and the first link
…arlier holder exists index.adoc and openig/antora.yml had no copyright line before, so "Portions" named a holder that does not exist. Use "Copyright 2024-2026 3A Systems, LLC.", as antora-playbook.yml (OpenIdentityPlatform#29) and OpenIdentityPlatform#31 do; the openig/antora.yml header is now identical to OpenIdentityPlatform#31's, which removes the conflict between the two pull requests.
0d56f9a to
ecce21b
Compare
|
Rebased onto "Portions Copyright" on files without a previous holder: fixed, and my earlier pushback is withdrawn. Its argument was consistency with This also removes a conflict with #31: both PRs add a header to |
maximthomas
left a comment
There was a problem hiding this comment.
praise: Both new headers now use the plain copyright line, as other files with no earlier holder do.
ROOT/modules/ROOT/pages/index.adoc:14andopenig/antora.yml:13sayCopyright 2024-2026 3A Systems, LLC., and both files were first added in 2024 (735ee418fd,36a1dad69f). This matchesantora-playbook.ymlsince #29.- The rebase onto
masterdid not change the start-page links or the Downloads menu: commit 2 is identical, and commit 1 differs only in the context linelink:/openig/apidocs/index.htmlfrom #27.
Fixes #23
Changes
ROOT/modules/ROOT/pages/index.adoc(start page): under the description of each product, a line withreleases/latest;github.com/OpenIdentityPlatform/<Product>/releases;hub.docker.com/r/openidentityplatform/<product>;…/security/advisoriesfor OpenAM, OpenDJ and OpenIDM (OpenIG has no published advisories, so no link).supplemental-ui/partials/header-content.hbs: a Downloads menu next to Projects, with the release pages of the four products, the Docker Hub organization and the security advisories of OpenDJ, OpenAM and OpenIDM.openig/antora.yml:releaseversion: 5.2.4removed — no page or UI template uses it (checked in the sources and in the generated site).index.adocandopenig/antora.ymlwithCopyright 2024-2026 3A Systems, LLC.: neither file had a copyright holder before, so this is the same line asantora-playbook.yml([#24] SEO: declare the sitemap in robots.txt, add description and OpenGraph tags #29), and theopenig/antora.ymlheader is identical to the one in [#26] Publish the last release of each previous major line as an older version #31.header-content.hbsgets none: it overrides an antora-ui-default partial (MPL-2.0).No version number is written as text: the badge always shows the current release, and the version menus from #31 show the current line (16.x, 5.x, 7.x, 6.x) and the older versions.
Verification
Local Antora build of this branch:
image/svg+xml;openam/admin-guide);masterafter [#24] SEO: declare the sitemap in robots.txt, add description and OpenGraph tags #29 and [#22] Link API docs (Javadoc) from the start page and the Projects menu #30; the start page keeps the API Reference (Javadoc) items from [#22] Link API docs (Javadoc) from the start page and the Projects menu #30 next to the new links. No conflicts with the other open pull requests (git merge-tree):openig/antora.ymlwith [#26] Publish the last release of each previous major line as an older version #31,header-content.hbswith [#25] Move the site search to DocSearch 3 and prepare the Algolia Crawler #33.