Related articles, and a public path that keeps the tree

FeatureKBService
Ya
2 Septemba 2026, 01:35 UTC
Mwandishi
Kamo
Ahadi ya
4ca1da1

Three things, all reaching the same page. Related articles. KbArticleRelationService owns the symmetric "see also" links: list, set, suggest, and a clear that runs on soft delete so a retired article does not linger in somebody else's list and silently shorten it. Reads go through KbReaderScope -- an unfiltered relation list names the titles of exactly the articles the audience flags hide, which is the oracle readable() answers 404 to avoid, arriving through a different door. The public read is narrower still: published and public-visible only, so a marketing page cannot link a visitor into member-only material. Public path. KbPublicArticleDTO now carries path and ancestors. path is the slug chain BELOW the section root, so /help-center/help-center is unrepresentable and a consumer can build a nested link instead of a flat one. This is not cosmetic: article lookup resolves on the last path segment, so a link built from the bare slug still renders the right page and the lost hierarchy shows up nowhere until somebody reads the sitemap. One read instead of four. buildPublicTreeIndex replaces the separate buildUidToGuidMap / buildPublicChildrenMap scans -- a single article page was making three full-table reads plus a fourth for its parent, all projections of the same list. Breadcrumbs and related cards now translate with the article rather than staying English underneath a translated body. 98 tests, 30 of them new: path shape and cycles in KbPublicPathTest, mirror maintenance and scope filtering in KbArticleRelationServiceTest.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei