Xafari Report Templates

Xafari framework provides the user with 4 types of Report Templates. For the same Report you can create or customize a few Templates. All available Templates are listed within the Report Administration Detail View:


Templates List View provides 3 operation:

  • Create a new Template
  • Clone existing Template
  • Delete Template


Popup list displays all available Templates, the framework builds the list of Templates on the basis of a list of the reporting system modules, added to the system. The Templates system is extensible, i.e. third-party developer can implement a custom Template type and use it in Хafari Reports.

Clone Action creates an exact copy of an existing Template. When cloning a system Template, the copy ceases to be system, i.e. its System flag is False. A copy of a system Template can be modified unlike the original. A clone can be made active, and a system Template cannot. This is the main use of cloning. Thus, the user will see only a modified (cloned) version of the template.

General properties of the Templates are available on the Template Detail View. All of supported Template types have common general settings.


Name specifies the name to be displayed in the Templates list.

Action specifies the Action to be executed when generating a Report. The list of available Actions is determined by the capabilities of the current Template type. Different types of Templates expose a different set of available Actions. For example, Analysis Template supports a following Actions:

  • Preview Action displays results after the Report is generated.
  • Export to file Action exports the generated Report to a file. File-recipient format is set by the DefaultExportFormat property. This property is placed in the Xafari|Reporting|TemplateTypes|<Template type> node of the Application Model. After generation of the Report Win-the app will invoke the save dialog, in a Web application the browser will begin downloading a file to the client.

Assembly name specifies the full name of the .NET assembly, the specified assembly is the source of deployment of the current Template.

Availability criteria: the criterion that analyzes Parameters Objects. The text of the criterion is an expression in Criteria Language Syntax. According to the Xafari Reports concept, the final Report can be generated only based on a certain Parameters Object. Availability criteria selects only required Parameters Objects. If the Parameters Object satisfies the Availability criteria of the current Template, then this object will have two features:

1. The current Template will be displayed in the Choose a template list, when the Report is executed based on this Parameters Object.


2. The current Template will be available in the lookup list of the Default template property of this Parameters Object.



It is possible that the Availability criteria may not operate. It happens for the Choose a template list before generating the Report if XafariReportsTemplateSelector_ListView.DataAccessMode property is "DataView".

Modified, Modified by, Created and Created by properties specifies when and by whom the Template was created, and who and when last modified.

Active flag determines a visibility of the current Template. The active Template will be available in the list when generating the Report, , it is also available when the user customize Report Parameters. Using this flag it is convenient to manage a list of Templates that are actual for the work. In the Template, which is currently not in demand or is in the process of design, this flag can be unchecked.

System flag indicates whether a Template is system or user. It is read-only property. If the Template shipped by the developer of the system, then it can be True or False, the value set by the developer. Flag equal to False if the Template is designed in the subsequent operation of the application. The user cannot modify system Template, but can modify the cloned. A clone can be made active, and the system template no. Thus, the user will see only a modified (cloned) version of the Template.

The topics in this section will provide you with an extensive knowledge of the supported Templates: