Skip to content

[#23] Add release, download, Docker and security links; drop stale releaseversion - #32

Merged
vharseko merged 3 commits into
OpenIdentityPlatform:masterfrom
vharseko:issue-23-release-links
Oct 2, 2026
Merged

vharseko merged 3 commits into
OpenIdentityPlatform:masterfrom
vharseko:issue-23-release-links

Conversation

@vharseko

@vharseko vharseko commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Fixes #23

Changes

  • ROOT/modules/ROOT/pages/index.adoc (start page): under the description of each product, a line with
    • a shields.io badge of the latest release (e.g. latest release v16.1.3 for OpenAM), linking to releases/latest;
    • Releases and downloads → github.com/OpenIdentityPlatform/<Product>/releases;
    • Docker images → hub.docker.com/r/openidentityplatform/<product>;
    • Security advisories → …/security/advisories for 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.4 removed — no page or UI template uses it (checked in the sources and in the generated site).
  • CDDL headers added to index.adoc and openig/antora.yml with Copyright 2024-2026 3A Systems, LLC.: neither file had a copyright holder before, so this is the same line as antora-playbook.yml ([#24] SEO: declare the sitemap in robots.txt, add description and OpenGraph tags #29), and the openig/antora.yml header is identical to the one in [#26] Publish the last release of each previous major line as an older version #31. header-content.hbs gets 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:

@vharseko vharseko added documentation Improvements or additions to documentation enhancement New feature or request labels Sep 30, 2026

@maximthomas maximthomas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 GitHub releases/latest, so the start page cannot go stale the way releaseversion: 5.2.4 did.
  • Removing releaseversion is safe: no page references {releaseversion}, and Antora passes only page-* 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.html

Pin: 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 #23 will 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.

@vharseko
vharseko force-pushed the issue-23-release-links branch from 3045b8f to 0d56f9a Compare October 1, 2026 12:34
@vharseko

vharseko commented Oct 1, 2026

Copy link
Copy Markdown
Member Author

Rebased onto master (after #27); no conflicts.

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 Fixes #23 covers the header as well.

"·" after the badge: fixed — each row is now [badge] · Releases and downloads · Docker images · Security advisories.

CDDL headers not in the description: added to the description.

"Portions Copyright" on files without a previous holder: kept on purpose, for consistency with openam/antora.yml, which is already on master (#27) with the same Portions Copyright 2026 3A Systems, LLC. line on a file that had no earlier holder. If we switch to a plain Copyright line for such files, it should be done for all of them in one change rather than in this PR.

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.

@vharseko
vharseko requested a review from maximthomas October 1, 2026 12:34

@maximthomas maximthomas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • 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 ….

vharseko added a commit that referenced this pull request Oct 2, 2026
…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.
@vharseko
vharseko force-pushed the issue-23-release-links branch from 0d56f9a to ecce21b Compare October 2, 2026 07:28
@vharseko

vharseko commented Oct 2, 2026

Copy link
Copy Markdown
Member Author

Rebased onto master (after #29 and #30); no conflicts.

"Portions Copyright" on files without a previous holder: fixed, and my earlier pushback is withdrawn. Its argument was consistency with openam/antora.yml, but since then #29 merged antora-playbook.yml with a plain Copyright 2024-2026 3A Systems, LLC., and #31 moves openam/antora.yml to the same line. index.adoc and openig/antora.yml now carry Copyright 2024-2026 3A Systems, LLC. too (both files date from 2024).

This also removes a conflict with #31: both PRs add a header to openig/antora.yml, and the differing copyright line made them conflict. The headers are now identical, and git merge-tree merges the two PRs cleanly.

@vharseko
vharseko requested a review from maximthomas October 2, 2026 07:28

@maximthomas maximthomas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

praise: Both new headers now use the plain copyright line, as other files with no earlier holder do.

  • ROOT/modules/ROOT/pages/index.adoc:14 and openig/antora.yml:13 say Copyright 2024-2026 3A Systems, LLC., and both files were first added in 2024 (735ee418fd, 36a1dad69f). This matches antora-playbook.yml since #29.
  • The rebase onto master did not change the start-page links or the Downloads menu: commit 2 is identical, and commit 1 differs only in the context line link:/openig/apidocs/index.html from #27.

@vharseko
vharseko merged commit 9ceed39 into OpenIdentityPlatform:master Oct 2, 2026
@vharseko
vharseko deleted the issue-23-release-links branch October 2, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show product version and add Downloads / Releases / Security links

2 participants