Bellissima is the code name for the rebuild of the frontend code of the backoffice of Umbraco. Bellissima replaces the old deprecated AngularJS code with Lit, TypeScript and Web Components as well as a flexible extensions API.
Joe Glombek discusses implementing a feature in Umbraco 17 to prevent the deletion of specific document types by using custom entity signs. The LockedDocumentFlagProvider class adds flags to locked documents, while the LockedDocumentComposer registers this functionality. This allows users to see locked status in the backoffice before attempting deletions.
Joe Glombek discusses configuring custom backoffice block views in Umbraco using an extension. He provides an example of creating a hidden block indicator, detailing the registration of the extension and the creation of a custom element. The implementation allows for automatic display of a hidden state in block lists.
Luuk Peters discusses misconceptions among developers regarding the need for extensive scaffolding to extend the Umbraco "Bellissima" backoffice. He emphasizes that while Umbraco uses Lit, Vite, and TypeScript, developers can utilize plain JavaScript without a build pipeline. Understanding the architecture's flexibility can simplify the extension process.
Umbraco 17 has launched its Beta version, introducing a clearer pre-release process. This update features a new backoffice architecture, improved extensibility, and modern technology, transitioning from AngularJS to Web Components. The upgrade from Umbraco 13 to 17 is significant but manageable, ensuring a stable, future-proof platform for developers and users.
In this post, Yari Mariën discusses enhancing Umbraco 14 by adding actions to the sidebar context menu using built-in Entity Actions. He details the registration of actions via manifests, rendering them in the UI, implementing action logic, and handling action results to refresh the tree structure dynamically.
In this post, Yari Mariën outlines the process of enhancing a custom section in Umbraco 14 by adding routing, creating a root page, and displaying detailed views for tree items. Key components include defining routes for creating and editing forms, utilizing a shared component for both functionalities, and implementing navigation through tree items.