Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
281 changes: 0 additions & 281 deletions db/data/staging/homepage-thirdparty.json

This file was deleted.

14 changes: 14 additions & 0 deletions docs/developers/architecture/homepage.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,22 @@ Managed via the `LegacyRedirects` CDS entity. The approuter middleware (`approut

**Nightly link-health:** The `homepage-link-health` cron job (04:00 daily) sends HEAD requests to every active `HomepageShelves.url` and writes `linkStatus` (`OK` | `SLOW` | `BROKEN`) + `lastChecked` back to the entity. Broken links surface as a red dot on the Shelves tab in the admin UI. Threshold for SLOW is 1500ms (default); timeout is 5000ms per URL; concurrency is 4 with 200ms between requests.

## HomepageShelves seeding (baseline is boot-seeded, not CSV)

`HomepageShelves` is **admin-managed on HANA** — its production HDI artifacts are structure-only (`.hdbtable` + unique index + change-tracking triggers), with **no `.hdbtabledata`**, so a deploy can never full-replace the table.

The canonical baseline (SAP-owned entries + curated third-party links such as Prior Labs / Dremio / Reltio / n8n) lives inline in **`srv/lib/homepage/homepage-shelves-defaults.js`** and is seeded idempotently at boot by **`srv/lib/homepage/seed-homepage-shelves.js`** (called from `cds.on('served')` in `srv/server.js`). The seed is **insert-if-missing on `(verb,url)`**: it adds only rows that aren't already present, so admin edits are never overwritten, deleted baseline rows self-heal on the next restart, and it runs safely (non-fatal) in every profile — `cds watch`, unit tests, hybrid, and production.

This replaced two fragile predecessors (both retired):

- the `test/data/com.sap.developers.ims-HomepageShelves.csv` seed CSV, which — while it lived in `db/data` — compiled to an `.hdbtabledata` with `include_filter: []` and **full-replaced the table on every deploy whose CSV hash changed**, wiping curated/third-party rows and admin edits (the root cause of the recurring "shelf links disappeared" incidents); and
- the manual `npm run seed:thirdparty` promotion step (DEV/PROD-ambiguous — it followed the CDS binding, so it could silently target the wrong environment).

To add or curate a baseline link: edit `homepage-shelves-defaults.js`, or use `/admin-ui/#homepage` at runtime (see **Add shelf entry** above). No CSV, no manual seed script.

---


## Explainer popovers

Issue #759 adds progressive-disclosure explainers to the homepage verb spine, the directory footer, and the verb sub-page link cards. The data model (`VerbDefinitions`, `ShelfDefinitions`, plus three new fields on `HomepageShelves`), build feeds, AI-generation actions, Vue islands, and admin workflow are documented separately to keep this file focused.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"dev:hybrid": "npm run watch:hybrid & npm run start:approuter",
"start:approuter": "cd approuter && NODE_ENV=development npm start",
"bind:setup": "node scripts/setup-hybrid-env.js",
"seed:thirdparty": "cds bind --exec -- node scripts/seed-thirdparty.js",
"seed:thirdparty": "echo 'RETIRED: HomepageShelves (incl. third-party links) is now seeded idempotently at boot by srv/lib/homepage/seed-homepage-shelves.js from srv/lib/homepage/homepage-shelves-defaults.js. Edit that module or use /admin-ui/#homepage; no manual seed step needed.' && exit 1",
"setup": "npm --prefix hugo-apps install --no-audit --no-fund && npm --prefix app/explore install --no-audit --no-fund && sh scripts/install-git-hooks.sh",
"build:cds": "cds build --production",
"fetch-tutorials": "tsx scripts/fetch-tutorials.ts --target hugo",
Expand Down
88 changes: 0 additions & 88 deletions scripts/__tests__/seed-thirdparty-data.test.ts

This file was deleted.

48 changes: 0 additions & 48 deletions scripts/__tests__/seed-thirdparty-loader.test.ts

This file was deleted.

81 changes: 0 additions & 81 deletions scripts/seed-thirdparty.js

This file was deleted.

Loading
Loading