Skip to content

Spec header advertises URLs that 404, including in the frozen 1.0 archive #255

Description

@jgeluk

Symptom

The specification header advertises URLs that 404, on every build and in the frozen 1.0 archive. Checking all 103 links in the rendered spec turns up four distinct causes.

1. edDraftURI — "Latest editor's draft"

respec/template.html sets edDraftURI: "https://ekgf.org/spec/{{ branch }}/". Two faults: the /dprod basePath is missing, and the branch name is not slugified, so any branch containing a slash — which is nearly all of them — cannot resolve.

https://ekgf.org/spec/issue/253-respec-publish-date/   404
https://ekgf.org/dprod/spec/issue-253-respec-publish-date/   200

2. latestVersion — "Latest published version"

Set to https://www.omg.org/spec/DPROD/dprod/, which is the vocabulary namespace IRI. It identifies the DPROD terms, not a document, and does not dereference. https://www.omg.org/spec/DPROD/ — the catalog entry, which always resolves to the newest published version — is what this field means.

3. The frozen archive has no edDraftURI at all

site/public/spec/archive/1.0/index.html never sets it, so ReSpec infers one from the github config: https://ekgf.github.io/dprod/, the GitHub Pages site retired by #235. Every reader of the published standard met a 404 that appears nowhere in the file.

The archive's latestVersion also points at itself, which is what "this version" means rather than "latest".

4. Two smaller link defects

  • respec/template.html:405href="https://www.omg.org/legal/tm_list.htm.": the sentence's full stop was swallowed into the URL. Present in the archive too.
  • Two prose links to https://www.omg.org/spec/DPROD/dprod.ttl (404). The "Download as RDF" entries in the same document already use a relative dprod.ttl, which resolves within whichever version the reader is on.

Fix

field value
latestVersion https://www.omg.org/spec/DPROD/ — OMG catalog
edDraftURI https://ekgf.org/dprod/spec/develop/ — the one canonical draft
thisVersion https://ekgf.org/dprod/spec/<slug>/ — this build

Splitting thisVersion out keeps the per-branch URL, under the label that actually means it, while "latest editor's draft" points a preview reader at mainline.

Also: relative ontology links, the namespace IRI rendered as <code> rather than a dead link (matching the namespace table, which already does), the [[dprod]] bibliography entry pointed at the OMG catalog, and the trailing full stop removed from both documents.

tests/test_spec_header_urls.py covers all of it, because ReSpec builds the header client-side and none of this is visible without rendering the page.

Not fixable here

https://www.omg.org/spec/DPROD/dprod/ and https://www.omg.org/spec/DPROD/dprod.ttl do not resolve at OMG. Same family as #232 (dprod-context.jsonld returns 404): the artifacts are not published at their OMG URLs. This issue routes around them; it cannot fix them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions