Creating Revisions


To create revisions, you need at least the privilege Connect over this environment or have one of these roles: global administrator, promotion administrator or promotion user. More information is available in the Authorization section.

A revision is a collection of Virtual DataPort catalog elements and Scheduler jobs. There are several ways to create a revision from the Solution Manager Administration Tool:

  • Click the source environment environment_node and select the new-revision-text-btn option.

    Create a revision by clicking the source environment

    Create a revision by clicking the source environment

  • Go to the revisions table by clicking in the Promotions menu and then Revisions.

    Open the revisions table

    Open the revisions table

    Then click the new-revision-table-btn button on the header of the table and select the source environment.

    Create a revision by clicking the "New Revision" button in the revisions table

    Create a revision by clicking the “New Revision” button in the revisions table

A new tab opens with the New Revision dialog, which looks like the picture below:

Dialog to create a new revision

Dialog to create a new revision

The dialog is separated in two sections. In the General pill you can configure the basic options about a revision: the name, the source servers… In the Revision Elements pill you can select what elements you want to promote. To create a revision, fulfill the forms in both sections and remember to click the save button save-btn on the top.

Once created, each revision consists of:

  • A VQL with the Virtual DataPort elements selected, if any.

  • A zip with the Scheduler jobs selected, if any.

General Options

In the General section, you can configure the following options:

  • Name: Descriptive name for the revision.

  • Description: Extensive description about the revision. This field is optional.

  • Type: There are two types of revisions according to what the Solution Manager should do with the elements during the deployment:

    1. CREATE: The elements in the revision will be created during the deployment.

    2. DROP: The elements in the revision will be removed during the deployment.

  • Virtual DataPort server: Server in the catalog that will be the source for the Virtual DataPort elements.

  • Scheduler server: Server in the catalog that will be the source for the Scheduler jobs. This field is optional.

  • Replace/Drop Virtual DataPort elements: For CREATE revisions, you can choose different strategies that will affect how the VQL for Virtual DataPort elements is generated:

    • Drop elements before creating them: The generated VQL will try to delete each element before creation. If the element does not exist, the DROP command will fail.

    • Replace existing elements: The generated VQL will try to replace each element. Unlike the previous option, if the element does not exist, the CREATE OR REPLACE command will not fail. This is the recommended option in most of the cases.

    • Do not replace existing elements: The generated VQL will only try to create each element. If the element exists, the CREATE command will fail.

  • Included elements: For CREATE revisions, you can choose which extra elements will be included in the VQL for Virtual DataPort elements.

    • Include server properties: If selected, the properties that can de modified of the Virtual DataPort server will be included in the generated VQL.

    • Include web container properties: If selected, the tomcat properties that can be modified will be included in the generated VQL.

    • Include extensions and libraries: If selected, the extensions and libraries that are dependencies of the elements in the revision (like a custom function in a JAR, a JDBC driver…), will also be included in the generated VQL.

    • Include statistics: If selected, those statistics already calculated for elements in the revision will be included in the generated VQL.

    • Include VDP dependencies: If selected, the revision will include the selected elements and the elements that they depend on (underlying views, data sources, etc.). For example, if you select this option and a derived view, the revision will also include all the elements needed to recreate this view (other views, base views, data sources…).

      This option does not apply to users, roles or Scheduler jobs.

    • Include users and privileges: If selected, the revision will include the privileges of the selected Virtual DataPort elements. The generated VQL will include the statements required to:

      • Create or replace the users and the roles that are owners or have privileges granted over the selected elements.

      • Grant the privileges to these users/roles over the exported elements.

      This option will select all the “Users” and “Roles”.


    To use this option, the user that creates the revision has to be a global administrator or an administrator of the Virtual DataPort databases that contain the selected elements. Otherwise, the revision will not include the metadata to create users, roles and their privileges.

Additional Options

The Virtual DataPort properties allow to parameterize information of certain elements inside the VQL (data sources, users…). For example, on each environment (development, testing, production…), JDBC data sources may point to different databases, XML data sources to different files, etc. The JDBC base views are a special case, being possible to configure if the catalog and schema are exported as properties or not.

In the Additional Options section, you can configure the option Include environment properties for catalog and schema names in JDBC base views`. Select this checkbox if the name of the catalogs and/or schemas of your JDBC data sources are different in the source and the target environment. The generated VQL will contain the information of schema and catalog parameterized with properties, as you can see in the following VQL:

    id_field = 'id_field' :'java.lang.Integer' SORTABLE

In this VQL, the values for CATALOGNAME and SCHEMANAME are included as properties. In this case you will need to register the corresponding properties for each JDBC base view included in the revision in the target environment, in order to replace each property with the corresponding value during a deployment.

If the source and target environment share catalog and schema, clear this check box. The generated VQL for the revision will contain directly the value for the schema and the catalog instead of a property.

Revision Candidate Elements

Once you selected a Virtual DataPort server and optionally a Scheduler server, you can go to the Revision Elements pill and select all the elements and jobs that the revision will include.

Under the title Selected elements, the Solution Manager Administration Tool shows you all the candidate elements you can select in the following order:

yes Virtual DataPort databases.

yes Associations.

yes Scheduler jobs. The job types considered for revisions are VDP, VDP Cache and VDP Indexer.

yes Users. Default users are ignored.

yes Roles. Default roles are ignored.


The users and privileges will be included in the VQL only when the user used creating the revision has admin permission in the Virtual Database that contains the Virtual DataPort elements.


If the revision contains users or roles and VDP elements, the revision will include grant permissions of that users or roles on that VDP elements. The Include users and privileges option automatically selects all the “Users” and “Roles”.

The following types of elements are not included in the revision candidate elements tree:

no Resource Manager plans and rules.

no Widgets.

no JMS listeners.

The rules and plans of the Resource Manager cannot be included in a revision. The reason is that the servers of each environment should have their own rules and plans.

Revision candidate elements example

Revision candidate elements example

You can reinspect the metadata source clicking the refresh button refresh-btn.


The list of candidate elements and jobs depends on the permissions of the user that connects to the servers. Remember that in the dialog of server definition, you can choose which user is used for creating revisions, the one defined in the server metadata or the one that is logged in the Solution Manager.


The servers must support the same authentication method used by the current user, except if they are created to use a specific user/password for creating revisions. Because the connection is established using pass-through by default. For instance, if the user are logged by Single Sign-On using an external Identity Provider (OAuth, OpenID Connect, SAML), the servers must have token authentication configured. See how to enable denodo security token for more details.

Virtual DataPort Databases

In the list of candidate elements, the content of Virtual DataPort databases is hidden by default. You have to expand a database, clicking its corresponding arrow, to show all the elements it contains.

Revision database elements example

Revision database elements example

Notice that the Solution Manager Administration Tool does not display all the elements that belong to a database. Currently, the only elements that are supported for revisions are:

  • Database configuration: This option allows to include the specific database configuration in the revision VQL. This option is only displayed in CREATE revisions for the databases where the user used to connect to the Virtual DataPort server has dbadmin privileges. If this option is available, it is displayed as the first element inside a database (Include database configuration node).

  • Data sources.

  • Folders.

  • User-defined stored procedures.

  • Views.

  • Web services. In CREATE revisions, the list of candidate web services only considers those web services that are actually deployed. DROP revisions show all the web services. Moreover, you can select individual operations or resources.

Scheduler Jobs

Expand the node Scheduler jobs to see the available jobs. They are organized according to their project and type.

Scheduler jobs example

Scheduler jobs example

When you add a Scheduler job to a revision of type CREATE, you can choose if you want the Solution Manager to execute this job when it deploys this revision.

To execute a job during the deployment of this revision, right-click the job and click Execute job when revision is deployed.

Option "Execute job when revision is deployed"

Option “Execute job when revision is deployed”

The jobs that will be executed during the deployment of the revision have a green icon next to them (see below)

Scheduler job marked to execute

Scheduler job marked to execute

To not execute a job during the deployment, right-click the job and click Do not execute job when revision is deployed.

By default, VDP and VDP cache jobs are not marked to be executed but you can mark them.

It is not possible to run VDPIndexer jobs during a deployment.

Elements Dependencies Tree

The selected elements in the revision may have dependencies with another elements that probably you also want to include. For instance, a view may depend on other views or on a data source. The Solution Manager Administration Tool allows you to check the dependencies for some of the candidate elements. In the Selected elements tree, click the element for which you want to check its dependencies, and they will appear in a hierarchical view under the title Dependencies tree. When you select elements in the Dependencies tree, they are automatically selected in the Selected elements tree. If the selected elements belong to a database whose content was not loaded yet, the database content is loaded and the elements are selected.


If you select Include VDP dependencies, the VDP elements shown in the dependency tree are disabled. The users, roles and Scheduler jobs are never disabled.

It is possible to check the dependencies of the following elements:

  • Scheduler jobs. You can see the views for a VDP Cache job.

    Scheduler cache jobs dependencies

    Scheduler cache jobs dependencies

  • Views. The dependencies of a view include other views, data sources, stored procedures and those associations where the view participates as an end point. Additionally, if a Scheduler job depends on a view, the dependency tree will also show that job.

    View dependencies

    View dependencies

  • Web services operations. The dependencies of a web service operation include another views, data sources, stored procedures and those associations where the published view participates as an end point.

    Webservice operation dependencies

    Webservice operation dependencies

  • Associations. The dependencies of an association include the views of the endpoints and the dependencies of those views.

    Association dependencies

    Association dependencies

  • Users: You can see its roles as dependencies. Note that the predefined roles are ignored.

    User dependencies

    User dependencies