Xafari Framework 17.2.6011.1440
Xafari Framework 17.2.6011.1440
Business platform Xafari is intended for development of powerful business-oriented applications. It uses state of the art flexible platform DevExpress XAF. Xafari Framework is a set of components that extend and complement DevExpress XAF.
More than 100 additional modules
More than 50 additional features and solutions
More than 40 new editors
More than 10 samples and online applications to learn new features
Xafari Framework general components expand the functionality of relevant DevExpress XAF components and are included in Xafari General subscription.
Below is the list of the main general components. You can find the complete list in the documentation.
DevExpress XAF framework provides the following main types of Actions: SimpleAction, PopupWindowShowAction, SingleChoiceAction and ParametrizedAction. Xafari extends this set by four additional Actions.
Check Action is a descendant of SimpleAction that allows checking Action state; it may be "checked" or "unchecked". The action exposes state change events.
Dock Panels significantly improve the user interface of applications developed with DevExpress XAF. Dock Panels provide a user with more data on the current object via additional accompanying Views. Users can hide the Views they don’t need or, conversely, show other available Views.
In fact, the Dock Panels is a way to complicate View while not changing the settings of the View. This issue often occurs when new features are implemented in additional modules.
To work with the Dock Panels, the developer has to add DockManager component to FrameTemplate and customize the properties of the Panel and displaying rules in the Application Model. It is necessary to assign a certain View to the Dock Panel; the assigned View will display the Panel data.
The main use case assumes that there is a master-detail relationship between the Panel data and the main View data. Dock Panels functionality allows taking into account this relationship when displaying data. The master-detail relationship should be specified in the Application Model via special criteria. In this case, the data of both Views is synchronized in dependence on the parameters of the relationship. By default, the data will be synchronized in 0.5 seconds after the change of the current object or selected objects for Master View.
Alternative Navigation Items
Xafari Framework components extend the standard DevExpress XAF navigation system by means of ARMs mechanism. It differs from XAF Navigation Items in a number of ways, providing such additional features:
Developers can design templates for similar groups of navigation items.
A special navigation item allows executing Actions directly from the navigation bar.
There are special navigation items to work with Xafari Reports and Business Operations.
Developers can implement custom types of navigation items.
It is possible to control access to the navigation items via User Roles.
Tabbed Detail Property Editor
Tabbed Detail Property Editor is an alternative way to design Detail View. The idea is that the properties of the object are apportioned among several Detail Views. Tabbed Detail Property Editor displays groups of hierarchical tabs in NestedFrame. It is designed for complex Detail Views with lots of View Items, tabs, and collections.
Tabbed Detail Property Editor outwardly resembles XAF Tabbed Layout Group, but there are significant differences in the implementation. The concept allows the user to work with only one tab with simple View at a time instead of manipulating large and complex Views. It also solves performance problems that occur when working with large Details having more than 30 elements.
Developers can customize the Tabbed Detail Property Editor in the Application Model, creating the hierarchy of tabs and configuring the View of each tab.
Tabbed Detail Property Editor is implemented for Win, Web, and MVC.
Web Editors Templates
Xafari adds new features to all standard XAF Web editors. This feature allows changing the design quickly and easily. By default, the editor looks like the standard one. To change the design of the editor, the developer needs to create a Template (ASPх User Control) and to refer to it in the Application Model.
Xafari Smart Design technology allows solving specific problems of View generation. It provides the ability to configure a number of settings of List View, Lookup List View, and Detail View in the code, as well as to create additional Views.
By default, DevExpress XAF places all properties of the business object in the Application Model. The properties are displayed on the UI automatically, which often leads to redundant fields (columns) on the Views. The developer has to spend time and effort to hide the unnecessary elements. In some situations, it is easier to hide unnecessary properties by default and instead specify the list of required.
The basic idea of Xafari Smart Design is that only the properties specified by the developer should appear in the Application Model (and the UI). Moreover, the developer can create a rule to generate any number of different Views directly in the class of the business object and specify the layout of each View. The default XAF strategy and Smart Design can complement each other within a single application.
Xafari Smart Design is available for Win, Web, and MVC.
Context Help is a tool that integrates Xafari online documentation into a XAF application. It is configured in the Application Model. Context Help settings are presented in several nodes of the Model:
Common root page of documentation
Default page for all Views
Calculated link for current View. It is generated using a special ObjectFormatter class.
Directly specified link for current View.
Context Help is available for Win, Web, and MVC.
Xafari MVC UI
ASP.NET MVC module has a number of UI improvements in x011.
DX NewStyle Support
Xafari x011 supports DX NewStyle for web applications. It allows combining usability of touch-screen applications with the advantages of using ASP.NET for web development.
Improved Pop-up Windows Mechanism
We have improved pop-up windows mechanism for x011. It allows defining the maximum windows nesting level (MaxNestedLevel), enabling windows of the second and higher levels to open approximately in 300ms and faster, depending on their content.
Other changes include:
CustomizeSettings for MVCxTreeListEditor and MVCxGridListEditor
Support of NonPersistentObjectSpace for MVCxTreeListEditor and MVCxGridListEditor
Xafari Localizer Class
Starting from x011, Xafari Framework has a new XafariResourceLocalizer class that provides a unified approach to localizing Devexpress XAF and Xafari applications. It makes localization process more flexible, allowing to create/modify localization in a few simple steps, change the localized properties right in the model editor, and customize localization in both runtime and design-time.
A new module Xafari.Console contains classes for running a XAF application in a console mode.
The module supports XafariApplicationContext and AppModule parameters when starting a XAF application, provides an opportunity to develop component tests for the console application and integrating it in the XAF application or in the AppStarter, and simplifies development of a console for a XAF application.
Template for a console application has been included in the new Xafari application template for Visual Studio.
RunCmd has been updated using the new Xafari.Console module, keeping all existing functionality.
Extension Framework (XF)
We have significantly simplified the use of the Extension Framework (XF) module. The main improvements are:
the model of generated persistent types no longer includes inherited persistent classes
opportunity to register entities through attributes above types
no code compilation is necessary for XF, which accelerates model designer work with XF
extensions are more visible in the general list of entity attributes, there is a separate attribute for each extension.
AppStarter is new utility in Xafari x011, which starts a Win application deployed on a server and creates its local copy. It allows running and working with different versions of the same application, configuring individual lists of application versions to be run for each user, and creating a single set of versions when different versions are used by different groups of users. It also helps to avoid working with outdated application assemblies.
When used in combination with Xafari.Accelerator, AppStarter reduces application start time on the client computer by 200%.
Easy Test for Win Components
Xafari x011 introduces three new modules that enable the use of Easy Test for Xafari Win components.
Xafari.EasyTest.WinAdapter allows testing Xafari Win components using Easy Test, and Xafari.ScriptRecorder и Xafari.ScriptRecorder record user action in the script. All three components are based on the corresponding Devexpress XAF components, but expand their functionality on Xafari components.
New ERP Concept
Starting from Xafari x011, we are introducing a new ERP concept, which aims to make the structure and logic of an ERP application as simple and clear as possible. The core of the concept is splitting the application into several groups and subgroups of modules, each containing specific functionality: platform-dependent and platform-specific module groups.
The main new components that implement this vision are:
Xafari Solution Wizard
Xafari Template Gallery
AppModule is a special module that declares and initializes parameters of a Devexpress XAF application. All parameters have to be defined only in AppModule, which guarantees that configuration of all use cases in the application is the same, thus preventing conflicts that might arise when running the application. AppModule is platform-independent, so it adds only platform-independent modules to the application, while platform-specific modules are added during application initialization for each platform.
ApplicationHost is a new class in Xafari x011 that, upon launch of a XAF application:
Initializes the environment for the application
Create, initializes and starts XafApplication object in the correct environment
Loads all platform-independent modules listed in AppModule
Determines which platform-specific modules have to be added (via Application Context)
Ensures that all standard Xafari features are available.
Xafari ERP Solution Wizard
Xafari ERP Solution Wizard allows creating a new application in a few steps by choosing a target platform (Win, Web, MVC etc.) and object-relational mapping (XPO, DC). To simplify using it for XAF developers, it has been designed similar to XAF Solution master.
The wizard works with the following versions and editions of Visual Studio:
Express, Community, Standard, Pro, Premium, Ultimate, and Enterprise editions
VS 2010, Ultimate 2010, 2012, 2013, and 2015 versions