Quantcast
Channel: XAF Team Blog
Viewing all articles
Browse latest Browse all 148

XAF v23.1 — June 2023 Roadmap (Cross-Platform .NET App UI & Web API Service)

$
0
0

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. 

The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This blog post and the features/products listed within it are subject to change. You should not rely or use this information to help make a purchase decision about Developer Express Inc products.

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 #1example #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:

Your Feedback Matters

Thanks,
Dennis Garavsky

Principal Product Manager
dennis@devexpress.com


Viewing all articles
Browse latest Browse all 148

Trending Articles