After more than 20 years of programming and three years of developing with XAF, a new version coming up makes me some tickle tummying feeling.
In this review, I will write what I think about the new features found in 13.2 beta release and their application in real life, at least in mineJ!
Validation support for Warnings and Information.
Not all validations are mandatory, and XAF now extends its implementation into a wider field, introducing warning and information validation
The concept is very simple:
Warning validations are like error message, but it lets the user choose to ignore them
Many times in RWA (Real Word Application) you have to deal with legacy data and mandatory validation may be too strict.
XAF new implementation of new warning and information validation may assist you and make the transition from legacy data smoother.
And starting from 13.1 (with Multiple Record Editing in List Views), you can have a good visual feedback of what’s wrong.
To conclude, you can start your implementing warning validation as an initial step, and after the user’s interaction and testing, this validation can be turned into compulsory, without recompiling, only using Runtime Model Editor
How many times do new requirements arise after initial deploying? How many times does a customer request to store some additional data? How many times does our customers ask for a calculated listview column?
This new feature let you expand your application even more!
You can add a persistent member (and the corresponding BO field will be created automatically in your database) or a calculated one (persistent alias), including all the power of Free Joins to query unrelated data!
Besides, this possibility let your customize your application even more, resulting in a happy user J
However in 13.2 version (it’s beta), it is not possible to create a complete new BO in runtime, a desirable alternative for a complete runtime customizing experience.
New Reporting Module (ReportModuleV2)
Our business is beyond application development and implementation, so reporting is one of our after-sale tasks and our goal is to make it easier, more flexible and productive.
This new feature (my favorite one), lets XAF applications create reports in Visual studio and have a full XtraReports experience.
In runtime, you will see Edit, Delete and Design Action disabled for these kind of reports, only Execute action will be available.
However, end users can copy and use it as a template for their own reports! With the ‘Copy Predefined Report’ Action, they can create reports based on your design-time reports.
The new report module offers two design-time data source options,
- CollectionDatasource (similar to previous version)
- ViewDataSource, new light-weight component that let your report load only needed properties instead of a complete BO hierarchy
I have run a few simple raw tests with some real data (3000K records table with 7 fields)
of a report listing only 3 properties of a total of 7, about 50K records filtered at server side, and 7K records at client side.
You can see noticeable improvement in memory usage.
Also you can see that ViewDataSource is faster than CollectionDataSource
In my test I have found that V2 CollectionDataSource performance is similar to the older V1 Reports module.
Finally, the XtraReports Suite is now fully integrated with XAF, some new 13.2 XtraReports features are ready to use, as the “Preprinted Forms” feature, that let you generate reports based upon the design of pre-printed forms with pinpoint accuracy, a common task in business applications.
Conclusion: when you deal with large datasets, ViewDataSource is a nice feature to try! This results in faster user responses and less memory consumption, a very important issue in multiuser web deployments.
Also, XtraReports integration opens a new world of features to the XAF developer!.
But there is more!
As XAF is part of the Universal Subscription you have a lot of components to enjoy, and some goodies are inherited from Dxperience without any efforts into XAF, like these new Visual Studio inspired themes.
The following is an example of the Visual Studio 2013 Blue Theme.
Other 13.2 components may require some coding to integrate them, but they look promising for a XAF application:
As in all beta releases there is room for improvement, but XAF development is getting better, and 13.2 version looks promising and is focused on making a developer’s life pleasant = happy final users!.
About the Author
He is an active member of the Xpand Framework the first open source project based on the DevExpress XAF