Search This Blog


Wednesday, April 1, 2015

Minor improvement to the Model Editor with regard to the selection of default Views for a type or editor in v14.2.7

This is something I needed myself several times and what was also requested by several customers in the past. Hopefully, you will find this new capability helpful for your project as well.

In v14.2.7, you can select a View designed for the base business class from the combo box when editing the following properties in the Model Editor:


The list displayed in the compo box is sorted according to the inheritance hierarchy:

This improvement was added in v14.2.7 based on the requests from our users.

Importing administrative or shared model differences via the application UI is possible in v14.2.7

We continue empowering one of the most popular features among our users, which we backed into the standard framework delivery in the v14.2 major release - Persisting UI Settings in the Database.
At this time, I would like to announce the implementation of the ModelDifferenceDbStore - Make it possible to import shared model differences from the application UI request created based on the great feedback of our users:

The ModelDifferenceViewController now includes the ImportSharedModelDifferenceAction Action.

This Action loads shared model differences created in Visual Studio (the Model.xafml file) to the Shared Model Difference object.

Refer to the eXpressApp Framework > Concepts > Application Model > Model Difference Storages documentation to learn more on this cool stuff. 

Thursday, March 26, 2015

Beware of the NullReferenceException when executing a ParametrizedAction with TabbedMDI in v14.2.6

I would like to pay your attention to the ParametrizedAction throws the NullReferenceException when TabbedMDI is used issue, which you may encounter in the version 14.2.6

Turning off the tabbed MDI mode can temporarily help you avoid this error, but this is not very suitable. So, I strongly recommend you download a patch from here.

Please accept sincerely apologies from our team for all the inconvenience here.

Wednesday, March 25, 2015

Save & Close again: To close, or not to close: that is the question - YOUR FEEDBACK IS NEEDED!

Just a quick help request to you, guys...
There was one point regarding the behavior described in my recent post at
Corrected Save & Close Action behavior on the Web in v15.1, which we were not very sure about:

#2. If the DetailView was first opened in the View mode from a root ListView, then switched to the Edit mode by an end-user via the Edit Action, then Save & Close will save the changes and return you back to the View mode instead of closing and showing the source ListView.

We received only a couple of comments on this very point and since this change is not very important to us, we wanted to make sure the new behavior meets the needs of the most users. So, I would kindly ask you take a minute to leave a comment to my blog post on the desired behavior you would like to see in this situation. Thank you in advance!

I personally tend to think that this should be a real "close" result = navigating back to the ListView regardless the DetailView was in the View mode before or not. But you may disagree and consider this as navigating back to the previous view state in the stack...who knows...

Determining whether a security user belongs to a certain role in code becomes a bit easier

As you probably know, we already have a built-in solution for checking this condition within criteria - IsCurrentUserInRole criteria function (learn more from my blog...).
Doing the same in C# or VB.NET code is also possible with LINQ or a simple 'foreach' (through the SecuritySystem singleton), it would still be great to have a more straightforward and built-in method for this common task, especially for newbies.

Good news is that starting with version 14.2.7, this task can be done more easily. Let me quote the provided solution details from this Support Center thread:

Now, you can determine whether a user belongs to a certain role in code using the IsUserInRole extension method. This method is available for both ISecurityUserWithRoles (new Security System) and IUserWithRoles (legacy Security System) user types.