Quantcast
Channel: XAF Team Blog
Viewing all 148 articles
Browse latest View live

XAF - Best practices from Manuel Grundner

$
0
0

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). 


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

$
0
0

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 - Mobile Layout Enhancements (v18.1)

$
0
0

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 - WinForms SVG Images Support (v18.1.4)

$
0
0

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 them 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 - Enhanced Office Module, Updated Learning Materials and More (v18.1.5)

$
0
0

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 - Access v18.2 Features Today for Early Testing and BONUS for v18.1.6

$
0
0

Your feedback counts!

As part of our ongoing commitment to support the needs of our XAF customers, the upcoming v18.2 release will ship with several major features. Many of them are inspired directly by customer feedback!

If you are an active DevExpress Universal subscriber and would like to test these features prior to its official release, please email our support team at support@devexpress.com or rather create a separate private ticket in the Support Center. With that, we can verify your account and provide you with a v18.2 preview installation privately.

If you are using a trial and want to use these features today, you can purchase a DevExpress Universal license online (this will give you access to early builds such as this CTP). If you own a non-Universal subscription and are ready to upgrade, email us at clientservices@devexpress.com for preferential upgrade pricing.

By providing early build access, we hope to find out whether our new features and solutions address your requirements and issues. Your testing efforts and your feedback help us deliver the best possible final implementation. We have described other benefits of this cooperation in this post.

In advance, thank you very much for your help!

WinForms UI: SVG Icons Support (UPDATE)

One of our primary objectives in 2018 is to improve the appearance of XAF desktop apps on high resolution displays. To achieve this, we will work to 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 future development by answering questions from our team, please read this knowledge base article.

Our UI designers have recently provided us with a large collection of SVG images. We’ve integrated them into XAF’s Model Editor, form templates (we also added our new skin selector), property editors, etc. Remaining tasks include: draw icons for various business objects, integrate the DevExpress WinForms Accordion control, update demos, and integrate all new and existing XAF images into the DevExpress.Images library.


ASP.NET UI: Split View layout support (MasterDetailMode = ListAndDetailView)

XAF’s ASP.NET WebForms UI includes a new community-inspired feature - ListViewAndDetailView display mode for ListView. Much like Microsoft Outlook’s “Compact View,” this feature allows you to display a DetailView for focused records within the ListView. To get started and to learn more about these capabilities, please read this knowledge base article.


BONUS: WinForms Office-inspired Word Processing Module is out of CTP in v18.1.6!

Main RichTextPropertyEditor functions are ready and both internal and public preview tests did not reveal any show stoppers. We do not expect breaking changes either. The last thing that kept us has been fixed in v18.1.5 (our WinForms team optimized the way in which menus are generated). As you may already know from our previous announces, the 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). We’ve updated the corresponding online documentation and Support Center articles, but missed the XAF Solution Wizard. Ignore the CTP label for the Office module there - we will remove it in v18.1.7+.

Updated documentation

Interesting Support Center tickets

  • With v18.2,  the design-time Model Editor tool works with Class Library projects using the new Visual Studio 2017 csproj format (T665236);
  • We discussed how to add validation rules dynamically (at runtime) so that required properties do not accept nulls, do not exceed length or meet other criteria (T162321);
  • The IObjectSpace.Rollback() method signature has been changed to IObjectSpace.Rollback(askConfirmation = true). This allows you to call the Rollback method with a false parameter and suppress rollback confirmation (T133109);
  • We discussed that non-persistent POCO marked with the DomainComponentAttribute do not support custom (runtime) members and that they are totally different from Domain Components (DC) despite using the same attribute (T666245);
  • An advanced scenario where a customer needed to dynamically localize his extenders for Application Model elements (T665740);
  • We discussed a separation of concerns and that the best programming practice is not to couple your data model with the UI (T665693);
  • Ways to specify an XAF Property Editor for properties and types individually or globally, statically or dynamically (KA18907);
  • We discussed how to manage DetailView field tab order dynamically, in code (T446884);
  • A couple of advanced validation scenarios with non-persistent objects in a persistent object's DetailView and the report wizard (T666584 | T666397);
  • A couple of scenarios that illustrate how to use the SplashScreenManager component to improve perceivedperformance of your chart and CRUD forms (T666543 | T563780);
  • A new KB Article inspired by recent user questions on whether to use XAF with an old frozen or unchangeable database schema and all the business logic in raw SQL, stored procedures (T671224).

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). 

Other highly rated content

XAF - New SPA UI for Web & Mobile (v18.2)

$
0
0

In addition to WinForms and ASP.NET UI enhancements announced a couple of days ago (XAF - Access v18.2 Features Today for Early Testing and BONUS for v18.1.6), I wanted to share our updated vision for XAF Web & Mobile development – one that’s based on an entirely new SPA driven UI. When this ASP.NET Core and React-based solution matures, it will supersede/replace existing WebForms and Mobile user interfaces.

New SPA UI architecture and technologies (the 'WHAT' part)

Over the last few years, we've been hard at work adapting XAF for the mobile world. As the tech landscape evolved, so did our strategy - new server-side solutions mandated pursuit of alternate (and more progressive) client-side UI paradigms.

Today, we still build Web applications with distributed client-server architectures like those in our former Mobile UI. However, both server and client technologies and their communication protocols have evolved. The client is now a single-page application (SPA) based on Facebook's React JavaScript library and our React Wrappers for DevExtreme. The server backend uses ASP.NET Core 2.1 with the full .NET Framework 4.6.1 (for now). The npm command-line tool bundled with Node.js and Visual Studio 2017 are required to install React and other packages. Visual Studio and .NET Framework support will likely to expand to .NET Core 2.2+ and other IDEs like VS Code (assuming demand exists).

User benefits & problems this new SPA UI should ultimately address (the 'WHY' part)

Why React and not, for example, Xamarin for mobile development? It’s simple - we (and I’d argue many of our users) prefer a single, unified development system. The Web is a common denominator that covers multiple platforms well. A reliable and modern Web solution is something most want/need to deliver and if one does a good job in this regard, a mobile solution should follow automatically (at almost no cost).  Promising technologies like React Native, Electron and WebAssembly could also give us expanded opportunities in the future to address the needs of those who prefer the “native” option. Xamarin did not meet this basic requirement and would have forced us to create separate solutions for the Web and Mobile (you would need investments for both Android and iOS platforms as well).

To shape our vision, we relied on user feedback and listened to customer comments on existing XAF platforms. Here is a categorized list of SPA UI benefits many of you have asked us to deliver:

Common

  • Deliver more on the "Design Once. Run Everywhere." promise and lessen associated costs with the unified Web and improved code sharing. Potentially, there will be one code base that can even replace XAF WinForms apps with Web apps running inside Electron (Microsoft Teams and Visual Studio Code are good examples of such hybrid desktop software). 
  • Get rid of old technologies with an unclear future and lowered levels of support from Microsoft, third party vendors and the dev community (ASP.NET WebForms, WCF Data Services);
  • React to changing market needs faster, open new opportunities to deliver more features with a bigger vendor and community support for new and popular technologies;
  • Offer assurances that XAF Web and Mobile applications will stay up-to-date for at least the lifecycle of ASP.NET Core 2.x and React – two of the leading frameworks for server and client Web development.

Client/frontend

  • Faster responses to user actions and less traffic sent from the server to clients;
  • A more modern-looking UI, including Material themes supported by DevExtreme components;
  • More natural UX and intuitive screen flows, for instance, auto-save detail collection data instead of explicit master object save (example);
  • Responsive designs for different screen resolutions and devices: desktop, tablet, phone;
  • Cutting-edge technology (webpack) for optimized client application build and delivery;
  • Allow users to publish Web apps in stores via PhoneGap, Electron and other native containers. 

Server/backend

  • Stateless application design by default. In addition to lower maintenance costs, this should also help us build more cloud hosting features, such as load balancing, in high-load scenarios.
  • Optionally, support a stateful architecture to provide a better performance and richer functionality in standard usage scenarios. This is helpful for the majority of our users who rarely have more than 50 concurrent users at peak times and 5-10 users typically.
  • More deployment options. At present, any web server deployment for ASP.NET Core and full .NET Framework 4.6.1 is supported. .NET Core 2.2+ support in the future will unleash multi-platform hosting (Apache, Docker, etc.).
  • More modern and flexible infrastructure with built-in features like OAuth2 authentication powered by the ASP.NET Core framework;
  • The https://github.com/DevExpress/DevExtreme.AspNet.Data library optimized for DevExtreme controls comes with many useful features like virtual paging (most operations are executed on the server rather than on the client). 
  • Ways to reuse XAF data and logic from external non-XAF clients and services (of course, everything passes through XAF authentication and security system rules);
  • eXpress Persistent Objects (XPO) classes and non-persistent POCO are supported for data access and presentation. Entity Framework (EF) and Domain Components (DC) interfaces are not supported.
  • Avoid limitations of the former WCF Data Services/OData V3-based server. CriteriaOperator expressions, previously translated to OData queries, are now directly translated to LINQ expressions. This enables the following features: more ListView grouping options, ContainsOperator and aggregate functions in ListView filters (T549081), ListViews for non-associated collections, lookup editors filtered by arbitrary or non-associated collections with DataSourcePropertyAttribute.

Existing XAF development values we want to preserve, FAQ & More...

Despite these forthcoming changes, we will do our best to maintain XAF as the go to rapid application development toolset for .NET developers – allowing you to quickly create Office-like line-of-business apps for various platforms simultaneously. To support this long-term vision in the new SPA UI, we hope to keep and further evolve the following fundamental XAF values:

  • Automatically generate database & CRUD UI for popular RDBMS and Windows, Web and Mobile platforms, reduce associated low-level coding and other complexities;
  • Focus on business rules, share pure .NET code (C#, VB.NET and minimal JavaScript) and configuration settings across platforms and databases as much as possible;
  • Ship built-in business-specific functionality such as reporting, security, validation, and data analysis  - and give you the flexibility to customize as needed;
  • Unsupported or complex functionality not available by default can still be implemented in code by incorporating framework flexibility and customization options;
  • Comprehensive options for both developers and end-users to customize applications after deployment. For instance, modify application settings stored in a database using administrative tools or directly within an app (at runtime) using visual designers (and updated accordingly without re-deployment).

For more technical information and answers to questions we anticipate most, refer to the updated FAQ: New XAF HTML5/JavaScript SPA UI for Web & Mobile (CTP) KB article.

Our short term plans and what to test today!

Right away, existing XAF Mobile UI users are welcome to migrate to our newest server features: How to connect an existing XAF Mobile application to the new ASP.NET Core Data Service (CTP)The new SPA UI will use this server and you can help us release this portion faster by providing feedback.

We hope to publish new SPA UI demos online after our v18.2 release. In the meantime, anyone is welcome to check screenshots of our prototypes and discuss their specs in our forum with peers (see below).

No promises at this stage, but our hope is to offer this SPA UI for production use around the v19.1 timeframe (at least for simple scenarios). 

Your feedback counts!

To discuss this vision, roadmap and technical requirements more effectively with the XAF community, we have setup a private discussion forum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if this is of more convenience.  

By this and by providing early build access, we hope to find out whether our new features and solutions address your requirements and issues. Your testing efforts and your feedback help us deliver the best possible final implementation. We have described other benefits of this cooperation in this post.

In advance, thank you very much for your help!

XAF - Improved Image Library Integration, SVG support and other important changes (v18.2)

$
0
0

We’ve nearly completed full SVG support for WinForms 

With our upcoming release, XAF users will get access to a much larger icon set from the DevExpress Image Gallery and new SVG images for use with XAF’s WinForms UI. To replace the former PNG icon set with new SVG images in existing XAF WinForms apps, configure the following options before the XafApplication.Setup method call: DevExpress.ExpressApp.Utils.ImageLoader.Instance.UseSvgImages = True and WinApplication.UseOldTemplates = False. In the final release, WinApplication.UseLightStyle = True will also automatically enable new SVG images. To obtain the entire list of visual elements that support new vector images, read this knowledge base article.

This is an example of our MainDemo.Win with these options:


New Image Picker in the Model Editor

To browse all new and previously available images, XAF’s Model Editor ships with a new Image Picker (used for both SVG and PNG image selection):

Images from the DevExpress.ExpressApp.Images assembly are no longer used in XAF apps. We will retain this assembly for 1-2 release cycles for backward compatibility and then remove completely.

Other Important Changes

I invite you to join our private discussion forum (exclusively for Universal customers) to discuss this and other important changes in XAF v18.2. This forum also has several active discussions and polls on the new SPA UI, which you may find interesting as well.

Your feedback counts!

If you are an active DevExpress Universal subscriber and would like to test these features prior to its official release, please email our support team at support@devexpress.com or rather create a separate private ticket in the Support Center. With that, we can verify your account and provide you with a v18.2 preview installation privately.

If you are using a trial and want to use these features today, you can purchase a DevExpress Universal license online (this will give you access to early builds such as this CTP). If you own a non-Universal subscription and are ready to upgrade, email us at clientservices@devexpress.com for preferential upgrade pricing.

By providing early build access, we hope to find out whether our new features and solutions address your requirements and issues. Your testing efforts and your feedback help us deliver the best possible final implementation. We have described other benefits of this cooperation in this post.

We appreciate any thoughts you post to the comments section below, but it would also help us if you could answer the questions in this short survey:

In advance, thank you very much for your help!



XAF - Nuget packages (v18.2)

$
0
0

To help you better manage build processes for your XAF projects and employ CI/CD tools approved within your Enterprise (such as Azure Pipelines), DevExpress Nuget now includes packages based on XAF assemblies. 

As you may already know, we opted for both large metapackages (for instance, DevExpress.ExpressApp.Core.AllDevExpress.ExpressApp.Win.All, etc.) and small individual packages for each XAF module or assembly. For more information, please refer to this knowledge base article.


For testing purposes, we've successfully configured Nuget packages in an XAF demo and built it with Azure Pipelines:

Interesting Support Center tickets

  • We demonstrated how to edit multiple objects at once via a non-persistent object DetailView (S132098);
  • Early v18.1.6 hot fixes and v18.2.2 (Beta) cause NullReferenceException if you open WinForms LookupEdit in a new item row (T683079);
  • With v18.2, WebPropertyEditor.NullText works not only for lookup editors (T685229);
  • We discussed how to preserve DetailView layouts (with DetailViewLayoutAttribute) if you use inheritance (T682243);
  • We provided debugging tips to detect unexpected ListView record modifications (T679629);
  • We described how to duplicate a nested ListView and display its data in a chart instead of a grid with no coding at all (T682599);
  • We described how to open separate web browser tabs with another web site from a popup window (T683405);
  • We updated a support article on how to troubleshoot the "Reentrancy or cross thread operation detected" error (T419520);
  • We elaborated on the Web session timeout and ways to customize it (T683237);
  • A short FAQ on XPO async/await method support is now available (T683644).
  • 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).

Your feedback counts!

Please take a moment to answer the following question – your response will help us better understand whether this solution addresses your business needs.

XAF - First SPA UI Demo (v18.2)

$
0
0

As you may recall, we announced XAF's new Web & Mobile development strategy based on ASP.NET Core and React in September: XAF - New SPA UI for Web & Mobile (v18.2).

Great news - you can now try our first XAF SPA UI demo.

To get started and see what is supported at this stage, please refer to the FAQ: New XAF HTML5/JavaScript SPA UI for Web & Mobile (CTP) KB Article. 

To discuss our new vision, roadmap and technical requirements more effectively with the XAF community, we have created a private discussion forum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if you are unable to join the discussion on our forum.

XAF - What's New in Documentation (v18.2)

$
0
0
This blog post includes links to recently updated help topics. Please remember that your feedback helps us improve online content and to better serve your needs.
To submit your vote on an individual help topic, simply press the Give Feedback button in the lower right corner of each web page:



Updated Concepts

Task-based Topics

New and Updated API

The three properties below are set to false in our demos (Main Demo, XCRM, Feature Center) and in all new WinForms applications. Refer to our breaking change doc (BC4527) and to the following support question (T690584) for more information.

Interesting Support Center Tickets

  • We emphasized that a custom FrameTemplateFactory should be a DefaultLightStyleFrameTemplateFactory descendant if you want to use the Light Style in an existing WinForms application (T577264).
  • We fixed an issue with PNG images specified by the ImageName attribute (T690830).
  • Note that you can use images from the SVG Image Gallery only in WinForms applications (T689107).
  • We fixed an issue with incorrectly patched criteria in our DevExpress.Xpo.SecurityCriteriaBuilder code (T691730).
  • We described when the Accordion navigation control may fail to display images (T690584).
  • We fixed an issue with duplicate file names added by the AddFromFile method when you use the CustomizeOpenFileDialogFileNames event (T689164).

.NET Business App Framework (XAF) 2019 Roadmap – Your Vote Counts

$
0
0

We are finalizing our 2019 eXpressApp Framework (XAF) Roadmap. Your feedback will allow us to focus on features/capabilities that matter most.

Housekeeping

There are a number of housekeeping related tasks that need to be completed during each release cycle. The following list outlines major tasks we have planned for 2019.

  • Add support for Visual Studio 2019. We need to update and test our extensions for Item and Project Templates, Application and Module Designers, Model Editor and EasyTest integration. v18.2.4 will already cover a lot of these, but other tasks such as support for AsyncPackage will be completed with the official release of Visual Studio 2019.

  • Support .NET Core 3.0 in WinForms and the new ASP.NET Core and React-based SPA UI. The DevExpress WinForms team has announced plans for .NET Core 3 (refer to the following blog post for more information). We will do everything we can to support .NET Core 3. As you can imagine, much of our output will be shaped by the .NET Core API itself (no ASP.NET WebForms – changes to Middle Tier Security because of pruned WCF support, etc.).

  • Make certain platform-agnostic XAF features like security, validation, and audit are available to non-XAF developers who create custom user interfaces with Xamarin, React, Vue and other client technologies. We hope to produce more tutorials and samples like How to: Use the Integrated Mode of the Security System in Non-XAF Applications (with a focus on Microsoft Azure deployment).
  • Offer the new ASP.NET Core and React-based SPA UI for production in the v19.1 timeframe (at least for simple scenarios).  We don’t expect to support all extended modules in our initial release. To discuss our new vision, roadmap and technical requirements more effectively with the XAF community, please visit our private discussion forum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if you are unable to join the discussion on our forum.

  • Continue making incremental enhancements to our ASP.NET WebForms UI (see top requests below). Please note that our primary focus will be on XAF’s SPA UI but we will do what we can to address the needs of those reliant on our ASP.NET WebForms UI.

  • Continue to evolve XAF’s WinForms UI. Among other changes, we hope to introduce a modern splash form by default, eliminate extra borders in PivotChart editor, nested frames (for instance, DetailPropertyEditor), hide rarely used standard Actions from form templates (T586203T539813T452094), and suppress the save confirmation for new unmodified objects (E2114).

  • Improve the efficiency/usability of developer tools like our Model Editor, Solution Wizard, Template Gallery, Application and Module Designers, Localization Service, DBUpdater and ORM Data Model. We look forward to hearing what you find most important here (just a few examples: T410857Q104682T565744). 

  • Performance enhancements. We will further parallelize internal XafApplication.Setup/Start operations to reduce startup time. There are also opportunities to improve both XAF and DevExpress control code for all supported platforms (see the following from earlier this year).

  • Non-Persistent object enhancements. Features include support for filtering; propagate FindObject, CommitChanges, Refresh and other methods from NonPersistentObjectSpace to AdditionalObjectSpaces (T509228); support CRUD operations with non-persistent objects in a nested ListView of a persistent object DetailView (T486427, T510338, T695631).

If you do not find any of these items important, please share your perspective with us - we will be more than happy to listen.

Your Vote Counts!

In addition to the housekeeping items listed above, we hope to introduce a number of new features in 2019 – features that were driven by feedback from our loyal user base.

Feature Group #1: Asynchronous Operation Support and Better Progress Indication.
This feature is from the last roadmap, but it is still interesting today. With v18.2, we can leverage XPO’s async/await method support in IObjectSpace and other XAF APIs (T683644) - a new IObjectSpaceAsync interface may be coming. This will introduce the following benefits (primarily for WinForms):

  • Enhance perceived performance with the help of asynchronous Actions (open DetailView from ListView, save DetailView).
  • Visualize long-running background processes (such as time consuming calculations) in custom Actions with a progress bar and allow end-users to work with other parts of your application.
  • Visualize blocking UI operations with overlay forms and other loading indicators - all powered by the WinForms SplashScreenManager.
  • Notify end-users after successful execution (even for simple, but important operations like saving or deleting data).

This feature will also help increase ASP.NET Core Data Service throughput under a high load in our new SPA UI for Web and Mobile.  For more information on use-case scenarios, please refer to the following support tickets: T112329AS6060CQ59274Q352118.

Though we believe this feature can really make a difference to end-users, it is difficult to implement and test. It is also quite error prone, as anything related to multi-threading. It will also cause inevitable breaking changes to existing code. For instance, all UI-related logic must consider that current View data records and controls may not be immediately available or initialized. For more information, refer to the IsDelayedDetailViewDataLoadingEnabled and DelayedViewItemsInitialization option prerequisites.

Feature Group #2: Support additional DevExpress component features.

  • Enhanced Tree List Editors module with support for inplace data editing, better filtering options and more (S30514S30735 S38121).
  • Enable enhanced WinForms Filter and Expression editors in the Model Editor and within built-in List and Property Editors.
  • Support native conditional formatting in our built-in List Editors (T291012).
  • Introduce collapsible layout groups (WinForms) and retain their states – much like our WebForms UI implementation (S135134).
  • Support new XPO server mode components for our grids (XPServerModeDataView and XPInstantFeedbackDataView - see the XPO roadmap).
  • Support reference properties in ASPxGridView's Batch Edit mode without custom code.

Feature Group #3: New Property Editor types (DevExpress controls that have not been integrated into XAF).

  • Property Editors for reference or lookup properties based on WinForms SearchLookUpEdit and TreeListLookUpEdit. This is a long-overdue item and I expect that it will be implemented as it addresses a number of problems (T232591T467070Q577870).
  • Property Editors for date and time properties based on TimeEdit, TimeSpanEdit and ASPxTimeEdit (T460196T411714).
  • Property Editors for string or collection properties based on TokenEdit and ASPxTokenBox (T122733).
  • Property Editors for string or collection properties based on a checked list or combo boxes (E1807T208139).
  • Property Editors for string or reference properties based on HyperLinkEdit and ASPxHyperLink (E2096).
  • Property Editors for string or byte array properties that display PDF file content (T213126).
  • Property Editors for string or byte array properties that display Excel spreadsheet content (Q503665).
  • Property Editors for string or byte array properties that display RTF content on the Web (S31438).

Your Feedback Is Needed!

A quick disclaimer…though we want to deliver everything (and deliver it yesterday), I don’t want to make any guarantees.  As always we welcome your comments and specific usage-scenarios, the more you share, the better we can understand your business needs now and into the future.  

XAF – Compact Theme, Functional Tests, SVG and Keyboard Support for SPA UI (v18.2)

$
0
0

The goals for our last maintenance sprint were to fix known issues in the SPA demo, refactor code, stabilize the new TestCafe based functional testing system and increase test coverage. All of which help build a solid base for feature orientated sprints in the future. Here is an example of a functional test running on our farm.


ASP.NET Core backend service enhancements

In addition, we also worked on the SPA project structure and architecture providing a smoother upgrade process:
  • Moved Controllers from the YourSolutionName.Spa project to the DevExpress.ExpressApp.Spa assembly.
  • Made the DevExpress.ExpressApp.Spa assembly available through DevExpress Nuget.
  • Made Startup.cs smaller and less complex with the help of extension methods.
  • Removed the DevExpress.ExpressApp.Mobile assembly dependency.
  • Supported the standalone Model Editor tool for the YourSolutionName.Spa project.

    Client-side SPA UI enhancements

    • Highly requested compact form layout suitable for large amounts of data along with numerous layout fixes such as paddings, colors, etc.

               

               

               

    • Action state synchronization in Detail Views. Server-side Action settings (Enabled, Active, Caption, TargetObjectsCriteria, etc.) effect the UI immediately. For instance, the Delete Action is disabled for new objects. This generic mechanism will be applied to other UI elements in future updates.



    • SVG images from XAF WinForms apps are now fully supported. Colors and orientation are patched based on context to make them sharp. For instance, image colors are inverted in the floating menu bar for selected ListView records.



    • Keyboard navigation has been improved: use Spacebar to select/unselect a ListView row and Enter to open the DetailView on a focused row. Issues navigating back and forth using Alt+Left/Right arrows have also been addressed. DetailView shortcuts no longer require that active editors lose focus. You can also focus the FullTextSearchFilter Action using Control+/ (right slash). 

    Take it for a test drive

    If you would like to check out these updates, please install this build and download the updated SPA demo source (there are currently no online demos). If you have previously created SPA projects, you will need to recreate them using the Solution Wizard (due to the incompatible project template changes).

    To discuss our new vision, roadmap and technical requirements more effectively with the XAF community, we have created a private discussion forum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if you are unable to join the discussion on our forum.

    eXpressApp Framework – 2019 Roadmap

    $
    0
    0

    The following list outlines the features we have planned for the eXpressApp Framework (XAF) 2019. Our thanks to all those who voted in our roadmap survey. We’ve included vote tallies used to finalize our plans for 2019.

    Performance enhancements (v19.1 and v19.2)

    Received 22% of the vote in our survey.

    Based on survey results, performance must remain our most important focus area. We will further parallelize internal XafApplication.Setup/Start operations to reduce startup time. There are also opportunities to improve both XAF and DevExpress control code for all supported platforms (see the following post from earlier this year). For instance, we will support new XPO server mode components for our grids (XPServerModeDataView and XPInstantFeedbackDataView - see the our XPO roadmap) and further improve DetailView load times.

    We will also speed up and improve general usability of developer tools like our Model Editor, Solution Wizard, Template Gallery, Application and Module Designers (received 10.5% of the vote in our survey). We look forward to hearing what you find most important here (just a few examples: T410857Q104682T565744).

    SPA UI (v19.1 and v19.2)

    Received 14% of the vote in our survey.

    Offer the new ASP.NET Core and React-based SPA UI for production in the v19.1 timeframe (at least for simple scenarios). We don’t expect to support all extended modules (Security and Validation are the exception) in our initial release. We will support ReportsV2, ConditionalAppearance and other popular modules/functionality in v19.2.

    To discuss our new vision, roadmap and technical requirements more effectively with the XAF community, please visit our private discussionforum - exclusively for Universal customers. Feel free to leave comments to this post, email us at xafteam@devexpress.com or submit tickets using the Support Center if you are unable to join the discussion on our forum.

    Evolve XAF’s WinForms UI (v19.1 and v19.2)

    Received 13% of the vote in our survey.

    Continue to evolve XAF’s WinForms UI. Among other changes, we hope to introduce a modern splash form by default, eliminate extra borders in PivotChart editor, nested frames (for instance, DetailPropertyEditor), hide rarely used standard Actions from form templates (T586203T539813T452094), suppress the save confirmation for new unmodified objects (E2114), support collapsible layout groups and retain their states – much like our WebForms UI implementation (S135134). We will also implement new Property Editors for reference or lookup properties based on our WinForms SearchLookUpEdit (T232591T467070Q577870). We'll include a preview in v19.1 and officially ship in v19.2.

    .NET Core 3 and Visual Studio 2019 Support (v19.1 and v19.2)

    Received 13% of the vote in our survey.

    Support .NET Core 3.0 for WinForms and the new ASP.NET Core and React-based SPA UI. The DevExpress WinForms team has announced plans for .NET Core 3 (refer to the following blog post for more information). We will do everything we can to support .NET Core 3 this year. As you can imagine, much of our output will be shaped by the .NET Core API itself (no ASP.NET WebForms – changes to Middle Tier Security because of pruned WCF support, etc.).

    Add support for Visual Studio 2019. We need to update and test our extensions for Item and Project Templates, Application and Module Designers, Model Editor and EasyTest integration. v18.2.4 will already cover a lot of these, but other tasks such as support for AsyncPackage will be completed with the official release of Visual Studio 2019.

    A More Platform-Agnostic Approach (v19.2)

    Received 10% of the vote in our survey.

    Make certain platform-agnostic XAF features like security, validation, and audit are available to non-XAF developers who create custom user interfaces with Xamarin, React, Vue and other client technologies. We hope to produce more tutorials and samples like How to: Use the Integrated Mode of the Security System in Non-XAF Applications (with a focus on Microsoft Azure deployment).

    Enhancements to Non-Persistent Objects (v19.2)

    Received 9% of the vote in our survey.

    Non-Persistent object enhancements. Features include support for filtering; propagate FindObject, CommitChanges, Refresh and other methods from NonPersistentObjectSpace to AdditionalObjectSpaces (T509228); support CRUD operations with non-persistent objects in a nested ListView of a persistent object DetailView (T486427T510338T695631).

    Incremental Enhancements to ASP.NET WebForms UI (v19.2)

    Received 8.5% of the vote in our survey.

    Continue making incremental enhancements to our ASP.NET WebForms UI. For instance, support reference properties in ASPxGridView's Batch Edit mode without custom code or user-friendly URLs. Please note that our primary focus will be on XAF’s SPA UI but we will do what we can to address the needs of those reliant on our ASP.NET WebForms UI.

    Additional features

    In addition to the housekeeping items listed above, we hope to introduce a number of new features in 2019 – features that were driven by feedback from our loyal user base.

    Feature Group #1 (Asynchronous Operation Support and Better Progress Indication) is a clear winner among three feature groups (received 46.5% of the vote). We can leverage XPO’s async/await method support in IObjectSpace and other XAF APIs (T683644) - a new IObjectSpaceAsync interface may be coming. This will introduce the following benefits (primarily for WinForms):

    • Enhance perceived performance with the help of asynchronous Actions (open DetailView from ListView, save DetailView).
    • Visualize long-running background processes (such as time consuming calculations) in custom Actions with a progress bar and allow end-users to work with other parts of your application.
    • Visualize blocking UI operations with overlay forms and other loading indicators - all powered by the WinForms SplashScreenManager.
    • Notify end-users after successful execution (even for simple, but important operations like saving or deleting data).

    Async/await method support will also help increase ASP.NET Core Data Service throughput under a high load in our new SPA UI for Web and Mobile. For more information on use-case scenarios, please refer to the following support tickets: T112329AS6060CQ59274Q352118We will preview the most popular features in v19.1 and release them in v19.2.

    Though we believe this feature can really make a difference for end-users, it is difficult to implement and test. It is also quite error prone, as is anything related to multi-threading. It will also cause inevitable breaking changes to existing code. For instance, all UI-related logic must consider that current View data records and controls may not be immediately available or initialized. For more information, refer to the IsDelayedDetailViewDataLoadingEnabled and DelayedViewItemsInitialization option prerequisites.


    Should time allow, we will add support for some of the features within group #2 (received 32% of the vote) and #3 (received 21.5% of the vote). This represents a logical evolution of the Office module released in 2018.

    • Property Editors for string or byte array properties that display PDF file content (T213126).
    • Property Editors for string or byte array properties that display Excel spreadsheet content (Q503665).
    • Property Editors for string or byte array properties that display RTF content on the Web (S31438).

    We Welcome Your Feedback

    Should you have any questions about this roadmap, our Native Mobile UI Controls, or the DevExpress Universal Subscription – feel free to email info@devexpress.com.

    The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.

    XAF – A Gentle Video Introduction by Llamachant

    $
    0
    0

    Longtime XAF customers Dave Hesketh and Adam Latimer from Llamachant (both DevExpress MVPs), have recorded a new getting started video for the XAF community.

    We hope you enjoy the content. If you prefer written materials, please refer to our Getting Started tutorials instead. Llamachant does offer consulting services –be sure to check them out next time you need assistance with your XAF project.
    This video was produced and is maintained by Llamachant Technology Ltd. Developer Express is not responsible for its content or its technical accuracy.

    XAF - Updated demos, usability enhancements, important documentation updates and more (v18.2)

    $
    0
    0

    Over the last few v18.2 minor releases we introduced several new features. Here are the highlights.

    UI & UX Enhancements

    1. Introduced in v18.2.3 was the ability to enable accordion control for navigation and you’ve told us you love it, especially the nice search capabilities, SVG support and modern look and feel found in the latest version of Microsoft Outlook. To maintain that same style across your application, we have disabled icons in navigation, and also in all tabs. You can revert to the previous style with images, using the following options: IModelLayoutManagerOptions.EnableLayoutGroupImagesIModelOptionsWin.ShowTabImage and IModelRootNavigationItems.ShowImages. A complete list of default settings for new XAF v18.2 projects is available in the following KB article: Default XAF configuration options and feature toggles.
    2. WinForms LookupPropertyEditor's clear buttons (X) are now visible only when editors receive focus providing less noise on typical business forms.
    3. Your feedback is important, so new Like and Dislike buttons have been added to the XCRM, MainDemo and SimpleProjectManager apps, let us know what think about each screen.



    4. As part of our continued WinForms demo modernization we are finishing work on the updated splash screens as well as optionally enabling overlay forms in the logon screen for v19.1. These updated splash screens will be available for customization in newly created projects as well.


       
    5. Inspired by our loyal customers (S133746 and T714543) the Automatic Filtering Row to the Object Model dialog of the Column Chooser in v18.2.7 has now been implemented. The field list can be filtered to easily locate the desired field. Note: incremental search has been available since 2011.


    Other enhancements & important news

    1. XAF demo pages in both the offline DemoCenter and online https://www.devexpress.com/support/demos/#xaf have been updated. Did you know that if you have v18.2.6 installed you can run our WinForms demos directly by clicking this link: dxdemo://Frameworks/XAF/XCRMFinally, DPI-Aware mode has been enabled by default for all demos and new projects in v18.2.7 (this article will be updated soon).
    2. It is no longer recommend to use XafApplication > TablePrefixes and related APIs. There are now more reliable solutions detailed here this KB article.
    3. Explained in the documentation it is recommended that object identifiers are used in criteria instead of references. Many scenarios have been fixed where ObjectDisposedException occurred with the object reference approach. Please see the following tickets for more information: T691669T691853T616104T395155T469674.
    4. Certain edge cases created a SqlException when a link was added on many-to-many collections, the team found a way to avoid the exception, details here (T297673).
    5. Good news for Entity Framework users! The standalone and design-time Model Editor now takes full Entity Framework class metadata into account (T711818).

    Documentation Updates

    Thanks to your feedback we have finished the major updates to the Actions documentation, this includes an overhaul to over a dozen Actions and UI elements articles, the documents have been enhanced with links, scenarios, examples, and illustrations. We hope that the improvements can help you understand Actions better, use them more efficiently, and will answer many of your questions.

        

    Updates have also been made to the following articles on other UI elements, be sure to check them out:

    Security system users should not miss Merging of Permissions Defined in Different Roles where we describe how the Security System processes permissions for users with several roles.

    Please take a look at the new documentation and let us what you think by leaving a comment below or use the updated feedback form on docs.devexpress.com (bottom right corner).

    Coming soon in v19.1 - Inspired by your feedback we are making sure that all TOP 100 popular XAF and XPO APIs have code examples for you to easier to get started with. 

    Interesting Support Center Tickets

    1. New suggested ways to improve Pivot Grid List Editor performance when using large amounts of data (T687056).
    2. How to avoid excessive ConditionalAppearance rule updates and improve overall form performance by following these tips: S171794.
    3. There are some users who prefer the old E4037 example over the recommended Use Google, Facebook and Microsoft accounts in ASP.NET XAF applications solution in ASP.NET. If you encounter similar requirements then we would love to hear from you by providing answers to the questions asked in T705146
    4. The article on how to create business classes and members at runtime (T284822) has been improved.
    5. On the recent blog post, it was recommended using nameof keyword instead of hardcoded property names in XPO business objects. This can be done using the CodeRush templates. For any of your existing applications, ticket T713839 contains some regular expressions to use in Visual Studio's Find and Replace | Replace in Files dialog. 
    6. How to group Actions from a category within a drop down or context menu (T709407).
    7. New solutions to show a popup window from another popup (T711034).
    8. Fixed an issue with DBUpdater ("An attempt was made to load a program with an incorrect format") when a target project's 'Platform target' property is 'x64' (T707637).
    9. A warning about namespaces for VB.NET users of the ORM Data Model Wizard (T705913).
    10. Clarification on the use of Session in XPO objects vs the use of IObjectSpace to run your business logic (T716446).

    Your Feedback is needed!



    eXpressApp Framework – Early Access Preview (v19.1)

    $
    0
    0

    We are two months away from our next major update (v19.1). The purpose of this post is to share details and give users the opportunity to test new functionality before we wrap up our current dev cycle. If you own an active Universal or DXperience subscription, you can download the CTP build from the DevExpress Download Manager and test the features described in this blog post. Once you do, take a moment to let us know how well the new features address your requirements. This will help us fine-tune our code before the launch.

    If you are using a trial version and want access to the new XAF features today, purchase a Universal subscription license and you will automatically gain access to the CTP version. If you are ready to upgrade to Universal from another subscription level, email us at clientservices@devexpress.com for preferential upgrade pricing.

    ASP.NET WebForms RTF Editor & WinForms Spreadsheet Editor

    We've come a long way since we first introduced the WinForms Office module in 2018. The module now includes the WinForms Spreadsheet and the ASP.NET WebForms RTF editors. You can use them to display and edit Word and Excel documents stored in string or byte array properties of your business objects.

    To learn more about the new capabilities and to help shape our future development, read this knowledge base article and answer a few questions from the R&D team.

    Our long-time customer, Finland-based EarthCape OY, kindly allowed us to share their use-case for these new editors. They currently rely on custom-built property editors in their XAF-based platform. Scientists in the DNA Laboratory at the Finnish Museum of Natural History use these controls to make notes.

    .NET Core 3 and Visual Studio 2019 Support

    Good news from our labs! We succeeded in adjusting our v19.1 WinForms MainDemo so that it runs under .NET Core 3.0. We have not yet published dedicated demos on GitHub as our WinForm team did. The SPA UI functionality still needs tests and we must ensure that all our internal tests pass in the new environment. If you're interested in adjusting your projects manually to run under .NET Core, let us know using the Support Center and we will guide you through the required steps.

    XAF Solution Wizard, Model Editor, and Application & Module Designers now all work in Visual Studio 2019 Preview 4+. If you are running a compatible Visual Studio version, let us know how these features work for you. Make a note that we have optimized the Solution Wizard for faster project generation.

    SPA UI Updates

    The following new capabilities are supported in v19.1 CTP:

    • Basic security system functions: logon form for non-authenticated users and automatic data filter based on security permissions.
    • New property editors for Boolean, enumeration, image, and reference properties.
    • End-users can enable a compact theme and customize base theme colors at runtime.

    To learn more about these and other capabilities, read this knowledge base article.

    Universal customers are welcome to join the discussion on SPA UI roadmap and technical requirements in the dedicated private forum.

    New WinForms Splash Screens

    We have updated the splash screens used in our demos and in new projects.

    You can optionally enable overlay animation instead of the splash screen. The animation will run after users click the 'Log In' button and until the main form appears. If you prefer this behavior, set the protected property WinApplication.ExecuteStartupLogicBeforeClosingLogonWindow to True and use the DXSplashScreen type in the YourSolutionName.Win/WinApplication.xx file:

    public YourWindowsFormsApplication() {
        SplashScreen = new DXSplashScreen(typeof(YourSplashScreenType), new DefaultOverlayFormOptions());
        ExecuteStartupLogicBeforeClosingLogonWindow = true;
    ...

    ASP.NET WebForms User-Friendly URLs for Views

    We've simplified URL customization for ListViews and DetailViews in Web apps with the new RouteManager API. For example, you can now customize URLs to match the following highly requested format:

    BEFORE:
    */Default.aspx#ViewID=Contact_ListView
    */Default.aspx#ViewID=Contact_DetailView&ObjectKey=ContactId

    AFTER:
    */Contact_ListView/
    */Contact_DetailView/ContactId/

    To learn more about this new capability, read this knowledge base article.

    We Need Your Feedback!

    Your thoughts would be greatly appreciated in the comments section below, the Support Center tickets or our team email xafteam@devexpress.com. Please take a moment to also answer the questions in the survey below. Thank you for your help!

    Interesting Support Center Tickets

    • Our long-time customer described how he complied with GDPR requirements using XAF security system permissions (T576415).
    • We have updated our KB article on how to avoid the creation of an extra index along with a foreign key for a reference type property in XPO (S138633).
    • We have published a KB article on how to resolve the following error: 'DevExpress.Xpo.Exceptions.SessionMixingException: object belongs to a different session' (T720705).
    • We have provided a Web example on how to create a custom ListEditor based on ASPxCardView (T526272).
    • Inspired by customer feedback, our recent v18.2.7 update has more flexibility with regard to the state of the ResetPassword and ChangeMyPassword Actions when DetailView is in edit mode (T716175).
    • Another reminder about NGEN: this standard for .NET way can cut the startup time almost in half (T719697).

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

    NOTE: Preview builds for v19.1 are provided solely for early testing purposes; they are not ready for production use and must not be shared with others, as any other pre-release versions of our software. This build can be installed side by side with other DevExpress major versions. Many other installation parts may not be ready yet or even be broken, so we would kindly ask you to research and test only the functionality discussed in this article. Your application must be upgraded to the new version using the Project Converter, as you would normally do when migrating to a new DevExpress version: Installation> Upgrade Notes. Always backup your application and other important data before installing any preview builds and actual testing

    New community modules, blogs with tips & tricks, documentation updates

    $
    0
    0

    New XAF community modules

    1. The eXpand Framework, managed by Apostolis Bekiaris, will soon release new platform-agnostic packages for XAF: http://xaf.expandframework.com/. Unlike the former monolithic version of eXpand, these are low-dependency packages. They also work with previous XAF versions, and include unit tests that run on Azure (an example is available here), wiki and demos. This is a preview for now and there are known issues, so please stay tuned. Just to name a few modules to better understand their functionality: 
      AutoCommit , CloneMemberValueCloneModelViewMasterDetail
      ModelViewInheritanceSuppressConfirmationViewEditMode
    2. A new version of XAFARI that works with v18.2.7 is available and the v18.2.8 build is on its way too. Galaktika Soft has been providing paid reusable XAF modules with documentation and support services for more than 5 years.
    3. LlamaChant published a maintenance update for their free modules, in case you missed it: http://www.llamachant.com/single-documents/llamachant-framework-modules/
    4. https://github.com/SenDevGmbH/SenDevXafDashboards - this extension from Sergej Derjabkin adds 2 new data sources to the DevExpress XAF Dashboards module: C# Script Data Source and Data Extract Data Source. Sergej Derjabkin has been working with DevExpress components from 2003 and made several other contributions to the DevExpress community:
      - Google MapView module for eXpandRoslyn analyzers for XAF; MasterDetail module for eXpand; Nuget packages to host the middle-tier Application Server inside an XAF Web app.
    5. https://github.com/egarim/Ultra - more community-based XAF modules under the Microsoft Public License from Joche Ojeda. You might know Joche from his promotion efforts in the Spanish community. These new modules have basic usage documentation and demos:
      - Email Module allows you to use SMTP email accounts inside of your XAF application.
      - Universal Search Module helps you search across all business objects and present a unified search result. 

    New XAF community blogs, tips & tricks

    1. https://www.xafers.jobs/ - a new web site for XAF experts to find jobs, employment and career opportunities. This may be a good alternative to Upwork, Freelancer and other sites I mentioned in my old blog. From the site's description: "Xafers.Jobs is a job service that provides xafers with pre-screened XAF jobs leads that offer real pay for real work. From web to windows to mobile, from reporting to dashboards, all of the job openings we bring you offer some form of our loved XAF framework.".
    2. New blog post from Joche Ojeda: Migrating XAF projects to the new version of csproj (SDK project VS2017). As you probably know, the design-time Model Editor tool supports projects with the new VS 2017 csproj format starting with v18.2. You may find this blog post helpful if you need migration instructions.
    3. Another blog post from Joche: Exposing your XPO ORM using GraphQL dotnet = XPO + https://graphql.org  + ASP.NET Core.
    4. New blog post on startup performance optimization from Manuel Grundner (DevExpress MVP): How to pre cache an XAF Winforms Application. While we are at it, please do not miss the recent performance optimizations in XAF v19.1.
    If you have your own blog where you share your expertise about XAF, XPO or other DevExpress products, please let us know in the comments below.  If you are looking for custom XAF development or training, check out these third-party services.

    Documentation updates

    1. We have identified the most popular class and member topics in the XAF API reference documentation based on traffic statistics. The team is now working hard to make sure that each document has a helpful code snippet. We plan to do the same for XPO API. Once we complete these initial efforts, we will select and review the next batch of popular documents. Here is the first update:
    2. New security system documents on permission calculation are available at Permissions for Associated Objects - now with schemas! Unlike simpler permissions at the object type level that you see in competitor products, the XAF security system provides more powerful permissions. They help control data access at the object type, member and object by criteria levels.
    3. We are working on samples that show how to use XPO with DevExpress visual controls for popular platforms such as ASP.NET Core MVC, WinForms, and WPF: https://github.com/DevExpress/XPO/tree/master/Tutorials. We have not yet provided step-by-step instructions, but you can research the source code of 10 working apps. This will also be a good start if you wish to reuse your XAF/XPO data model in non-XAF apps.

    Interesting Support Center tickets

    1. If the ORM Data Model Designer is unavailable, make sure that you have installed Modeling SDK (or other packages like Entity Framework that rely on it) using the Visual Studio Installer (T730362).
    2. Due to a bug in Visual Studio versions prior to 2019, Application or Module Designers may sometimes be "lost" for the WxxApplication.xx and Module.xx files respectively. This occurs because "Subtype Designer" is added unnecessarily to xml-based files like csproj (204355).
    3. The parameterless IObjectSpace.CreateObjectSpace() method is hidden from Intellisense in v19.1. Use the CreateObjectSpace(Type) overload instead (BC5070).
    4. We performed a lot of measurements and performance enhancements for app startup and DetailView in XAF v19.1. We once again recommend that our users try Native Image Generator (NGEN) to dramatically cut loading time (T731177).
    5. We discussed some NGEN specificities, such as the need for administrative privileges, with other customers (T719697).
    6. A customer provided a sample with the XAF security system used in a non-XAF app: an OData V4 service built using ASP.NET Core (T721161).
    7. Several customers suggested that we change the Model.DesignedDiffs.xafml file name to better identify multiple opened tabs in Visual Studio. What is your opinion on this (T736377)?

    Let us know what you think

    XAF – WinForms UI Case Study by CTL Computertechnik Lang

    $
    0
    0

    Meet Michael Lang and Rina Saremba of CTL Computertechnik Lang. Michael is the founder and Rina is a senior developer and a leader of software development.

    We recently published a case study about their ERP project L'UnicaVia® (“the only way” in Italian). Here’s what Michael said about having to adjust to a new development paradigm and the benefits brought on by this shift:

    After understanding the MVC developing method of DevExpress XAF, we learned to use it and experienced, that almost anything is easier to do with it, but it is really different from all other usual methods. We love it.

    Read the full article to learn how Michael and Rina came to choose the DevExpress eXpressApp Framework (XAF) and eXpress Persistent Objects (XPO) for their WinForms project development, what they struggled with, and what they liked about our tools:

        CTL Computertechnik Lang Case Study: XAF and WinForms Controls

    Do You Have a Story to Share?

    We'd love to publish your story on our website. It doesn’t matter if the project is big or small, or which DevExpress tools you used. Fill out this simple case study form and email us at clientservices@devexpress.com.

    XAF - WinForms UI Case Study by PraKom Software GmbH

    $
    0
    0

    Meet DevExpress MVP Martin Praxmarer of PraKom Software GmbH. PraKom, an Austrian software company, was founded in 2008.

    We recently published a case study about their product VenDoc (an ERP software solution). VenDoc currently addresses the needs of over 750 companies in both the DACH and South Tyrol regions of Europe. 

    To learn more about VenDoc, please visit the company's Facebook page. PraKom's recent newsletter shows how VenDoc users can benefit from performance and usability enhancements in XAF v19.1. PraKom also previewed VenDoc's Web version (built using XAF Web UI capabilities). As you'll see, PraKom successfully reused XAF data models, app modules and core business logic for its web interface.


    Here’s what Martin said about XAF's main benefits:

    XAF has helped us deliver a highly flexible and stable product. XAF allows us to quickly deliver new functionality with a relatively small team. We started with one developer and now have 8 developers working on our XAF-based software.

    Read the full article to learn how Martin came to choose the DevExpress eXpressApp Framework (XAF) and eXpress Persistent Objects (XPO) for their WinForms project development, what they struggled with, and what they liked about our tools:

        PraKom Software GmbH Case Study: XAF and WinForms Controls

    Do You Have a Story to Share?

    We'd love to publish your story on our website. It doesn’t matter if the project is big or small, or which DevExpress tools you used. Fill out this simple case study form and email us at clientservices@devexpress.com.

    Viewing all 148 articles
    Browse latest View live