Interesting Support Tickets
- Core - Check what filters are applied to a List View and determine at what level records are filtered (T887288)
- Core - Display the SaveAndNew Action while the New Action is hidden (T876061)
- Core - Solution Explorer now shows Model Editor-related context menu items if a solution with multiple projects contains non-XAF-based projects at the top inside the SLN file (T887105)
- WinForms - Specify a keyboard shortcut to focus the Accordion search panel (T878952)
- WinForms - Filter data in a List View that is already displayed in a tab when UIType = TabbedMDI (T875296)
- Security - Optimize SQL queries when using SecuredObjectSpaceProvider in an OData ASP.NET Core service (T873791)
- Security - Object permissions now correctly filter out records in a List View with non-Client data access modes and aggregate functions like Sum, Avg, etc. (T884593)
- ASP.NET - Show ASPxHints for controls in the tabbed UI (T888332)
- ASP.NET - Show the Edit button of the ASPxGridLookupPropertyEditor when this editor is disabled (T885308)
- ASP.NET - Update AboutInfoControl in the main window's footer after a control value is changed at runtime (T884616)
- ASP.NET - Change a caption of a logged user in the application header (T884868)
New and Updated KB Articles
- Core - FAQ: Model Editor for .NET Core and .NET Standard (CTP)
- Core - How to port an XAF platform-agnostic module from .NET Framework to .NET Standard 2.0+
- Blazor - FAQ: XAF ASP.NET Core Blazor Server UI (CTP)
- WinForms - How to Use the Gantt Control to Display a List of Tasks
- Security - FAQ: XAF User Authentication and Group Authorization API for DevExpress XPO and Microsoft Entity Framework Core ORMs
- Security - How to generate database updater code for security roles created via the application UI in a development environment
- QA - How to unit test custom logic in XAF/XPO business classes
- QA - How to integrate XAF functional testing with Continuous Integration systems like Azure DevOps
- XPO - Recommended Xamarin Linker Options
- XPO - Database Schema Migrations (CTP)
- XPO may throw InvalidCastException or SqlExecutionErrorException if parameter types (for update/read queries) do not match database column types
- XPO may throw OverflowException if String or Byte Array value length (size) is greater than the maximum allowed database column size
Documentation Updates
Asynchronous Data Loading (CTP)
GridListEditor in Client DataAccessMode and DetailView can now load data asynchronously in XPO-based apps. The UI continues responding to user actions as data is being retrieved. The following new topics describe how to enable this feature and customize it in your application:
Non-Persistent Object Enhancements
NonPersistentObjectSpace now tracks changes for non-persistent objects and supports filter and sort operations in List Views. Also, a parent NonPersistentObjectSpace reloads and disposes of its inner Object Spaces. You can find more information in this help topic and new GitHub examples:
- How to filter and sort Non-Persistent Objects
- How to implement CRUD operations for Non-Persistent Objects stored remotely
- How to refresh Non-Persistent Objects and reload nested Persistent Objects
Action Permissions (CTP)
The Security System allows users to prohibit execution of both custom and XAF system Actions in WinForms and ASP.NET applications. For more information, read our help topic or watch the following video.