The Xafari Audit module allows to trail data changes, call Actions, run various Business Operations. It should be noted that DevExpress XAF provides the Audit Trail module to provide you information on changes that are being made to the application's persistent objects (and their properties).

The Xafari Audit module has a flexible configuration and, more importantly, provides higher performance and stability when massive changes of objects (more than 1000 objects in a single transaction) are expected. Another important feature is that Xafari Audit monitors the changes of aggregate collections.

To see Audit in action, refer to the Xafari.BCDemo application installed with Xafari.


Xafari Audit module allows to register the following operations:

  • Deleting, creating and modifying business objects, including their field and collections.
  • Execution Business Operations (context -dependent and context-agnostic), including the rollback.
  • Execution of user Actions (context-dependent and context-agnostic).
  • Reports Generation.
  • Users login and logon.

Audit will monitor only those types that implement IAuditSupport interface.

First module version implementedat the database level using triggers.

In the first version of the module is implemented at the level of logging database using triggers. It provides high performance on large amounts of data and transactions.

Full Audit functionality is implemented in three modules:

Xafari.BC.Audit module is responsible for the Audit settings that can be made by the user, it provides base interaction with user. It also provides API to work with Audit in code.

Xafari.BC.Audit.Triggers module translates Audit settings to the database triggers, this applies to both user settings and settings in code. This functionality is implemented only for MS-SQL and Oracle.

Xafari.BC.Audit.Win module provides a special Property Editor to display Audit data in the application.

Xafari.BC.Audit.Cfg provides the support to the following Dashboards: Audit_cfg_dashboard and Settings_cfg_dashboard. There are 2 strategies for the use of this module:

  • Add the module to the target application. In this case, the administrative functions will be available in the application itself.
  • The target business application is developed based on the use of a separate administration tool - Xafari Applications Support (XAS). In this case, XafariBCAuditCfgModule should be added to XAS.

Solution architecture allows to substitute the implementation of a Auditing mechanism. For example, instead of database triggers Audit can be implemented using the CDC (Change Data Capture) technology, or any other technology. This allows to have one immutable interface to the user, administrator, and developer. This provides the performance, scalability and fault tolerance required for a particular application product.

Topics in this section familiarize you with the Audit usage: