Skip to content

DYN-: Dyn 9702 templates to home screen#17107

Draft
Chloepeg wants to merge 39 commits into
DynamoDS:masterfrom
Chloepeg:DYN-9702-templates-to-home-screen
Draft

DYN-: Dyn 9702 templates to home screen#17107
Chloepeg wants to merge 39 commits into
DynamoDS:masterfrom
Chloepeg:DYN-9702-templates-to-home-screen

Conversation

@Chloepeg
Copy link
Copy Markdown
Contributor

@Chloepeg Chloepeg commented May 13, 2026

Purpose

This PR addresses DYN-9702 https://jira.autodesk.com/browse/DYN-9702 The changes in the code aim to add host-side support for Dynamo Home template files, enabling Dynamo to supply template data to Dynamo Home and ensure selected templates open as new editable workspaces.

This PR works with : DynamoDS/DynamoHome#89

DYN-9702-Gif

Changes :

Added support for passing template metadata from Dynamo to Dynamo Home.

  • Wired the host-side data flow required for the Home UI Templates section.
  • Updated template opening behavior so selecting a template creates a new editable workspace, rather than opening it as a standard file.
  • Updated the Dynamo/Home integration to consume the template-enabled Dynamo Home package, so Templates are displayed in production builds rather than only in local npm start mock mode.

Declarations

Check these if you believe they are true

Release Notes

Added Dynamo-side support for template files in Dynamo Home. Dynamo now copies shipped templates into the build output, passes template metadata to the Home UI, and opens selected templates as new editable workspaces instead of opening the template file directly.

Updated the Dynamo/Home integration to consume @dynamods/dynamo-home 1.0.30, so the production embedded Home page uses the template-enabled UI rather than relying only on local development mode.

Reviewers

@zeusongit
@DynamoDS/eidos

FYIs

@dnenov
@johnpierson
@jnealb

- initial changes to the Dynamo backend to consume and show Dynamo Template files on HomePage
- created StartPage container for Template files
- added backend infrastructure to send Template files data to frontend on load
Add NewWorkspaceWithTemplate method to HomePage that creates a new workspace and inserts a template file, enabling the sidebar to open templates in a new editable workspace.
- initial changes to the Dynamo backend to consume and show Dynamo Template files on HomePage
- created StartPage container for Template files
- added backend infrastructure to send Template files data to frontend on load
Add NewWorkspaceWithTemplate method to HomePage that creates a new workspace and inserts a template file, enabling the sidebar to open templates in a new editable workspace.
Add root folder bundle file to embedded resources
Adds the missing TemplateFiles property to StartPageViewModel
Fixes build error
remove merge conflict markers
remove merge conflict marker
Remove stray conflict marker and duplicate shipped API entries from
PublicAPI.Unshipped.txt by resetting to upstream master and keeping only the new StartPageViewModel.TemplateFiles surface needed for DYN-9702.
…mpiles

Fix DynamoCoreWpf.csproj DynamoHome embed and duplicate compiles
StartPage
- Pulled “build one StartPageListItem from a path” into AddTemplateListItemFromPath so
  LoadTemplates() stays simpler
- Made the templateFiles ObservableCollection readonly (only assigned in the constructor).
- Renamed the local List<string> to rootDynPaths so it doesn’t shadow the templateFiles field.
- Removed “&& this != null” on the non-empty check (always true in an instance method).

Homepage
- Replaced async void with async Task on LoadGraphs, LoadTemplates, SendSamplesData,
  SendTemplateData, and SendRecentGraphsData (Sonar S3168).
- LoadingDone and RecentFiles_CollectionChanged use _ = Method() where the caller must
  stay void; SendTemplateData awaits LoadTemplates, SendRecentGraphsData awaits LoadGraphs.
- Renamed the local in SendTemplateData to items for clarity.
Remove unused dirPaths in LoadTemplates() (StartPage.xaml.cs).
Use StartsWith('.') instead of StartsWith(".") for extension checks
Replace TODO comment in SendRecentGraphsData() with a neutral comment
adds a TemplateFiles item and a Copy to $(OutputPath)templates\%(RecursiveDir), so local and CI builds lay out templates the same way as samples.
- initial changes to the Dynamo backend to consume and show Dynamo Template files on HomePage
- created StartPage container for Template files
- added backend infrastructure to send Template files data to frontend on load
Add NewWorkspaceWithTemplate method to HomePage that creates a new workspace and inserts a template file, enabling the sidebar to open templates in a new editable workspace.
Add root folder bundle file to embedded resources
- initial changes to the Dynamo backend to consume and show Dynamo Template files on HomePage
- created StartPage container for Template files
- added backend infrastructure to send Template files data to frontend on load
Adds the missing TemplateFiles property to StartPageViewModel
Fixes build error
remove merge conflict markers
remove merge conflict marker
Chloepeg added 9 commits May 6, 2026 11:33
Remove stray conflict marker and duplicate shipped API entries from
PublicAPI.Unshipped.txt by resetting to upstream master and keeping only the new StartPageViewModel.TemplateFiles surface needed for DYN-9702.
…mpiles

Fix DynamoCoreWpf.csproj DynamoHome embed and duplicate compiles
StartPage
- Pulled “build one StartPageListItem from a path” into AddTemplateListItemFromPath so
  LoadTemplates() stays simpler
- Made the templateFiles ObservableCollection readonly (only assigned in the constructor).
- Renamed the local List<string> to rootDynPaths so it doesn’t shadow the templateFiles field.
- Removed “&& this != null” on the non-empty check (always true in an instance method).

Homepage
- Replaced async void with async Task on LoadGraphs, LoadTemplates, SendSamplesData,
  SendTemplateData, and SendRecentGraphsData (Sonar S3168).
- LoadingDone and RecentFiles_CollectionChanged use _ = Method() where the caller must
  stay void; SendTemplateData awaits LoadTemplates, SendRecentGraphsData awaits LoadGraphs.
- Renamed the local in SendTemplateData to items for clarity.
Remove unused dirPaths in LoadTemplates() (StartPage.xaml.cs).
Use StartsWith('.') instead of StartsWith(".") for extension checks
Replace TODO comment in SendRecentGraphsData() with a neutral comment
adds a TemplateFiles item and a Copy to $(OutputPath)templates\%(RecursiveDir), so local and CI builds lay out templates the same way as samples.
When selecting listed template files, open them as new graphs from their contents instead of treating the saved template path as a normal open. StartPage and HomePage now package the open argument as a tuple (path, false, true) for templates and pass that to DynamoViewModel.OpenCommand. DynamoViewModel.CanOpen was updated to extract the file path from either string, Tuple<string,bool>, or Tuple<string,bool,bool> so command validation works with the new packed arguments.
A small helper IsListedHomePageTemplate was added to HomePage to detect listed templates.
Bump the embedded Dynamo Home package to 1.0.30 so Dynamo consumes the Home UI with template support
@github-actions github-actions Bot changed the title Dyn 9702 templates to home screen DYN-: Dyn 9702 templates to home screen May 13, 2026
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-9702

@sonarqubecloud
Copy link
Copy Markdown

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.

1 participant