## Version

JReport Server provides a versioning system for controlling the resources contained in the resource tree. To understand what the versioning system is, first you have to understand the resource mechanism in JReport Server. A resource in the JReport reporting system is a conceptual node, which holds a group of archive versions that can be processed or organized in JReport Server. Information of these versions is stored in the System DB database that JReport Server uses, while version files are saved in the directory - `<reporthome>\history`.

### What is a version

All the server resources in the resource tree are controlled by versions. A version is the fundamental unit of the resource tree, and your resources might change over time. JReport Server uses a versioning system to create and manage resources that have changed in content and properties owing to updates issued upon them.

All the resources in the resource tree have versions. A large portion of resource management tasks are done by managing resource versions.

### Different version types

The versions in JReport Server fall into the following major categories:

- Catalog Version
  The version of a catalog file.
- Report Version
  The version of a report file.
- Report Result Version
  The version of a report result file.

  The report result can be generated and maintained in two places - the resource tree and the built-in version folder.

  When you advanced run or schedule a report to publish to the versioning system, you can choose an archive location to generate the report result. You can generate the report result in the built-in version folder, the My Reports folder or the Public Reports folder in the resource tree.

  The report results generated in the resource tree are standalone results and can have their own versions, while those generated in the built-in version folder can only be bound with their respective reports.

- Dashboard Version
  The version of a dashboard file.
- Library Component Version
  The version of a library component file.

### Real path of versions

If you check the property of a version, you will find its real path. Remember that version information is stored to a database, and version files are stored in the directory `<reporthome>\history`. For the report InvoiceReport.cls, the report version's real path is `<reporthome>\history\1\JReport_System_User894485281\InvoiceReport.cls`, which is the actual report result path on disk and stored in the server database. That is, when you click the InvoiceReport.cls report result resource on the server interface, you are accessing it on the disk, only the path to it is stored in the database. And this works the same for the other types of versions.

### Archive policy

JReport Server uses an archive policy to control the resource versions. You can control whether or not to use multiple versions for a specific resource. Also, you can define the maximum number of versions that can be listed in the version table.

The archive policy can be applied to a single resource individually, or to many resources in a folder as a whole.

###### Related topics:

- Managing versions