Migration Guide Software, Database and Version Migration Release 6.0 February 2012
Yellowfin Release 6.0 Migration Guide Under international copyright laws, neither the documentation nor the software may be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine-readable form, in whole or in part, without the prior written permission of Yellowfin International Pty Ltd, except in the manner described in the software agreement. The information in this document is subject to change without notice. If you find any problems with this documentation, please report them to Yellowfin in writing at support@yellowfin.com.au Yellowfin does not warrant that this document is error free. Copyright Yellowfin International 2012. All rights reserved. Portions Copyright Microsoft Corporation. All rights reserved. Trademarks: Yellowfin and the Yellowfin Logo are registered trademarks of Yellowfin International. All other product and company names mentioned herein are the trademarks of their respective owners. Version: 1 Published: February 2012
3 Table of Contents Chapter 1 - Introduction... 4 Overview... 4 Audience... 4 Feedback... 4 Architecture Overview... 5 Chapter 2 - Yellowfin Migration... 6 Application Migration... 6 Steps... 6 Yellowfin Database Migration... 7 Steps... 7 Custom Configuration Migration... 9 Steps... 9 Chapter 3 Single to Multiple Instance Migration... 10 Infrastructure Design... 10 Migration Options... 11 Content Release Management in Multi-Tier Environments... 11
4 Chapter 1 - Introduction Overview Yellowfin provides a Web delivered user interface into a JAVA based technical architecture and employs vendor neutral implementations for data sourcing and application server functionality. This guide is particularly designed to provide information on how to re-configure and migrate Yellowfin across physical hardware devices. This guide outlines a few different types of migration and with some having a few options on how to proceed. Information related to this documentation can be obtained from the following post. Audience This guide is intended for technical staff who implement and support the application. Such staff should have a good knowledge of: java, basic J2EE architecture, SQL-92 and of the SQL dialect that the implemented database supports (if any SQL queries have been hand coded and use vendor specific features). Feedback Do you have a suggestion on how we can improve our documentation? Is there something you particularly like or have found useful? Drop us a line, and we will do our best to ensure that your suggestion is included in the next release of our documentation: documentation@yellowfin.com.au Note: If your issue concerns the Yellowfin product and not the documentation, please contact our Customer Support experts. For information visit:
5 Architecture Overview Yellowfin follows the Java platform standard for delineating component functions and responsibilities. The technical components comprising Yellowfin are: Figure 1 Yellowfin Technical Architecture
6 Chapter 2 - Yellowfin Migration Yellowfin version migration relates to physically moving or establishing the underlying Yellowfin application software and data across different server locations. The Yellowfin installation directory contains folders and files necessary to perform all of the features of Yellowfin. There are two components required for Yellowfin to operate: the Yellowfin Application, and the Yellowfin Configuration Database. However if you are also using custom files (Custom functions/images etc) you would also need to migrate these across. This guide details how to migrate each component. A little bit of planning is necessary to successfully complete migration. Note: It is recommended that you do not disable your original installation until you have confirmed the new installation is up and running as expected. Application Migration Steps To move Yellowfin to a new location, a new full installation can be executed to create the appropriate file directories. The fresh installation will ensure all Yellowfin configuration settings are referring to objects on the new server. 1. Download the latest version of Yellowfin from the Yellowfin website. 2. Run the Yellowfin installation file on the appropriate Server. Note: Refer to the Yellowfin Wiki if you require more information regarding the installation process.
7 Yellowfin Database Migration The Yellowfin Database stores a variety of application specific configuration settings. This includes information regarding LDAP settings, email server, users/groups, client orgs, data sources & views, and also dashboard & reporting content. Clients may move the Yellowfin Database to another server location. This section provides steps on how to change the connection to the relevant Yellowfin DB. Once the database has been restored into its new location, the Yellowfin application will need to be re-configured to connect to the new database location. The licence file must also be reuploaded after migration. If the Yellowfin Database remains in the same location under the same name and can be connected to using the same DB credentials, you can skip these steps. Steps 1. Edit the file Yellowfin\appserver\webapps\ROOT\WEB-INF\web.xml. You will need to change the DB location string as highlighted in red in the image below: <!-- Initiate JDBC Connection Pooling - Setup/Config --> <servlet> <servlet-name>initconnectionpool</servlet-name> <servlet-class>com.hof.servlet.initconnectionpool</servlet-class> <param-name>description</param-name> <param-value>yellowfin Connection Pool</param-value> <param-name>jdbcdriverclass</param-name> <param-value>net.sourceforge.jtds.jdbc.driver</param-value> <param-name>jdbcurl</param-name> <param-value>jdbc:jtds:sqlserver://<server>:1433/<dbname></paramvalue>
8 2. In the same web.xml file, change the DB user and password if necessary. If the DB user credentials used to connect to this database are the same, you won t need to modify these settings. You should be able to test the connection to the database using a database tool (there are many tools online that can assist in testing DB connections). <param-name>jdbcuser</param-name> <param-value>sa</param-value> <!-- Password to the configuration database connection is encrypted at installation time. If you need to change this password, you can set the JDBCPasswordEncrypted parameter to false, and store the password in plaintext in the JDBCPassword parameter. --> <param-name>jdbcpassword</param-name> <param-value>tel1p9yzvvy=</param-value> <param-name>jdbcpasswordencrypted</param-name> <param-value>true</param-value> When modifying the password in this file, you will be using plain text. However you can reencrypt your password using encryption tools. You can download a tool from the following forum post: http://www.yellowfinbi.com/yfforum-how-do-i-re-encrypt-my-metadatadatabase-password-?thread=100039 Note: Additional information can also be found here
9 Custom Configuration Migration The Yellowfin ROOT directory contains Yellowfin custom login pages, additional database drivers, custom images, headers and footers. Once an installation has been completed, you can copy this directory from your original installation to the new Yellowfin instance. The ROOT directory also contains the Yellowfin programming code and thus determines what version of Yellowfin is operating. Note: Ensure Yellowfin is running the same version on both the old and new server instance before executing these steps. Steps 1. Compress the ROOT directory into a zip file and copy it onto the new server location. It is recommended to back-up the existing ROOT directory before completing this step. 2. Move the existing ROOT directory and de-compress the ROOT directory into Yellowfin\appserver\webapps\ 3. Restart the Yellowfin application and all custom pages should be available. Once completed all reporting content and configuration settings will be immediately available at application start-up. Note: If you are using custom images/headers/footers etc, you will also need to clear your browser cache. Additional information can also be found here
10 Chapter 3 Single to Multiple Instance Migration In large complex environments, it can be useful to segment Yellowfin systems. This is especially beneficial for Release Management and testing of content before releasing it to users. Typically in a network with multiple Yellowfin instances, there would be at least two instances: a development and a production instance. In more complex environments this may include a Test or Quality Assurance (QA) instance to ensure migration from development will not negatively impact features running on production. Infrastructure Design To establish multiple instances of Yellowfin you will need a Yellowfin Database for each Yellowfin instance. Therefore if you have three instances (development, test and production) you will have three separate Yellowfin databases. The below shows a simple Yellowfin architecture: This layout will be replicated three times if you have three separate instances. However, you can have one or more Backend Data Sources (Data Warehouses). For example, development can report off a Backend Data Source that is different to the Backend Data Source that the test and production instances are reporting off. Typically it is good practice to replicate Backend Data Sources for development, if the production server is mission critical and has limited available processing resources. However, for migrating purposes the databases require identical schema structures, data types and names.
11 Migration Options 1. Full Yellowfin Migration a. Install a fresh version of Yellowfin. b. Copy the file directory from the instance you intend to replicate. See the section Custom Configuration Migration. c. Copy the Configuration Database into the new directory. See the section Yellowfin Database Migration. 2. Install new environments and import/export content. a. Install a fresh version of Yellowfin. b. Once the instances are configured, you can move content using the import/export function in Yellowfin. For more information see the Yellowfin Wiki. Content Release Management in Multi-Tier Environments Once Yellowfin has been established across multiple instances, content can be released from development to production. The import/export function of Yellowfin enables content to be exported from a development environment and imported into a production environment. Refer to the Yellowfin Wiki for more information regarding the import/export process.