Skip to content

fix(extend): land the June audit fixes the migration left behind, and repair 14 dead links (PRDCT-543) - #1077

Merged
jordanrburger merged 2 commits into
mainfrom
PRDCT-543-audit-fixes-help
Aug 5, 2026
Merged

fix(extend): land the June audit fixes the migration left behind, and repair 14 dead links (PRDCT-543)#1077
jordanrburger merged 2 commits into
mainfrom
PRDCT-543-audit-fixes-help

Conversation

@Iamfle4ka

Copy link
Copy Markdown
Collaborator

Jira issue(s): PRDCT-543 — companion to developers-docs#410, which handles the same audit for the pages that stay on dev.

#1046 moved 41 pages from developers.keboola.com to /extend/**. Two audit PRs on that repo — developers-docs#393 and #396, both opened 2026-06-22 and never reviewed — had already found defects on those pages, so what landed here is the unfixed copy. Grepping for each fix one by one confirmed all of them are still live on help.

Since #406 turns the dev originals into redirect stubs, this is the only place those fixes can still reach a reader.

From #393 and #396

Broken code and configuration — these are the ones that cost someone an hour:

  • ci.validate_configuration(REQUIRED_PARAMETERS) is not a method on CommonInterface. The real one is validate_configuration_parameters (keboola/python-component, interface.py). The example as published raises AttributeError.
  • Three invalid JSON examples: a missing comma before "write_always", a missing comma after the "schema" member in the workspace credentials, and a trailing comma in the ABS credentials block.
  • "colummns": [] in the output-mapping example.
  • The input-table manifest's name node was described as "the name of the component configuration". It is the table name.
  • The output-mapping page said "Implementing the input mapping requires three steps".
  • somemyParameter_user_parameter, where the JSON directly below reads myParameter.

Stale and dead links: the Python template pointed at bitbucket.org/kds_consulting_team/kbc-python-template — still reachable, but last touched in 2023 and superseded by the cookiecutter; the PHP library at keboola/php-docker-application (renamed to keboola/php-component); Travis at the retired travis-ci.org; the JSON-editor demo over plain http; and one link written as [url]() with an empty target. The Python link now points at the example file in the template rather than its root, since the prose promises "an actual working example".

Text: accross, my-inpupt.csv (×4), "display events Keboola end-users", "output ... is filter for sensitive values", "does not have an access to", "Similar library is currently available also for", and two consecutive ### Step 4 headings on the debugging page (the second is Step 5).

Found while checking, not from either PR

Nine links in the migrated pages are broken in production right now. help.keboola.com/overview/api/ returns 404 — that reference page exists only on dev docs — yet the migration carried its links over as site-relative paths in component/running (×2), common-interface/environment (×3), common-interface/config-file (×3) and component/code-patterns/tutorial. Repointed at developers.keboola.com.

While repointing them: the anchor was dead too. The heading on that page is ## Stacks and Endpoints, so #regions-and-endpoints resolved nowhere. Three native help pages (transformations/snowflake-plain, components/ip-addresses, overview/index) carried the same dead anchor with an already-absolute URL; fixed as well, which leaves zero instances in the repo.

Five more dead anchors on the same pages. Four links point at /extend/component/running/#preparing-the-data-folder, but that heading is ## Preparing Data folder — repointed at the slug that exists rather than renaming the heading, since #406 repoints the dev-side links at the current one. And deployment/index.md links debugging/#step-2--build-the-image, whose heading is ### Step 2 -- Build Image.

A fourth invalid JSON example, missed on the first pass: in folders/index.md the input object is not comma-separated from "output". All three JSON blocks in that file now parse.

Verification

  • npm run build clean. The two warnings it prints (R syntax highlighting in component/implementation/r/, the /404 route conflict) are pre-existing and unrelated.
  • Method name checked against keboola/python-component source; keboola/php-component confirmed live and php-docker-application confirmed a redirect; every replacement link returns 200.
  • The #stacks-and-endpoints anchor and the /overview/api/ 404 both checked against the live sites.
  • The JSON examples now parse (the one remaining unparseable block is a deliberate "state": {…} fragment, untouched).
  • 19 files, 45 insertions, 45 deletions — no reflowing, no line-ending churn.
  • fact-checker run against keboola/python-component, keboola/input-mapping, keboola/output-mapping and the live sites: no critical findings, 12 claims confirmed with public evidence. Everything it flagged as incomplete is fixed above. It refuted one thing I had written — the Bitbucket template is stale, not dead (API returns 200, is_private: false) — and the wording is corrected.

For an owner — two things I did not change

  • keboola/ex-docs-tutorial appears to be gone. deployment/index.md invites the reader to "view all settings in our example repository" and to "review Travis Configuration" for it, but github.com/keboola/ex-docs-tutorial returns 404 and Travis API v3 reports the repo "active": false with zero builds. I only modernised the Travis host; whether to restore the example or delete the sentence is a product call. running/index.md references the same repo.
  • The upstream keboola/python-component README still carries the ci.validate_configuration(...) bug (README.md:175) — which is almost certainly where these docs copied it from. Worth an upstream issue so it does not come back.

Forward note

The (unmerged) dev→help contract in _data/redirects/dev-to-help.tsv maps /overview/api//concepts/api-basics/. That page does not exist yet, so absolute developers.keboola.com links are correct today — but these nine links and the #stacks-and-endpoints anchor will need revisiting when that reference page lands on help.

Note for whoever merges #402 on dev

developers-docs#402 also fixes extend/common-interface/** and extend/component/running on the dev side. Those are exactly the pages #406 retires, so those hunks will land on stubs and never reach a reader — the same trap this PR is cleaning up after. Its component/running heading renames (## Preparing Data folder## Preparing the Data folder, ## Running Component## Running a Component) are deliberately not copied here: #406 repoints links at the current help anchors, and renaming those headings would break them again.

#1046 moved 41 pages from developers.keboola.com to /extend/**. Two audit PRs
on that repo — keboola/developers-docs#393 and #396, both opened 2026-06-22 and
never reviewed — had already found defects on those pages, so the copies that
landed here are the *unfixed* ones. Grepping for each fix confirmed every one of
them is still present on help.

Carried over from #393 and #396:
- `ci.validate_configuration(...)` is not a method on CommonInterface; the real
  one is `validate_configuration_parameters` (python-component interface.py:748).
  The published example raises AttributeError.
- The Python library link pointed at a superseded Bitbucket template (still
  reachable, last touched 2023) and the PHP one at keboola/php-docker-application,
  since renamed to keboola/php-component. The Python link now targets the actual
  example file in the cookiecutter template, since the prose promises "an actual
  working example" and the template root is not one.
- Invalid JSON in four examples: a missing comma before `write_always`, a missing
  comma after the `schema` member, a missing comma between the `input` and
  `output` objects, and a trailing comma in the ABS workspace credentials.
- `"colummns"`, `write-alwayss.csv`, `my-inpupt.csv` (x4), `accross`,
  "display events Keboola end-users", "is filter for sensitive values",
  "does not have an access to".
- The input-table manifest's `name` node holds the table name, not the name of
  the component configuration (input-mapping ManifestCreator.php:23).
- The output-mapping page said "Implementing the input mapping requires...".
- Two `### Step 4` headings in a row on the debugging page; the second is 5.
  Nothing in either repo links to that anchor.
- `somemyParameter_user_parameter`, where the JSON below it says `myParameter`.

Broken links found while checking, not from either PR:
- help has no /overview/api/ page — it 404s, that reference lives only on dev
  docs — yet nine links in the migrated pages pointed at it as a site-relative
  path. Broken in production right now. Repointed at developers.keboola.com.
- The anchor was dead too: the heading is "## Stacks and Endpoints", so
  `#regions-and-endpoints` resolved nowhere. Three native help pages carried the
  same dead anchor, which leaves none in the repo.
- Four links to `/extend/component/running/#preparing-the-data-folder`, whose
  heading is "## Preparing Data folder". Repointed at the slug that exists,
  rather than renaming the heading, which would break the links #406 repoints.
- `debugging/#step-2--build-the-image`, whose heading is "### Step 2 -- Build
  Image".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Aug 4, 2026

Copy link
Copy Markdown

PRDCT-543

@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
connection-docs Ready Ready Preview Aug 5, 2026 8:52pm

Request Review

@jordanrburger jordanrburger 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.

Approving — the substance here is worth a lot. The ci.validate_configuration(...) one especially: I confirmed the real method is validate_configuration_parameters (interface.py:748) and there's no validate_configuration at all, so that published example has been raising AttributeError for anyone who copied it. The four invalid JSON blocks, the missing leading slash and the input/output mapping mix-up are all real reader-cost bugs.

Three notes, none of them blocking:

  1. The 12 new links to developers.keboola.com are the right call for now. I checked — help.keboola.com/overview/api/ is a 404 and the dev-docs page is a 200, so pointing at dev is the only option that isn't broken today. We'll have to sweep these when we retire that host, so let's make sure they land in the redirect contract rather than getting discovered later.

  2. ### Step 4 -- Modify### Step 5 -- Modify moves the heading slug from #step-4--modify to #step-5--modify. I searched and there are zero inbound links in the repo, so it's safe — but the description doesn't mention checking, and this is exactly the silent break #1073 exists to catch. Worth calling out explicitly whenever you move a heading.

  3. The Travis link is polish on a dead resource. It now points at app.travis-ci.com/keboola/ex-docs-tutorial, but github.com/keboola/ex-docs-tutorial is a 404. You flagged the repo as gone and I agree — just delete the two sentences that reference it rather than shipping a tidy link to nothing. Do that in a follow-up, no need to hold this PR for it.

@jordanrburger
jordanrburger merged commit d0f52a3 into main Aug 5, 2026
3 checks passed
@jordanrburger
jordanrburger deleted the PRDCT-543-audit-fixes-help branch August 5, 2026 20:52
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.

2 participants