Skip to content

feat(overview): recent activity from curated content types - #612

Merged
dwolfson merged 2 commits into
odpi:mainfrom
dwolfson:feat/overview-recent-activity
Oct 6, 2026
Merged

dwolfson merged 2 commits into
odpi:mainfrom
dwolfson:feat/overview-recent-activity

Conversation

@dwolfson

@dwolfson dwolfson commented Oct 5, 2026

Copy link
Copy Markdown
Member

Replaces the Not measured Recent Activity panels (quickstart + freshstart) with live data from a new /api/overview/activity endpoint: the metadata change stream (last 48 h), activity by type (7 d) and most active stewards.

Why curated types. A plain "most recently updated" scan is useless on this platform: the 10,000 latest updates span 20 minutes and 98% are one connector refreshing APIParameter elements. Activity is therefore read per curated type (GlossaryTerm, Collection (products, folders, glossaries), GovernanceDefinition, Project) from each type's most-recently-updated elements, newest first, until one is older than 7 days. The panel names the types it covers.

Honesty rules. People and service accounts (*npa, engines; a heuristic) are counted separately and stewards are people only; any failed query returns Not measured, never a partial list; a type still inside the window after 5 pages of 200 makes the counts a lower bound and the panel says so (it does on the dev platform: Collection exceeds 1,000 changes in 7 days). Activity is always now; Egeria's asOfTime cannot say who changed what.

Tests: 16 new backend tests (tests/test_recent_activity.py, both handlers); page harness 105 checks quickstart / 99 freshstart, 0 failing; live endpoint verified (2,540 changes, 1,256 by people, in about 4 s).

🤖 Generated with Claude Code

Replaces the "Not measured" Recent Activity panels with live data: the
metadata change stream (last 48 h), activity by type (7 d) and most active
stewards, read per curated content type (glossary terms, collections and
products, governance definitions, projects) from each type's
most-recently-updated elements.

A plain "latest changes" scan is useless here: the 10,000 most recent
updates span 20 minutes and 98% are one connector refreshing APIParameter
elements. The panels name the types they cover, count people and service
accounts separately, return "Not measured" if any query fails, and label a
page-limited read as a lower bound.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Checked in the browser: the 12 newest curated-type changes were all the
subscription manager rewriting notification types, hiding everything a
person did. The stream now lists people's changes only and says how many
automation changes it left out; activity by type and the 7-day totals still
count both.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson force-pushed the feat/overview-recent-activity branch from 94e94dd to b28543b Compare October 6, 2026 12:10
@dwolfson
dwolfson merged commit ec0ad18 into odpi:main Oct 6, 2026
6 checks passed
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