March 2007 - Posts

XAF - Enhanced Office Module, Updated Learning Materials and More (v18.1.5)

Great news! XAF’s most recent maintenance release (v18.1.5) includes new features and updated learning materials (and of course, a few bug fixes).

New features

WinForms UI: Office Module performance enhancements

In our MainDemo app, detail forms with a RichTextPropertyEditor will now load in 0.6 sec in v18.1.5 as opposed to 2.3 sec in v18.1.4. Kudos to our WinForms team - they optimized the way in which menus are generated based on feedback they received from us.  Non-XAF forms and controls with complex menu structures will benefit as well. For the best performance, build your application assemblies under x86 and process them with NGEN as recommended in the following articles: A2670 | T1489 | WinForms Tips & Tricks - Boosting Application Performance.

As you may already know, our WinForms HTML Property Editor Module is now in maintenance mode. We recommend that you use our RichTextPropertyEditor instead of HtmlPropertyEditor for standard usage scenarios (for instance, when you wish to create email templates).

ASP.NET UI: IFRAME support 

You can now embed an XAF ASP.NET WebForms app into IFRAME. This new feature will help integrate CRUD and other common XAF functionality within non-XAF Web portals. For more information, review the following support article: Q443184.

ASP.NET UI: ASPxGridLookupPropertyEditor is out of CTP

Main functions are ready and both internal and public preview tests did not reveal any show stoppers. We do not expect breaking changes either. We recommend that you use this new editor for reference properties instead of ASPxLookupPropertyEditor.

Mobile UI: Enhanced masked input

Mobile numeric, text and date editors now support formatting and thus help users avoid input errors. The familiar EditMask and DisplayFormat attributes are now used instead of the deprecated attributes with the "Mobile" suffix. You should not notice any problems, though - thanks to our IModelXmlConverter mechanism. For more information, review the following support article: T459804

Updated documentation

IObjectSpace.CreateObjectSpace(Type) is better than IObjectSpace.CreateObjectSpace() 

A best practice is to use the CreateObjectSpace(Type) method overload when your application registers multiple Object Space Providers (for instance, when it uses non-persistent objects (NonPersistentObjectSpaceProvider) and/or connects to numerous databases). This recommendation helps avoid situations wherein XPObjectSpace unexpectedly appears instead of NonPersistentObjectSpace and vice versa. 

Module Designer vs Application Designer

Settings for required modules (e.g., ReportsModuleV2.ReportDataType) are not editable in XAF's Module Designer.  The latter simply registers required module types without instantiation. To modify these settings, use the Application Designer.

New Troubleshooting Guide 

Recently, several XAFers accidentally disabled a very important Visual Studio extension (DevExpress.ExpressApp.Design.CorePackage). As a result, they lost the Model Editor's functionality - XAFML files opened as plain text. 
The new Designers Troubleshooting Guide helps isolate this and other common problems with our designers and Visual Studio itself.

The following highly rated help topics will also be of use when troubleshooting issues:


Interesting Support Center tickets

  • Three long-time customers shared their general XAF experience and XPO performance best practices (T653665);
  • One of our customers shared his custom Windows PowerShell command (cmdlet) and scripts. His cmdlet uses XAF's Object Space and facilitates long-running administrative tasks (Q476407).
  • Bing may unexpectedly translate texts with special characters, e.g. edit masks or display formats. Please be careful when you accept suggested translations in the DevExpress Localization Service (T643572).
  • We described how to calculate running totals for ListView columns using a custom criteria function and PersistentAliasAttribute (T658623);
  • We demonstrated how to customize Mobile UI appearance using custom CSS and the MobileWindowTemplate’s RegisterClientScriptXXX methods (T657883).
  • We discussed how to control the visibility of dynamically generated custom fields in Views (T654705).

Find more interesting customer questions and product enhancements for your favorite products in the DevExpress Support Center (expand the "Frameworks (XAF & XPO)" group on the right) and What's New documentation (see resolved issues). 

We need your feedback!

What do you think about these new features and the new "Interesting Support Center tickets" rubric in particular? Drop us a line below, thanks.

XAF - WinForms SVG Images Support (v18.1.4)

One of our primary objectives in 2018 is to improve the appearance of XAF desktop apps on high resolution displays. To achieve this aim, we hope to redraw and replace all default XAF PNG icons with their SVG equivalents by the end of 2018. First however, we need to ensure that all XAF visual elements support SVG images themselves: menus and navigation elements, the DetailView layout groups and tabs, built-in property editors, form templates, etc.

To check our progress in this regard and to help us improve our implementation, please follow this knowledge base article.

New visual elements covered

With XAF v18.1.4, you can specify SVG images for the following visual elements:

  • SingleChoiceAction and its items displayed in ButtonsContainer within a detail view. 


  • Validation errors in GridListEditor, DetailView property editors and their tooltips.


  • PivotGridListEditor's context menus for the pivot grid and chart controls.

How to test this feature

To test this feature with your v18.1 project, find and register the appropriate SVG image (described in the Add and Override Images topic). Note that we support SVG images only when WinApplication.UseOldTemplates=False. We also recommend that you set WinApplication.UseLightStyle=True for the best appearance.

To simplify your tests, download and run our customized MainDemo.Win app. It already includes several SVG icons from the XAF and DevExpress Image libraries. Alternatively, click the images below to view these icons prior to usage.


Like it?

We'd love to hear your feedback about this feature. Drop us a line below, thanks.



  Yekaterina K.
  Technical writer
  XAF team

XAF - Mobile Layout Enhancements (v18.1)

In this blog post, I will briefly describe two highly requested Mobile UI features in XAF v18.1. They should help you better organize large data amounts on a mobile screen.

Extended Mobile Detail View Layout

This layout is based on the dxForm and dxAccordion widgets from our DevExtreme library. With these widgets, you can design one layout that adapts to different screen sizes. Open your application on a tablet - the layout automatically divides Detail View content into two or more columns.

Your layout has many groups? Display them as tabs or make these groups collapsible not to waste the space.

Enable this feature by setting MobileApplication.EnableExtendedDetailViewLayout to true. Learn more in the Mobile Detail View Layout article.


How to Hide/Show Navigation Control on a Tablet

Choose which tablet layout is more convenient for your clients using the MobileApplication.TabletLayoutType property.
    Split - when the navigation control always sticks to the left. 
    SlideOut - when end-users can collapse or expand the navigation control using the 'hamburger' button.



Your feedback counts

We would love your thoughts on these features and would love to learn more about customizations you've made to XAF Mobile UI. 


Logify

Before I let you go, just a quick question - are you guys using 24/7 app monitoring services such as Logify? Our support team plans on using Logify with some of our enterprise customers and we'd love to know what you guys think of 24/7 app monitoring. Check out the How to replace XAF exception handling with Logify article to learn more about the XAF integration. Please note that we are using this exact approach for our online Web and Mobile demos (available at https://www.devexpress.com/Support/Demos/#xaf).


  Yekaterina K.
  Technical writer
  XAF team

XAF - New in Documentation on Mobile Application Customization (v18.1)

We've tried to make XAF an extensible/highly customizable business application platform. Developers can customize or replace nearly all built-in application UI elements or behaviors. To help those of you who require this level of customization, we've created dozens of examples in our support database and within our documentation. Additionally, numerous extensions created by members of the XAF community are available.

Please remember that XAF ships with full source code - you can research, debug and modify the framework as needed. The availability of source code is not an incidental benefit. It helps reduce the risks associated with vendor lock-in. It also helps those who wish to extend the platform as needs dictate.

If you've not yet used XAF, feel free to review this comparison to see how XAF stacks up in the marketplace.

In this post, I'll highlight recent updates to mobile-related help topics and documentation related to UI customization. If you are familiar with XAF 's WinForms and ASP.NET development processes, many things will look familiar. For future updates, be sure to bookmark the following help topic: Ways to Customize a Mobile Application.


How to customize existing UI elements
XAF Mobile applications use DevExtreme widgets and provide a set of wrappers that allow you to customize a widget from your C# or VB.NET code. Take a moment to review the following topics:


How to use a custom control that is not integrated by default
Do you want to extend a Mobile application with your own, fancy DevExtreme or some third-party widget? The following help articles should help you get started:



How to implement client-side logic
The following topics demonstrate how to write and register your custom JavaScript using the ActionBaseExtensions.RegisterClientScriptOnExecuteMobileApplication’s RegisterClientScriptXXX and MobileWindowTemplate’s RegisterClientScriptXXX APIs:



How to access mobile device functions
To learn more about adding PhoneGap Plugins to your Mobile application, refer to the following help topics:



Miscellaneous
These customizations will also interest any XAF Mobile developer sooner or later: 

Your feedback counts
We would love your thoughts on these help topics materials and would love to learn more about customizations you've made to XAF Mobile UI. 


Logify
Before I let you go, just a quick question - are you guys using 24/7 app monitoring services such as Logify? Our support team plans on using Logify with some of our enterprise customers and we'd love to know what you guys think of 24/7 app monitoring. Check out the How to replace XAF exception handling with Logify  article to learn more about the XAF integration. Please note that we are using this exact approach for our online Web and Mobile demos (available at https://www.devexpress.com/Support/Demos/#xaf). 

XAF - Best practices from Manuel Grundner

Meet Manuel and his blog
Many of you liked my post about the free Llamachant extensions for our business application framework (XAF). I want to take a moment to promote the contributions of another longtime customer and DevExpress MVP - Manuel Grundner. You may already know Manuel from his involvement in the DevExpress Support Center and his personal blog: http://blog.delegate.at/tags/XAF. His most popular work was for Visual Studio Team Services (VSTS) and Nuget integration. Manuel has now taken the time to share his expertise with all XAFers via the following blog series:



Don’t forget to check out the following post – extremely interesting content: How to use the Desktop Bridge to create an appx package for XAF.

Liked Manuel's tips or doing things differently? Are you blogging about XAF as well? Please let the world know in the comments section below.

Learn more about the XAF community
Even more 3rd-party modules, blogs, consulting and custom development services are here: https://www.devexpress.com/Products/NET/Application_Framework/xaf-community.xml.

Logify
Before I let you go, just a quick question - are you guys using 24/7 app monitoring services such as Logify? Our support team plans on using Logify with some of our enterprise customers and we'd love to know what you guys think of 24/7 app monitoring. Check out the How to replace XAF exception handling with Logify  article to learn more about the XAF integration. Please note that we are using this exact approach for our online Web and Mobile demos (available at https://www.devexpress.com/Support/Demos/#xaf). 

More Posts