Patch Installer

Patch Installer

Overview

All text and images in the Yellowfin patch installer are customisable in the same way as the main installer, using a custom properties file, or by command-line arguments. The patch installer does not require many options, as these are all read from the Yellowfin installation’s configuration files.

 

The patch installer supports one special command-line argument, to specify the Yellowfin installation directory. This is not supported as a property in the custom properties file:

Argument

Value

Argument

Value

installdir

The Yellowfin Installation Directory

Tip: If a silent installation update is unsuccessful, you will be able to find errors written into the upgrade log.

Available Properties

This is a list of all properties that can be set in the Patch Installer via the custom properties file or as command-line arguments.

 

# text translations # application name installer.appname=Yellowfin installer.productname=${installer.appname} Patch installer.warn.guionheadless=Headless environment detected, but graphical installer requested.\nIf installation fails, try running the command-line installer. installer.error=Error installer.errortitle=Installation Error installer.errormsg=An error occurred during installation: installer.installing=Installing installer.install.complete=${installer.productname} Installation Complete installer.install.failed=${installer.productname} Installation Failed installer.quit.title=Are you sure you want to quit? installer.quit.msg=This will cancel the installation. installer.title.msg=${installer.productname} installer.footer.msg=(Yellowfin Pty Ltd (c) - http://www.yellowfinbi.com/) installer.button.yes=Yes installer.button.no=No installer.button.browse=Browse... installer.button.cancel=Cancel installer.button.previous=Previous installer.button.next=Next installer.button.quit=Quit # general text for the various installer panels installer.infopanel.info=Please read the following information: installer.licencepanel.info=This software product is subject to a licence agreement. installer.licencepanel.accept=I accept the terms of this licence agreement. installer.licencepanel.notaccept=I do not accept the terms of this licence agreement. installer.targetpanel.intro=This patch updates ${installer.appname} to version 6.1.\n\nBefore continuing, please:\n - Shut down ${installer.appname}.\n - Backup your ${installer.appname} database.\n\nPlease select the directory where ${installer.appname} is installed. installer.targetpanel.doesnt.exist=The selected directory does not exist. installer.targetpanel.notvalid=The selected directory does not appear to be a ${installer.appname} directory. installer.targetpanel.prompt=Select the installation directory: installer.targetpanel.notspecified=Install path not specified installer.targetpanel.prompt.cmd=Enter the installation directory: installer.backuppanel.intro=Please select a directory to store backup archives: installer.backuppanel.doesnt.exist=The selected directory does not exist. installer.processpanel.title=Installing Update installer.processpanel.finished=Finished installer.finishpanel.successful=Installation has completed successfully. installer.dbpanel.dbtype.empty=Please select the Database Type. installer.dbpanel.url.empty=Please enter the JDBC URL. installer.dbpanel.password.nomatch=Passwords do not match. installer.dbpanel.title=${installer.appname} Database Details installer.dbpanel.info=Please enter the connection details for the ${installer.appname} configuration database. installer.dbpanel.dbtypelabel=Database Type: installer.dbpanel.urllabel=JDBC URL: installer.dbpanel.usernamelabel=Username: installer.dbpanel.passwordlabel=Password: installer.dbpanel.confirmpasswordlabel=Confirm Password: installer.dbpanel.validate.title=Validate Connection Details installer.dbpanel.validate.msg=Do you wish to validate the connection details entered?\nThe installer will attempt to connect to the database using the information entered. installer.dbpanel.conntest.error=Error testing connection: installer.dbpanel.conntest.success=Connection was successful. installer.dbpanel.conntest.driver=Unable to load the JDBC Driver: installer.dbpanel.conntest.conn=Unable to connect: installer.dbpanel.as400=AS/400 DB2 installer.dbpanel.cachedb=CacheDB installer.dbpanel.db2=DB2 installer.dbpanel.ingres=Ingres installer.dbpanel.mysql=MySQL installer.dbpanel.oracle=Oracle installer.dbpanel.postgresql=PostgreSQL installer.dbpanel.progress=Progress installer.dbpanel.sqlserver=SQL Server / MSDE installer.dbpanel.sybasease=Sybase ASE installer.dbpanel.sybaseasa=Sybase SQL Anywhere / IQ installer.stylepanel.title=Style Updates installer.stylepanel.info=The ${installer.appname} 6.1 update will apply updated stylesheets and images.\nIf your installation has modified styles, you will need to re-apply them after running this patch. installer.process.backupdb=Backing up database installer.process.backupwebapp=Backing up webapp installer.process.compactdb=Compacting database installer.process.extractfile=Extracting installer.process.extractupdate=Extracting update installer.process.runqueries=Running SQL Queries installer.process.updateconfigdata=Updating configuration data installer.process.updatelibs=Updating libraries installer.process.convertcontent=Converting Report Content installer.process.shutdowndb=Closing database installer.process.updatecss=Updating stylesheet installer.process.updateimages=Extracting new images installer.process.updatestyle=Updating styles installer.process.updaterefdata=Updating reference data installer.process.updateschema=Updating ${installer.appname} Schema installer.process.upgradetutorial=Upgrading tutorial database installer.process.copyingfiles=Copying files # text used in the command-line installer installer.cmd.dbonly.intro=This patch upgrades a ${installer.appname} database for use with ${installer.appname} 6.1. Only the database will be upgraded. The application update must be applied separately. installer.cmd.dbtype.prompt=Database type? installer.cmd.invalidselection=Invalid selection installer.cmd.applynewstyles.prompt=Apply new styles? installer.cmd.applynewstyles.info=The updated styles and images will be applied to your installation. Any modifications you have made may be overwritten. installer.cmd.manualstyles.info=Your current style will be preserved. Styles required for new functionality will be appended to existing stylesheets. # installation validation messages installer.buildversion.too.low=This patch upgrades ${installer.appname} from version 3.3 or later to 6.1. Your ${installer.appname} installation is at version {0}. installer.buildversion.too.high=This patch upgrades ${installer.appname} from version 3.3 or later to 6.1. Your ${installer.appname} installation is at version {0} and does not require this patch. installer.builddate.too.low=You need to update to a more recent version of ${installer.appname} before applying this patch. installer.builddate.too.high=Your ${installer.appname} installation does not require this patch. installer.not.fullversion=Only full version ${installer.appname} installations can be patched. installer.schemaversion.too.low=You need to update to a more recent version of ${installer.appname} before applying this patch. installer.schemaversion.too.high=Your ${installer.appname} installation does not require this patch.
# resource locations resource.infopanel.html=resources/index.html resource.lhs.infopanel.img=resources/border1.png resource.lhs.licencepanel.img=resources/border3.png resource.lhs.targetpanel.img=resources/border5.png resource.lhs.backuppanel.img=resources/border5.png resource.lhs.stylepanel.img=resources/border5.png resource.lhs.processpanel.img=resources/border6.png resource.lhs.finishpanel.img=resources/border8.png

These properties change the behaviour of the installer.

# don't show the style update panel action.hidestylepanel=true

See below for further information.

Updating a Specific Component

You can use the Silent updater to upgrade a specific component of Yellowfin, that is the filesystem or the configuration database, or both.

For instance, upgrading the database:

java -jar update.jar -silent "YFPath" option.upgrade=database

Where, option.upgrade specifies the component to be upgraded. You can use the keyword ‘filesystem’ to update the Yellowfin file system.

This requires specifying the Yellowfin file path to point to the database. Since this information is extracted from the file system (specifically the web.xml file), this method is dependent on the file system.

 

Independent component upgrade

The following examples demonstrate how to independently update a Yellowfin component. This means when upgrading the database, you will not need to specify the file path. 

 

Condition 1: Independent upgrade of only the database. Requires passing additional parameters, such as jdbcUser, jdbcPassword and jdbcURL. The jdbcURL specified here will let the updater know the database type.

Example:

java -jar yellowfin-20180402-update.jar -silent option.upgrade=database jdbcUser=yellowfin jdbcPassword=password jdbcURL=jdbc:mysql://localhost:3306/yellowfin_74_master

Where,

  • option.upgrade - set this to the keyword ‘database’ to update the configuration database, or ‘filesystem’ to update Yellowfin files. For example, option.update=database.

  • jdbcUser - username to connect to the Yellowfin configuration database (not required when updating the file system.)

  • jdbcPassword - the password to the above (should not be encrypted)

  • jdbcURL - the JDBC connection URL. Lets the system know specific database details, such as its type and name, server URL, connection port. (Tip: if you do not know this, you can manually retrieve this from the web.xml file from your Yellowfin folder.)



Condition 2: If you want to use a different driver class, or if the jdbcURL is not recognised by the updater, then an additional jdbcDriver parameter must be passed.

For example,

java -jar yellowfin-20180402-update.jar -silent option.upgrade=database jdbcUser=yellowfin jdbcPassword=password jdbcURL=jdbc:mysql://localhost:3306/yellowfin_74_master jdbcDriver=com.mysql.jdbc.Driver

where,

  • jdbcDriver - specifies the canonical class name for the JDBC Driver.

 

Condition 3: You want to use a different driver to connect to the database, or provide your own jar file. This requires passing the driver to be used, in conjunction with the other parameters. Ensure that the driver you upload belongs to a database supported by Yellowfin. Note that you will not be able to use the java -jar classpath.

Example:

java -cp mysql-connector-java-5.1.25-bin.jar:yellowfin-20180402-update.jar com.hof.patch.PatchInstaller -silent option.upgrade=database jdbcUser=yellowfin jdbcPassword=password jdbcURL=jdbc:mysql://localhost:3306/yellowfin_74_master jdbcDriver=com.mysql.jdbc.Driver




Chart and Configuration Defaults

Yellowfin 9 has Chart and Report defaults for colors, fonts, styles, padding and other types of visual formatting. These settings impact the default look and feel of your charts and reports without requiring much effort to further customize them. These settings can be enabled while upgrading. See below for description.

  • Configuration level defaults: These are color, fonts and style defaults for reports and charts. Administrators are manually able to update these via the Admin Console Content settings. 

  • Chart defaults: These are default chart formats set up in the Chart builder. This includes settings such as chart axes, legends, sorting, padding, and other visual elements. 


Silent Installer Options

The following options can be used for these settings while upgrading with the Silent Installer.

Setting

Option

Value

Setting

Option

Value

Configuration level defaults

option.migrate9Configuration

Applies the new chart and report formatting defaults controlled at the Configuration level, introduced in Yellowfin 9. These are color, fonts and style defaults for reports and charts. Set this option to true if you want all the new configuration defaults to be applied to your instance. If you don't set this option at all, it defaults to false.

Chart defaults

option.migrate9ChartDefaults

These are default chart formats set up in the Chart builder, introduced in Yellowfin 9. This includes settings such as chart axes, legends, sorting, padding, and other visual elements.  Set this option to true if you want all your charts to take the new chart default formatting. If you don't set this option at all, it defaults to false.

Tomcat Update

option.updateTomcat

Indicates whether the silent updater should update Tomcat in parallel. Defaults to false.

Tomcat Update

option.updateTomcat.force

Determines whether the silent updater should force a Tomcat update when the configuration check fails. Defaults to false.

This option requires option.updateTomcat to be set to true. If option.updateTomcat.force is set to true while option.updateTomcat is false, an error will be raised and the silent updater will be halted.

Command Line Options

In the Command line installer, the user is prompted for each option individually with a yes/no response. Shown in the example screenshot below.

 

Bundling Out-of-the-Box Content with the Installer

Out-of-the-box content can be bundled with the Installer. This will import the content during the installation process.  The content will be imported with the SkipDatasourceValidation flag enabled, this will mean that it will not attempt to connect to any datasource during the import.

To enable this functionality a YFX named InitialImport.yfx should be copied into the root of the Installer package. If the YFX is found during installation, the file will be staged for  import. However the actual import will not take place until Yellowfin is started for the first time.

The import process also allows for the settings of imported datasources to be over-ridden during installation.  The options to perform this are:

option.importDatasourceUrl - This will override the JDBC connection string for all Generic JDBC datasources that are included in the InitialImport.yfx file, with the value passed in for this parameter.

option.importDatasourceDriverClass - This will override the JDBC driver class for all Generic JDBC datasources that are included in the InitialImport.yfx file, with the value passed in for this parameter.

option.importDatasourceUsername - This will override the JDBC username for any datasources that are included in the InitialImport.yfx file, with the value passed in for this parameter.

option.importDatasourcePassword - This will override the JDBC username for any datasources that are included in the InitialImport.yfx file, with the value passed in for this parameter.

option.skipDataSourceValidation - This can be used to disable Skip Datasource Validation during import which is enabled (true) by default. Valid options are true/false. If this is enabled, any datasources included in the YFX file will need to be accessible during import.