The following list outlines features/capabilities we expect ship for both XAF’s Cross-Platform .NET App UI (XAF) and the DevExpress .NET App Security & Web API Service (by June 2023). We will outline plans for our second major release (v23.2) in July.
ASP.NET Core Blazor UI
We expect to release the following XAF Blazor UI features/capabilities in our v23.1 release cycle (June 2023):
Scheduler Module
To support this new module, we will integrate the DevExpress Blazor Scheduler control (DxScheduler) within XAF’s Blazor UI. This module will allow XAF developers to display/manage XAF Event and Resource business objects within a calendar.
Note: If you require scheduler-related functionality in your XAF-powered Blazor app today, you can implement a custom List Editor based on the DevExpress Blazor Scheduler control (example).
Filter Editor
We will integrate a JavaScript-based filter control from our Web Reporting/Dashboard product line into XAF's DxGridListEditor and CriteriaPropertyEditor. This new feature will support popular criteria language options (based on scalar/value type properties like strings, numbers, etc.). XPO Upcasting, Free Joins, or syntax references and enumerations will not be available (unfortunately, the underlying UI control does not offer these capabilities).
Grid List Editor
We expect to support the following Application Model properties for the ListView node within the Model Editor: Filter, PreviewColumnName, ShowFindPanel, IsFooterVisible. We will also save the state of the Page Size command between opening of Views. XAF will automatically support column header filters once this capability is introduced in the underlying Blazor Grid control.
Property Editors
Our new Color Property Editor will allow you to customize scheduler resources. We also want to support icons in the Enumeration and Boolean Property Editors - this is helpful to distinguish various event states, priorities, and mode.
Main Menu Toolbar
We expect to improve usability for important CRUD operations within XAF’s Blazor UI (creating and saving new records). We want to remove New Action from the root DetailView and ListView. Instead, we want to add an always visible 'Quick Create' Action in the top right corner. Nested ListView toolbars must preserve New Action, as its necessary to add new child records to the aggregated collection. You can vote for your favorite option in the comments section of this SC ticket.
We will also add Save & New and Save & Close Actions to the root and popup DetailView (like XAF WinForms/WebForms counterparts).
Finally, we will add Next Record/Previous Record Actions to help improve navigation (a part of the RecordsNavigationController and "Tools" Action Containers in the top right corner.
Image Pack
We will introduce colored icon support within the main menu toolbar (instead of dark images used today). We will either reuse existing XAF WinForms SVG images or create a new image set from scratch. We will also improve the image picker in the Model Editor and migrate our XAF Blazor image set to the DevExpress.Images library. Finally, we will also support icons in layout tab groups and the view header (much like XAF WinForms/WebForms counterparts).
Form Layout End-User Customization
Thanks to its rich set of runtime UI customization options (for developers and end-users alike), XAF's WinForms UI allows you to address changes in business requirements without the need for redeployment. We expect to introduce similar capabilities to XAF’s Blazor UI.
Form Layout Customization API
We expect to add necessary APIs to access XAF Blazor’s Layout Manager, our DxFormLayout control, and to programmatically customize layout groups and items (again, similar to what’s currently available in WinForms/WebForms.
SaaS/Multi-Tenancy
We will simplify the creation of multi-tenant XAF Blazor apps (and may introduce the same for XAF WinForms should user demand exist) that target a single database or a database per tenant (example #1, example #2). We hope to make this possible with a few declarative lines of code and a new reusable module (instead of writing hundreds of lines of code). Please also review our SaaS-related survey below.
Before I move onto cross-platform enhancements, a quick reminder…XAF is fully extendable framework/constructor. You can incorporate Blazor and DevExtreme UI components, and by extension, customize XAF’s default UI today: More customization tips | Blazor UI (FAQ).
Cross-Platform Enhancements
- We expect to introduce Entity Framework Core 7 (EF Core 7) support in our v23.1 release cycle. EF Core 7 is the latest version of Entity Framework. While EF Core 7 offers numerous advantages over its predecessor (performance and customization included), it also introduced a series of breaking changes that we will need to address.
- We expect to support Middle Tier Security for EF Core 7 (for WinForms and non-XAF apps). As part of this effort, we hope to ship a new DbContext type and allow you to secure remote connections to a data store from .NET clients. This capability is especially helpful when developing mobile .NET MAUI and Blazor WebAssembly client apps (which cannot have direct database connections due to security considerations).
- We will enhance our Application Builders API to address advanced usage scenarios such as integrating a custom connection provider, customizing existing Object Space Providers, etc.
- We will enhance Dependency Injection support in XAF Blazor/WinForms and our Web API Service. With this addition, you will be able to inject arbitrary services into XAF Controllers and business classes; WinForms apps will also have access to IServiceProvider – much like ASP.NET Core Blazor apps. This capability should simplify many customer customizations, because they will be available in a cross-platform module:
public class TaskActionsController : ObjectViewController<ObjectView, DemoTask> { [ActivatorUtilitiesConstructor] public TaskActionsController(ITaskActionsService taskActionsService) { TaskActionsService = taskActionsService; } protected ITaskActionsService TaskActionsService { get; }
- We expect to add 5-10 new automatic Code Diagnostics. We hope this will save you time in Visual Studio or validate build quality using your CI/CD workflows. If you have not yet enabled these pre-built code & project error diagnostics, we strongly recommend that you do so for your .NET 6 projects.
Web API Services for XAF & Non-XAF UI Clients (Powered by EF Core & XPO ORM)
As you may already know, we officially released our Web API Service in 2022. Our first release included FREE basic CRUD functionality. Our second release introduced many highly-requested paid features in v22.2 (including audit trail, validation, reporting, file attachments, localization, and non-persistent object support). To learn more about our Web API Service and determine whether it can be of value within your organization, please review the following blog post: Common Questions about the New DevExpress Web API Service (powered by Entity Framework and XPO ORM).
v23.1 will be a service release for our Web API Service (we need to catch up with documentation and usage example updates). This notwithstanding, we will implement the following popular requests from our customers:
- Swagger Schema Support (if you cannot wait for our implementation, check out the following custom solution).
- Batch Update Support (aka OData Batch Processing).
- Publish .NET MAUI and Blazor WebAssembly examples (or you can follow our video series).
Your Feedback Matters
Thanks,
Dennis Garavsky
Principal Product Manager
dennis@devexpress.com