eXpressApp Framework — Early Access Preview (v20.2)

XAF Team Blog
25 August 2020

As you may already know, we are a couple of months away from our next major update (v20.2). This post details some of the features we expect to ship in November – features you can test today when you download and install our Early Access Preview build.

Active Universal subscribers can download the Early Access Preview (EAP). If you own an active DXperience Subscription and would like to learn more about XAF, you can explore the features described herein by logging onto the DevExpress Download Manager and installing this EAP build in trial mode. Once you do, please take a moment to tell us whether these new features address your business needs. This will help us fine-tune our code before official launch.

Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds.

This EAP may not include all features/products we expect to ship in our v20.2 release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.

Blazor UI: Report Viewer

The Document Viewer is now available in XAF’s Blazor UI. You can display, print and export Reports created at design time.

Note: This feature has not been integrated into the Solution Wizard in this preview build. Feel free to download our Blazor demo to explore its capabilities: Download | Run Online.

Blazor UI: EF Core Support

Blazor UI can now use EF Core data models. The following example demonstrates use of EF Core with XAF’s Security System: XAF Blazor UI with Entity Framework Core Data Model and Security System.

We expect to add the EF Core option to the Blazor Solution Wizard as a CTP (community tech preview) in our v20.2 release cycle.

Blazor UI: Other Enhancements

The following features were completed in our current release cycle. They are available in both v20.1 and v20.2:

Basic Tutorial

.NET App Security API for EF Core

We officially released the Security System API for EF Core. This update allows you to use XAF’s Security System with EF Core classes for non-XAF applications. In addition to basic CRUD Console and WinForms examples, we added the following training videos:

These tutorials include a quick review of our Security System API and also detail necessary app integration steps. Remember, XAF’s Security System can be used by DevExpress and non-DevExpress customers alike – so please do spread the word.

About | FAQ

Security: Action Permissions

Action Permissions offer fine-grain control over execution of both custom and XAF system Actions within the UI. Action Permissions support is now available for XAF’s Blazor UI. To see it in action, point your browser to the following online demo: Blazor Main Demo (Roles -> Users -> Denied Actions). 

Core: Non-Persistent Object Enhancements

We removed most of the differences between persistent and non-persistent/proxy objects for XAF. You can now edit non-persistent data in a nested/lookup ListView, define custom fields at runtime, filter/sort/validate data, and track changes just as you would for persistent objects.

To avoid boilerplate code, we incorporated the following API enhancements:

  • You can inherit from NonPersistentBaseObject with a key property, change tracking support and enforce best practices for non-persistent classes.
  • The new PopulateAdditionalObjectSpaces method automatically initializes the AdditionalObjectSpaces collection based on registered object space providers.

Documentation

Core: Model Editor for .NET Core and .NET Standard

Our Model Editor for .NET Core and .NET Standard now ships as part of the DevExpress .NET Framework Unified installer. It includes the following enhancements:

  • Visual Studio Color Theme mirroring;
  • Visual Studio keyboard shortcut support (F5, Ctrl+S, etc.);
  • Improved error dialog with copy support;
  • Wait cursor is displayed during long operations.

    Core: Feature Toggles

    We added a DevExpress.ExpressApp.FrameworkSettings.DefaultSettingsCompatibilityMode property to enable/disable feature toggles in a single place. You can choose whether to enable all new features after a version update or retain previous behaviors. Refer to the following article for additional information: Core - FrameworkSettings.DefaultSettingsCompatibilityMode sets default XAF configuration options and feature toggles.

    XPO: Database Schema Migrations

    The Generate Migration Script menu command within XPO’s Data Model Designer now supports External Types. If your ORM Data Model uses XAF classes from the DevExpress.Persistent.BaseImpl library (e.g., BaseObject) as External Types, you can now generate a schema migration script to implement incremental schema updates.

    Database Schema Migrations also include the necessary API to generate migration scripts in code: How to Use the Database Schema Migrations API.

    Breaking Changes

    Before you migrate and test existing projects, we ask that review the following breaking change(s) document: XAF's breaking changes.

    Your Feedback Matters!

    We realize beta-testing is a time consuming process and we are grateful to those who invest time with our preview builds. Find the current implementation lacking flexibility? Feel we've overlooked a valuable usage scenario? Does our current implementation fail to address your business requirements? Please post your thoughts in the comment section below or create a Support Center ticket. We will happily follow-up and do what we can to extend the capabilities of our new products/features.

    Showcase Your Apps on DevExpress.com

    Highlight your business app and share your development experiences with the DevExpress community. To include your app in our upcoming App Showcase, please forward an application screenshot to clientservices@devexpress.com and tell us which DevExpress products you currently use within your organization.
    10 comment(s)
    Marc Greiner (DevExpress MVP)
    Marc Greiner (DevExpress MVP)

    Lots of exciting news, especially those related to .NET 5 and Blazor! Thank you for sharing this!

    Please let us know about the loading duration/performance of the new (Core) Model Editor.
    At the moment, it can take up to 40 seconds or more to load from within Visual Studio.

    When opening the model via the running XAF app "Open Model" action, it loads in a few seconds.
    Is the loading duration of the new (Core) model Editor comparable to this?

    28 August 2020
    Alex Gn (DevExpress)
    Alex Gn (DevExpress)
    Hello Marc,
    Our new (Core) Model Editor is still under development. We are fixing all issues that interfere with its correct work. We also plan to enhance its performance. Please note that the run-time Model Editor is always faster because its model is created on an application setup, while the design-time Model Editor creates the model each time the Model Editor is opened.

    2 September 2020
    HEUNGGI LEE
    HEUNGGI LEE

    I hope I can use blazor xaf with current xaf asp.net (add new mobile project to current big xaf asp.net project)

    I have to use mobile platform.

    Is it possible to expect this scenario?

    Thanks,


    5 September 2020
    Dennis (DevExpress)
    Dennis (DevExpress)

    @HEUNGGI LEE: XAF's Blazor Server UI already supports mobile browsers. If this does not meet your needs, please describe your requirements in greater detail in the DevExpress Support Center.

    6 September 2020
    Christian Andersen
    Christian Andersen
    This is really interesting information, is there any plan on when the whole XAF Blazor solution will be supporting all the "standard" XAF features? I am helping a customer out and we are considering a "Strangler Fig Application" operation on their current system and replacing it with a XAF solution. We would of course like to use the Blazor solution but features requests like Audit Log, AD login and such are keeping us from boarding this solution just yet and we will properly be using the "old school" XAF. Will this be easily portable in the future or what are the future plans and timelines for rolling out all existing features?
    10 September 2020
    Dennis (DevExpress)
    Dennis (DevExpress)
    @Christian: Audit Trail, Security, Validation, View Variants, File Attachments modules and many other standard features are already supported in XAF's Blazor UI in v20.1. Active Directory or OAuth authentication support is added to the Security Module in v20.2.

    If you wish, we can give you the installation for early testing. Please let us know if you need other features. You can also consult with our 2020 roadmap.

    It is also possible to port existing XAF apps to Blazor. For more information, please review the "Will it be possible to convert existing XAF applications to Blazor UI?" section at FAQ: XAF ASP.NET Core Blazor Server UI (CTP).
    10 September 2020
    Randy Jean
    Randy Jean
    Are there plans for XAF Winforms new solution template to use .NET Core/.NET 5 as the target runtime?  If so, that would probably be the point where I would seriously look to porting my existing XAF Winforms from .NET Framework.
    14 September 2020
    Jacek Kosiński
    Jacek Kosiński
    Dennis how to use OAuth in xaf blazor ?
    14 September 2020
    Dennis (DevExpress)
    Dennis (DevExpress)
    @Randy Jean: XAF shipped the .NET Core 3 WinForms since v19.2 and ASP.NET Core Blazor Server templates since v20.1. We also published migration articles in our online documentation and KB. How does it meet your needs or what is stopping you?

    @Jacek Kosiński: If you refer to my last webinar teaser about the Google, Microsoft or GitHub authentication providers, we will publish online documentation for this functionality after the v20.2 release. If you mean anything else, please elaborate more in the Support Center or in comments.
    14 September 2020
    Jacek Kosiński
    Jacek Kosiński
    Dennis, i mean last webinar teaser 
    14 September 2020

    Please login or register to post comments.