Community News
- Check out two new blog posts on unit testing from Manuel Grundner (DevExpress MVP):
T is for Testing: XAF & XPO - Builder Pattern 1 | T is for Testing: XAF & XPO - Test Data 2.
These posts will be interesting for those creating complex apps with XAF. - The eXpand Framework, managed by Apostolis Bekiaris, continues to release new platform-agnostic packages for XAF: http://xaf.expandframework.com/. eXpand’s new ProgressBarViewItem and HideToolBar add to the dozen plus low-dependency modules managed by Apostolis. Note: If you have not reviewed eXpand recently, you should definitely take a look at its new modules…they are smaller, include documentation, and ship Azure unit tests (Apostolis has also added usage examples, videos and troubleshooting info). Give it a try and please share your thoughts with us.
- A new version of XAFARI with full support for XAF v19.1.3 is available (DevExpress updates are slightly ahead of XAFARI versions). As you may know, Galaktika Soft has been providing paid reusable XAF modules with documentation and support services for more than 5 years.
- A new case-study about a Human Relation Management solution using XAFARI and XAF is available here. We also published XAF case studies from two other loyal XAF users last month: Case Study 1 | Case Study 2.
- We asked our customers about their thoughts on Blazor and received numerous comments. Since our ASP.NET team is fully committed to the Blazor platform, we are investing how Blazor can be used with XAF. We may modify our React-based SPA UI strategy and focus our efforts on Blazor going forward (our initial impression is that Blazor better fits the long term needs of our customers). We will publish additional info as it becomes available.
Documentation Updates
- Our tech writers are working hard to make certain that each popular class and member help topic includes a helpful code snippet. Here are the XPO API updates - more than 20 examples with overloads:
Session.ExecuteNonQuery | Session.ExecuteNonQueryAsync | Session.ExecuteQuery | Session.ExecuteQueryAsync | Session.ExecuteScalar | Session.ExecuteScalarAsync
Session.FindObject | Session.FindObjectAsync | Session.GetObjectByKey | Session.GetObjectByKeyAsync - If you’ve never tried XAF, please be sure to review our introductory online tutorial – it should give you a solid understanding of what’s possible with XAF: Basic Tutorial.
- New Office module help topics:
Office Module Overview | Use Spreadsheet Documents in Business Objects | Access the SpreadsheetControl | Access the RichEditControl - Everything XAF developers should know about modern Splash Forms for their WinForms apps:
Manage Splash Forms in an Application | Customize Built-In Splash Forms | Create and Show a Splash Form
Use a Custom Class to Show a Splash Form | Localize a Splash Form - Learn how to configure custom XAF WinForms templates for the best possible performance via the WinApplication.RunSetupInNewThread option available in v19.1:
How to: Create a Custom WinForms Ribbon Template | How to: Create a Custom WinForms Standard Template
XafApplication.CreateCustomTemplate | CreateCustomTemplateEventArgs.UseDefaultTemplate - Recommended ways in which to bind data grids and other data-aware controls to XPO data (for WinForms and WPF): XPBindingSource Class.
- As you may already know, the parameterless IObjectSpace.CreateObjectSpace() method was hidden from Intellisense. We have also updated many XAF GitHub code examples with the recommended CreateObjectSpace(Type) overload so you can derive best practices from them.
- To avoid NullReferenceException in advanced multi-threading scenarios, check if your INotifyPropertyChanged implementation uses the null-conditional operator (?.) in C# 6. With We have updated our docs and Item Templates accordingly (XAF v19.1.4).