Søren Kottal discusses customizing Umbraco's ModelsBuilder by creating a custom ModelsGenerator that post-processes generated files. This method allows developers to add strongly-typed property alias constants, enhancing code safety and IntelliSense support while maintaining compatibility with Umbraco's existing infrastructure. The approach avoids modifying core code, ensuring maintainability.
Andy Butland announces that Razor run-time compilation is now obsolete, urging against its use in production. This change affects Umbraco features like the BackOfficeDevelopment runtime mode and InMemoryAuto models builder, which will be removed in Umbraco 19. Users are advised to edit templates as .cshtml views and utilize dotnet watch for hot reload.
Umbraco Models Builder is a vital feature for Umbraco websites, generating "strongly-typed" C# classes that represent Document Types in the CMS. These models enhance development by being utilized in controllers and views. However, each generated class includes the current Umbraco version, which may impact version management.
In upgrading to Umbraco 15, users of ModelsBuilder may encounter issues due to the removal of the IPublishedSnapshotAccessor interface, causing model build failures. Søren Kottal suggests reintroducing the interface by adding a specific code snippet to .generated.cs files, allowing for successful model rebuilding and compatibility with Umbraco 15.