Skip to content

feat: full workspace creation with route, menu, and default screen#42

Merged
jacebenson merged 5 commits into
mainfrom
feat/workspace-complete
Apr 21, 2026
Merged

feat: full workspace creation with route, menu, and default screen#42
jacebenson merged 5 commits into
mainfrom
feat/workspace-complete

Conversation

@jacebenson
Copy link
Copy Markdown
Owner

@jacebenson jacebenson commented Apr 21, 2026

Closes #34

Changes

  • workspace create now bootstraps a fully functional, navigable workspace:
    • sys_ux_app_config — workspace configuration
    • sys_ux_page_registry — URL route with slugified path, app shell, and parent app
    • sys_ux_registry_m2m_category — registers workspace in the Workspaces menu
    • sys_ux_screen_type — Home screen collection
    • sys_ux_screen — Default Home screen
    • sys_ux_app_route — maps /home to the Home screen
    • sys_ux_page_property (×4) — chrome_header, chrome_footer, chrome_toolbar, chrome_tab
    • Custom sys_ux_macroponent extending Page Template with a Heading component
  • Default references are looked up by name (no hardcoded sys_ids):
    • Workspace App Shell
    • Unified Navigation app shell
    • Workspace experience category
    • Page Template
    • Heading component
  • Returns the workspace URL (/now/<path>/home) in output

Usage

jsn workspace create --name "My Agent Workspace"
# → Created workspace 'My Agent Workspace'
# → URL: /now/my-agent-workspace/home

After creation, the workspace appears in the Workspaces menu in the Unified Navigator and renders a welcome heading on the home page.

- Auto-create sys_ux_page_registry with slugified path and app shell
- Auto-link workspace to Workspaces menu via sys_ux_registry_m2m_category
- Auto-create Home screen type and Default Home screen
- Lookup default references by name (Workspace App Shell, Unified Navigation, Workspace category)
- Return workspace URL in output

Closes #34
The Next Experience router requires sys_ux_app_route records to map
URL segments like /home to screen types. Without routes, the workspace
URL returns 404.

- Add sys_ux_app_route creation with route_type=home
- Link route to Home screen type and Workspace App Shell
- Use consistent 'Home' naming for screen types

Closes #34
The Next Experience framework requires sys_ux_page_property records
to render a workspace. Without them, the URL returns a redirect to
login (the framework recognizes the route but can't render it).

- Add chrome_header, chrome_footer, chrome_toolbar, chrome_tab
- Set unique_name with scope prefix pattern
- Auto-detect scope prefix from sys_ux_app_config sys_scope

Closes #34
The screen needs a custom macroponent extending Page Template in the
same scope, not a reference to a global component. Without it, UI Builder
shows 'The variant record lacks a page definition'.

- Create custom sys_ux_macroponent extending Page Template
- Use custom macroponent on Home screen instead of Dashboards
- Add sysId prop to macroponent and config

Closes #34
The custom macroponent had an empty composition, causing 'no content
available'. Embed a Heading component with a welcome message so the
page renders actual content.

- Look up Heading component by name
- Include it in composition and layout
- Personalize label with workspace name

Closes #34
@jacebenson jacebenson merged commit a87e5c7 into main Apr 21, 2026
2 checks passed
@jacebenson jacebenson deleted the feat/workspace-complete branch April 21, 2026 05:15
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.

feat: add commands for configurable workspace artifacts

1 participant