What’s New in Xafari 15.1.308.217

New Major Features in x08

What's New x08

Breaking Changes

To learn about breaking changes in this version, please refer to the following page:
Breaking Changes in Xafari 15.1.308.217

Known Issues

To learn about known issues in this version, please refer to the following page:
Known Issues in Xafari 15.1.308.217


Xafari Services

Xafari Services is a tool to implement global business tasks
Xafari Services is a program component to implement business functions for an application entire. XS has a global character, it is an advantage of the system as a whole rather than specific business entities.
XAF developer is convenient to apply Xafari Services in the following situations:
1. Implemented functionality are intended for the whole application.
2. The result of the function must be isolated from other users, until the executor does not confirm changes.
3. The result of the function can be canceled without affecting other users.
4. The function uses its own global settings and parameters that can affect the work of other users.
5. The function is used for batch processing.

Index Numerators

Index Numerators is a special mechanism for automatic sequential numbering
It allows to assign a number to referenced objects taking into account the context of the object owner.In contrast to the existing Business Numerators mechanism, the number in Index Numerators is presented just by digits. It provides a series of specific features:
1. To numerate hierarchical objects depending on the level.
2. To insert into the collection and recalculate index.
3. To remove from the collection and recalculate index.
4. To work in Updater.
5. To move the object to the top of the collection and recalculate index.
6. To move the object to the end of the collection and recalculate index.
7. To recalculate index when change the object number.
8. To support work with DB using direct requests.


Design XtraReports template via the Visual Studio (CTP)
Xafari Reports system provides feature to design Design XtraReports template via the Visual Studio. It uses the DevExpress designer (https://documentation.devexpress.com/#eXpressAppFramework/CustomDocument112734). The data source must be a XafariReportDataSource, it available in the toolbar.
This possibility is represented in Xafari x08 in CTP status (Community Technology Preview).

Application Settings

Application Settings is implemented as Xafari Service
Application Settings now uses Xafari Service mechanism. This required significant modifications of the Application Settings core code.

eXtension Framework

Non persistent Extensions
Persistent Entity now can be extended with non-persistent Extension

General aspects

More possibilities for Domain Logic implementation
DomainLogicBase2 is a new base class for the Domain Logic. It exposes AfterChange and BeforeChange methods to implement event handlers.
GuidWeakReference support clases with Guid key.



Dock Panel don't store custom settings for View. (T102.143926)
Now user can invoke any Dock Panel and customise displayed View. All customisation will be stored in Application Model correctly.


GeoPoint Container Detail View not editable (T102.143976)
Now user can edit GeoPoint Container Detail View (in Web aoolication).


Xafari.BC.Tasks have unusable nodes (T102.143709)
UnusableNodes has been removed
'Comment' Action involves an exception (T102.143914)


Xafari.Utils.FilteredLocalizedClassInfoTypeConverter.GetStandardValues() method reduces performance (T102.139753)
Method was optimized.
BaseXafariPage class is not use(T102.143802)
Functionality is implemented by XafariTemplateContentFactory

eXtension Framework

Standart 'Clone' Action and custom code works incorrectly with Entities and Extensions (T102.141727)
New XFCloner class provides cloning for Entities and Extensions. To clone extended objects in custom code it is also necessary to use XFCloner.

var cloner = new Xafari.XF.XFCloner();
var clonedEntity = cloner.CloneTo(entity, entity.GetType());

Where ‘entity’ is extended Entity, clonedEntity is cloned Entity

If object implements IEntity, system always invoke only one Detail View for it (T102.141714)
Web application stores generated assembly in WindowsTemp Folder
Now, by default, generated assembly is located in ‘C:\Users\\AppData\Local\Temp\Xafari’ folder.
To modify default settings, add GetDcAssemblyFilePath method to WebApplication class.

protected override string GetDcAssemblyFilePath()
 return Path.Combine(AppDomain.CurrentDomain.DynamicDirectory, "Xafari", this.ApplicationName, Path.GetRandomFileName());


protected override string GetDcAssemblyFilePath()
 return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "GeneratedAssembly", XafApplication.DcAssemblyFileName);

If you use impersonate=true you have to create windows user group with modify permission on GeneratedAssembly folder and have to add all users (so IUSR) in this group.
If you use impersonate=false you have to set modify permission on GeneratedAssembly folder for user which used in AppPool


Incorrect ToolboxTabName (T102.142109)
Fixed. Correct ToolboxTabNames are:
It is impossible to add to the VS toolbox Xafari components from different versions. (T102.139958)
Fixed. Now it is possible.
There is not Xafari.SmartDesign module within toolbox (T102.143359)
here is not Xafari.Security.DC,Xafari.Security.XPO, Xafari.Docflow.DC,Xafari.Docflow.XPO modules within toolbox (T102.143388)
Write US