XAFers Community Standup. LIVE QNA

Date and Time: October 8th 2020 10:00 am (GMT -7) Arizona Time

XAF’s PM will answer audience questions

.NET Virtual User Group

Seattle, WA
936 Members

Are you a .NET developer or interested learning how to build apps across web, mobile, desktop, server and more with .NET? Then you are in the right place! The .NET Virtual Use…

Next Meetup

Building a .NET Application Using Azure Cosmos DB

Monday, Nov 9, 2020, 4:00 PM
54 Attending

Check out this Meetup Group →

Tentative Agenda: 

  • Introductions
  • Announcements
  • Questions
  • Teasers

Questions to Discuss

Sometimes lookup editors or form headers display a fully-qualified name with a key value: MyNamespace.Module.BusinessObjects.MyClass(d84aa5e4-1b7c-4203-b945-cd2d4689e3d4). Why is that and how to fix it??

It means that your business class does not have a default display property. By default, XAF tries to find a “Name” property and use it.

If it is missing or you want to use another display property, Just decorate your business class with XafDefaultPropertyAttribute as described at here. This is a must-have procedure for every business class.

How can I avoid a design-time error when opening a designer for a ViewController or WindowController?

The following design-time functionality is not available because of the changes to Visual Studio’s designer architecture in .NET Core/.NET Standard projects: Module and Application Designers, Controller & Action designers, EasyTest debugging commands, report and dashboard designers, WinForms user control and form designers. You can perform related tasks in code:

Is it possible to create a VB.NET Blazor UI application?

DevExpress do not ship a VB.NET project template for Blazor UI. A VB.NET Blazor application cannot be created since this functionality is not supported by Microsoft: Support VB.NET in ASP.NET Core 3.0 and Blazor. You can attach your VB.NET modules converted to .NET Standard 2.0 to a C# Blazor application.

Is there any getting started tutorial for XAF’s Blazor UI?

Yes, check the new tutorial at

https://docs.devexpress.com/eXpressAppFramework/401943/getting-started/basic-tutorial-blazor-simple-project-manager-application?p=netcore and also an overview video at https://youtu.be/cNFR0ukILJM

How can I use XPO/XAF business objects to access data outside of my XAF app?

 XPO tutorials for different .NET platforms at https://github.com/DevExpress/XPO/tree/master/Tutorials

Examples for XPO and EF Core with XAF’s security system in https://www.devexpress.com/products/net/application_framework/security.xml.

And even more scenarios are covered in https://supportcenter.devexpress.com/ticket/details/q94961/how-to-reuse-xaf-views-and-other-standard-module-functionality-in-non-xaf-apps-forms-or

OData, WCF, XPO Web API it would be one choice, you can also implement your own following this https://github.com/DevExpress…/xpo-json-serialization or even use GraphQL as seen here https://www.jocheojeda.com/…/exposing-your-xpo-orm…/

Web API Data Stores

https://docs.devexpress.com/XPO/402182/connect-to-a-data-store/transfer-data-via-rest-api?v=20.2

How can I create both XAF’s .NET Core WinForms and Blazor apps, does the Solution Wizard include such an option?

At the moment, XAF’s .NET Core WinForms and Blazor templates and assemblies are distributed in separate installers: https://www.devexpress.com/Products/Try/

These installers in the future should be merged in the future, and if this happens, we will have an option to create both UI within the same solution automatically.

In the meantime, you can use standalone Solution Wizard templates and manually include projects from one solution into the other.

What do you recommend to learn XAF faster?

  • Search DevExpress support knowledge base, online documentation and Code Examples using search.devexpress.com and Google;
  • Research the source code of demos, examples and XAF itself (we ship the full source code and you can derive best practices or find many examples unavailable in docs).
  • Study XAF’s UI Infrastructure and Elements that Wrap Underlying Components.
  • Community

For more information, see https://www.devexpress.com/products/net/application_framework/xaf-considerations-for-newcomers.xml.

Best Practices and Known issues in v20.1.7 and v20.2 Beta to be aware of:

Core – The IObjectSpace.ObjectChanged event is not raised in response to the editor’s ControlValueChanged event

Make sure that you follow this best practice: PropertyChanged Event in Business Classes. Although you can temporarily restore the previous behavior using DetailView.RaiseObjectChangedOnControlValueChanged, It is strongly recommended you fix your data model to follow the best practice – it will save your time and improve application performance in other places in the future.

https://supportcenter.devexpress.com/ticket/details/t929984/winforms-a-focused-editor-s-value-is-not-posted-or-reset-after-clicking-save-when

Set the WinApplication.UseOldTemplates property to False at startup. This property is set to True only in existing projects created before v14.2. The Solution Wizard enables new templates for all XAF WinForms applications created in v14.2 or later. We recommend using new templates when possible. We no longer fix bugs and develop new features for old templates.

XAF’s Blazor UI has a known issue with Azure deployment in v20.2.2 Beta. We are already testing a fix for the final release. In the meantime, it is also possible to deploy XAF’s Blazor apps on premises with IIS or nginx.

What is new in 20.2

Breaking Changes in v20.2 to be aware of:

  •  API T923425  – Blazor – The Security System is initialized as a service in ConfigureServices instead of BlazorApplication
  •  API T932556  – Changes in the DevExpress.ExpressApp.EFCore NuGet package
  •  API T923722  – Core – FrameworkSettings.DefaultSettingsCompatibilityMode sets default XAF configuration options and feature toggles
  •  API T927658  – Security – Certain exceptions for prohibited rules are changed to user-friendly exceptions
  •  API T932594  – The DevExpress.XtraScheduler.Core assemblies for .NET Core 3 (WinForms & WPF) and .NET Framework apps have been split
  •  UI T929217  – Core – ListView may throw exceptions when a public key property is missing in a business class
  •  UI T901286  – Security – Protected content text changed to asterisks
  •      T928991  – Old Mobile UI (Maintenance Mode) Deprecation

 

More Questions from the Community

  1. XAF can be so complicate to customize simple tasks like adding a item to the menu or customizing it.
  2. Will the web version be able to scale to a mobile device? Also, how does this all play with Azure?
  3. XAF Blazor – Application.ShowViewStrategy.ShowMessage(new MessageOptions() { Message = “Boom” });
  4. How to update the end user application (like installer wise client side)?
  5. How to incorporate components made into a pure blazor project, in blazor xaf?
  6. Sharing security system between several XAF applications
  7. How to add CSS classes to elements in XAF Blazor?
  8. Can we use XAF Blazor in .Net 5 Today?

More Answers

      1. Sometimes, even dragging and dropping controls on a form manually can be slow. At the same time, adding and customizing menu items in XAF can be fast even for multiple UI platforms:  https://docs.devexpress.com/eXpressAppFramework/112737/getting-started/comprehensive-tutorial/extend-functionality/add-a-simple-action. It all depends on use-case scenarios and UI requirements that are prevailing in your application.
      2.  XAF’s ASP.NET Core Blazor UI supports both desktop and mobile web browsers. Please test it at https://demos.devexpress.com/XAF/BlazorDemo  And Yes, you can deploy XAF’s Blazor UI on Azure and on premises using both IIS and nginx: https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/server

Spanish Notes (XAF UI – Showcase)
-El layout de los controles para un detailview se me hizo muy feo.
-Usar otros componentes desarrollados por mí e integrarlos.
-Ya se me hace un poco acartonada, por no decir fea, la interfaz
-Si también pudieras abordar después un poco temas de rendimiento, una aplicación web con por ejemplo 10 entidades, cuántos usuarios simultáneos podría tener interactuando. Escalabilidad y Performance en XAF.

Posted in XAF

Leave a Reply

Your email address will not be published. Required fields are marked *