Entity Link Schema Extension Type #21279
mattbrailsford
started this conversation in
Features and ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Introduce a new
entityLinkSchemaextension type that allows packages to declaratively register URL patterns and parameters for navigating to entity editors in the back office.Problem
Currently, there's no standardized way to:
Each package (Commerce, Forms, Deploy, etc.) defines URL patterns in isolation. Code that needs to link to entities must either:
This becomes especially problematic for:
Proposed Solution
A new extension type that declaratively describes how to link to an entity:
Examples
Document (Simple)
Nested Entity (e.g., Commerce Order)
Entities that exist within a parent context can express that through parameters:
Collection View
Deeply Nested Entity
Service API
A CMS service to query schemas and build URLs:
Use Cases
1. AI-Powered Navigation
AI assistants can use the schema to understand what's needed to link to an entity:
The
descriptionand parameterentityTypereferences help AI understand relationships without hardcoded knowledge.2. Cross-Package Dashboards
A custom dashboard can link to entities from other packages without tight coupling:
3. External Deep Linking
External systems can query schemas via Management API to construct valid back office URLs.
4. Validation
The service can validate parameters before URL construction:
Design Considerations
Why a Separate Extension Type?
Rather than embedding this in workspace manifests:
Why Not Use Workspace Context?
Workspace contexts require instantiation. Link schemas are manifest metadata that can be queried without loading workspace APIs - important for lazy loading and external tools.
Parameter
entityTypeReferenceWhen a parameter references another entity (e.g.,
storeIdreferencesuc:store), this metadata enables:Implementation Notes
Schema Discovery
The service subscribes to the extension registry:
URL Construction
Pattern placeholders are replaced with parameter values:
Questions for Discussion
Link type extensibility - Should
linkTypebe a fixed enum or allow custom values (e.g.,'preview','history')?Query parameters - Should schemas support optional query string parameters (e.g.,
?culture=en-US&segment=mobile)?Default schemas - Should CMS ship with schemas for core entities (document, media, member, etc.)?
Management API exposure - Should schemas be queryable via the Management API for external tools?
Related
@umbraco-cms/backoffice/routerUmbPathPatternclass for URL constructionType: Feature Request
Area: Backoffice / Extension System
Complexity: Medium
Beta Was this translation helpful? Give feedback.
All reactions