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

XAF — Enhanced Navigation & Grid in Blazor, Audit Trail & Download Report / Media Data in Web API (v22.2)

$
0
0

If you followed our XAF plans for the first half of the year, I hope you will agree that v22.1 was a meaningful release as we've implemented almost everything planned. In this post, I’ll discuss plans for our XAF v22.2 release. 

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.

Web API Services for Non-XAF UI Clients (Powered by EF Core & XPO ORM)

As you may know from my recent post, everyone can (for free) create an OData v4 Web API Service with integrated authorization & CRUD operations with a few clicks using our Solution Wizard in v22.1. Yes, these basic capabilities are available free-of-charge. For more information, check out this overview video:

v22.2 will extend Web API Service capabilities for active DevExpress Universal Subscribers only (in other words, the following features will not be free):

  • Log database history changes using service endpoints (aka Audit Trail). With the api/MediaFiles/DownloadStream endpoint, you can download data from FileData, MediaDataObject, Image or byte array properties declared in your data models. Of course, this endpoint respects your security permissions.

  • Download PDF from report templates and filtered data in databases using service endpoints (aka Reports). With the api/Reports/DownloadPDF endpoint, you can download data from the ReportDatav2 containers stored in your database. Each ReportDatav2 links to an XtraReport, and report data sources and data models that you designed in Visual Studio. You can pass a report container identifier, data source criteria, and other parameters just like you do with the SetupBeforePrint method in code. Of course, this endpoint respects your security permissions.

  • Download BLOB data stored in databases using service endpoints (aka File Attachments). No data changes made via your ORM in Web API endpoints will be unnoticed. You can view this log history in your RDBMS or XAF's administrative UI for WinForms, Blazor, or ASP.NET WebForms. 

  • If you are an active Universal subscriber (or planning to become one) and want to check the state of input data in our Web API Service (with 10+ of built-in and unlimited custom validation rules), please contact us via the DevExpress Support Center. We will share our implementation considerations and even working samples for the current version. In other words, it is already possible to validate data using our Web API Service - we simply want to finalize this for production using your feedback.

ASP.NET Core Blazor UI

Enhanced Accordion & Tree-like Navigation

v22.1 ships with a new DevExpress Blazor Accordion component. XAF v22.2 we will integrate this component and support common control options (images, view variants, open items in separate browser tabs, etc). The final design will change a bit, but the following image should give you a sense of our implementation.

Inline Row Editing in the DxGridListEditor

We expect to enable inline row editing in our v22.2 release cycle (described here: Blazor Grid — Inline Row Editing (v22.1). We don’t think it makes much sense to support the edit form (popup or inplace) since it is not much different from XAF's built-in Detail View. Please share your project requirements if grid edit forms are a preferred data editing mechanism for your enterprise (you can submit your feedback via the DevExpress Support Center).

Split View like Outlook (aka MasterDetailMode = ListViewAndDetailView)

This feature is available in XAF’s WinForms & WebForms UI. The ListView displays a DetailView for a focused record alongside the same window (called "Compact View" in Microsoft Outlook). XAF’s implementation will be driven by the release of the DevExpress Blazor Grid focused row option (expected in our v22.2 release cycle).

Other Blazor Component Enhancements

Some of you may be asking - will XAF benefit from other enhancements expected in the DevExpress Blazor Grid (v22.2)? XAFers will get most of these features automatically (for instance, New Render & Size Mode Support), because XAF uses the same underlying Blazor components. Certain features will require us to write integration code:

  • Grid Export to Excel: we will extend our ExportController that includes Export To... Actions in List Views.
  • Form Layout OnDemand mode (lazy tab loading): we will have to customize XAF's Blazor Layout Manager to load the content of View layout tabs when a user selects them.

Chances are high that we will finish integration and testing of these features in v22.2 as many of them where prioritized based on XAF customer feedback

Cross-Platform Enhancements

Entity Framework Core 6 for Data Access in WinForms, Blazor & Web API Services

Support for Entity Framework Core 6 (EF Core 6) is expected in our v22.2 release cycle. EF Core 6 is the latest version of Entity Framework and has a number of advantages over EF Core 5: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew. Unfortunately, Microsoft introduced a number of breaking changes that we will need to address. We will not support EF Core 7 in 2022 unless strong reasons exist to do so (because this is NOT an LTS release).

New Pre-Built Code & Project Error Diagnostics

We enabled XAF/XPO error diagnostics (shipped as part of the DevExpress.ExpressApp.CodeAnalysis NuGet package) using the Project Converter (requires an upgrade to v22.1.5+). We hope this will save you time in Visual Studio or validate your build quality using your CI/CD workflows. We also want to extend our default diagnostic set with the following:

  • Internal ShowViewStrategy.ShowView calls instead of the recommended ShowViewInPopupWindow, ShowMessage, or using Actions;
  • UI platform-dependent references in cross-platform projects or UI platform-dependent reference mixing (for instance, WinForms in ASP.NET projects);
  • Detect redundant NonPersistentAttribute for readonly properties (non-public or missing setters), ExplicitLoadingAttribute for XPCollection properties, or IObjectSpaceLink in XPO classes (because there is already the Session property);
  • Incorrect XAF Controller instantiation like 'new DialogController()';
  • Missing default/display properties for business classes;
  • Missing change notifications inside XPO/EF data model properties (SetPropertyValue, OnChanged or INotifyPropertyChanged).

Your Feedback Matters

Thanks,
Dennis
Principal Product Manager
dennis@devexpress.com 


Viewing all articles
Browse latest Browse all 148

Trending Articles