Context & Prior Art
Port recently shipped two great improvements in this space:
✅ New properties are hidden by default — new blueprint properties no longer auto-pollute existing views
✅ Property exclusion in tables — admins can explicitly hide properties including scorecard rule columns
These are meaningful steps forward and we appreciate them. This request is the logical next step to make view management fully maintainable at scale.
The Remaining Problem
The current model is still fundamentally exclusion-based: you define what to hide, and everything else shows. Even with new properties hidden by default, this breaks down in practice because:
Views are fragile over time — a view configured today reflects today's blueprint. As the blueprint evolves, the view silently drifts. Someone must periodically audit all views and re-hide newly surfaced properties
The burden scales with blueprint size — our blueprints carry a lot of operational metadata: raw IDs, sync flags, internal config toggles, integration-specific fields. Most of this is essential for integrations but completely irrelevant to end users
"Hidden by default" only protects new additions — it doesn't help with the 30+ properties already visible on existing views that we've been manually pruning for months
No way to say "show only these 5 fields" — which is really all we want for end-user-facing views
Proposed Solution: Include-list (allowlist) mode
Add an include-list mode as an opt-in alternative to the current exclude-list, available in:
Catalog pages (blueprint-entities pages) — via the Edit table / Manage Properties UI
Table widgets on dashboard and home pages
Entity detail page (the Overview/Details widget)
When a view is set to "include mode", only explicitly selected properties are shown. Any property not on the list — whether existing or newly added — is invisible by default. The view becomes a stable, intentional contract rather than a residual of everything minus what you remembered to hide.
Example use case
Our service blueprint has 40+ properties. An end-user-facing "My Services" view should only ever show:
Service name
Scorecard compliance level
Links to Grafana / Datadog dashboards
Lifecycle & ownership
With include-mode, this view is permanently clean regardless of how the blueprint evolves. No maintenance required.
Why the current "hidden by default" improvement doesn't fully solve this
Scenario Hidden by default Include-list mode
New property added tomorrow 🟢 Hidden automatically 🟢 Hidden automatically
Property that was visible before the fix 🔴 Still visible, must manually hide 🟢 Not on the list, never shown
Admin forgets to configure a new view 🔴 All non-hidden properties appear 🟢 Nothing appears until explicitly added
Blueprint has 40 properties, view needs 5 🔴 Must hide 35 individually 🟢 Just pick the 5
View stays correct after blueprint refactor 🔴 Only if someone audits it 🟢 Guaranteed — opt-in only
Suggested UX
A simple toggle in the Manage Properties panel:
Show mode: [ Show all except hidden ▾ ] [ Show only selected ]
No new concepts needed — it's a flip of the existing mental model that platform engineers already understand.
References
Builds on: "Property exclusion in tables" (completed)
Builds on: "New properties are hidden by default" (completed)
Related: "Manage blueprint properties from table" (completed)