I'd like to preface this blog post with a recent quote from one of our loyal XAF users - Mario Blataric. He was an active beta tester in this release cycle.
Here is what he wrote in an urgent DevExpress Support Center ticket: T460839 - Urgent, need to share 16.2 excitement !!
"I know I can be hard customer sometimes with loads of tickets, so in the light of 16.2 release and near the end of 2016, I would like to do something different for a change. I would like to express my excitement about 16.2 release. I have been using alpha and beta rather intense in both Win and Web platforms and I can not remember when so many goodies were coming in single release. It is possible that this time many more things affect me than usual, but never the less - I absolutely love 16.2. Let me just quickly mention several things that excite me the most:
- startup improvements of Win application (model caching)
- ability to custom group Actions in model (as well as other nodes separately)
- ability to edit reports (massive excitement generator - please make sure reports team get this one :-))
- improvements of new web ui and color schemes
- navigation permissions and PermissionPolicy (ok, PP is not 16.2 - but it got my attention in combination with navigation permissions so it is just a bonus)
- InstantFeedback mode - I love it!
- improved filter control on web - real beauty
- mobile support (not born in 16.2, but got serious enough to take my attention)
- Visual Studio 2017 support (another nice bonus)
- and basically everything else. Some seriously amazing stuff was done for 16.2 - huge cudos!
Also, I would like to express my deepest gratitude for support you provided in last couple of months helping me with some long-term issues I could not squash for months or even years. So, thank you for that.
Best regards and keep doing amazing job, Mario"
We appreciate those of you willing to migrate your apps to our most recent builds. As I'm sure you can appreciate, feedback goes a long way to making our product more stable and easier to use.
With that - let's take a quick look at the newest features shipping inside XAF v16.2.
New Dashboards Module (Windows and Web)
You can now leverage the flexibility of DevExpress Dashboard to create interactive decision support systems for Windows and the Web. We considered previously available custom solutions for the most popular dashboard scenarios (see this Support Center ticket) and determined that our best path forward was to deliver a universal Dashboards module. This built-in module should reduce the work and complexities associated with the integration of the DashboardViewer/DashboardDesigner and ASPxDashboard components into your next XAF-based WinForms and ASP.NET app.
If you're reading to give this new module a try, I suggest you start with our online documentation at Dashboards Module as well as XCRM and Feature Center demos.
Before I continue, I want to take a moment and emphasize that this new feature is a perfect example of what XAF is and how it's developed. Technically, XAF is a set of best practices and proven solutions - This set it finite as are our resources, but you are still "safe" and not "locked in". That is because you can always implement custom requirements, if a control or feature is currently unavailable - our team has done its best to ensure that the Framework is flexible and extensible. When we see high demand for a feature or we develop a better understanding of usage scenarios, new solutions typically get baked into the standard delivery.
Permissions for Navigation Items and Groups
With v16.2, you can grant or deny access for specific navigation items and groups in the Navigation Permissions tab of the PermissionPolicyRole Detail View:
Much like Dashboards, we have also reconsidered and integrated previously available custom solutions into our standard delivery. Take special note that this new feature is available only for permission policy and the PermissionPolicyRole class added in v16.1.
If you are still using SecuritySystemXXX classes, you might want to consider the following migration guidelines:
How to use the Allow/Deny permissions policy (aka the PermissionPolicyUser and PermissionPolicyRole classes) in the existing project.
If you're using Entity Framework and want to upgrade from v16.1 to v16.2, please review the following KB article:
How to: Add Navigation Permissions to an Entity Framework Application Created with XAF 16.1
Criteria Editor Enhancements (Web UI)
XAF's ASP.NET Criteria Property Editor now supports many of the features available in its WinForms counterpart, including:
- ability to display full object hierarchies, including members of reference and collection properties;
- use of built-in XAF editors for value types that don't have a native editor;
- ability to edit criteria as a string;
- display user-friendly criteria strings within the grid footer.
This feature is very helpful when configuring security permissions with criteria and a variety of other data analytics scenarios (e.g. with Pivot Chart - your end-users will love it!). Our wrappers around the DevExpress ASPxFilterControl also expose a number of options which you may want to tune based upon your business requirements (see the updated Concepts > Business Model Design > Data Types Supported by built-in Editors > Criteria Properties help article for more details).
Mobile Platform (CTP) Enhancements
We continue to focus energy on our new mobile UI, and in this release, we've incorporated the following enhancements:
- Improved look and feel, with new UI layouts optimized for desktop and tablet devices. What do you think of the new blue design, btw?
- Application Simulator no longer requires an internet connection. Previously, XAF users required to connect to our Azure-hosted web site for testing, which was not always convenient.
- 'Active' and 'Enabled' action states are now context-dependent, i.e. can be updated depending on whether the currently selected list or detail record matches some criteria.
We have also fixed a series of issues for improved stability. This mobile UI is still available as a CTP, because we have a number of things in our TODO list for the final release. These include: simplified localization, easier custom control integration and better support for extended modules like maps, reports, etc. Check out the links below to learn about what we ship in the box or how to add the same functionality to your next project:
I'll have more to share about XAF v16.2 in a subsequent post. In the meantime, I'd love to get your feedback on these new features.
Happy New Year!