com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Upgrading from a Previous Release

This page takes you through the steps for upgrading from DSS 3.2.2 to DSS 3.5.0. For more information on release versions, see the  Release Matrix .

If you want to migrate your Data Services Server configurations from one instance to another (such as when promoting your instance from test to production) using the same Data Services Server release, see Migrating DSS.

Preparing to upgrade 

The following prerequisites must be completed before upgrading:

The downtime is limited to the time taken for switching databases when in the production environment. 

Migrating the configurations

Since there are no database changes between these two DSS versions, you are only required to migrate the configurations and settings from DSS 3.2.2 to DSS 3.5.0 as explained below.

Updating the configuration files 

The following are the updates that need to be done to the configuration files in DSS 3.5.0:

Note that configuration files should not be copied directly between servers.

  1. Create a new database for DSS 3.5.0 and restore the backup of the old database in this new database.
  2. To connect DSS 3.5.0 to the new database, configure the following files:
    1. Configure the <DSS_HOME_3.5.0>/repository/conf/datasources/master­datasources.xml file as shown in the following example:

      <datasource>
      user manager</description>
      <name>WSO2_CARBON_DB</name>
      <description>The datasource used for registry and
      <jndiConfig>
      <name>jdbc/WSO2CarbonDB</name>
      </jndiConfig>
      <definition type="RDBMS">
      <configuration>
      <url>jdbc:mysql://localhost:3306/<new_database></url>
      <username>username</username>
      <password>password</password>
      <driverClassName>com.mysql.jdbc.Driver</driverClassName>
      <maxActive>80</maxActive>
      <maxWait>60000</maxWait>
      <minIdle>5</minIdle>
      <testOnBorrow>true</testOnBorrow>
      <validationQuery>SELECT
      1</validationQuery>
      <validationInterval>30000</validationInterval>
      </configuration>
      </definition>
      </datasource>
    2. Go to the <DSS_HOME_3.5.0>/repository/conf/ directory and update the datasource references in the user-­mgt.xml and registry.xml files to match the updated configurations in the master­datasources.xml file. The following are sample configurations if the datasource is “jdbc/WSO2CarbonDB”:

      registry.xml

      <dbConfig name="wso2registry">
      <dataSource>jdbc/WSO2CarbonDB</dataSource>
      </dbConfig>

      user­mgt.xml

      <UserManager>
      <Realm>
      <Configuration>
      ...
      <Property
      name="dataSource">jdbc/WSO2CarbonDB</Property>
      </Configuration>
      ...
      </Realm>
      </UserManager>
  3. Check for any other configurations that were done for DSS 3.2.2 (based on your solutions), and update the configuration files in DSS 3.5.0 accordingly. For example, external user stores, caching, mounting, etc.

    Note that the properties of data services listed below have changed for all 3.x.x versions of WSO2 DSS. Therefore, if you have any .dbs files moved from an older DSS version (DSS 2.x.x version) to DSS 3.5.0, be sure to update these properties as applicable to the DSS 3.x.x versions. The following table shows how the properties have changed between DSS 2.x.x versions to DSS 3.x.x versions.

    DSS 2.x.x versionsDSS 3.x.x versions
    org.wso2.ws.dataservice.driverdriverClassName
    org.wso2.ws.dataservice.protocolurl
    org.wso2.ws.dataservice.userusername
    org.wso2.ws.dataservice.passwordpassword
    org.wso2.ws.dataservice.query_timeoutqueryTimeout
    org.wso2.ws.dataservice.autocommitautoCommit
    org.wso2.ws.dataservice.fetch_directionfetchDirection
    org.wso2.ws.dataservice.fetch_sizefetchSize
    org.wso2.ws.dataservice.max_field_sizmaxFieldSize
    org.wso2.ws.dataservice.max_rowsmaxRows
    org.wso2.ws.dataservice.transaction_isolationdefaultTransactionIsolation
    org.wso2.ws.dataservice.initial_sizeinitialSize
    org.wso2.ws.dataservice.maxpoolsizemaxActive
    org.wso2.ws.dataservice.max_idlemaxIdle
    org.wso2.ws.dataservice.minpoolsizeminIdle
    org.wso2.ws.dataservice.max_waitmaxWait
    org.wso2.ws.dataservice.validation_queryvalidationQuery
    org.wso2.ws.dataservice.test_on_borrowtestOnBorrow
    org.wso2.ws.dataservice.test_on_returntestOnReturn
    org.wso2.ws.dataservice.test_while_idletestWhileIdle
    org.wso2.ws.dataservice.time_between_eviction_runs_millstimeBetweenEvictionRunsMillis
    org.wso2.ws.dataservice.num_test_per_eviction_runnumTestsPerEvictionRun
    org.wso2.ws.dataservice.min_evictable_idle_time_millisminEvictableIdleTimeMillis
    org.wso2.ws.dataservice.remove_abandonedremoveAbandoned
    org.wso2.ws.dataservice.remove_abandoned_timeoutremoveAbandonedTimeout
    org.wso2.ws.dataservice.log_abandonedlogAbandoned
    org.wso2.ws.dataservice.xa_datasource_classdataSourceClassName
    org.wso2.ws.dataservice.xa_datasource_propertiesdataSourceProps
    org.wso2.ws.dataservice.force_stored_procforceStoredProc
    org.wso2.ws.dataservice.force_jdbc_batch_requestsforceJDBCBatchRequests

Migrating the tenant settings and applications

You can migrate all artifacts etc. relevant to tenants by copying the following directories from the old server to the new server.

  1. Copy the following directories from the old database to the staging database.
    • To migrate the super tenant settings, copy the <DSS_HOME>/repository/deployment/server directory.
    • If multitenancy is used, copy the <DSS_HOME>/repository/tenants/ directory.
  2. Start the server.

Testing the upgrade

Verify that all the required scenarios are working as expected with DSS 3.5.0. This confirms that the upgrade is successful.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.