Skip to content

Umbraco 17 PoC#1

Draft
rbottema wants to merge 9 commits intov12/devfrom
v17/dev
Draft

Umbraco 17 PoC#1
rbottema wants to merge 9 commits intov12/devfrom
v17/dev

Conversation

@rbottema
Copy link
Copy Markdown
Owner

@rbottema rbottema commented Apr 3, 2026

This pull request upgrades Nesting Contently for Umbraco 17 and .NET 10, modernizing the codebase, updating dependencies, and replacing legacy AngularJS integration with the new Bellissima extension architecture. It also adds comprehensive upgrade and testing documentation, cleans up obsolete files, and improves the setup experience for developers.

Umbraco 17 and .NET 10 upgrade:

  • Updated .NET target framework to net10.0 in Directory.Build.props and test site projects.
  • Upgraded Umbraco dependency to Umbraco.Cms.Infrastructure 17.3.0 and removed obsolete dependencies in test and main projects.

Backoffice integration and architecture:

  • Replaced AngularJS runtime template patching with blockEditorCustomView extensions for Block List and Block Grid editors, registered as global fallbacks at weight: -100.
  • Removed legacy registration files (ManifestFilter.cs, Composer.cs), replaced with auto-discovered umbraco-package.json.

Documentation and developer experience:

  • Rewrote README.md for clarity, focusing on Umbraco 17+ usage, clean setup, and documenting the new extension architecture and limitations.
  • Added detailed upgrade overview (docs/upgrade-v17-overview.md) and a step-by-step manual testing checklist (docs/upgrade-v17-testing.md). [1] [2]

Build and test improvements:

  • Updated build process to run frontend asset build (Vite) before .NET compilation; output served from wwwroot/.
  • Improved .gitignore to exclude generated files, ModelsBuilder output, and new schema files. [1] [2]

Cleanup:

  • Removed obsolete language files and legacy documentation for older Umbraco versions. [1] [2]

These changes modernize the package, streamline developer onboarding and testing, and ensure compatibility with the latest Umbraco and .NET releases.

rbottema and others added 9 commits April 2, 2026 13:54
Adds docs/ folder with a multi-file upgrade plan covering all changes
needed to port NestingContently from Umbraco 12 (AngularJS) to
Umbraco 17 (Bellissima / Web Components).

- upgrade-v17-overview.md: architectural context, change summary table,
  known limitation of blockEditorCustomView weight-based fallback
- upgrade-v17-phase1-dotnet.md: SDK/NuGet/version updates, removal of
  IManifestFilter (deleted in v14), value converter constructor fixes
- upgrade-v17-phase2-frontend.md: Vite + Lit + TypeScript setup,
  umbraco-package.json, full Web Component source for Block List and
  Block Grid toggle views using UMB_BLOCK_ENTRY_CONTEXT
- upgrade-v17-phase3-build-testsite.md: replacement MSBuild targets
  (Vite instead of Gulp), test site project update
- upgrade-v17-phase4-readme.md: version.json and README update guidance
- upgrade-v17-testing.md: 10-step manual testing guide for a developer
  new to the project, covering backoffice toggle, frontend filtering,
  nested Block Grid, custom view conflict scenario, and troubleshooting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Update global.json SDK to 10.0.104
- Update Directory.Build.props TargetFramework to net10.0
- Update version.json prefix to 17.0.0
- Replace Umbraco.Cms.Web.Website + BackOffice refs with Umbraco.Cms.Infrastructure 17.3.0
- Delete ManifestFilter.cs and Composer.cs (IManifestFilter removed in v14)
- Simplify Constants.cs (remove PackagePath)
- Remove ClientAssetsBuildOutputPath MSBuild target from csproj
- Update NestingContentlyBlockListPropertyValueConverter constructor for v17 API
- Update NestingContentlyBlockGridPropertyValueConverter constructor for v17 API
- Update IsVisible() calls to pass IPublishedValueFallback (required in v17)
- Update TestSite csproj to net10.0 and Umbraco.Cms 17.3.0

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace Gulp/AngularJS Backoffice with a Vite + Lit + TypeScript client:

- Delete src/NestingContently.Umbraco/Backoffice/ (AngularJS + Gulp)
- Delete src/NestingContently.Umbraco/build/ (old MSBuild targets)
- Add Client/ Vite project (package.json, tsconfig.json, vite.config.ts)
- Add Client/src/nc-block-toggle.base.ts — shared abstract base class
  - Consumes UMB_BLOCK_ENTRY_CONTEXT to detect umbracoNaviHide on settings or content
  - Renders power-button toggle overlay; dims block at 0.5 opacity when hidden
- Add Client/src/nc-block-list-toggle.element.ts — wraps umb-ref-list-block
- Add Client/src/nc-block-grid-toggle.element.ts — wraps umb-block-grid-block
- Add Client/src/nesting-contently.ts — entry point
- Add Client/public/umbraco-package.json — registers two blockEditorCustomView
  extensions (block-list + block-grid) at weight -100 (global fallback)
- Vite outDir = ../wwwroot — served at /App_Plugins/NestingContently/ via
  StaticWebAssetBasePath in csproj
- Rebuild MSBuild build/Microsoft.AspNetCore.ClientAssets.targets — runs
  npm install + npm run build before AssignTargetPaths
- Re-import build targets in csproj
- wwwroot/ build artifacts included

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove Microsoft.ICU.ICU4C.Runtime from TestSite (ICU is built into .NET 10)
- Rewrite README.md for v17: clean setup instructions, Bellissima architecture
  note, version compatibility table, remove obsolete v7/v8 history sections

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Delete the four phase plan docs (all implemented)
- Rewrite upgrade-v17-overview.md as a "what was done / open points" summary
  covering all changes made, the blockEditorCustomView architecture constraint,
  and three watch points for manual testing
- Rewrite upgrade-v17-testing.md as a lean 10-step manual test checklist
  - Fix stale file paths (wwwroot/ not App_Plugins/backoffice/)
  - Fix SDK version reference (net10, not net9)
  - Remove verbose step-by-step prose; keep the signal

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Aligns with net10.0 target framework and Umbraco 17.x requirement.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- remove Clean starter kit references (not using it)
- update Step 2: explain unattended install with test@test.test credentials
- remove setup wizard step (no wizard with unattended install)
- update troubleshooting table with ModelsMode and media dir issues
- add frontmatter per markdown standards

📚 - Generated by Copilot
- persist block toggle updates for umbracoNaviHide
- add test page controller and physical templates
- enable Razor compile and ignore generated umbraco models

✅ - Generated by Copilot
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