Copyright

Copyright © 1998-2013 Questionmark Computing Ltd. All rights reserved. Questionmark and Perception are either registered trademarks or trademarks of Questionmark Computing Ltd in the United States of America and the United Kingdom and other countries. and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein might be trademarks of their respective owners. Other product and company names mentioned herein might be trademarks of their respective owners. VERSION 2.2

Table of Contents

Notes about this install guide ...... 9 What's new in Perception 5.4? ...... 9 How is this guide organized? ...... 9 Who is the audience for this install guide? ...... 10 Security information ...... 10 Perception's architecture ...... 11 System requirements ...... 13 Recommended hardware...... 13 Disk space required ...... 14 Supported operating systems ...... 14 Supported database systems ...... 15 Supported browsers ...... 17 Software prerequisites ...... 17 License files...... 17 Virtual environments ...... 17 Creating a single-server Perception installation ...... 19 What does a single-server installation mean? ...... 19 The installation process (Get started!) ...... 19 1. Install a server OS ...... 21 2. Install and configure the prerequisites ...... 22 3. Configure PHP ...... 28 4. Install the prerequisites on your ETL server ...... 31 5. Install a database system to handle the ETL_Temp database ...... 34 6. Install the ETL service on your ETL server ...... 37 7. Configure AppFabric ...... 39 8. Creating the shared repository database on your database server ...... 43 Create a Tablespace and User ...... 47 Setting up a Local Service Name ...... 50 9. Create an ODBC connection to your shared repository database ...... 53 10. Download and install Perception ...... 56

11. Create the Main and Results Warehouse (RW) databases ...... 62 12. Create the temporary ETL (ETL_temp) database...... 70 13. Configure the environment ...... 74 14. Create the shared repository ...... 76 15. Create the database links ...... 84 16. Migrate settings from your Perception server to your ETL server ...... 87 17. Launch Enterprise Manager and start the ETL service ...... 88 Creating a load-balanced Perception installation ...... 90 What does load balancing Perception mean? ...... 90 System requirements ...... 91 The installation process (Get started!) ...... 92 1. Creating the shared repository database on your database server ...... 94 Create a Tablespace and User ...... 98 Setting up a Local Service Name ...... 101 2. Create your first Perception server ...... 104 2a. Install a server OS ...... 105 2b. Install and configure the prerequisites ...... 106 2c. Configure PHP ...... 112 2d. Install a database system to handle the ETL_Temp database...... 115 2e. Configure AppFabric ...... 118 2f. Create an ODBC connection to the shared repository database ...... 122 2g. Download and install Perception ...... 125 2h. Create the Main and Results Warehouse (RW) databases ...... 131 2i. Create the temporary ETL (ETL_temp) database ...... 139 2j. Configure the environment ...... 143 2k. Create the shared repository ...... 145 2l. Creating database links ...... 153 2m. Migrating settings from your Perception server to your ETL server ...... 156 2m. Launch Enterprise Manager and start the ETL service ...... 157 3. Set up your file shares ...... 159 4. Configure the ServerSettings.config file ...... 160 5. Update the web.config files ...... 161 6. Configure IIS 7 ...... 162

7. Configure the license ...... 163 8. Update the Enterprise Manager settings ...... 164 9. Export server configuration to your 2nd/3rd/... Perception server ...... 165 10. Create a second (and third/fourth/...) Perception server ...... 166 11. Copy across settings from Server 1 to other servers ...... 167 12. Setting stickiness and affinity ...... 168 13. Testing your load-balanced environment ...... 169 Creating a multi-tiered (custom) Perception environment ...... 170 What does a multi-tiered (custom) installation mean? ...... 170 The installation process (Get started!) ...... 171 Further custom installation options ...... 172 1. Create the shared repository database on your database server ...... 175 Create a Tablespace and User ...... 179 Setting up a Local Service Name ...... 182 2. Install an OS on your Assessment Delivery Web Server (QPLA) server .... 185 3. Install the prerequisites on your Assessment Delivery Web Server (QPLA) server 186 4. Configure PHP on your Assessment Delivery Web Server (QPLA) server .. 189 5. Install Assessment Delivery Web Server ...... 192 6. Install an OS on your ETL Services Server server ...... 196 7. Install the prerequisites on your ETL Services Server server ...... 197 8. Install a database system to handle the ETL_Temp database ...... 200 9. Install ETL Services Server ...... 202 10. Install an OS on your Perception Application Server server ...... 204 11. Install the prerequisites on your Perception Application Server server .. 205 12. Configure AppFabric ...... 211 13. Create an ODBC connection to your shared repository database ...... 216 14. Install Perception Application Server ...... 219 15. Create the Main and Results Warehouse (RW) databases ...... 224 16. Create the temporary ETL (Temp_ETL) database ...... 232 17. Configure the environment ...... 236 18. Create the shared repository ...... 238 19. Create the database links ...... 246

20. Migrating settings from the Perception Application Server to the ETL Services Server ...... 249 21. Launch Enterprise Manager and start the ETL service ...... 250 Setting up File Upload questions in a multi-tiered installation ...... 253 On the Assessment Delivery Web Server...... 253 On the Perception Application Server...... 258 Updating the File Upload folder setting...... 262 Setting up firewall rules for a multi-tiered installation ...... 263 Upgrading from a previous version of Perception ...... 264 Recommendations for installing from a version of Windows that can't be upgraded . 265 Recommendations for installing from a version of Windows that can be upgraded ... 265 Upgrading from Perception 3 ...... 267 Upgrading from Perception 4 ...... 268 Copying the Perception 4 files and folders to your new server ...... 268 Setting up the ODBC connection on your new server ...... 269 Installing Perception ...... 269 Configuring the databases and reconnecting/upgrading your shared repository ...... 270 Upgrading from Perception 5.1 or 5.2 ...... 276 Create a backup ...... 276 Install the prerequisites ...... 276 Install a local version of SQL Server 2008 or Oracle 11g ...... 277 Install Perception ...... 277 Configure the databases and reconnect/upgrade your shared repository ...... 279 Upgrading from Perception 5.1 or 5.2 to a new server ...... 285 Copy the Perception 5 files and folders to your new server ...... 285 Set up the ODBC connection on your new server ...... 286 Install Perception ...... 286 Configure the databases and reconnect/upgrade your shared repository ...... 287 Advanced information ...... 293 ADV1. Licensing Perception ...... 294 Download a new or extended evaluation license file ...... 294 Manually retrieve a license ...... 295 Automatically activate your license ...... 297

Manually activate a license file ...... 298 ADV2. Language packs ...... 303 Installing language packs for Windows Server 2008 and R2 ...... 303 ADV3. Running from behind a firewall ...... 304 ADV4. Folder permissions for Perception ...... 307 ADV5. Create the virtual directories manually ...... 311 ADV6. Configure Perception to use SSL ...... 314 ADV7. Restrict access to Perception ...... 317 AVD8. Uninstall Perception ...... 319 ADV9. Additional scalability recommendations for high-volume installations320 Assessment block and question block caching ...... 320 ASP.Net configuration ...... 321 FastCGI ...... 321 Oracle configuration ...... 321 Participant and QABS affinity ...... 322 Expensive features that should be avoided in high-volume scenarios ...... 322 ADV10. Using a non-English version of Windows Server 2008...... 323 Appendix ...... 324 A1. Create the databases manually ...... 325 A2. Manually link the databases ...... 332 A3. Configure the SMTP service ...... 334 A4. Illegal characters ...... 339 A5. Troubleshooting ...... 340 A6. Installation checklist ...... 341 A7. Security ...... 344 General recommendations ...... 344 Phishing ...... 344 Request validation in ASP.NET ...... 344 Connecting to Authoring Manager ...... 344

Welcome! Questionmark Perception 5.4 allows assessments to be delivered online, offline, via Learning Management Systems, and through Test Centers. Click on the section below that matches the kind of Perception environment you want to create for installation instructions: Get started on a single-server install!

Get started on a load-balanced install!

Get started on a multi-tiered (custom) install! If you are looking for information about installing Perception 5.1 or 5.2, please refer to the following installation guide instead: Questionmark Perception 5.1 and 5.2 Install Guide For further information on the contents of this install guide and the general Perception installation process, please refer to: Notes on this install guide

Notes about this install guide

Questionmark Perception 5.4 is an enterprise-level assessment management system and, as such, includes all the complexities of installing and maintaining as most other enterprise systems. If your organization does not have sufficiently qualified database and system administrators, please consider using the Certified Installation solution available from Questionmark. This service can be made available for:  Installation of Questionmark Perception  Installation of connectors for integration of Questionmark Perception with other systems For more information, please refer to: Questionmark Consulting Services

This page includes the following sections:  What's new in Perception 5.4?  How is this guide organized?  Who is the audience for this install guide?  Security information

What's new in Perception 5.4?

For information about what is new in Perception 5.4, please refer to the following Knowledge Base article for details: What's new in Questionmark Perception 5.4? For a list of known issues with Perception 5.4, please refer to the following Knowledge Base article for details: What are the known issues with Questionmark Perception 5.4?

How is this guide organized?

This guide is organized into several sections and is designed to provide information on how to:  Create a single-server of Perception environment  Create a load-balanced installation of Perception environment  Create a multi-tiered installation of Perception environment  Upgrade from Perception 5.1 and 5.2  Upgrade from a previous version of Perception (like Perception 4 or Perception 3) To view the recommended information for each of the above scenarios, please view the corresponding section in the left-hand table of contents.

Who is the audience for this install guide?

This guide provides you with the information necessary to install Questionmark Perception 5.4 in your organization's IT environment. It is designed for IT specialists and application administrators and expects that the people carrying out the tasks described in this guide are familiar with the concepts of installation and configuration of server software applications.

Security information

For information on various aspects of the security of Perception and actions you can take to ensure it is secure, please refer to the following section of this guide:  A7. Security

Perception's architecture

Questionmark Perception 5.4 contains a zone-based architecture. This architecture means that each zone contains a specific application that, when configured to work together, form the Perception application. How the zones work can be defined by an organization to create a deployment architecture suitable for its needs. With the flexible nature of Perception, this can be a number of different options. Perception is designed to be tiered and scalable. The deployment architectures are:

Type Description

Single server This setup is made of three separate servers. One application server (where Perception is installed), one database server, and one ETL server.

Load balanced When it comes to load balancing, you have the option of load balancing Perception in both the single-server and multi-tiered configurations. Load-balancing provides a way of dealing with a high load while providing fail-over reliability for high stakes requirements.

Multi tiered This configuration can include 4+ servers, where various parts of Perception are installed on separate servers to increase throughput of specific component(s).

The diagram below shows the possible configurations (click the image to enlarge it):

In addition to the new architecture, there are several new databases required to store data from each zone, as well as the shared repository database that has existed in previous versions of Perception. The databases required are shown in the diagram below, where:  Shared repository is the shared repository database as found in previous versions of Perception. This database contains the user, questions, assessments, and result data. This database is referred to as Perception_REPO in this guide. However, if you are upgrading from a previous version, this will be the name of your existing shared repository database.  Perception_MAIN contains administrative user data and is used to store configuration information for all the servers in the Perception installation  Perception_RW is the Results Warehouse, which (temporarily) contains the result data taken from the shared repository by way of the ETL service. The data stored in the Result Warehouse is used to form the various Analytics reports that exist.  ETL_Temp is the temporary ETL database used by the Extract, Transform, and Load (ETL) service and needs to be installed on the same machine as the ETL service. The ETL service retrieves data from the Shared Repository database, and, while it is transformed into meaningful data for Question Analytics, it is temporarily stored in this database before being loaded into the Results Warehouse.

When creating the Perception databases, as outlined, for instance, in step 11 and step 12 of single-server install, it is important to note that the databases must be separate databases with unique names. The configuration application assumes the databases will be unique and that none will be used more than once (i.e., it assumes that the Perception_MAIN database will not also be used as the shared repository).

System requirements

Before you install Perception, you should ensure that your system(s) meets the minimum requirements. These are listed in the following sections:  Recommended hardware  Disk space required  Supported operating systems  Supported database systems  Supported browsers  Software prerequisites  License files  Virtual environments Note that you will need administrative permissions for the server on which you will be installing Perception.

The name(s) of the server that you install Perception on and your database servers must not contain any underscores, dashes, or other illegal characters, or the database links will not be created when it comes time to configure Perception. For more information on illegal characters and Questionmark, please refer to A4. Illegal characters.

Recommended hardware

The recommended hardware for Perception 5.4 will depend on the environment you intend to install it in. For details about the recommended hardware requirements for Perception, please refer to the Question Perception Scalability Guide.

The recommended hardware specifications for your Perception server are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  8GB RAM (At least 4GB RAM at minimum)  SAS or SATA 7200RPM HDD or greater

The recommended hardware specifications for your ETL server are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  At least 4GB RAM (8GB RAM recommended)  SAS or SATA 7200RPM HDD or greater

The recommended hardware specifications for your database server(s) depends on the load that your database server(s) will need to accommodate; a higher volume of assessments being delivered will require more computing power or you will see degraded performance. As with the recommendations for the Perception and ETL servers, for more details about scalability and recommended hardware requirements, you can refer to the Scalability Guide linked to above, but it is recommended that the hardware of your database server(s) is at least as powerful as what is recommended for the Perception and ETL servers.

As Perception can be hardware-intensive at times (especially when delivering a large number of

assessments at once), it is recommended that the server you install Perception on is dedicated solely to running Perception. Try to keep your Perception server as free of other programs as possible for maximum performance. If you have other applications or web services, install them on different servers.

Disk space required

Depending on the type of installation you intend to set up, the server on which you want to install Perception must have the required free disk space as highlighted in the following table:

Install type Free disk space required

Perception software prerequisites/PHP 50MB

Single-server install Approximately 2GB

Multi-tiered install ...on server hosting QPLA: 200MB

...on server hosting Enterprise Manager: Less than 1GB

...on server hosting Analytics: Less than 1GB

Additional space will be required to store logs, resources, and database files that are created or required by Perception.

Supported operating systems

Perception is compatible with the following English-language operating systems:  Microsoft Windows Server 2008 (x86 and x64)  Microsoft Windows Server 2008 R2 (x64) Non-English versions of Windows Server 2008 are not supported. While they might work with Perception after some modifications, please be aware that doing so is at your own risk.

Although unsupported by Questionmark, if you are using a non-English version of Windows Server

2008 (or R2), please refer to the ADV10. Using a non-English version of Windows Server 2008 for information on some settings that must be edited for the ETL service to function correctly.

If you want to create assessments that use non-English characters, you will need to install the correct language pack(s). This is to ensure that non-English characters can be displayed by Perception and the database server(s) used. For further information about installing language packs, please refer to ADV2. Language packs.

Supported database systems

The following database systems and versions can be used with Perception. If you will be using Perception for production use, Perception should be installed on an application server (or multiple servers) and the Perception databases should be installed on a separate database server.

SQL Server

For the shared repository (Perception_REPO), Main (Perception_MAIN), Results Warehouse (Perception_RW), and temporary ETL (ETL_Temp) databases, you can use:  SQL Server 2008  SQL Server 2008 R2 You can use either the 32- or 64-bit version of SQL Server 2008.

Please note that the database servers should have a minimum of 4GB RAM.

Installation notes

In SQL Server, there are two database collations to set, the SQL Server collation and the Database collation. For English and non-English characters to appear correctly when using SQL Server, your collations should be set as:  SQL Server collation must be configured to use the SQL_Latin1_General_Cp1_CI_AS collation. This collation utilizes the 1252 (ANSI - Latin 1) codepage. The SQL_Latin1_General_Cp1_CI_AS collation is the case-insensitive version. You should take care not to use the case-sensitive version of the collation. The case-sensitive version can be identified with the initials CS appearing in the collation title while the case insensitive version can be identified by the initials CI. This collation must be set when installing SQL Server. Please be aware that when installing SQL Server 2008, it will automatically attempt to get the most-appropriate collation depending on what the server locale has been set as. In most cases, this will need to be manually changed to use the SQL_Latin1_General_Cp1_CI_AS collation.  Database collation must be set to SQL_Latin1_General_Cp1_CI_AS to ensure that all data written in Perception is stored and displayed correctly. It will be set to this collation by Perception when it is installed.

Please note that the collation used should be SQL_Latin1_General_Cp1_CI_AS, not

Latin1_General_CI_AS.

Users wishing to set up the English version of Perception on a non-English should ensure that the correct language packs are installed for both the database and the operating system. Additionally, the language pack 1252 (ANSI - Latin 1) must be installed for both servers and the SQL Server collation and database collation set to SQL_Latin1_General_Cp1_CI_AS. The question searching facility in Authoring Manager requires the full-text indexing component of SQL Server to be installed and configured and will not work without it. Once full-text indexing is installed, it will need to be enabled for the database before the repository is created.

Oracle

For the shared repository (Perception_REPO), Main (Perception_MAIN), Results Warehouse (Perception_RW), and the temporary ETL (ETL_Temp) database, you can use:  Oracle 11g R1  Oracle 11g R2 You can use either the 32- or 64-bit version of Oracle 11g for the shared repository, Main, and Results Warehouse databases. However, you must use a 32-bit version of the Oracle client on your ETL server for the temporary ETL database.

While you can use either 32- or 64-bit versions of Oracle 11g for the Perception databases on your database server, the ETL service only works with 32-bit Oracle client drivers. Even if you are running Windows Server 2008 64-bit or Windows Server 2008 R2 (which is a 64-bit operating system) on your ETL server, you will still need to install and use a 32-bit Oracle client on your ETL server (or whatever server you install the ETL service on) that is compatible with your Oracle database.

Installation notes

There are a number of factors that need to be taken in to account if using Oracle as your database system for Perception. These include:  For non-English characters (Latin characters and other Western European characters) to appear properly when using Oracle, your Oracle installation must be configured to utilize the AL32UTF8 character set  For 2-bit characters (such as Japanese or Chinese), you must utilize the WE8MSWIN125 database character set  If using the WE8MSWIN1252 database character set on a non-English operating system, the National Character Set (NLS) must be set to English (either US or UK) No other character sets can be reliably supported at this time. You can either change your database to use the appropriate character set (providing that other applications using Oracle can work with this), or else set up a separate Oracle installation with the appropriate character set for Perception to use. To use the Scoring Tool component of Perception Server with Oracle, ODP.NET (Oracle Data Provider) version 9.2 or higher must be installed on each application server you will be running Perception on. ODP.NET can be obtained from the Oracle Web site: www.oracle.com The question-searching facility in Authoring Manager requires Oracle Text to be installed and configured and will not work without it. Oracle Text is not installed by default in some versions and may need to be installed.

Other things to keep in mind when installing and configuring Oracle

 If you haven't already setup a destination file for your Oracle databases, please refer to the Set the Oracle database file destination section of the instructions in 8. Create the shared repository database on your database server.

Please note you will need to install at least 2 database instances. One will be on the database

server containing the shared repository, Perception_MAIN, and Perception_RW databases, and the other (for the ETL_Temp database) will need to be on the server running the Extract, Transform, and Load service.

Supported browsers

For information about the supported web browsers for Enterprise Manager and the Questionmark portal, please refer to the following Knowledge Base article:  What browsers does Questionmark support? Software prerequisites

The applications required by Perception are listed below:  Internet Information Services (IIS) 7 or 7.5  .NET 2.0  .NET 3.5  .NET 4.0  ASP.NET MVC 2  Microsoft Chart Controls for Microsoft .NET Framework 3.5  PHP 5.3  Windows Server AppFabric  SQL Server 2008 or Oracle 11g (for the ETL service) Optional:  SMTP For more information on each of the programs, as well as installation instructions, please refer to: 2. Install and configure the prerequisites (for a single-server install) 2b. Install and configure the prerequisites (for a load-balanced install) For a multi-tiered install, refer to steps 3, 7, and 11.

License files

When you install Perception, a license is included that allows you to use the product for 30 days. After this evaluation period expires, you will need to obtain a valid license. Please refer to ADV1. Licensing Perception for more information after you have installed Perception. Virtual environments

Perception can be installed and run in virtual environments. Questionmark supports installations of Perception in the following virtual environment platforms:

VMWare

VMWare is a virtualization solution produced by VMWare Inc. and is the market leader in virtualization. VMware software provides a completely virtualized set of hardware to the guest operating system.

Hyper-V

Hyper-V is a hypervisor-based virtualization system for 64-bit systems. It is a new virtualization technology that Microsoft implemented in Windows Server 2008 and directly replaces Microsoft Virtual Server. Hyper-V is built in to the host and guest operating systems and allows for improved performance over Microsoft's traditional virtualization methods. If using virtual environments care should be taken to ensure that the host computer running the virtualization software is robust and powerful to ensure that Perception is not left without the ability to create and store data or process actions. The virtual environments need to be setup to work as hardware based machines and should be setup with adequate amounts of memory, hard drive space and processor speed. The network configuration for the virtual environment will depend on your organization network setup, but Perception has been tested extensively using a bridged network connection from the virtual environment to the physical network.

Questionmark Perception is multi-threaded, but it is not specifically vSMP aware. It will use

whatever resources the guest operating system makes available to it. While it can be run on guest operating systems that utilize a single vCPU or multiple vCPUs, it is unable to communicate directly with the host operating system in a virtualized environment to optimize resources via vSMP. The workload of delivering assessments from Perception is handled by IIS. IIS assigns a response to a thread and thus the processor use is determined by IIS and not by Perception. General virtualization tips include:  Don't mix single vCPU and multiple vCPU guests on a single host  Prevent the straddling of CPUs (For example, a server with 2x 6-core CPUs cannot run 3x 4- vCPU guests efficiently, as one would straddle two CPUs.)  Ensure host capacity is capable of supporting all guest operating systems under load. If the host constantly runs at close to 100%, consider separating some of the guest systems to other hosts.

Creating a single-server Perception installation

This page includes the following sections:  What does a single-server installation mean?  The installation process (Get started!)

What does a single-server installation mean?

It is important to note that the following order of steps is just one possible suggestion that you can follow to set up a single-server installation of Perception. Although this section includes a specific order of installation steps, it is possible to follow a different order as you set up your Perception environment, as your configuration may differ depending on your needs and look different from the one outlined here.

This section of the install guide provides instructions specifically for a single-server installation, meaning that your "single-server" environment will include three servers in total (we're using the term "single- server" because there is only a single Perception server in this configuration):  Perception server o Perception 5.4 will be installed on this server o Perception's software prerequisites will be installed on this server  ETL server o The ETL service and the temporary ETL (ETL_Temp) database will be installed on this server  Database server o The database system (SQL Server or Oracle) you will be using will be installed on this server o The shared repository (Perception_REPO), Main (Perception_Main), and Results Warehouse (Perception_RW) databases will be installed on this server The installation process (Get started!)

The installation process for a single-server Perception environment is as follows: 1. Install a server OS on your Perception server 2. Install and configure the prerequisites on your Perception server 3. Configure PHP on your Perception server 4. Install the prerequisites on your ETL server 5. Install a database system to handle the ETL_Temp database on your ETL server 6. Install the ETL service on your ETL server 7. Configure AppFabric on your Perception 8. Create the shared repository database on your database server 9. Create an ODBC connection to your shared repository database on your Perception server 10. Install Perception on your Perception server

11. Create the Main and Results Warehouse (RW) databases 12. Create the temporary ETL (ETL_Temp) database on your ETL server 13. Configure the environment 14. Create the shared repository 15. Create the database links 16. Migrating settings from your Perception server to your ETL server 17. Launch Enterprise Manager and start the ETL service

1. Install a server OS

Before you begin to install and configure Questionmark Perception, you need to install an operating system on the server on which you intend to install Perception. Questionmark Perception is compatible with the following operating systems:  Microsoft Windows Server 2008 (x86 and x64)  Microsoft Windows Server 2008 R2 (x64)

Recommended hardware

The recommended hardware specifications for Perception 5.4 depend on the environment in which you intend to install it. For details about recommended hardware specifications, please refer to the Questionmark Perception Scalability Guide. The recommended hardware specifications for the server on which you plan on installing Perception are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  8GB RAM (4GB RAM at minimum)  SAS or SATA 7200RPM HDD or greater  Approximately 3GB of storage space Older processors will run Perception, but please note the performance of Perception is directly related to processor speed. Additional storage space will be required to store logs, resources, and database files that are created or required by Perception.

2. Install and configure the prerequisites

Once you have installed your server operating system, the following applications are required to be installed on the same server on which you intend to install Perception. These programs must be installed and configured before you install Perception. Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually.

Required applications  Internet Information Services (IIS) 7 or 7.5 Windows Server 2008 and R2 use IIS 7 and 7.5 respectively. The process of installing them is very similar. You will need to ensure that you have administrative user rights on the server on which you plan to install IIS. To install IIS: 1. Click Start | All Programs | Administrative Tools | Server Manager 2. In the Server Manager window, scroll down to Roles Summary, and then click Add Roles. The Add Roles Wizard will start with a Before You Begin page. The wizard asks for verification of the following:  The administrator account has a strong password  The network settings, such as IP addresses, are configured  The latest security updates from Windows Update are installed 3. Select Web Server (IIS) on the Select Server Roles page. An introductory page will open with links for further information. 4. Select the IIS services to be installed on the Select Role Services page. Add the following modules, and click Next:  Static Content  Default Document  ASP  ASP.NET  .NET Extensibility  CGI  ISAPI Extensions  ISAPI Filters  Windows Authentication  IP and Domain Restrictions  IIS Management Console  IIS Management Scripts and Tools  IIS 6 Management Components (or the whole IIS 6 Management Compatibility subtree) If you are using the 32-bit version of Windows Server 2008, you should also include the following:  HTTP Redirection  Request Filtering

5. Click Add Required Role Services 6. Wait for IIS to complete installing, and click Finish 7. Locate the Features Summary, and click Add Features 8. Enable the following Features:  .NET Framework 3.0 (inside the .NET Framework 3.0 Features category)  HTTP Activation (inside the WCF Activation category) 9. Click Next, followed by Install 10. Once the features have been installed, click Close and exit Server Manager Once IIS is enabled, make sure the ASP.NET State Service is running. To do this: 1. Click Start | Administration Tools | Services 2. Locate and right click on the ASP State Service entry 3. Click Properties 4. Make sure the Startup type is set to Automatic 5. Click Start to start the service now 6. Click OK and exit out of the Services window

Running 32-bit applications in 64-bit IIS If you are planning to run 32-bit applications (i.e., Perception) in a 64-bit version of IIS (on a 64- bit version of Windows Server 2008), you will need to ensure that the correct settings are enabled. The settings are enabled by running specific commands and parameters from the command line. You will need to launch the command line prompt as an administrative user (you can do this by logging in as an administrative user or by right-clicking on the command prompt icon and clicking Run as administrator). To enable 32-bit applications to run in 64-bit IIS, enter the following command at the prompt: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 To enable the 32-bit version of the .NET 2.0 Framework for use with Perception, you will need to run the following command:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...or, if that is unavailable, try:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i  .NET 2.0 SP2 In Windows Server 2008, the .NET 2.0 Framework is installed by default. No further action is required.  .NET 3.5 + SP1 The .NET Framework 3.5 is not available by default on Windows Server 2008 (32- or 64-bit). However, it is already installed on Windows Server 2008 R2, but it needs to be enabled. If you are using Windows Server 2008 (32- or 64-bit) you can download it from: Microsoft .NET Framework 3.5 Service Pack 1 www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319- 81da479ab0d7

To enable the .NET Framework 3.5 on Windows Server 2008 R2: 1. Click Start | Administrative Tools | Server Manager 2. Select Features 3. Click Add Feature 4. Place a check in the .NET Framework 3.5.1 Features check-box 5. Click Add Required Feature 6. Click Next followed by Install 7. Once it has finished installing, click Close

If you are using Windows Server 2008 (32-bit), you will also need to enable HTTP Activation. To do this: 1. Navigate to Start | Programs | Administrative Tools | Server Manager 2. Select Features, and click Add Features 3. In the Add Features dialog, under .NET Framework 3.0 Features under WCF Activation, select HTTP Activation 4. Click the Next to install Once setup, you will need to enable the WCF portion of the .NET Framework 3.5. To do this: 1. Launch the command line 2. Navigate to:

C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ Or, the following, if you are using a 64-bit operating system: C:\WINDOWS\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ 3. Enter the following and press Enter:

ServiceModelReg.exe -iru  .NET 4 You can download .NET 4 from: Microsoft .NET Framework 4 Once downloaded, double-click on the installer and follow the instructions to install .NET 4.  ASP.NET MVC 2 You can download ASP.NET MVC 2 from: ASP.NET MVC 2 RTM To download and install: 1. Navigate to the above site 2. Download AspNetMVC2_VS2008.exe 3. Once downloaded, double-click on the file to launch the installer 4. Accept the end user license agreement and allow it to install 5. Click Finish to close the installer once the program has completed installing  Microsoft Chart Controls for Microsoft .NET Framework 3.5

You can download Microsoft Chart Controls for Microsoft .NET Framework 3.5 from: Microsoft Chart Controls for Microsoft .NET Framework 3.5 To download and install: 1. Navigate to the above site 2. Download MSChart.exe 3. Once downloaded, double-click on the file to launch the installer 4. Accept the end user license agreement and allow the program to install 5. Click Finish to close the installer  PHP 5.3 and PHP Manager for IIS You can download PHP 5.3 from: PHP 5.3.16 You can download PHP Manager for IIS from: PHP Manager for IIS If you download the prerequisites with the Web Platform Installer, PHP Manager will be installed automatically and no further configuration is necessary. Once you have installed PHP and PHP Manager, you will need to make sure that PHP is configured appropriately for Perception. This will be discussed later in this guide in step 3 (Configure PHP).  Windows Server AppFabric You can download Windows Server AppFabric from: Windows Server AppFabric The version of AppFabric required is dependent on the version of Windows Server 2008 you are using.

Windows Version AppFabric Version

Windows Server 2008 (32-bit) 6.0 (x86)

Windows Server 2008 (64-bit) 6.0 (x64)

Windows Server 2008 R2 6.1 (x64)

For complete instructions about how to install AppFabric, please refer to the following: Windows Server AppFabric installation and configuration guide If you are using Windows Server 2008 (32- or 64-bit), you will be required to install the Windows Management Framework successfully before installing Windows Server AppFabric. If you have installed all the latest Windows updates, this should already be installed. However, for further details, please refer to: Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0) To install AppFabric: 1. Double-click the file you downloaded

2. Click Yes to accept the terms and conditions, followed by Next 3. Select you preferences for the Customer Experience, Help Improve, and Critical Updates options, and click Next 4. Select the following features and click Next (uncheck the other options so that only the following features are selected)  Runtime Features (automatically checked when the option below is checked)  Caching Services  Administration Tools (automatically checked when the option below is checked)  Cache Administration

5. Click Install to start the installation process Once AppFabric is installed, you will be asked if you want to configure it. For the time being, uncheck the checkbox and exit the installer. Once you have finished installing all the requisites, you will need to come back and configure AppFabric. Configuring AppFabric for Perception will be discussed later in this guide in step 7 (Configure AppFabric). Optional applications  SMTP Perception can be configured to send emails to participants at the end of assessments or with Email Broadcast. If you do not want to configure Perception to send emails, however, this is not required.

It is possible to configure Perception to send emails using a local SMTP service in IIS or connect to an external SMTP service (for example, one that is provided by your internet service provider). To find out more about installing and configuring SMTP, please refer to: A3. Configure the SMTP service Use the Web Platform Installer to download and install the required prerequisites Microsoft's Web Platform Installer makes it easy to download most of the necessary prerequisites for Perception in one place and install them automatically. The Web Platform Installer will download and all of the software required by Perception that does not have to be installed manually. Microsoft Web Platform Installer 4.5 can be downloaded from: Microsoft Web Platform Installer 4.5 The following programs must be installed manually, using the installation instructions in the above section (i.e., they are not included in the Web Platform Installer):  Microsoft Chart Control for Microsoft .NET Framework 3.5  Internet Information Services (IIS) 7 or 7.5  Windows Server AppFabric Click one of the following link to launch the Web Platform Installer and download and install the prerequisites:  Install the prerequisites [view URL1]

1 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2;MVC2;PHP53;PHPManager

3. Configure PHP

Once you have installed the software prerequisites that Perception requires, you will need to configure PHP 5.3 (or higher) so that it works with Perception and at peak performance. You will need to:

Enable the relevant PHP extensions

In some instances, if FastCGI has not been enabled, you will not be able to enable or disable

extensions. For instructions on how to enable FastCGI, please refer to the following: Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7

1. Launch Internet Information Services (IIS) Manager (not Internet Information Services (IIS) 6.0 Manager) 2. Select your server from the Connections list on the left 3. In the Features View pane, locate and double-click PHP Manager 4. Under PHP Extensions, click Enable or disable an extension 5. Ensure that the following extensions are enabled:  CURL (php_curl.dll)  SOAP (php_soap.dll)  XSL (php_xsl.dll)  OpenSSL, if planning to run Perception using SSL via HTTPS (php_openssl.dll) 6. To enable an extension: a. Select it from the disabled list b. Click Enable from the Actions pane

Configure the FastCGI instances

If FastCGI has not been enabled on your server, please refer to the following for instructions on

how to enable it: Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7

Now, you will need to carry out some configuration changes to ensure that PHP is tuned for use with Perception. To do this: 1. Launch IIS Manager 2. Select your server from the Connections list on the left 3. In the Features View pane, locate and double-click FastCGI Settings 4. Select the PHP entry, and click Edit... from the Actions pane

5. Ensure that the Instance MaxRequests setting is set to 10000 6. The Max Instances setting needs to be set to 10 times the number of processors you have on the server. For example, if your server has 2 processors, the Max Instances would be 20. If you server has 4 processors, the Max Instances should be 40.

7. Click OK PHP has now been configured and is ready to use.

After you have enabled the relevant extensions and configured the FastCGI instances, continue on to step 4 using the link below.

4. Install the prerequisites on your ETL server

The following applications need to be installed on your ETL server. These programs must be installed and configured before you install the ETL service. Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually. These programs must be installed and configured before you install the ETL Services Server. Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually. Programs marked (manual) must be downloaded and installed manually and cannot be downloaded via the Web Platform Installer. Details for configuring SQL Server can be found on the following page, step 5 (Install a database system to handle the ETL_Temp database on your ETL server).

Required applications

 Microsoft .NET Framework 4.0 You can download .NET 4.0 from: Microsoft .NET Framework 4.0 Once downloaded, double-click on the installer and follow the instructions to install .NET 4.  Internet Information Services (IIS) 7 or 7.5 (manual) Windows Server 2008 and R2 use IIS 7 and 7.5 respectively. The process of installing them is very similar. You will need to ensure that you have administrative user rights on the server on which you plan to install IIS. To install IIS: 1. Click Start | All Programs | Administrative Tools | Server Manager 2. In the Server Manager window, scroll down to Roles Summary, and then click Add Roles. The Add Roles Wizard will start with a Before You Begin page. The wizard asks for verification of the following:  The administrator account has a strong password  The network settings, such as IP addresses, are configured  The latest security updates from Windows Update are installed 3. Select Web Server (IIS) on the Select Server Roles page. An introductory page will open with links for further information. 4. Select the IIS services to be installed on the Select Role Services page. Add the following modules, and click Next:  Static Content  Default Document  ASP

 ASP.NET  .NET Extensibility  CGI  ISAPI Extensions  ISAPI Filters  Windows Authentication  IP and Domain Restrictions  IIS Management Console  IIS Management Scripts and Tools  IIS 6 Management Components (or the whole IIS 6 Management Compatibility subtree) If you are using the 32-bit version of Windows Server 2008, you should also include the following:  HTTP Redirection  Request Filtering 5. Click Add Required Role Services 6. Wait for IIS to complete installing, and click Finish 7. Locate the Features Summary, and click Add Features 8. Enable the following Features:  .NET Framework 3.0 (inside the .NET Framework 3.0 Features category)  HTTP Activation (inside the WCF Activation category) 9. Click Next, followed by Install 10. Once the features have been installed, click Close and exit Server Manager Once IIS is enabled, make sure the ASP.NET State Service is running. To do this: 1. Click Start | Administration Tools | Services 2. Locate and right click on the ASP State Service entry 3. Click Properties 4. Make sure the Startup type is set to Automatic 5. Click Start to start the service now 6. Click OK and exit out of the Services window

Running 32-bit applications in 64-bit IIS If you are planning to run 32-bit applications (i.e., Perception) in a 64-bit version of IIS (on a 64- bit version of Windows Server 2008), you will need to ensure that the correct settings are enabled. The settings are enabled by running specific commands and parameters from the command line. You will need to launch the command line prompt as an administrative user (you can do this by logging in as an administrative user or by right-clicking on the command prompt icon and clicking Run as administrator). To enable 32-bit applications to run in 64-bit IIS, enter the following command at the prompt: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 To enable the 32-bit version of the .NET 2.0 Framework for use with Perception, you will need to run the following command:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...or, if that is unavailable, try:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i  SQL Server 2008 or Oracle 11g (manual)

Install the prerequisites [view URL2]

2 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2

5. Install a database system to handle the ETL_Temp database

Your ETL server needs to have the following prerequisites installed (apart from a database system):  Microsoft .NET Framework 4.0  Internet Information Services (IIS) 7 or 7.5 (manual) You can install .NET 4.0 manually or automatically, using the appropriate Web Platform Installer link below. IIS must be installed manually.  Install the prerequisites [view URL3]

A database system for the ETL_Temp database needs to be installed on your ETL server. A database is needed on the same server where the ETL service is installed to hold result data while it is being readied for the Results Warehouse. Because your Extract, Transform, and Load service is on a different server from the database, it becomes more efficient to ETL the data to a local database and then move it to the destination database in the correct format. This is illustrated in the diagram below:

For instructions on how to install either SQL Server 2008 (or 2008 R2) or Oracle 11g, please refer to the accompanying documentation of each database system. Once you have installed the database system you will be using for the ETL service, see the appropriate section below to configure your database system for use with Perception.

SQL Server 2008

3 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2;

Enable TCP/IP

The following network options that are disabled by default will need to be enabled. 1. From the Start menu, navigate to Programs | Microsoft SQL Server 2008 | Configuration Tools | SQL Server Configuration Manager 2. Expand SQL Server Network Configuration, and select Protocols 3. Enable TCP/IP and Named Pipes 4. Close the SQL Server Configuration Manager

Start SQL Browser

1. From the Start menu, navigate to Programs | Microsoft SQL Server 2008 | Configuration Tools | SQL Server Configuration Manager 2. Click SQL Server Services in the left-hand pane, or double-click SQL Server Services in the right-hand pane 3. Start SQL Server Browser

Add Firewall exceptions

If you have a software firewall installed on your server, you will need to add exceptions for the SQL Server and SQL Browser services. If you are using Windows Firewall, do the following: 1. From the Start menu, navigate to Control Panel | Windows Firewall 2. Click Allow a program through Windows Firewall 3. Go to the Exceptions tab 4. Click Add Program 5. Browse to and select C:\Program Files\Microsoft SQL Server\MSSQL10.\MSSQL\Binn\sqlserver.exe or C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.\MSSQL\Binn\sqlservr.exe if you installed the 32-bit version of SQL Server 2008 on a 64-bit operating system (the folder locations may be slightly different for your installation) 6. Click OK 7. Click Add Program 8. Browse to and select C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe or C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe 9. Click OK and then click OK again If you are using a third-party software firewall, you will need to follow their instructions to add exceptions for sqlservr.exe and sqlbrowser.exe. After you have configured SQL Server, continue to step 6 using the link below.

Oracle 11g

The 32-bit Oracle client must be used with the ETL service and temporary ETL database, even if you are using a 64-bit version of Windows Server 2008. The 64-bit Oracle client will not work with the ETL service and temporary ETL database.

The 32-bit version of Oracle 11 or 11g R2 can be downloaded from the following location: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html Follow the relevant Oracle instructions to install Oracle 11g. For instructions about how to download and install Oracle 11g R2 manually, please refer to the documentation that accompanies the software. After you have installed Oracle, continue to step 6 using the link below.

6. Install the ETL service on your ETL server

Once you have installed the prerequisites (including a database system) on your ETL server, you can install the ETL service on this server. Copy the installer to that server and follow the steps below.

The ETL service will be installed on your ETL server.

By default, users do not have administrative user rights if you are logged on as a user other than

the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). If you do not have these privileges, Perception will not install correctly. Log in as the built-in administrator account, or explicitly invoke applications as the built-in administrator by using the Run as administrator command. You will need to make sure you are logged in as an administrator when completing the installation of Perception.

To install the ETL Services Server: 1. Launch the installer as an administrative user (see above for details), entering the password when prompted 2. Select Custom from the Setup Type window 3. Click Next 4. Select the ETL Services Server option

5. Click Next

6. Choose where you would like to install Perception and the application data, including repository files (please note that the Repository files folder will not actually be created on this server, as it is only needed on the Business Logic tier)

You can keep the default locations or click Browse to indicate an alternative path. 7. Click Next 8. Click Install

If you are using Oracle as your database system and plan on installing the ETL service on a

different server from the temporary ETL database, there are a few things you must do to ensure that the ETL service and the ETL temporary database can communicate with each other as well as the rest of Perception. To split up the ETL service and the ETL temporary database on different servers (Oracle only): 1. Install the ETL service on the server you desire as usual, following the instructions above. 2. The server which you install the ETL service on must have SQL*Loader (sqlldr.exe) installed. To install SQL*Loader to this server, use the Oracle Universal Installer and install Oracle Database Utilities through the custom installation option. 3. Ensure that all the tnsnames.ora files are identical among hosts and point to the same Oracle instances, as well as are aware of all Oracle connections in order for database links to function 4. Continue with your multi-tiered installation and configuration of Perception be following the link below.

< Back to step 5 Continue to step 7 >

7. Configure AppFabric

Once you have installed a database for the ETL_Temp database, you need to configure AppFabric. AppFabric works by creating a distributed cache that is shared by the various servers that need it. This can speed up access to frequently accessed information such as session data. To configure AppFabric, you will need to:

Allow access to AppFabric through the Firewall AppFabric is installed as a service. The AppFabric service needs to be granted permission to send data through the firewall. This can be done in Windows Server 2008 by modifying the In and Outbound Rules. To modify the rules:

Create a UNC shared folder to place the caching details To create a UNC folder share: 1. Create a folder on your server. Choose a convenient location and name. 2. Right-click on the folder, and select Properties from Windows Explorer 3. Select the Sharing tab 4. Click Share 5. The File Sharing window displays. Add the user Network Service or a local user if you are not connected to a domain. If you are setting up a load-balanced environment, ensure each node has the same username/password. 6. Set the Permissions Level as Contributor (Read/Write on Windows Server 2008 R2) 7. Click Share, followed by Close Configure AppFabric using the AppFabric configuration wizard The following settings need to be configured on the server hosting Enterprise Manager in this single-server installation (i.e. your Perception server). To configure the caching service: 1. Click Start | Windows Server AppFabric | Configure AppFabric 2. On the Before you begin page, click Next 3. On the Configure Hosting Services page, click Next (Perception does not use hosting services) 4. On the Configure Caching Services screen, enable the Set Caching Services configuration check-box 5. Set a Caching Service account. If your computer is part of a domain, you cannot change the Caching Service account from the default of "Network Service." If your computer is part of a workgroup, you must change the Caching Service account from "Network Service" and use a local account. If you are using a local account, do not use an account with administrator privileges. The local account used for the Caching Service account only needs permissions to generate security audits (granted explicitly by adding the account to the policy in the Local Security Policy dialog box) and the right to bypass traverse checking (granted through membership in the Everyone group). 6. From the Caching Service configuration provider drop-down box, select XML

7. In the File share text-box, enter the UNC address for the folder you created above. This will be in the format \\ 8. Select New cluster 9. Select the appropriate value from the Cluster size drop-down box. The value you select will be determined by the number of computers you are going to have in your cluster, which in turn is dependant on which components are installed. Questionmark recommends that you set this to Small Cluster (1-5) unless you are installing a load-balanced system with over 5 machines.

10. Click Next 11. Make sure you have defined the appropriate ports for AppFabric. You will need to use the default ports for Questionmark Perception.

Cache port: 22233

Cluster port: 22234

Arbitration port: 22235

Replication port: 22236

The Cache port needs to be accessible by the application and the other AppFabric servers, if more than one.

The Cluster port, Arbitration port, and Replication port need to be open between the AppFabric servers, if more than one. 12. Click Next, followed by Finish Setup the cache To setup the required cache, we will use PowerShell. To do this using PowerShell: 1. On the Start Menu, click All Programs, Windows Server AppFabric, and then click Caching Administration Windows PowerShell

Please note you have to start PowerShell as an administrative user. If you are not already logged in as an administrator, right-click the PowerShell icon and select Run as administrator.

2. We will not be using the security system provided by AppFabric. Instead we will be using the Perception equivalent, so you will need to enter the following command: Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None

If you receive an error when running the Set-CacheClusterSecurity command, stop the cache

cluster and then try again by entering the following before trying step 2 again:

Stop-CacheCluster

3. Now create a new cache by entering the following command: New-Cache questionmark

Please note that the cache name is case sensitive and must be called questionmark. 3. Now you need to start the cache by entering the following command: Start-CacheCluster

Starting the cache after a server reboot Every time you restart your Perception server, you will need to restart the cache on each computer. It is recommended that you do this through PowerShell by following the steps below: 1. Click Start | Windows Server AppFabric | Cache Administration PowerShell Console 2. Enter the following:

Start-CacheCluster

If you are using SQL Server as your cache configuration provider, you can also change the Startup Type in Services for AppFabric to Automatic, although it can take ten to fifteen minutes for AppFabric to restart after a reboot through this method. If you are using XML as your cache configuration provider or the delayed start is not acceptable for your purposes, you can use a PowerShell script and a scheduled Windows task to start AppFabric automatically. See the Knowledge Base article How can I automatically start the Windows Server AppFabric Caching Service? for instructions on how to do this.

After you have completed the above steps, continue on to step 8 using the link below.

8. Creating the shared repository database on your database server

As you are installing a new instance of Perception, you now need to create a database for your shared repository. The shared repository database needs to be created on your database server.

The full version of SQL Server 2008 (or 2008 R2) or Oracle 11g must be used for the shared

repository, Perception_MAIN, and Perception_RW databases.

Select the database system that you are using on your database server and follow the instructions:

SQL Server 2008

Before you create the shared repository database In SQL Server, there are two database collations you need to set: the SQL Server collation and the Database collation. For English and non-English characters to appear correctly when using SQL Server, your collations should be set as:  SQL Server collation must be configured to use the collation SQL_Latin1_General_Cp1_CI_AS. The collation utilizes the 1252 (ANSI - Latin 1) codepage. The collation SQL_Latin1_General_Cp1_CI_AS is the case-insensitive version. You should take care not to use the case-sensitive version of the collation, which can be identified with the initials CS appearing in the collation title, while the case-insensitive version can be identified by the initials CI.

This must be applied to the instance of SQL Server when installing SQL Server. Please be aware that, when installing SQL Server 2008, it will automatically attempt to get the most appropriate collation depending on what the server locale has been set as. In most cases, this will need to be manually changed to use the SQL_Latin1_General_Cp1_CI_AS collation.  Database collation must be set as SQL_Latin1_General_Cp1_CI_AS to ensure that all data written in Perception is stored and displayed correctly. It will be set to this collation by Perception when it is created.

Please note that the collation used should be SQL_Latin1_General_Cp1_CI_AS, not

Latin1_General_CI_AS.

Users wishing to set up an English language version of Perception on a non-English operating system and database should ensure that the correct language packs are installed for both the database and the operating system. Additionally, the language pack 1252 (ANSI - Latin 1) must

be installed for both servers and the SQL Server collation and database collation set to SQL_Latin1_General_Cp1_CI_AS. The question searching facility in Authoring Manager requires the full-text indexing component of SQL Server to be installed and configured and will not work without it. Once full-text indexing is installed, it will need to be enabled for the database before the repository is created.

Create a database and user for the shared repository To create a SQL Server 2008 database for use with Perception: 1. Open SQL Server Management Studio 2. Right-click the Database folder on the attached database server and select New database 3. Enter the database name. For example, Perception_REPO. 4. From the Options page set the collation to SQL_Latin1_General_CP1_CI_AS and click OK Once you have created your database, you need to set up a new login. To do so: 1. Still in SQL Server Management Studio 2. Expand the server folder for the server on which you have created your database in the navigation pane 3. Expand the Security sub-folder 4. Right-click Logins and select New login... 5. Enter a name for the new login. For example, Perception_REPO. 6. Select SQL Server Authentication and enter a password 7. Uncheck the Enforce password expiration and User must change password at next login checkboxes 8. In the Default database list, select the database you created above. For example, Perception_REPO. 9. Open the User Mapping page and tick the database you created 10. Enable the db_owner and public permission checkboxes 11. Navigate to the Server Roles page 12. Enable the bulkadmin and public server role checkboxes

13. Click OK

Switch on full-text indexing for the shared repository database If you intend to use question searching in Authoring Manager, you will need to ensure that full-text indexing is enabled for the shared repository database. To enable full-text indexing in SQL Server Management Studio: 1. Right-click on the shared repository database (Perception_REPO), and select Properties 2. Click Files from the Select a page menu 3. Enable the Use Full-text indexing checkbox 4. Click OK

If the checkbox is already ticked and grayed out, this is because full-text indexing has been

enabled for the whole server, meaning all the databases have full-text indexing enabled by default.

Now that you have created a user and database for the shared repository, you will need to create an ODBC connection to it on your Perception server. For information about how to do this, please continue to step 9 using the link below.

Oracle

Before you create the shared repository database There are a number of factors that need to be taken in to account if using Oracle as your database server for Perception. These include:  For non-English characters (Latin characters and other Western European characters) to appear properly when using Oracle, your Oracle installation must be configured to utilize

the AL32UTF8 character set  For 2-bit characters (such as Japanese or Chinese), you must utilize the WE8MSWIN125 database character set  If using the WE8MSWIN1252 database character set on a non-English operating system the National Character Set (NLS) must be set to English (either US or UK) No other character sets can be reliably supported at this time. You can either change your database to use the appropriate character set (providing that other applications using Oracle can work with this), or else set up a separate Oracle installation with the appropriate character set for Perception to use. To use the Scoring Tool component of Perception with Oracle, ODP.NET (Oracle Data Provider) 9.2 or higher must be installed on the server on which you plan on running Perception on. ODP.NET can be obtained from the Oracle website: www.oracle.com The question searching facility in Authoring Manager requires Oracle Text to be installed and configured, and it will not work without it. Oracle Text is not installed by default in some versions and may need to be installed.

Please note:

 If you haven't already setup a destination file for your Oracle databases, please refer to the upcoming Set the Oracle database file destination section of this page.

Set the Oracle database file destination Before creating any Oracle Tablespaces, it is recommended that you ensure the database file destination path is set for your Oracle instance, especially if you are working with a new installation of Oracle.. This will need to be done on your database server used in your Perception installation before creating any Tablespaces.

If you have previously set the destination paths for your databases previously, please skip the

following section and continue with the install process as highlighted. For complete details about how you might setup the destination path, please refer to your Oracle documentation. For example: Creating Oracle-Managed Files in the Oracle Database Administrator's Guide

To do this, you will need to run a SQL command via the SQLPLUS command prompt. To enter the SQLPLUS command line interface, enter the following at a command line prompt: sqlplus system/@/

...where: is the password associated with the SYSTEM user is the server name for your Oracle installation (i.e., your database server) is the System ID for your Oracle server set during installation Once logged in, run the following command:

ALTER SYSTEM SET DB_CREATE_FILE_DEST=''

...where is the location that you would like the database (dbf) files to be located. For example, if your Oracle environment is on a:  Linux/Unix environment, the may be something like: /u01/app/oracle/oradata  Windows environment, the may be something like: C:\app\\\oradata\

...especially if you are working with a new installation of Oracle.

Create a Tablespace and User

For Oracle, you will need to create a Schema for use by the shared repository. This involves creating a Tablespace and User. The following section provides details about doing this. After ensuring that the database file destination path is set for your Oracle instance, to create a Tablespace for your database: 1. Open Enterprise Manager Console on your database server 2. Login to the database server you will be creating the new database on 3. Open the Server tab 4. Under Storage, click Tablespaces 5. Click Create 6. Enter a name for the new Tablespace. For example, Perception_REPO. 7. Under Datafiles, click Add

8. Enter the following information:  Enter a File Name for the datafile  Enter the location of an available File Directory (this file location must exist before this section will complete accurately)  Set the File Size to a larger number than the default 100MB for high-use systems

 Tick Automatically extend datafile when full (AUTOEXTEND) and specify a suitably high value in the Increment box 9. Click Continue to return to the Create Tablespace page, and then click OK to create the Tablespace. The new table will appear in the list of Tablespaces. To create a database user: 1. Open the Enterprise Manager Console 2. Login to the database server you will be creating the new database on 3. Open the Server tab 4. Under Security, click Users 5. Click Create

6. Enter the following information:  Enter a database user name and password  In the Default Tablespace box, enter the name of the Tablespace you created above  In the Temporary Tablespace box, enter the name of a temporary Tablespace. By default, this is TEMP.

7. Open the Roles tab, and click Edit List

8. Assign the user the following roles:  CONNECT  CTXAPP (only avaiable if OracleText is available)  RESOURCE 9. Click OK 10. Open the System Privileges tab, and click Edit List

11. Select the following System Privileges, and click OK:  CREATE SESSION  CREATE TABLE  CREATE PROCEDURE  CEATE SEQUENCE  CREATE SYNONYM  CREATE TRIGGER  CREATE VIEW

12. Click OK to create the user Next, you will need to configure the Local Service Name and then create an ODBC data source.

Setting up a Local Service Name

A Local Service Name is a way of defining a connection to a Tablespace. To configure the Local Service Name, you will need the Oracle client installed on the same server on which you intend to install Perception (NOT your database server). To configure the Local Service Name: 1. Open Oracle Net Manager on the same server on which you intend to install Perception (NOT your database server) 2. Select the Service Naming folder in Oracle Net Configuration | Local

3. Click the Create (+) button. The Net Service Name Wizard screen is displayed. 4. Enter a Net Service Name. For example, Perception_REPO (make a note of this name, as you will need to use it when you create an ODBC data source). 5. Click Next

6. Select TCP/IP (Internet Protocol) and click Next 7. Enter the Host Name and click Next. This is the name of the server that the Oracle database is installed on (i.e., your database server). If you are not using the default Port Number, you can enter the port you are using as well.

8. Enter the Service Name of the Oracle instance and click Next 9. Click Test to verify the connection 10. Click Finish. Save the changes when you close Oracle Net Manager. Now that you have created a user, Tablespace, and setup the Local Service Name for the repository, you will need to create an ODBC connection to it on your Perception server. For information about how to do this, please continue to step 9 using the link below.

< Back to step 7 Continue to step 9 >

9. Create an ODBC connection to your shared repository database

Now, you need to create an ODBC data source to link Perception to the shared repository database you created in step 6 so that the Shared Repository Service can correctly use it. The ODBC connection needs to be created on the same server on which you plan to install Perception. If you are using a 64-bit version of Windows (for example, Windows Server 2008 R2), you will need to use the 32-bit version of ODBC drivers. The sections below provide details about creating the ODBC connections for the following database systems:

SQL Server 2008 To create an ODBC data source: 1. Open the ODBC Data Source Administrator on the same server on which you plan to install Perception as an administrative user. To do so on a:  32-bit operating system, go to Control Panel, double-click Administrative Tools, and then double-click Data Sources (ODBC)  64-bit operating system, such as Windows Server 2008 R2, navigate to and launch the following ODBC driver: C:\Windows\SysWOW64\odbcad32.exe 2. Open the System DSN tab 3. Click Add... 4. Select the SQL Server driver for your SQL Server instance and click Finish 5. Enter a name for the new data source, and select the server you want to connect to (that is, the machine on which your database is installed, i.e., your database server) from the drop-down list. Make sure that you enter the actual server name and not "(local)" or "localhost." 6. Click Next 7. Ensure that With SQL Server authentication using a login ID and password entered by the user is selected

8. Enter the ID and password of the login you created for the Perception database (in step 8) and click Next 9. Enable the Change the default database to check-box and select your Perception database (i.e., Perception_REPO) from the drop-down list and click Next

10. Click Finish. Review the details of the new ODBC data source that will be created and click OK. You can click Test Data Source to check the connection. 11. Click OK to close the ODBC Data Source Administrator You can now begin to install Perception. Follow the link at the bottom of this page to continue to step 10.

Oracle 11g

Once you have created your shared repository database (Perception_REPO), you will need to create a data source. This should be done on the same server on which you plan to install Perceptioin, not your database server. To do so: 1. Open the ODBC Data Source Administrator on the same server on which you plan to install Perception as an administrative user. To do so on a:  32-bit operating system, go to Control Panel, double-click Administrative Tools, and then double-click Data Sources (ODBC)  64-bit operating system, navigate to and launch the following ODBC driver: C:\Windows\SysWOW64\odbcad32.exe 2. Open the System DSN tab 3. Click Add... 4. Select the 32-bit Oracle driver that corresponds to your Oracle installation from the list and click OK

5. Enter a name and description for the new data source in the appropriate text-boxes 6. Specify in the TNS Service Name text-box the Net Service Name of the server you want to connect to (that is, the machine on which your database is installed, i.e., your database server). This is the Net Service Name you specified in step 8. 7. Enter the name of the database user you have created in the User ID text-box. For example, Perception_REPO. 8. Click OK, and OK again to close the ODBC Data Source Administrator You can now begin to install Perception. Follow the link at the bottom of this page to continue to step 10.

10. Download and install Perception

After you have completed the previous seven steps, you can download and install Questionmark Perception. Perception needs to be installed on the server that you have installed all the prerequisites on. Click on the following sections to expand them and view instructions on downloading and installing Perception for a single-server installation. Download Perception The Questionmark Perception installer can be obtained from the Questionmark website. To download the installer: 1. Navigate to www.questionmark.com 2. Select Tryout & Downloads | Product Downloads 3. Locate the Questionmark Perception v5.4 - Server section and click Download Software 4. If you are not already logged in, you will be asked to provide your Questionmark Communities username and password 5. The application will now start to download and you should receive an email with the password necessary to run the installer Once the installer has downloaded, you can run it as required to install Perception. Install Perception A single-server installation involves installing all the components of Perception on a single server and then attaching it to a database hosted on another server. The installer will guide you through the process of installing Perception. The installer requires you to enter a password before it will install Perception Server. This password should have been sent to you by email. Please contact Questionmark if you have not received this email.

Please note: By default, users do not have administrative user rights if you are logged on as a

user other than the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). If you do not have these privileges, Perception will not install correctly. Log in as the built-in administrator account, or explicitly invoke applications as the built- in administrator by using the Run as administrator command. You will need to make sure you are logged in as an administrator when completing the installation of Perception.

Once you have the necessary software in place and you know the details required, to install Perception: 1. Double-click the installer enter the required password 2. Click Next on the Welcome screen

3. Accept the End User License Agreement and click Next

4. Select the Typical install and click Next

5. Choose where you would like to install Perception and the application data, including repository files.

You can keep the default location, or click Browse to indicate an alternative path. Click Next to continue.

6. If this server is to be accessed externally, enter the URL for the web server by selecting User Defined and entering the domain name in the text-box. Alternatively, select This Computer if users will be using the computer name as the URL to access Perception.

If you are intending to access Perception using an IP address, you must select the User Defined

setting and enter the IP address in the text box. Failure to do so will cause certain functions in Perception to work incorrectly. For example:  File upload questions will not work correctly, preventing participants from uploading answers  Links to reports that a participant has access to will not work 7. Click Next 8. In the Installation Options screen, select if you would like:  To automatically create the necessary virtual directories and application pools  Enable the automatic Authoring Manager upgrade options

9. Click Next and click Install to begin the installation

A warning will be displayed indicating that PHP will need to be installed before the application will appear. Ensure you have completed the steps indicated in step 3 (Configure PHP), and click OK.

If you have not installed PHP yet, click OK and continue installing Perception. Once installed, carry out the steps indicated in step 3 (Configure PHP) before attempting to launch Perception. 10. Once the installation process has finished, check the Launch Questionmark Configuration Application option and click Finish to launch the configuration application in a browser window.

Continue to step 11 to begin configuring Perception, which begins with creating the Main and Results Warehouse (RW) databases.

11. Create the Main and Results Warehouse (RW) databases

Now you need to create the Main and Results Warehouse (RW) databases using the configuration application. For information about the configuration application, click on the following section to expand it. The configuration application The configuration process is responsible for linking the various parts of the application to their related database. The configuration application is designed to make configuring Analytics, Enterprise Manager, and the databases easier. Please follow the appropriate steps as defined below. The configuration application contains the following workflow:

If you exit the configuration application before completing all of the steps in the workflow, or want to return to the configuration application for any reason, you can navigate to:

http://localhost/configuration

You need to be logged on to your database server locally in order to access the configuration

application.

If you return to the configuration application, you can:  Resume the configuration (if you haven't completed it)  Redo a previous section  Start the configuration again (starting the configuration again does not delete existing databases)

The configuration application can create the Main and Results Warehouse (RW) databases for you automatically, or you can create them manually. Please choose your preferred method below: Automatic (the databases are created for you, using the credentials you provide)

When creating the Perception databases, it is important to note that the databases must be

separate databases with unique names. The configuration application assumes the databases will be unique and that none will be used more than once (i.e., it assumes that the Perception_MAIN database will not also be used as the shared repository). Also, if you don't use the default names, please ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters.

To create the Main and Results Warehouse (RW) databases automatically, you will need to provide several details. The details required will depend on what database technology you are using, but will include:  Database base administrative user details, including password  The address of the database server To create your databases automatically: 1. Make sure the Automatic option box is selected 2. Select the database type you are installing Perception on from the Choose database type drop- down list

3. Refer to the relevant section depending on your database type:  SQL Server 2008 1. Enter the fully-qualified name for the database server you want to use in the format ., e.g., db2008.myorganization.local. You may also

use an IP address, or just the server name if the server is not part of a domain. Do not use (local) or localhost. If you have multiple instances on your database, remember to include the instance name where necessary: \

2. When administering this database server, you need to login to the relevant service. Select how you connect to the database server using the I connect using drop- down list. If you login using:

 Windows Authentication - You will need to enter the Windows username and password associated with the system administrator for the database server. If you are using a domain server, remember you should use the fully qualified \. For example, myorganization\dbsysadmin.  SQL Server Authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008, you will typically use the sa user. 3. Enter a username for the database user you would like the configuration application to make. This user will be used by the ODBC connection to allow the databases to communicate with Perception.

You can allow the configuration application to create a random password for this user, or you can specify your own by unchecking the Auto Generate checkbox. 4. You can now enter the names you would like to assign to the two databases created at this time (the Perception Main database and the Analytics Results Warehouse database).

Enter the desired names for the databases. 5. Click Create. Once the databases have been setup, you will see the following:

6. Click Continue to move to the next step You can now continue to step 12 using the link below.  Oracle 11g 1. Enter the fully-qualified name for the database server you want to use in the format ., e.g., orcl11g.myorganization.local.

2. Enter the System ID (as defined when Oracle was setup) 3. Define the Port used to communicate with Oracle (as defined when Oracle was setup) 4. Enter the Username and Password details of an Oracle user who has permissions to create Users, Tablespaces, and Roles

5. From the This user should connect as drop-down box, define the role the user (entered above) has on the Oracle system. This could be:  Default - A standard user assigned these permissions  SysDba - System Database Administrator  SysOper - System Operator Each of the above users require unique commends for connecting, so please make sure that the user you entered is defined appropriately. 6. Now you need to define the names of the User and corresponding Tablespaces for the Perception Main database and the Analytics Result Warehouse database that you would like the configuration application to make.

You can assign your own User and Tablespace name, and you can choose to auto- generate the password or create your own by checking/unchecking the Auto Generate checkbox. 7. Click Create. Once the databases have been setup, you will see the following:

8. Click Continue to move to the next step You can now continue to step 12 using the link below. Manual (you create the databases manually, and then provide the details to the configuration application) To manually create the Main and Results Warehouse (RW) databases, you will need to create your databases first. For instructions on doing so, please refer to the following section: A1. Create the databases manually After you have created your databases, refer to the relevant section depending on your database type:  SQL Server 2008 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select SQL Server from the Choose database type drop-down list

3. Enter the fully qualified name for the database server you want to use in the format ., e.g., db2008.myorganization.local. You may also use an IP address, or just the server name if the server is not part of a domain. Do not use (local) or localhost. If you have multiple instances on your database, remember to include the instance name where necessary: \ 4. Enter the Login and Password details for the user you created for the databases 5. Enter the Database name you assigned to the Perception shared repository database (Perception_MAIN) you created 6. Enter the Database name you assigned to the Result Warehouse database (Perception_RW) you created 7. Click Create Once the databases have been setup, you will see the following:

8. Click Continue You can now continue to step 12 using the link below.  Oracle 11g 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select Oracle from the Choose database type drop-down list 3. Enter the Database server name where you created the schemas 4. Enter the SID for the Oracle server and make sure the port number is correct for your database 5. Enter the User and Tablespace and Password details for the Perception_MAIN database you manually created 6. Enter the User and Tablespace and Password details for the Perception_RW database you manually created 7. Click Create Once the databases have been setup, you will see the following screen:

8. Click Continue You can now continue to step 12 using the link below.

12. Create the temporary ETL (ETL_temp) database

Now you need to create the temporary ETL (ETL_Temp) database using the configuration application.

The ETL_Temp database needs to be created on your ETL server. The configuration application can create the ETL_Temp database for you automatically, or you can create it manually. Please choose your preferred method below: Automatic (the ETL_Temp database is created for you, using the credentials you provide) To create the ETL_Temp database automatically: 1. Select Automatic 2. Select the database type you are installing Perception on from the Choose database type drop- down list

3. Refer to the relevant section depending on your database type:  SQL Server 2008 1. Enter the database server name of your ETL server, which is where your ETL service is installed

2. Select how you connect to the database on your ETL server using the I connect using drop-down list. If you login using:  Windows authentication - You will need to enter the Windows username and password associated with the system administrator for the database server. If you are using a domain server, remember you should use the fully qualified \. For example, myorganization\dbsysadmin.  SQL Server authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008, you will typically use the sa user. 3. Enter a Database Name for the temporary ETL database. Please ensure you do not use illegal characters when naming your temporary ETL database. For more information, please refer to A4. Illegal characters. 4. Set a password or use an auto-generated one 5. Click Create. Once complete, you should be presented with a screen similar to the following:

Now you can continue on to step 13 using the link below.  Oracle 11g 1. Enter the name of your ETL server (it must be entered in uppercase form in the Enter database server name: text-box), which is where the ETL service is installed 2. Add the Oracle System ID (SID) for your ETL server (it must be entered in uppercase form) and ensure the Port used to connnect is correct 3. Enter a Username and Password for an Oracle user who has permission to create users, Tablespaces, and assign roles. For example, the username might be SYSTEM. 4. Determine how this user should connect to the Oracle instance in the This user should connect as drop-down list. For example, SysDba. 5. Enter a name for the User and Tablespace you want to create. For example, the user might be named Perception_ETL_Temp. 6. Set a password or use an auto-generated one 7. Click Create. Once complete, you should be presented with a screen similar to the following:

Please note that it is important to ensure that all tnsnames.ora files need to be aware of all

Oracle connections in order for database links to function. All tnsnames.ora files need to be identical and point to the same Oracle instances.

Now you can continue on to step 13 using the link below. Manual (you create the database manually, and then provide the details to the configuration application) To manually create the ETL_Temp database, you will need to create the database first. For instructions on doing so, please refer to the following section: A1. Create the databases manually After you have created the temporary ETL database, refer to the relevant section depending on your database type:  SQL Server 2008 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select SQL Server from the Choose database type drop-down list 3. Enter the address of your ETL server, which is where your ETL service in installed. Enter the fully-qualified name in the format ., e.g., db2008.myorganization.local. You may also use an IP address or just the server name if the server is not part of a domain. Do not use (local) or localhost. Remember to include the instance name where necessary: \ 4. Enter the name of the temporary ETL database you created before 5. Click Create. Once complete you should be presented with a screen similar to the following:

Now you can continue on to step 13 using the link below.  Oracle 11g

1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select Oracle from the Choose database type drop-down list 3. Enter the Database server name where you created the ETL_Temp schemas (note that this will be your Perception server in this single-server installation) 4. Enter the Sytem ID (SID) for the Oracle server and make sure the Port number used to connect is correct for your database 5. Enter the User and Tablespace and Password details for the ETL_Temp database you manually created 6. Click Create. Once complete, you should be presented with a screen similar to the following:

Please note that it is important to ensure that all tnsnames.ora files need to be aware of all

Oracle connections in order for database links to function. All tnsnames.ora files need to be identical and point to the same Oracle instances.

Now you can continue on to step 13 using the link below.

13. Configure the environment

After you have created your Main, Results Warehouse, and temporary ETL databases, you need to configure the environment, i.e., tell the system how people will be accessing the servers. You need to provide details for the following:  Portal The portal is the user interface component designed to display the various components of Enterprise Manager. You will need to enter the URL for your Perception server. The address you enter here will form part of the URL used to access Enterprise Manager.

For example: http:///portal/  Service layer This component is designed to facilitate the communication of all parts of the software. The service layer is generally kept behind the firewall, so you can use the machine name (including the fully-qualified name) or the IP address of the server where the service layer is installed. You will need to enter the URL for your Perception server.

For example: http://  Windows AppFabric Server(s) Windows App Fabric is the caching service used by Perception. There may be several servers as part of your Perception installation that have AppFabric installed on them.

You can enter the address of the server(s) and the port used by it in the following format: :22233,:22233.

The server address can be in the form of machine name (including the fully-qualified name) or the IP address. The servers listed are separated by a comma (,). ...where my_server is the domain name of the relevant server.

To configure the environment: 1. Add the relevant information for to the Enter the portal address and Enter the service layer address text-boxes 2. Once you have entered the relevant addresses, click Continue 3. You will be shown a screen similar to the following:

4. Click Continue Now you can continue on to step 14 using the link below.

14. Create the shared repository

Now you will need to launch Shared Repository Manager and create a shared repository. Because you are installing a new copy of Perception, you will see a screen similar to the following:

If you are accessing the configuration application locally on the server, you can click Launch SRM to load the Shared Repository Manager. If you are not logged in locally, you will need to log in to your Perception server and launch the Shared Repository Manager from: Start | All Programs | Questionmark | Perception 5.4 Once the Shared Repository Manager is loaded, to create a new repository: 1. Click Add New Repository... in the Shared Repositories menu.

The Repository Creation Wizard is displayed. 2. Click Next > 3. Enter a name for your repository in the Repository name text-box 4. Select the type of database you are using from the Database type drop-down list 5. Select the language you would like your reports to appear in from the Language for standard reports drop-down and click Next >

6. Enter an Initial topic name and Initial assessment folder name and click Next >. The Initial topic name is the topic at the top of the topic hierarchy and is also called the root topic. The Initial assessment folder is the assessment folder at the top of the assessment folder hierarchy and is also called the root folder. 7. If you wish to enable security, ensure that the Check to enable security in the new repository box is ticked and click Next >. We recommend that you enable security. If you are setting up a new repository on your database, security is enabled by default and cannot be de- selected. 8. The following option will require you to fill in your database details  If you selected SQL Server or Oracle as your database type, you should see the following screen:

To continue: o Select the Database DSN (Database Source Name) of your database from the drop- down list. You must have already created a blank SQL Server or Oracle database and setup an ODBC connection to it, otherwise the DSN name will not appear in the list (refer to step 9 (Create an ODBC connection to your shared repository database) for instructions if you have not already done so). o Tick the Check to run database scripts checkbox, as this is required to create the Perception tables in your database o Tick the Check to enable question searching capability checkbox if you want authors to be able to use the Question Search feature in Authoring Manager. Ensure that OracleText has been installed if you are using an Oracle database or full-text indexing has been installed and configured for the database if you are using SQL Server. Please refer to the documentation that accompanied your database server for more information about how to install and configure the necessary options. o If you will be importing data from Perception version 3, tick Check to import from V3. Otherwise, leave the check box unchecked. If the data you will be importing from Perception version 3 contains Japanese data (characters) or similar data, place a check in the Convert V3 Japanese data on import checkbox.

If no DSN appears in the drop-down list, ensure you made an ODBC connection using the 32-bit

driver and not the 64-bit version. For further information, please refer to step 9 (Create an ODBC connection to your shared repository database).

9. Click Next > 10. You should now be presented with either of the following screens, depending on the database server you are using:

 SQL Server

You will need to enter the correct details for the SQL Server user you assigned to the database. To check you are logging into the correct database you created earlier, click Options >>.

Once the details have been entered, click OK.  Oracle

You will need to enter the correct details you assigned to the Oracle database to ensure that the ODBC connection can successfully be made (if this dialogue box does not automatically appear, you can access it by clicking the Change Login Details button).

Once the details have been entered, click OK. 11. Confirm the repository creation process by clicking Next >. The repository will be created.

12. Click Finish to close the Repository Creation Wizard. A warning screen will be displayed.

13. Click Yes to allow the shared repository to be accessed by authorized users of Enterprise Manager as well as participants

If you click No, the shared repository will not be set to be accessed by Perception Server and

Enterprise Manager and all participant-facing software will not work. You must click Yes.

The shared repository has now been created. The "Configure Perception Server" window will be displayed to allow you to configure the repository and Perception to work together. To configure the two: 1. Specify the Perception Server Application Folder. Either accept the default location, or, if you installed Perception in a different location, click Browse to specify it. 2. The Web Access box displays the default names for the Resources Web Share and Content Web Share. Either accept the default name, or enter your own.

The System Web Share is only applicable if you have installed Perception in a multi-tiered

environment. The default web share as created by the installation is MyRepository_sys. This web share allows QPLA to access the necessary files on the QABS machine in a multi-tiered environment.

3. If you will be using Questionmark to Go or QMWISe for 3rd-party applications to communicate with Perception, check the Configure this feature checkbox and update the QMWISe URL so that it points to the QMWISe web share on your Perception server. Click Test to set and test the QMWISe URL setting. 4. To configure QMWISe fully, you will also need to create a unique 8-digit Trusted Key that Perception can use to verify any communication between Perception and your 3rd-party applications. For further information about Trusted Keys and QMWISe, please refer to the QMWISe API Guide. 5. Set the Web Share you would like to use for Questionmark to Go

6. Click OK 7. A Configuration Server Notice will be displayed confirming that the configuration file has been successfully modified. Click OK to continue. 8. The repository has now been created and will appear in the Shared Repository Manager

9. Now that the repository has been created, you can continue with the process of configuring Perception by returning to your browser window and clicking Continue

10. You will be shown the following screen. In the Enter a Display Name text-box, enter a name that you would like to associate with your shared repository. It will be used by the various zones for communication.

11. Click Continue. You will be presented with a success screen and asked to continue. Now you can continue on to step 15 using the link below.

15. Create the database links

You will now be asked to create the database links. A database link is required to allow tables and views from one database be used by another. The process of linking up the databases is different for Oracle and SQL Server. Database links can be configured automatically, Where the configuration application is provided with administrator details for each database server and it runs the necessary procedure, or manually, where you create the links manually on each database server and the configuration application confirms if they are setup correctly. Please click on the relevant section below to expand its instructions: SQL Server Automatically To automatically link the database servers: 1. Select Automatically from the Would you like to setup your database links: option. You will be shown an entry for each database server used in your installation. So you could have one entry, similar to below, or you could have several entries. For each entry the Databases on the Server section will identify which database(s) can be found on the server identified in the Database Server Name. 2. When creating the links to the server, you will need to login as an administrator. Select how you connect to the database server using the I connect using drop-down list. If you login using:

Windows authentication - You will need to enter the windows username and password associated with the system administrator for the database server. If you are using a domain server, remember that you should use the fully-qualified domain name: \. For example: myorganization\dbsysadmin

SQL Server authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008 you will typically use the sa user. 3. Repeat the above steps for each database entry and click Create Now you can continue on to step 16 using the link below to finish installing Perception. Manually

For instructions about setting up you database links manually, please refer to the following before completing the steps below: A2. Manually link the databases To manually link the database servers: 1. Select Manual from the Would you like to setup your database links: option 2. Click Verify to check the linking is successful Now you can continue on to step 16 using the link below to finish installing Perception. Oracle Automatically To automatically link the database servers: 1. Select Automatically from the Would you like to setup your database links option buttons 2. Enter your database administrator username and password 3. Click Create

Now you can continue on to step 16 using the link below to finish installing Perception. Manually For instructions about setting up you database links manually, please refer to the following before completing the steps below: A2. Manually link the databases To manually link the database servers: 1. Select Manually from the Would you like to setup your database links: option 2. Click Verify to check the linking is successful

Now you can continue on to step 16 using the link below to finish installing Perception.

16. Migrate settings from your Perception server to your ETL server

After Perception has been installed and configured, you will need to copy the relevant configuration settings from your Perception server to your ETL server. This is partly automated. To do this: 1. Using Windows Explorer, navigate to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on your Perception server 2. Right-click on the export.bat file and click Run as administrator. Enter the usernames and passwords as required. The export.bat file will create a .cab file. 3. Copy the .cab file to a location accessible from your ETL server 4. Copy the .cab file you created in the previous step to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on your ETL server 5. Right-click the import.bat file and click Run as administrator. Enter the usernames and passwords as required. The keys will be imported to your ETL server. 6. Reset IIS

17. Launch Enterprise Manager and start the ETL service

Once the database links have been successfully created, you will be shown a success screen and a button that you can click to enter Enterprise Manager for the first time. The URL for Enterprise Manager will follow the format below:

http:///portal// ...where is the name of the server or domain that you entered as the portal address in step 13 (Configure the environment). ...where is the name of the shared repository you created in step 14 (Create the shared repository).

Please note: It is important to ensure that the server on which Perception is installed is added to

Trusted sites in Internet Options for Internet Explorer, otherwise the Enterprise Manager Login button might not appear on the portal landing page, as Javascript is typically only enabled for trusted sites for Internet Explorer on Windows Server 2008.

To finish the installation process, you need to start and ensure that the ETL service is running. Click the section below to expand it.

Start the ETL service

Although unsupported by Questionmark, if you are using a non-English version of Windows Server

2008 (or R2), please refer to the ADV10. Using a non-English version of Windows Server 2008 for information on some settings that must be edited for the ETL service to function correctly.

Once you have finished installing and configuring the Perception, you need to ensure that the ETL service has started. To start the ETL service: 1. Log into the machine where the ETL service is installed as an administrative user (in this single- server installation, this is your Perception server) 2. Click Start 3. In the Search for programs and files text-box, enter services.msc and press Enter on your keyboard 4. Locate the Questionmark.ETL.Scheduler.Service service 5. Right-click on it and select Properties 6. Make sure the Startup type is set to Automatic 7. Under Service status, click Start and ensure the Service status entry changes to Started

8. Click OK to close the dialog window

With the ETL service now started, result data will be: A. Extracted from your shared repository database B. Transformed in the temporary ETL database into the proper format for Questionmark Analytics C. Loaded in to the Results Warehouse database so that Analytics can access it This process will happen every 3 hours by default. If you want to change the frequency of the ETL service, please refer to the following Knowledge Base article for instructions:  How can I change the frequency of the ETL service? Congratulations, you have now installed and configured Perception! Optionally, you can also configure Perception to use SSL and restrict access to Perception, as well as register Perception. For information on further post-configuration, such as setting up Perception to run from behind a firewall or configuring the SMTP service, see the Advanced information and Appendix sections of this install guide, respectively.

Creating a load-balanced Perception installation

This page includes the following sections:  What does load balancing Perception mean?  System requirements  The installation process (Get started!) This section covers how to setup a load-balanced Perception environment, meaning that your environment will include the following:  Perception server 1 o Perception 5.4 will be installed on this server o Perception's software prerequisites will be installed on this server  Perception server 2 o Perception 5.4 will be installed on this server o Perception's software prerequisites will be installed on this server  Perception server n (Perception server 3, 4, and so on...) o Perception 5.4 will be installed on this server o Perception's software prerequisites will be installed on this server  Database server o The database system (SQL Server or Oracle) you will be using will be installed on this server o The shared repository (Perception_REPO), Main (Perception_Main), and Results Warehouse (Perception_RW) databases will be installed on this server  ETL server o The ETL service and the temporary ETL (ETL_Temp) database will be installed on this server

What does load balancing Perception mean?

It is important to note that the following order of steps is just one possible suggestion that you can follow to set up a load-balanced installation of Perception. Although this section includes a specific order of installation steps, it is possible to follow a different order as you set up your load- balanced environment. Your configuration may differ depending on your needs and look different from the one outlined here, as there are a number of different load-balanced configurations that can be set up.

In most instances, a load-balanced environment is usually created for:  Increased bandwidth  High availability  Both increased bandwidth and high availability Creating a load-balanced Perception configuration is simply a case of:  Creating two or more servers with Perception installed on them

 Ensuring that each Perception installation/server points to the same databases and folder shares/NAS to store common files A load-balanced environment will result in an environment similar to the following diagram:

If you are particularly interested in high availability, you should ensure that all the components of your load-balanced environment have high availability. This includes:  The network storage for the AppFabric caching XML file  The NAS (Network Attached Storage) used to host the server settings, repository, and other supporting files  The databases are also load-balanced and clustered appropriately System requirements

The system requirements for a load-balanced installation of Perception are the same as a single-server installation. Please refer to the System requirements section for a comprehensive description.

In addition to the standard system requirements, you will need a Network Attached Storage (NAS). In a load-balanced environment, all the load-balanced machines must be able to create, view, and access all the same support files (e.g., images used in questions, resources linked to in an assessment, and graphics used in a template). Additionally, all the load-balanced machines must be able to write to the same location (e.g., when creating log files). How this is done depends on the resources available. This can be done by:  Creating a folder share on one of the load-balanced machines and allowing the other machines to access it  Using a Network Attached Storage/file server. This is essentially the same method as above, but involves employing a dedicated machine (a NAS) that handles shared storage that may or may not be load balanced itself. Other requirements include network access for all the servers to the same network to allow communication between them. You can use either software or hardware load balancers with Perception 5.4 to distribute the load between the available servers. The steps for either type of load balancer are the same. For further details, please refer to the documentation that accompanies your load-balancing software/hardware for recommended configuration details.

The installation process (Get started!)

The installation process for a load-balanced Perception environment is as follows: 1. Create the shared repository database on your database server 2. Create your first Perception server a. Install a server OS b. Install and configure the prerequisites c. Configure PHP d. Install a database system to handle the ETL_Temp database on your ETL server e. Configure AppFabric f. Create an ODBC connection to the shared repository database g. Download and install Perception h. Create the Main and Results Warehouse (RW) databases i. Create the ETL_Temp database on your ETL server j. Configure the environment k. Create the shared repository l. Create the database links m. Migrate settings from your Perception server to your ETL server n. Launch Enterprise Manager and start the ETL service 3. Set up your file shares 4. Configure the ServerSettings.config file 5. Update the web.config files 6. Configure IIS 7 7. Configure the license 8. Update the settings in Enterprise Manager 9. Export server configuration

10. Create a second (and third/fourth/...) Perception server 11. Copy across settings from your first Perception server to the second and configure IIS 7 12. Setting stickiness and affinity 13. Testing your load-balanced environment

Start the installation process on step 1 (Created shared

repository database) >

1. Creating the shared repository database on your database server

As you are installing a new instance of Perception, you now need to create a database for your shared repository. The shared repository database needs to be created on your database server.

The full version of SQL Server 2008 (or 2008 R2) or Oracle 11g must be used for the shared

repository, Perception_MAIN, and Perception_RW databases.

Select the database system that you are using on your database server and follow the instructions:

SQL Server 2008

Before you create the shared repository database In SQL Server, there are two database collations you need to set: the SQL Server collation and the Database collation. For English and non-English characters to appear correctly when using SQL Server, your collations should be set as:  SQL Server collation must be configured to use the collation SQL_Latin1_General_Cp1_CI_AS. The collation utilizes the 1252 (ANSI - Latin 1) codepage. The collation SQL_Latin1_General_Cp1_CI_AS is the case-insensitive version. You should take care not to use the case-sensitive version of the collation, which can be identified with the initials CS appearing in the collation title, while the case-insensitive version can be identified by the initials CI.

This must be applied to the instance of SQL Server when installing SQL Server. Please be aware that, when installing SQL Server 2008, it will automatically attempt to get the most appropriate collation depending on what the server locale has been set as. In most cases, this will need to be manually changed to use the SQL_Latin1_General_Cp1_CI_AS collation.  Database collation must be set as SQL_Latin1_General_Cp1_CI_AS to ensure that all data written in Perception is stored and displayed correctly. It will be set to this collation by Perception when it is created.

Please note that the collation used should be SQL_Latin1_General_Cp1_CI_AS, not

Latin1_General_CI_AS.

Users wishing to set up an English language version of Perception on a non-English operating system and database should ensure that the correct language packs are installed for both the database and the operating system. Additionally, the language pack 1252 (ANSI - Latin 1) must be installed for both servers and the SQL Server collation and database collation set to

SQL_Latin1_General_Cp1_CI_AS. The question searching facility in Authoring Manager requires the full-text indexing component of SQL Server to be installed and configured and will not work without it. Once full-text indexing is installed, it will need to be enabled for the database before the repository is created.

Create a database and user for the shared repository To create a SQL Server 2008 database for use with Perception: 1. Open SQL Server Management Studio 2. Right-click the Database folder on the attached database server and select New database 3. Enter the database name. For example, Perception_REPO. 4. From the Options page set the collation to SQL_Latin1_General_CP1_CI_AS and click OK Once you have created your database, you need to set up a new login. To do so: 1. Still in SQL Server Management Studio 2. Expand the server folder for the server on which you have created your database in the navigation pane 3. Expand the Security sub-folder 4. Right-click Logins and select New login... 5. Enter a name for the new login. For example, Perception_REPO. 6. Select SQL Server Authentication and enter a password 7. Uncheck the Enforce password expiration and User must change password at next login checkboxes 8. In the Default database list, select the database you created above. For example, Perception_REPO. 9. Open the User Mapping page and tick the database you created 10. Enable the db_owner and public permission checkboxes 11. Navigate to the Server Roles page 12. Enable the bulkadmin and public server role checkboxes

13. Click OK

Switch on full-text indexing for the shared repository database If you intend to use question searching in Authoring Manager, you will need to ensure that full-text indexing is enabled for the shared repository database. To enable full-text indexing in SQL Server Management Studio: 1. Right-click on the shared repository database (Perception_REPO), and select Properties 2. Click Files from the Select a page menu 3. Enable the Use Full-text indexing checkbox 4. Click OK

If the checkbox is already ticked and grayed out, this is because full-text indexing has been

enabled for the whole server, meaning all the databases have full-text indexing enabled by default.

Now that you have created a user and database for the shared repository, you will need to create an ODBC connection to it on your Perception server. For information about how to do this, please continue to step 2 using the link below.

Oracle

Before you create the shared repository database There are a number of factors that need to be taken in to account if using Oracle as your database server for Perception. These include:  For non-English characters (Latin characters and other Western European characters) to appear properly when using Oracle, your Oracle installation must be configured to utilize

the AL32UTF8 character set  For 2-bit characters (such as Japanese or Chinese), you must utilize the WE8MSWIN125 database character set  If using the WE8MSWIN1252 database character set on a non-English operating system the National Character Set (NLS) must be set to English (either US or UK) No other character sets can be reliably supported at this time. You can either change your database to use the appropriate character set (providing that other applications using Oracle can work with this), or else set up a separate Oracle installation with the appropriate character set for Perception to use. To use the Scoring Tool component of Perception with Oracle, ODP.NET (Oracle Data Provider) 9.2 or higher must be installed on the server on which you plan on running Perception on. ODP.NET can be obtained from the Oracle website: www.oracle.com The question searching facility in Authoring Manager requires Oracle Text to be installed and configured, and it will not work without it. Oracle Text is not installed by default in some versions and may need to be installed.

Please note:

 If you haven't already setup a destination file for your Oracle databases, please refer to the upcoming Set the Oracle database file destination section of this page.

Set the Oracle database file destination Before creating any Oracle Tablespaces, it is recommended that you ensure the database file destination path is set for your Oracle instance, especially if you are working with a new installation of Oracle.. This will need to be done on your database server used in your Perception installation before creating any Tablespaces.

If you have previously set the destination paths for your databases previously, please skip the

following section and continue with the install process as highlighted. For complete details about how you might setup the destination path, please refer to your Oracle documentation. For example: Creating Oracle-Managed Files in the Oracle Database Administrator's Guide

To do this, you will need to run a SQL command via the SQLPLUS command prompt. To enter the SQLPLUS command line interface, enter the following at a command line prompt: sqlplus system/@/

...where: is the password associated with the SYSTEM user is the server name for your Oracle installation (i.e., your database server) is the System ID for your Oracle server set during installation Once logged in, run the following command:

ALTER SYSTEM SET DB_CREATE_FILE_DEST=''

...where is the location that you would like the database (dbf) files to be located. For example, if your Oracle environment is on a:  Linux/Unix environment, the may be something like: /u01/app/oracle/oradata  Windows environment, the may be something like: C:\app\\\oradata\

...especially if you are working with a new installation of Oracle.

Create a Tablespace and User

For Oracle, you will need to create a Schema for use by the shared repository. This involves creating a Tablespace and User. The following section provides details about doing this. After ensuring that the database file destination path is set for your Oracle instance, to create a Tablespace for your database: 1. Open Enterprise Manager Console on your database server 2. Login to the database server you will be creating the new database on 3. Open the Server tab 4. Under Storage, click Tablespaces 5. Click Create 6. Enter a name for the new Tablespace. For example, Perception_REPO. 7. Under Datafiles, click Add

8. Enter the following information:  Enter a File Name for the datafile  Enter the location of an available File Directory (this file location must exist before this section will complete accurately)  Set the File Size to a larger number than the default 100MB for high-use systems

 Tick Automatically extend datafile when full (AUTOEXTEND) and specify a suitably high value in the Increment box 9. Click Continue to return to the Create Tablespace page, and then click OK to create the Tablespace. The new table will appear in the list of Tablespaces. To create a database user: 1. Open the Enterprise Manager Console 2. Login to the database server you will be creating the new database on 3. Open the Server tab 4. Under Security, click Users 5. Click Create

6. Enter the following information:  Enter a database user name and password  In the Default Tablespace box, enter the name of the Tablespace you created above  In the Temporary Tablespace box, enter the name of a temporary Tablespace. By default, this is TEMP.

7. Open the Roles tab, and click Edit List

8. Assign the user the following roles:  CONNECT  CTXAPP (only avaiable if OracleText is available)  RESOURCE 9. Click OK 10. Open the System Privileges tab, and click Edit List

11. Select the following System Privileges, and click OK:  CREATE SESSION  CREATE TABLE  CREATE PROCEDURE  CEATE SEQUENCE  CREATE SYNONYM  CREATE TRIGGER  CREATE VIEW

12. Click OK to create the user Next, you will need to configure the Local Service Name and then create an ODBC data source.

Setting up a Local Service Name

A Local Service Name is a way of defining a connection to a Tablespace. To configure the Local Service Name, you will need the Oracle client installed on the same server on which you intend to install Perception (NOT your database server). To configure the Local Service Name: 1. Open Oracle Net Manager on the same server on which you intend to install Perception (NOT your database server) 2. Select the Service Naming folder in Oracle Net Configuration | Local

3. Click the Create (+) button. The Net Service Name Wizard screen is displayed. 4. Enter a Net Service Name. For example, Perception_REPO (make a note of this name, as you will need to use it when you create an ODBC data source). 5. Click Next

6. Select TCP/IP (Internet Protocol) and click Next 7. Enter the Host Name and click Next. This is the name of the server that the Oracle database is installed on (i.e., your database server). If you are not using the default Port Number, you can enter the port you are using as well.

8. Enter the Service Name of the Oracle instance and click Next 9. Click Test to verify the connection 10. Click Finish. Save the changes when you close Oracle Net Manager. Now that you have created a user, Tablespace, and setup the Local Service Name for the repository, you will need to create an ODBC connection to it on your Perception server. For information about how to do this, please continue to step 2 using the link below.

Continue to step 2 >

2. Create your first Perception server

A load-balanced Perception environment will contain more than one instances of Perception that all connect to the same databases, thereby sharing the processing load of delivering assessments and improving performance for participants, as well as authors and administrators. To create the first Perception server in your load-balanced environment, you will need to: a. Install a server OS b. Install and configure the prerequisites c. Configure PHP d. Install a database to handle the ETL_Temp database on your ETL server e. Configure AppFabric f. Create an ODBC connection to the shared repository database g. Download and install Perception h. Create the Main and Results Warehouse (RW) databases i. Create the ETL_Temp database on your ETL server j. Configure the environment k. Create the shared repository l. Create the database links m. Launch Enterprise Manager and start the ETL service

2a. Install a server OS

Before you begin to install and configure Questionmark Perception, you need to install an operating system on the server on which you intend to install Perception. Questionmark Perception is compatible with the following operating systems:  Microsoft Windows Server 2008 (x86 and x64)  Microsoft Windows Server 2008 R2 (x64)

Recommended hardware

The recommended hardware specifications for Perception 5.4 depend on the environment in which you intend to install it. For details about recommended hardware specifications, please refer to the Questionmark Perception Scalability Guide. The minimum hardware specifications for the server on which you plan on installing Perception are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  4GB RAM  SAS or SATA 7200RPM HDD or greater  Approximately 3GB of storage space Older processors will run Perception, but please note the performance of Perception is directly related to processor speed. Additional storage space will be required to store logs, resources, and database files that are created or required by Perception.

2b. Install and configure the prerequisites

Once you have installed your server operating system, the following applications are required to be installed on the same server on which you intend to install Perception. These programs must be installed and configured before you install Perception. Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually.

Required applications  Internet Information Services (IIS) 7 or 7.5 Windows Server 2008 and R2 use IIS 7 and 7.5 respectively. The process of installing them is very similar. You will need to ensure that you have administrative user rights on the server on which you plan to install IIS. To install IIS: 1. Click Start | All Programs | Administrative Tools | Server Manager 2. In the Server Manager window, scroll down to Roles Summary, and then click Add Roles. The Add Roles Wizard will start with a Before You Begin page. The wizard asks for verification of the following:  The administrator account has a strong password  The network settings, such as IP addresses, are configured  The latest security updates from Windows Update are installed 3. Select Web Server (IIS) on the Select Server Roles page. An introductory page will open with links for further information. 4. Select the IIS services to be installed on the Select Role Services page. Add the following modules, and click Next:  Static Content  Default Document  ASP  ASP.NET  .NET Extensibility  CGI  ISAPI Extensions  ISAPI Filters  Windows Authentication  IP and Domain Restrictions  IIS Management Console  IIS Management Scripts and Tools  IIS 6 Management Components (or the whole IIS 6 Management Compatibility subtree) If you are using the 32-bit version of Windows Server 2008, you should also include the following:  HTTP Redirection  Request Filtering

5. Click Add Required Role Services 6. Wait for IIS to complete installing, and click Finish 7. Locate the Features Summary, and click Add Features 8. Enable the following Features:  .NET Framework 3.0 (inside the .NET Framework 3.0 Features category)  HTTP Activation (inside the WCF Activation category) 9. Click Next, followed by Install 10. Once the features have been installed, click Close and exit Server Manager Once IIS is enabled, make sure the ASP.NET State Service is running. To do this: 1. Click Start | Administration Tools | Services 2. Locate and right click on the ASP State Service entry 3. Click Properties 4. Make sure the Startup type is set to Automatic 5. Click Start to start the service now 6. Click OK and exit out of the Services window

Running 32-bit applications in 64-bit IIS If you are planning to run 32-bit applications (i.e., Perception) in a 64-bit version of IIS (on a 64- bit version of Windows Server 2008), you will need to ensure that the correct settings are enabled. The settings are enabled by running specific commands and parameters from the command line. You will need to launch the command line prompt as an administrative user (you can do this by logging in as an administrative user or by right-clicking on the command prompt icon and clicking Run as administrator). To enable 32-bit applications to run in 64-bit IIS, enter the following command at the prompt: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 To enable the 32-bit version of the .NET 2.0 Framework for use with Perception, you will need to run the following command:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...or, if that is unavailable, try:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i  .NET 2.0 SP2 In Windows Server 2008, the .NET 2.0 Framework is installed by default. No further action is required.  .NET 3.5 + SP1 The .NET Framework 3.5 is not available by default on Windows Server 2008 (32- or 64-bit). However, it is already installed on Windows Server 2008 R2, but it needs to be enabled. If you are using Windows Server 2008 (32- or 64-bit) you can download it from: Microsoft .NET Framework 3.5 Service Pack 1 www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319- 81da479ab0d7

To enable the .NET Framework 3.5 on Windows Server 2008 R2: 1. Click Start | Administrative Tools | Server Manager 2. Select Features 3. Click Add Feature 4. Place a check in the .NET Framework 3.5.1 Features check-box 5. Click Add Required Feature 6. Click Next followed by Install 7. Once it has finished installing, click Close

If you are using Windows Server 2008 (32-bit), you will also need to enable HTTP Activation. To do this: 1. Navigate to Start | Programs | Administrative Tools | Server Manager 2. Select Features, and click Add Features 3. In the Add Features dialog, under .NET Framework 3.0 Features under WCF Activation, select HTTP Activation 4. Click the Next to install Once setup, you will need to enable the WCF portion of the .NET Framework 3.5. To do this: 1. Launch the command line 2. Navigate to:

C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ Or, the following, if you are using a 64-bit operating system: C:\WINDOWS\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ 3. Enter the following and press Enter:

ServiceModelReg.exe -iru  .NET 4 You can download .NET 4 from: Microsoft .NET Framework 4 Once downloaded, double-click on the installer and follow the instructions to install .NET 4.  ASP.NET MVC 2 You can download ASP.NET MVC 2 from: ASP.NET MVC 2 RTM To download and install: 1. Navigate to the above site 2. Download AspNetMVC2_VS2008.exe 3. Once downloaded, double-click on the file to launch the installer 4. Accept the end user license agreement and allow it to install 5. Click Finish to close the installer once the program has completed installing  Microsoft Chart Controls for Microsoft .NET Framework 3.5

You can download Microsoft Chart Controls for Microsoft .NET Framework 3.5 from: Microsoft Chart Controls for Microsoft .NET Framework 3.5 To download and install: 1. Navigate to the above site 2. Download MSChart.exe 3. Once downloaded, double-click on the file to launch the installer 4. Accept the end user license agreement and allow the program to install 5. Click Finish to close the installer  PHP 5.3 and PHP Manager for IIS You can download PHP 5.3 from: PHP 5.3.16 You can download PHP Manager for IIS from: PHP Manager for IIS If you download the prerequisites with the Web Platform Installer, PHP Manager will be installed automatically and no further configuration for is necessary. Once you have installed PHP and PHP Manager, you will need to make sure that PHP is configured appropriately for Perception. This will be discussed later in this guide in step 2c (Configure PHP).  Windows Server AppFabric You can download Windows Server AppFabric from: Windows Server AppFabric The version of AppFabric required is dependent on the version of Windows Server 2008 you are using.

Windows Version AppFabric Version

Windows Server 2008 (32-bit) 6.0 (x86)

Windows Server 2008 (64-bit) 6.0 (x64)

Windows Server 2008 R2 6.1 (x64)

For complete instructions about how to install AppFabric, please refer to the following: Windows Server AppFabric installation and configuration guide If you are using Windows Server 2008 (32- or 64-bit), you will be required to install the Windows Management Framework successfully before installing Windows Server AppFabric. If you have installed all the latest Windows updates, this should already be installed. However, for further details, please refer to: Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0) To install AppFabric: 1. Double-click the file you downloaded

2. Click Yes to accept the terms and conditions, followed by Next 3. Select you preferences for the Customer Experience, Help Improve, Critical Updates, and click Next 4. Select the following features and click Next (uncheck the other options so that only the following features are selected)  Runtime Features (automatically checked when the option below is checked)  Caching Services  Administration Tools (automatically checked when the option below is checked)  Cache Administration

5. Click Install to start the installation process Once AppFabric is installed, you will be asked if you want to configure it. For the time being, uncheck the checkbox and exit the installer. Once you have finished installing all the requisites, you will need to come back and configure AppFabric. Configuring AppFabric for Perception will be discussed later in this guide in step 2e (Configure AppFabric). Optional applications  SMTP Perception can be configured to send emails to participants at the end of assessments or with Email Broadcast. If you do not want to configure Perception to send emails, however, this is not required.

It is possible to configure Perception to send emails using a local SMTP service in IIS or connect to an external SMTP service (for example, one that is provided by your internet service provider). To find out more about installing and configuring SMTP, please refer to: A3. Configure the SMTP service Use the Web Platform Installer to download and install the required prerequisites Microsoft's Web Platform Installer makes it easy to download most of the necessary prerequisites for Perception in one place and install them automatically. The Web Platform Installer will download and all of the software required by Perception that does not have to be installed manually. Microsoft Web Platform Installer 4.0 can be downloaded from: Microsoft Web Platform Installer 4.0 The following programs must be installed manually, using the installation instructions in the above section (i.e., they are not included in the Web Platform Installer):  Microsoft Chart Control for Microsoft .NET Framework 3.5  Internet Information Services (IIS) 7 or 7.5  Windows Server AppFabric Click one of the following links to launch the Web Platform Installer and download and install the prerequisites:  Install the prerequisites [view URL4]

4 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2;MVC2;PHP53;PHPManager

2c. Configure PHP

Once you have installed the software prerequisites that Perception requires, you will need to configure PHP 5.3 (or higher) so that it works with Perception and at peak performance. You will need to:

Enable the relevant PHP extensions

In some instances, if FastCGI has not been enabled, you will not be able to enable or disable

extensions. For instructions on how to enable FastCGI, please refer to the following: Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7

1. Launch Internet Information Services (IIS) Manager (not Internet Information Services (IIS) 6.0 Manager) 2. Select your server from the Connections list on the left 3. In the Features View pane, locate and double-click PHP Manager 4. Under PHP Extensions, click Enable or disable an extension 5. Ensure that the following extensions are enabled:  CURL (php_curl.dll)  SOAP (php_soap.dll)  XSL (php_xsl.dll)  OpenSSL, if planning to run Perception using SSL via HTTPS (php_openssl.dll) 6. To enable an extension: a. Select it from the disabled list b. Click Enable from the Actions pane

Configure the FastCGI instances

If FastCGI has not been enabled on your server, please refer to the following for instructions on

how to enable it: Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7

Now, you will need to carry out some configuration changes to ensure that PHP is tuned for use with Perception. To do this: 1. Launch IIS Manager 2. Select your server from the Connections list on the left 3. In the Features View pane, locate and double-click FastCGI Settings 4. Select the PHP entry, and click Edit... from the Actions pane

5. Ensure that the Instance MaxRequests setting is set to 10000 6. The Max Instances setting needs to be set to 10 times the number of processors you have on the server. For example, if your server has 2 processors, the Max Instances would be 20. If you server has 4 processors, the Max Instances should be 40.

7. Click OK PHP has now been configured and is ready to use.

After you have enabled the relevant extensions and configured the FastCGI instances, continue on to step 2d using the link below.

2d. Install a database system to handle the ETL_Temp database

Your ETL server needs to have the following prerequisites installed (apart from a database system):  Microsoft .NET Framework 4.0  Internet Information Services (IIS) 7 or 7.5 (manual) You can install .NET 4.0 manually or automatically, using the appropriate Web Platform Installer link below. IIS must be installed manually.  Install the prerequisites [view URL] 5

A database is needed on the same server where the ETL service is installed to hold result data while it is being readied for the Results Warehouse. In a load-balanced environment, you will need to create this temporary ETL database on the same server on which you plan to install the ETL service. The reason for installing another database is that because your Extract, Transform, and Load service is on a different server from the database, it becomes more efficient to ETL the data to a local database and then move it to the destination database in the correct format. This is illustrated in the diagram below:

For instructions on how to install either SQL Server 2008 (or 2008 R2) or Oracle 11g, please refer to the accompanying documentation of each database system. Once you have installed the database system you will be using for the ETL service, see the appropriate section below to configure your database system for use with Perception.

SQL Server 2008

Enable TCP/IP

The following network options that are disabled by default will need to be enabled.

5 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2;

1. From the Start menu, navigate to Programs | Microsoft SQL Server 2008 | Configuration Tools | SQL Server Configuration Manager 2. Expand SQL Server Network Configuration, and select Protocols 3. Enable TCP/IP and Named Pipes 4. Close the SQL Server Configuration Manager

Start SQL Browser

1. From the Start menu, navigate to Programs | Microsoft SQL Server 2008 | Configuration Tools | SQL Server Configuration Manager 2. Click SQL Server Services in the left-hand pane, or double-click SQL Server Services in the right-hand pane 3. Start SQL Server Browser

Add Firewall exceptions

If you have a software firewall installed on your server, you will need to add exceptions for the SQL Server and SQL Browser services. If you are using Windows Firewall, do the following: 1. From the Start menu, navigate to Control Panel | Windows Firewall 2. Click Allow a program through Windows Firewall 3. Go to the Exceptions tab 4. Click Add Program 5. Browse to and select C:\Program Files\Microsoft SQL Server\MSSQL10.\MSSQL\Binn\sqlserver.exe or C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.\MSSQL\Binn\sqlservr.exe if you installed the 32-bit version of SQL Server 2008 on a 64-bit operating system (the folder locations may be slightly different for your installation) 6. Click OK 7. Click Add Program 8. Browse to and select C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe or C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe 9. Click OK and then click OK again If you are using a third-party software firewall, you will need to follow their instructions to add exceptions for sqlservr.exe and sqlbrowser.exe. After you have installed SQL Server, continue to step 2e using the link below.

Oracle 11g

The 32-bit Oracle client must be used with the ETL service and temporary ETL database, even if you are using a 64-bit version of Windows Server 2008. The 64-bit Oracle client will not work with the ETL service and temporary ETL database.

The 32-bit version of Oracle 11 or 11g R2 can be downloaded from the following location: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Follow the relevant Oracle instructions to install Oracle 11g R2. After you have installed Oracle, continue to step 2e using the link below.

2e. Configure AppFabric

Once you have installed a database for the ETL_Temp database on your ETL server, you need to configure AppFabric. AppFabric works by creating a distributed cache that is shared by the various servers that need it. This can speed up access to frequently accessed information such as session data. To configure AppFabric, you will need to:

Allow access to AppFabric through the Firewall AppFabric is installed as a service. The AppFabric service needs to be granted permission to send data through the firewall. This can be done in Windows Server 2008 by modifying the In and Outbound Rules. To modify the rules:

Create a UNC shared folder to place the caching details To create a UNC folder share: 1. Create a folder on your server. Choose a convenient location and name. 2. Right-click on the folder, and select Properties from Windows Explorer 3. Select the Sharing tab 4. Click Share 5. The File Sharing window displays. Add the user Network Service or a local user if you are not connected to a domain. If you are setting up a load-balanced environment, ensure each node has the same username/password. 6. Set the Permissions Level as Contributor (Read/Write on Windows Server 2008 R2) 7. Click Share, followed by Close Configure AppFabric using the AppFabric configuration wizard Because you are setting up Perception in a load-balanced environment, you should follow the Microsoft best practices for setting up AppFabric caching. These best practices include:  Using SQL Server as the cache configuration provider rather than XML (if you are using Oracle, you must use XML as the cache configuration provider)  Setting up lead hosts (see Lead Hosts and Cluster Management (Windows Server AppFabric Caching) for more information)  Using Windows Server 2008 failover clustering (see Failover Clustering & Network Load Balancing for more information) To create a load-balanced environment, complete the steps in the sections above on Server 1 (the first node in the load-balanced setup), and then repeat the following steps on each subsequent node: 1. Click Start | Windows Server AppFabric | Configure AppFabric 2. On the Before you begin page, click Next 3. On the Configure Hosting Services page, click Next (Perception does not use hosting services)

4. On the Configure Caching Services screen, enable the Set Caching Services configuration 5. Set a Caching Service account.

If your computer is part of a domain, you cannot change the Caching Service account from the default of "Network Service." If your computer is part of a domain, you should follow the following best practices from Microsoft to configure the credentials correctly to get around this limitation (see Shared Folder-Based Cluster Configuration (Windows Server AppFabric Caching) for more information):

"To simplify long-term administration of the cluster configuration folder, do not run the cache service under the credentials of a domain user account. By using the default installation settings, you can use the domain computer accounts of the cache servers instead and avoid password maintenance.

If you create a Windows security group to manage access to the cache configuration shared folder, you set up permissions on that folder only once. For example, if the Windows security group is named ClusterACacheServers, it indicates that the cache servers have permission to become part of the cache cluster named ClusterA.

After you create the ClusterACacheServers security group, grant the domain computer accounts of the applicable cache servers membership to this group (for example,"domain\computername$"). Then grant ClusterACacheServers read and write permissions in the sharing and security settings of the cluster configuration shared folder. When this is set up, for each new server that you add to the cache cluster, add only the domain computer account of the new server to the security group."

If your computer is part of a workgroup, you must change the Caching Service account from "Network Service" and use a local account. If you are using a local account, do not use an account with administrator privileges. The local account used for the Caching Service account only needs the right to generate security audits (granted explicitly by adding the account to the policy in the Local Security Policy dialog box) and the right to bypass traverse checking (granted through membership in the Everyone group). If you are in a load-balanced environment, all the servers should be setup with the same username/password. 6. From the Caching Service configuration provider drop-down box, select XML 7. In the File share text-box, enter the UNC address for the folder you used on Server 1 8. Select Join cluster 9. Click Next 10. Make sure you have defined the appropriate ports for AppFabric

11. Click Next, followed by Finish Repeat this process for each of the servers in the load-balanced environment.

Setup the cache To setup the required cache, we will use PowerShell. To do this using PowerShell: 1. On the Start Menu, click All Programs, Windows Server AppFabric, and then click Caching Administration Windows PowerShell

Please note you have to start PowerShell as an administrative user. If you are not already logged in as an administrator, right-click the PowerShell icon and select Run as administrator. 2. We will not be using the security system provided by AppFabric. Instead we will be using the Perception equivalent, so you will need to enter the following command: Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None

If you receive an error when running the Set-CacheClusterSecurity command, stop the cache

cluster and then try again by entering the following before trying step 2 again:

Stop-CacheCluster

3. Now create a new cache by entering the following command: New-Cache questionmark

Please note that the cache name is case sensitive and must be called questionmark. 3. Now you need to start the cache by entering the following command:

Start-CacheCluster

Starting the cache after a server reboot Every time you restart your Perception server, you will need to restart the cache on each computer. It is recommended that you do this through PowerShell by following the steps below: 1. Click Start | Windows Server AppFabric | Cache Administration PowerShell Console 2. Enter the following:

Start-CacheCluster If you are using SQL Server as your cache configuration provider, you can also change the Startup Type in Services for AppFabric to Automatic, although it can take ten to fifteen minutes for AppFabric to restart after a reboot through this method. If you are using XML as your cache configuration provider or the delayed start is not acceptable for your purposes, you can use a PowerShell script and a scheduled Windows task to start AppFabric automatically. See the Knowledge Base article How can I automatically start the Windows Server AppFabric Caching Service? for instructions on how to do this.

After you have completed the above steps, continue on to step 2f using the link below.

2f. Create an ODBC connection to the shared repository database

Now, you need to create an ODBC data source to link Perception to the shared repository database you created in step 1 so that the Shared Repository Service can correctly use it. The ODBC connection needs to be created on the each server on which you plan to install Perception. If you are using a 64-bit version of Windows (for example, Windows Server 2008 R2), you will need to use the 32-bit version of ODBC drivers. The sections below provide details about creating the ODBC connections for the following database systems:

SQL Server 2008 To create an ODBC data source: 1. Open the ODBC Data Source Administrator on the same server on which you plan to install Perception as an administrative user. To do so on a:  32-bit operating system, go to Control Panel, double-click Administrative Tools, and then double-click Data Sources (ODBC)  64-bit operating system, such as Windows Server 2008 R2, navigate to and launch the following ODBC driver: C:\Windows\SysWOW64\odbcad32.exe 2. Open the System DSN tab 3. Click Add... 4. Select the SQL Server driver for your SQL Server instance and click Finish 5. Enter a name for the new data source, and select the server you want to connect to (that is, the machine on which your database is installed, i.e., your database server) from the drop-down list. Make sure that you enter the actual server name and not "(local)" or "localhost." 6. Click Next 7. Ensure that With SQL Server authentication using a login ID and password entered by the user is selected

8. Enter the ID and password of the login you created for the Perception database (in step 1 [Creating the shared repository database on your database server]) and click Next 9. Enable the Change the default database to check-box and select your Perception database (i.e., Perception_REPO) from the drop-down list and click Next

10. Click Finish. Review the details of the new ODBC data source that will be created and click OK. You can click Test Data Source to check the connection. 11. Click OK to close the ODBC Data Source Administrator You can now begin to install Perception. Follow the link at the bottom of this page to continue to step 2g.

Oracle 11g

Once you have created your shared repository database (Perception_REPO), you will need to create a data source. This should be done on the each server on which you plan to install Perceptioin, not your database server. To do so: 1. Open the ODBC Data Source Administrator on the same server on which you plan to install Perception as an administrative user. To do so on a:  32-bit operating system, go to Control Panel, double-click Administrative Tools, and then double-click Data Sources (ODBC)  64-bit operating system, navigate to and launch the following ODBC driver: C:\Windows\SysWOW64\odbcad32.exe 2. Open the System DSN tab 3. Click Add... 4. Select the 32-bit Oracle driver that corresponds to your Oracle installation from the list and click OK

5. Enter a name and description for the new data source in the appropriate text-boxes 6. Specify in the TNS Service Name text-box the Net Service Name of the server you want to connect to (that is, the machine on which your database is installed, i.e., your database server). This is the Net Service Name you specified in step 1 (Creating the shared repository database on your database server). 7. Enter the name of the database user you have created in the User ID text-box. For example, Perception_REPO. 8. Click OK, and OK again to close the ODBC Data Source Administrator You can now begin to install Perception. Follow the link at the bottom of this page to continue to step 2g.

2g. Download and install Perception

After you have completed the previous seven steps, you can download and install Questionmark Perception. Perception needs to be installed on the server that you have installed all the prerequisites on. Click on the following sections to expand them and view instructions on downloading and installing Perception. Download Perception The Questionmark Perception installer can be obtained from the Questionmark website. To download the installer: 1. Navigate to www.questionmark.com 2. Select Tryout & Downloads | Product Downloads 3. Locate the Questionmark Perception v5.4 - Server section and click Download Software 4. If you are not already logged in, you will be asked to provide your Questionmark Communities username and password 5. The application will now start to download and you should receive an email with the password necessary to run the installer Once the installer has downloaded, you can run it as required to install Perception. Install Perception A single-server installation involves installing all the components of Perception on a single server and then attaching it to a database hosted on another server. The installer will guide you through the process of installing Perception. The installer requires you to enter a password before it will install Perception Server. This password should have been sent to you by email. Please contact Questionmark if you have not received this email.

Please note: By default, users do not have administrative user rights if you are logged on as a

user other than the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). If you do not have these privileges, Perception will not install correctly. Log in as the built-in administrator account, or explicitly invoke applications as the built- in administrator by using the Run as administrator command. You will need to make sure you are logged in as an administrator when completing the installation of Perception.

Once you have the necessary software in place and you know the details required, to install Perception: 1. Double-click the installer enter the required password 2. Click Next on the Welcome screen

3. Accept the End User License Agreement and click Next

4. Select the Typical install and click Next

5. Choose where you would like to install Perception and the application data, including repository files.

You can keep the default location, or click Browse to indicate an alternative path. Click Next to continue.

6. If this server is to be accessed externally, enter the URL for the web server by selecting User Defined and entering the domain name in the text-box. Alternatively, select This Computer if users will be using the computer name as the URL to access Perception.

If you are intending to access Perception using an IP address, you must select the User Defined

setting and enter the IP address in the text box. Failure to do so will cause certain functions in Perception to work incorrectly. For example:  File upload questions will not work correctly, preventing participants from uploading answers  Links to reports that a participant has access to will not work 7. Click Next 8. In the Installation Options screen, select if you would like:  To automatically create the necessary virtual directories and application pools  Enable the automatic Authoring Manager upgrade options

9. Click Next and click Install to begin the installation

A warning will be displayed indicating that PHP will need to be installed before the application will appear. Ensure you have completed the steps indicated in step 2c (Configure PHP), and click OK.

If you have not installed PHP yet, click OK and continue installing Perception. Once installed, carry out the steps indicated in step 2c (Configure PHP) before attempting to launch Perception. 10. Once the installation process has finished, check the Launch Questionmark Configuration Application option and click Finish to launch the configuration application in a browser window.

Continue to step 2h to begin configuring Perception, which begins with creating the Main and Results Warehouse (RW) databases.

2h. Create the Main and Results Warehouse (RW) databases

Now you need to create the Main and Results Warehouse (RW) databases using the configuration application. For information about the configuration application, click on the following section to expand it. The configuration application The configuration process is responsible for linking the various parts of the application to their related database. The configuration application is designed to make configuring Analytics, Enterprise Manager, and the databases easier. Please follow the appropriate steps as defined below. The configuration application contains the following workflow:

If you exit the configuration application before completing all of the steps in the workflow, or want to return to the configuration application for any reason, you can navigate to:

http://localhost/configuration

You need to be logged on to your database server locally in order to access the configuration

application.

If you return to the configuration application, you can:  Resume the configuration (if you haven't completed it)  Redo a previous section  Start the configuration again (starting the configuration again does not delete existing databases)

The configuration application can create the Main and Results Warehouse (RW) databases for you automatically, or you can create them manually. Please choose your preferred method below: Automatic (the databases are created for you, using the credentials you provide)

When creating the Perception databases, it is important to note that the databases must be

separate databases with unique names. The Configuration Application assumes the databases will be unique and that none will be used more than once (i.e., it assumes that the Perception_MAIN database will not also be used as the shared repository). Also, if you don't use the default names, please ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters.

To create the Main and Results Warehouse (RW) databases automatically, you will need to provide several details. The details required will depend on what database technology you are using, but will include:  Database base administrative user details, including password  The address of the database server To create your databases automatically: 1. Make sure the Automatic option box is selected 2. Select the database type you are installing Perception on from the Choose database type drop- down list

3. Refer to the relevant section depending on your database type:  SQL Server 2008 1. Enter the fully-qualified name for the database server you want to use in the format ., e.g., db2008.myorganization.local. You may also

use an IP address, or just the server name if the server is not part of a domain. Do not use (local) or localhost. If you have multiple instances on your database, remember to include the instance name where necessary: \

2. When administering this database server, you need to login to the relevant service. Select how you connect to the database server using the I connect using drop- down list. If you login using:

 Windows Authentication - You will need to enter the Windows username and password associated with the system administrator for the database server. If you are using a domain server, remember you should use the fully qualified \. For example, myorganization\dbsysadmin.  SQL Server Authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008, you will typically use the sa user. 3. Enter a username for the database user you would like the configuration application to make. This user will be used by the ODBC connection to allow the databases to communicate with Perception.

You can allow the configuration application to create a random password for this user, or you can specify your own by unchecking the Auto Generate checkbox. 4. You can now enter the names you would like to assign to the two databases created at this time (the Perception Main database and the Analytics Results Warehouse database).

Enter the desired names for the databases. 5. Click Create. Once the databases have been setup, you will see the following:

6. Click Continue to move to the next step You can now continue to step 2i using the link below.  Oracle 11g 1. Enter the fully-qualified name for the database server you want to use in the format ., e.g., orcl11g.myorganization.local.

2. Enter the System ID (as defined when Oracle was setup) 3. Define the Port used to communicate with Oracle (as defined when Oracle was setup) 4. Enter the Username and Password details of an Oracle user who has permissions to create Users, Tablespaces, and Roles

5. From the This user should connect as drop-down box, define the role the user (entered above) has on the Oracle system. This could be:  Default - A standard user assigned these permissions  SysDba - System Database Administrator  SysOper - System Operator Each of the above users require unique commends for connecting, so please make sure that the user you entered is defined appropriately. 6. Now you need to define the names of the User and corresponding Tablespaces for the Perception Main database and the Analytics Result Warehouse database that you would like the configuration application to make.

You can assign your own User and Tablespace name, and you can choose to auto- generate the password or create your own by checking/unchecking the Auto Generate checkbox. 7. Click Create. Once the databases have been setup, you will see the following:

8. Click Continue to move to the next step You can now continue to step 2i using the link below. Manual (you create the databases manually, and then provide the details to the configuration application) To manually create the Main and Results Warehouse (RW) databases, you will need to create your databases first. For instructions on doing so, please refer to the following section: A1. Create the databases manually After you have created your databases, refer to the relevant section depending on your database type:  SQL Server 2008 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select SQL Server from the Choose database type drop-down list

3. Enter the fully qualified name for the database server you want to use in the format ., e.g., db2008.myorganization.local. You may also use an IP address, or just the server name if the server is not part of a domain. Do not use (local) or localhost. If you have multiple instances on your database, remember to include the instance name where necessary: \ 4. Enter the Login and Password details for the user you created for the databases 5. Enter the Database name you assigned to the Perception shared repository database (Perception_MAIN) you created 6. Enter the Database name you assigned to the Result Warehouse database (Perception_RW) you created 7. Click Create Once the databases have been setup, you will see the following:

8. Click Continue You can now continue to step 2i using the link below.  Oracle 11g 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select Oracle from the Choose database type drop-down list 3. Enter the Database server name where you created the schemas 4. Enter the SID for the Oracle server and make sure the port number is correct for your database 5. Enter the User and Tablespace and Password details for the Perception_MAIN database you manually created 6. Enter the User and Tablespace and Password details for the Perception_RW database you manually created 7. Click Create Once the databases have been setup, you will see the following screen:

8. Click Continue You can now continue to step 2i using the link below.

2i. Create the temporary ETL (ETL_temp) database

Now you need to create the temporary ETL (ETL_Temp) database using the configuration application.

The ETL_Temp database needs to be created on your ETL server. The configuration application can create the ETL_Temp database for you automatically, or you can create it manually. Please choose your preferred method below: Automatic (the ETL_Temp database is created for you, using the credentials you provide) To create the ETL_Temp database automatically: 1. Select Automatic 2. Select the database type you are installing Perception on from the Choose database type drop- down list

3. Refer to the relevant section depending on your database type:  SQL Server 2008

1. Enter the database server name of your Perception server, which is where your ETL service is installed 2. Select how you connect to the database on your Perception server using the I connect using drop-down list. If you login using:  Windows authentication - You will need to enter the Windows username and password associated with the system administrator for the database server. If you are using a domain server, remember you should use the fully qualified \. For example, myorganization\dbsysadmin.  SQL Server authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008, you will typically use the sa user. 3. Enter a Database Name for the temporary ETL database. Ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters. 4. Set a password or use an auto-generated one 5. Click Create. Once complete, you should be presented with a screen similar to the following:

Now you can continue on to step 2j using the link below.  Oracle 11g 1. Enter the name of your Perception server (it must be entered in uppercase form in the Enter database server name: text-box), which is where the ETL service and the Oracle database intended for the ETL service is installed 2. Add the Oracle System ID (SID) for your Perception server (it must be entered in uppercase form) and ensure the Port used to connnect is correct 3. Enter a Username and Password for an Oracle user who has permission to create users, Tablespaces, and assign roles. For example, the username might be SYSTEM. 4. Determine how this user should connect to the Oracle instance in the This user should connect as drop-down list. For example, SysDba. 5. Enter a name for the User and Tablespace you want to create. For example, the user might be named Perception_ETL_Temp. 6. Set a password or use an auto-generated one 7. Click Create. Once complete, you should be presented with a screen similar to the following:

Please note that it is important to ensure that all tnsnames.ora files need to be aware of all

Oracle connections in order for database links to function. All tnsnames.ora files need to be identical and point to the same Oracle instances.

Now you can continue on to step 2j using the link below. Manual (you create the database manually, and then provide the details to the configuration application) To manually create the ETL_Temp database, you will need to create the database first. For instructions on doing so, please refer to the following section: A1. Create the databases manually After you have created the temporary ETL database, refer to the relevant section depending on your database type:  SQL Server 2008 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select SQL Server from the Choose database type drop-down list 3. Enter the address of your Perception server, which is where your ETL service in installed. Enter the fully-qualified name in the format ., e.g., db2008.myorganization.local. You may also use an IP address or just the server name if the server is not part of a domain. Do not use (local) or localhost. Remember to include the instance name where necessary: \ 4. Enter the name of the temporary ETL database you created before 5. Click Create. Once complete you should be presented with a screen similar to the following:

Now you can continue on to step 2j using the link below.  Oracle 11g

1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select Oracle from the Choose database type drop-down list 3. Enter the Database server name where you created the ETL_Temp schemas (note that this will be your Perception server in this single-server installation) 4. Enter the Sytem ID (SID) for the Oracle server and make sure the Port number used to connect is correct for your database 5. Enter the User and Tablespace and Password details for the ETL_Temp database you manually created 6. Click Create. Once complete, you should be presented with a screen similar to the following:

Please note that it is important to ensure that all tnsnames.ora files need to be aware of all

Oracle connections in order for database links to function. All tnsnames.ora files need to be identical and point to the same Oracle instances.

Now you can continue on to step 2j using the link below.

2j. Configure the environment

After you have created your Main, Results Warehouse, and temporary ETL databases, you need to configure the environment, i.e., tell the system how people will be accessing the servers. You need to provide details for the following:  Portal The portal is the user interface component designed to display the various components of Enterprise Manager. You will need to enter the URL linked to your Enterprise Manager server. You will need to enter the URL for your Perception server. The address you enter here will form part of the URL used to access Enterprise Manager.

For example: http:///portal/  Service layer This component is designed to facilitate the communication of all parts of the software. You will need to enter the URL for your Perception server. The service layer is generally kept behind the firewall, so you can use the machine name (including the fully-qualified name) or the IP address of the server where the service layer is installed.

For example: http://  Windows AppFabric Server(s) Windows App Fabric is the caching service used by Perception. There may be several servers as part of your Perception installation that have AppFabric installed on them. You can enter the address of the server(s) and the port used by it in the following format: :22233,:22233. The server address can be in the form of machine name (including the fully-qualified name) or the IP address. The servers listed are separated by a comma (,). ...where my_server is the domain name of the relevant server.

To configure the environment: 1. Add the relevant information for to the Enter the portal address and Enter the service layer address text-boxes 2. Once you have entered the relevant addresses, click Continue 3. You will be shown a screen similar to the following:

4. Click Continue Now you can continue on to step 2k using the link below.

2k. Create the shared repository

Now you will need to launch Shared Repository Manager and create a shared repository. Because you are installing a new copy of Perception, you will see a screen similar to the following:

If you are accessing the configuration application locally on the server, you can click Launch SRM to load the Shared Repository Manager. If you are not logged in locally, you will need to log in to your Perception server and launch the Shared Repository Manager from: Start | All Programs | Questionmark | Perception 5.4 Once the Shared Repository Manager is loaded, to create a new repository: 1. Click Add New Repository... in the Shared Repositories menu.

The Repository Creation Wizard is displayed. 2. Click Next > 3. Enter a name for your repository in the Repository name text-box 4. Select the type of database you are using from the Database type drop-down list 5. Select the language you would like your reports to appear in from the Language for standard reports drop-down and click Next >

6. Enter an Initial topic name and Initial assessment folder name and click Next >. The Initial topic name is the topic at the top of the topic hierarchy and is also called the root topic. The Initial assessment folder is the assessment folder at the top of the assessment folder hierarchy and is also called the root folder. 7. If you wish to enable security, ensure that the Check to enable security in the new repository box is ticked and click Next >. We recommend that you enable security. If you are setting up a new repository on your database, security is enabled by default and cannot be de- selected. 8. The following option will require you to fill in your database details  If you selected SQL Server or Oracle as your database type, you should see the following screen:

To continue: o Select the Database DSN (Database Source Name) of your database from the drop- down list. You must have already created a blank SQL Server or Oracle database and setup an ODBC connection to it, otherwise the DSN name will not appear in the list (refer to step 2f (Create an ODBC connection to your shared repository database) for instructions if you have not already done so). o Tick the Check to run database scripts checkbox, as this is required to create the Perception tables in your database o Tick the Check to enable question searching capability checkbox if you want authors to be able to use the Question Search feature in Authoring Manager. Ensure that OracleText has been installed if you are using an Oracle database or full-text indexing has been installed and configured for the database if you are using SQL Server. Please refer to the documentation that accompanied your database server for more information about how to install and configure the necessary options. o If you will be importing data from Perception version 3, tick Check to import from V3. Otherwise, leave the check box unchecked. If the data you will be importing from Perception version 3 contains Japanese data (characters) or similar data, place a check in the Convert V3 Japanese data on import checkbox.

If no DSN appears in the drop-down list, ensure you made an ODBC connection using the 32-bit

driver and not the 64-bit version. For further information, please refer to step 2f (Create an ODBC connection to your shared repository database).

9. Click Next > 10. You should now be presented with either of the following screens, depending on the database server you are using:

 SQL Server

You will need to enter the correct details for the SQL Server user you assigned to the database. To check you are logging into the correct database you created earlier, click Options >>.

Once the details have been entered, click OK.  Oracle

You will need to enter the correct details you assigned to the Oracle database to ensure that the ODBC connection can successfully be made (if this dialogue box does not automatically appear, you can access it by clicking the Change Login Details button).

Once the details have been entered, click OK. 11. Confirm the repository creation process by clicking Next >. The repository will be created.

12. Click Finish to close the Repository Creation Wizard. A warning screen will be displayed.

13. Click Yes to allow the shared repository to be accessed by authorized users of Enterprise Manager as well as participants

If you click No, the shared repository will not be set to be accessed by Perception Server and

Enterprise Manager and all participant-facing software will not work. You must click Yes.

The shared repository has now been created. The "Configure Perception Server" window will be displayed to allow you to configure the repository and Perception to work together. To configure the two: 1. Specify the Perception Server Application Folder. Either accept the default location, or, if you installed Perception in a different location, click Browse to specify it. 2. The Web Access box displays the default names for the Resources Web Share and Content Web Share. Either accept the default name, or enter your own.

The System Web Share is only applicable if you have installed Perception in a multi-tiered

environment. The default web share as created by the installation is MyRepository_sys. This web share allows QPLA to access the necessary files on the QABS machine in a multi-tiered environment.

3. If you will be using Questionmark to Go or QMWISe for 3rd-party applications to communicate with Perception, check the Configure this feature checkbox and update the QMWISe URL so that it points to the QMWISe web share on your Perception server. Click Test to set and test the QMWISe URL setting. 4. To configure QMWISe fully, you will also need to create a unique 8-digit Trusted Key that Perception can use to verify any communication between Perception and your 3rd-party applications. For further information about Trusted Keys and QMWISe, please refer to the QMWISe API Guide. 5. Set the Web Share you would like to use for Questionmark to Go

6. Click OK 7. A Configuration Server Notice will be displayed confirming that the configuration file has been successfully modified. Click OK to continue. 8. The repository has now been created and will appear in the Shared Repository Manager

9. Now that the repository has been created, you can continue with the process of configuring Perception by returning to your browser window and clicking Continue

10. You will be shown the following screen. In the Enter a Display Name text-box, enter a name that you would like to associate with your shared repository. It will be used by the various zones for communication.

11. Click Continue. You will be presented with a success screen and asked to continue. Now you can continue on to step 2l using the link below.

2l. Creating database links

You will now be asked to create the database links. A database link is required to allow tables and views from one database be used by another. The process of linking up the databases is different for Oracle and SQL Server. Database links can be configured automatically, Where the configuration application is provided with administrator details for each database server and it runs the necessary procedure, or manually, where you create the links manually on each database server and the configuration application confirms if they are setup correctly. Please click on the relevant section below to expand its instructions: SQL Server Automatically To automatically link the database servers: 1. Select Automatically from the Would you like to setup your database links: option. You will be shown an entry for each database server used in your installation. So you could have one entry, similar to below, or you could have several entries. For each entry the Databases on the Server section will identify which database(s) can be found on the server identified in the Database Server Name. 2. When creating the links to the server, you will need to login as an administrator. Select how you connect to the database server using the I connect using drop-down list. If you login using:

Windows authentication - You will need to enter the windows username and password associated with the system administrator for the database server. If you are using a domain server, remember that you should use the fully-qualified domain name: \. For example: myorganization\dbsysadmin

SQL Server authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008 you will typically use the sa user. 3. Repeat the above steps for each database entry and click Create Now you can continue on to step 14 using the link below to finish installing Perception. Manually

For instructions about setting up you database links manually, please refer to the following before completing the steps below: A2. Manually link the databases To manually link the database servers: 1. Select Manual from the Would you like to setup your database links: option 2. Click Verify to check the linking is successful Now you can continue on to step 14 using the link below to finish installing Perception. Oracle Automatically To automatically link the database servers: 1. Select Automatically from the Would you like to setup your database links option buttons 2. Enter your database administrator username and password 3. Click Create

Now you can continue on to step 14 using the link below to finish installing Perception. Manually For instructions about setting up you database links manually, please refer to the following before completing the steps below: A2. Manually link the databases To manually link the database servers: 1. Select Manually from the Would you like to setup your database links: option 2. Click Verify to check the linking is successful

Now you can continue on to step 2m using the link below to finish installing Perception.

2m. Migrating settings from your Perception server to your ETL server

After Perception has been installed and configured, you will need to copy the relevant configuration settings from your Perception server to your ETL server. This is partly automated. To do this: 1. Using Windows Explorer, navigate to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on your Perception server 2. Right-click on the export.bat file and click Run as administrator. Enter the usernames and passwords as required. The export.bat file will create a .cab file. 3. Copy the .cab file to a location accessible from your ETL server 4. Copy the .cab file you created in the previous step to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on your ETL server 5. Right-click the import.bat file and click Run as administrator. Enter the usernames and passwords as required. The keys will be imported to your ETL server. 6. Reset IIS

2m. Launch Enterprise Manager and start the ETL service

Once the database links have been successfully created, you will be shown a success screen and a button that you can click to enter Enterprise Manager for the first time. The URL for Enterprise Manager will follow the format below:

http:///portal// ...where is the name of the server or domain that you entered as the portal address in step 2j (Configure the environment). ...where is the name of the shared repository you created in step 2j (Create the shared repository).

Please note: It is important to ensure that the server on which Perception is installed is added to

Trusted sites in Internet Options for Internet Explorer, otherwise the Enterprise Manager Login button might not appear on the portal landing page, as Javascript is typically only enabled for trusted sites for Internet Explorer on Windows Server 2008.

To finish the installation process, you need to start and ensure that the ETL service is running. Click the section below to expand it.

Start the ETL service

Although unsupported by Questionmark, if you are using a non-English version of Windows Server

2008 (or R2), please refer to the ADV10. Using a non-English version of Windows Server 2008 for information on some settings that must be edited for the ETL service to function correctly.

Once you have finished installing and configuring the Perception, you need to ensure that the ETL service has started. To start the ETL service: 1. Log into the machine where the ETL service is installed as an administrative user (in this load- balanced installation, this is yourETL server) 2. Click Start 3. In the Search for programs and files text-box, enter services.msc and press Enter on your keyboard 4. Locate the Questionmark.ETL.Scheduler.Service service 5. Right-click on it and select Properties 6. Make sure the Startup type is set to Automatic 7. Under Service status, click Start and ensure the Service status entry changes to Started

8. Click OK to close the dialog window

With the ETL service now started, result data will be: A. Extracted from your shared repository database B. Transformed in the temporary ETL database into the proper format for Questionmark Analytics C. Loaded in to the Results Warehouse database so that Analytics can access it This process will happen every 3 hours, by default. If you want to change the frequency of the ETL service, please refer to the following Knowledge Base article for instructions:  How can I change the frequency of the ETL service? Congratulations, you have now installed and configured Perception! Optionally, you can also configure Perception to use SSL and restrict access to Perception, as well as register Perception. For information on further post-configuration, such as setting up Perception to run from behind a firewall or configuring the SMTP service, see the Advanced information and Appendix sections of this install guide, respectively. To continue configuring your load-balanced Perception environment, use the below link to continue to step 3 (Set up your file shares).

3. Set up your file shares

Make sure to use Windows-based file shares with Perception; Linux-based file shares are not

supported and will not function correctly.

Now you will need to create three separate files shares. These will be used to store the configuration files and repository files shared by all the installations of Perception. It is recommended that you create the following shares on a NAS:  \\nas\config\  \\nas\repository\  \\nas\license\ All the computers in your load-balanced environment will need access to the shares and have permissions to read and write to them.

You should ensure that you create a user with IUSR permissions on all the load-balanced

machines and the NAS. They should all have the same password to ensure access to the shared files and folders and they should be applied to each of the shared folders on the NAS. To create a user in Windows Server 2008: 1. Click Start | Administrative Tools | Computer Management 2. From the System Tools list, click Local Users and Groups | Users 3. Click New User... from the Action menu 4. Enter a username and password 5. Uncheck the User must change password at next logon box 6. Click Create 7. Now right-click on the new user you created and click Properties 8. Select the Member Of tab, and click Add 9. In the Enter the object names to select textbox enter IIS_IUSRS, and click OK 10. Click OK to finish creating the user Repeat these steps on all the load-balanced machines and the NAS computer ensuring you use the same username and password.

4. Configure the ServerSettings.config file

You will need to edit the ServerSettings.config file so that it points to the available file shares. To do this open the ServerSettings.config file in an ASCII text-editor like Notepad and make the following changes: 1. Set the repositoryPath to the repository share of your NAS. For example:

repositoryPath="\\nas\repository"

When you enter the repositoryPath, do not include the trailing back slash (\). The path should

be \\nas\repository NOT \\nas\repository\.

2. Enable the multipleServers setting:

multipleServers="true" 3. Locate the perceptionServer setting and change it to read:

perceptionServer="" 4. Add the repositoryServer setting to the section and point it to the load- balanced repository:

repositoryServer=""

...for example: repositoryServer="https://company.com" or repositoryServer="https://92.180.216.110"

(Make sure to include the appropriate protocol before the load balancer IP address.)

5. Update the web.config files

You will now need to update the relevant web.config files so that they reference the correct ServerSettings.config file. Ensure that the .config files point to the ServerSettings.config file you copied to the NAS earlier. The first .config file to change is the Enterprise Manager web.config file, which can be found in the following folder on each of the servers: C:\Program Files\Questionmark\Perception5\EM Open the web.config file in an ASCII text-editor, like Notepad. Locate and change the following entry: To:

This operation will need to be repeated for all the .config files on each of the servers. The other .config files that need to be changed can be found in the following folders:  C:\Program Files\Questionmark\Perception5\OpenAuthoring\web.config  C:\Program Files\Questionmark\Perception5\QABS\web.config  C:\Program Files\Questionmark\Perception5\QMWISe\web.config  C:\Program Files\Questionmark\Perception5\Shared Repository Service\SharedRepositoryManager.exe.config

6. Configure IIS 7

The application pools used by Perception need to be configured in IIS to use the same user to access the file shares. This will ensure that access is available to all the correct folders and files for all the servers. To change the application pools so that they use the same user, follow the steps below for instruction in Windows Server 2008: 1. Launch Internet Information Services 7 2. Select your server and click View Application Pools from the Actions menu on the right 3. Select the Questionmark.Perception5 application pool 4. Click on Advanced Settings... 5. In the Process Model section, click where the word Identity | NetworkService appears and click on the browse (...) button 6. Select the Custom account option button 7. Click Set 8. Enter the username and password for the user you created previously, and click OK 9. Click OK again to close the Advanced Settings window 10. Repeat steps 3 to 6 for the Questionmark.QABS and Questionmark.QPLA application pools

7. Configure the license

The license file containing permission for all the load-balanced servers needs to be set up and shared between all machines. Take the license file you received from Questionmark (a license file has the extension .qmlicense) and place this in a shared location. For example:

\\nas\license\ Once this has been done, you will need to setup Perception to look for your license. Continue to step 8 for information on how to do this.

8. Update the Enterprise Manager settings

With the repository and web shares set up, it is important to ensure that all the Perception servers are expecting to write to the same locations. This can be done by checking the Server Settings in Enterprise Manager on each of the machines. They should all have the same settings for:

Setting Example load-balanced value

File Upload folder \\nas\repository\\fileuploads

Supported languages file \\nas\repository\\system\languages.config

PIP folder \\nas\repository\\pip

Template folder \\nas\repository\\system\templates

File Upload folder (QPLA) \\nas\repository\\fileuploads

System folder Should point to a virtual directory associated to the system folder on the NAS. For example: http:///_sys

Participant email template \\nas\repository\\System\EmailTemplates\Participant.xml

Proctor email template \\nas\repository\\System\EmailTemplates\Proctor.xml

Server license path \\nas\license\

...where is the name of your shared repository.

Please note that if you create hidden shares, you will need to encase the share name in double

quotes when you are adding it to the Server Setting page. Hidden webshares can be created and identified through the use of the dollar ($) symbol at the end of the share name. For example: On the NAS, a hidden share called \\nas\repository$\ has been created to store my repository files. If you have hidden your repository webshare, accessing it through PHP will cause a 26300 error to be returned, as PHP often incorrectly handles the $ symbol. You will need to encapsulate the share name in the server settings or QPLA.ini file in double quotation marks. For example: \\nas\"repository$"\myrepository\fileuploads

9. Export server configuration to your 2nd/3rd/... Perception server

Once your first Perception server has been setup, you will need to copy the relevant configuration to your second and third Perception servers, and so on. This is partly automated. To do this: 1. Using Windows Explorer navigate to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) 2. Right-click on the export.bat file and click Run as administrator. Enter the usernames and passwords as required. The export.bat file will create a .cab file. 3. Copy the .cab file to a location accessible from Server 2 and any other machines in the load- balanced environment

10. Create a second (and third/fourth/...) Perception server

You now need to create and configure the next node(s) (i.e., servers) in your load-balanced environment. This means installing Perception on your second (and third/fourth/...) server, following steps 2 through step 2m of this load-balanced installation section (you won't need to recreate the databases, so you can skip steps 1, 2d, 2h, and 2i). Once you have finished installing the software do not continue on to the configuration application to create the Main, Results Warehouse, and ETL_Temp databases, or configure the database links. We will be importing the configuration used in the next step. You will also need to make sure when installing Perception that you:  Create the necessary ODBC connection on Server 2 (and 3/4/... as well)  Run the Shared Repository Manager and use the Configuring Perception window to create the necessary web shares

11. Copy across settings from Server 1 to other servers

You now need to export the settings from Server 1 to the other machine(s) in the environment. To do this: 1. Copy the .cab file you created previously to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on Server 2 2. Right-click the import.bat file and click Run as administrator. Enter the usernames and passwords as required. The keys will be imported on this server. 3. Reset IIS 4. Repeat the above steps on all the nodes (i.e., servers) in your load-balanced environment You will also need to configure IIS 7 on each extra Perception server you create. The application pools used by Perception need to be configured in IIS to use the same user to access the file shares. This will ensure that access is available to all the correct folders and files for all the servers. To change the application pools so that they use the same user, follow the steps below for instruction in Windows Server 2008: 1. Launch Internet Information Services 7 2. Select your server and click View Application Pools from the Actions menu on the right 3. Select the Questionmark.Perception5 application pool 4. Click on Advanced Settings... 5. In the Process Model section, click where the word Identity | NetworkService appears and click on the browse (...) button 6. Select the Custom account option button 7. Click Set 8. Enter the username and password for the user you created previously, and click OK 9. Click OK again to close the Advanced Settings window 10. Repeat steps 3 to 6 for the Questionmark.QABS and Questionmark.QPLA application pools For information on setting the stickiness for certain applications in your load-balanced environment, please continue to step 12.

12. Setting stickiness and affinity

Some web applications hold information in memory and always require you to return to the same web server in a cluster to keep the same session. These applications require "sticky" load balancing, where once a client starts talking to a particular application server in the cluster, it returns there. It is possible to use a characteristic called affinity to set load balancing to be sticky in this way. Only Enterprise Manager needs to be setup to be "sticky" in Perception 5.4. The section below describes common ways to set up stickiness and affinity on Windows Server 2008. If you are using a different operating system, please refer to your documentation on how to deal with "stickiness," "persistence," or "affinity." 1. Open the NLB Manager (click Start | Administrative Tools | Network Load Balancing Manager) 2. Connect to the cluster 3. Right-click the cluster, and then click Cluster Properties 4. Click the Port Rules tab, and then click Add  Cluster IP address, which is the virtual IP address that you want this rule to apply to. Enter a specific virtual IP address to create a virtual cluster, or check All to apply the rule to all virtual IP addresses.  Port range - 0 to 65535  Protocols - Both  Filtering mode. In some circumstances, particularly if your participants/administrators are using the internet rather than the intranet, you will want to use Class C instead of Single. Single affinity gives better performance but if your participants and administrators are likely to be routed via proxy servers or in other ways that are likely to find Class C-relevant, you should use this.  Affinity - Single  Load weight (as appropriate) 5. Click OK. This applies the changes and restarts the load-balancing service.

13. Testing your load-balanced environment

After you have created your Perception servers, your database server, and your ETL server, as well as configured your load-balanced environment, it's a good idea to test it to make sure that every server is working properly and that if one goes on, the Perception installation will still function. Questionmark recommends that the best way to test your load-balanced environment is to:  Disconnect all but one of the servers, and check that this works  Reconnect the next server and disconnect the 1st one, and check that this works  Repeat this process until all the nodes in your load-balanced environment have been tested If your Perception environment will be processing a large volume of results/delivering a large number of assessments, you may want to consult AVD9. Additional scalability recommendations for high-volume installations for scalability suggestions.

Creating a multi-tiered (custom) Perception environment

This page includes the following sections:  What does a multi-tiered (custom) installation mean?  The installation process (Get started!)  Further custom installation options

What does a multi-tiered (custom) installation mean?

It is important to note that the following order of steps is just one possible suggestion that you can follow to set up a multi-tiered (or custom) installation of Perception. Although this section includes a specific order of installation steps, it is possible to follow a different order as you set up your multi-tiered environment. Your configuration may differ depending on your needs and look different from the one outlined here, as there are a number of different multi-tiered configurations that can be set up.

A multi-tiered (custom) install of Perception involves installing its various components across several servers and then linking these components to a database, which is usually hosted on its own server. For example, Perception Application Server is installed on one server, Assessment Delivery Web Server is installed on another server, and the ETL Services Server is installed on a third server. This section covers how to setup a multi-tiered Perception environment, meaning that your environment will include the following:  Assessment Delivery Web Server server o Assessment Delivery Web Server will be installed on this server o The appropriate software prerequisites for the Assessment Delivery Web Server will be installed on this server  ETL Services Server server o The ETL service (the ETL Services Server) and the temporary ETL (ETL_Temp) database will be installed on this server o The appropriate software prerequisites for the ETL Services Server will be installed on this server  Perception Application Server server o Perception Application Server will be installed on this server o The appropriate software prerequisites for the Perception Application Server will be installed on this server  Database server o The database system (SQL Server or Oracle) you will be using will be installed on this server o The shared repository (Perception_REPO), Main (Perception_Main), and Results Warehouse (Perception_RW) databases will be installed on this server It is recommended that you install and configure the components of Perception for a multi-tiered environment in the following order:

1. Assessment Delivery Web Server 2. ETL Services Server 3. Perception Application Server

During installation in a multi-tiered environment, you will need to know certain information about

the other servers you are installing on. You will need to determine the following information before installing Perception:  Perception server root - The URL used to access the system  QPLA location - The server where Assessment Delivery Web Server is installed  Perception Application Server IP address - The IP address where Perception is installed so that it can communicate with Assessment Delivery Web Server

The installation process (Get started!)

The installation process for a load-balanced Perception environment is as follows: 1. Create the shared repository database on your database server 2. Install a server OS on your Assessment Delivery Web Server (QPLA) server 3. Install the prerequisites on your Assessment Delivery Web Server (QPLA) server 4. Configure PHP on your Assessment Delivery Web Server (QPLA) server 5. Install Assessment Delivery Web Server 6. Install an OS on your ETL Services Server server 7. Install the prerequisites on your ETL Services Server server 8. Install a database system to handle the ETL_Temp database 9. Install the ETL Services Server 10. Install an OS on your Perception Application Server server 11. Install the prerequisites on your Perception Application Server server 12. Configure AppFabric 13. Create an ODBC connection to your shared repository database 14. Install Perception Application Server 15. Create the Main and Results Warehouse (RW) databases 16. Create the temporary ETL (ETL_Temp) database 17. Configure the environment 18. Create the shared repository 19. Create the database links 20. Migrating settings from the Perception Application Server to the ETL Services Server 21. Launch Enterprise Manager and start the ETL service Other installation steps for a multi-tiered installation include: Setting up File Upload questions in a multi-tiered installation Setting up firewall rules for a multi-tiered installation

Further custom installation options

If you intend on installing Perception in a configuration different from the one recommended above, click Other in the Custom Setup window. The following warning message will appear:

Warning: The instructions for installing Perception in configurations that are different from the

multi-tiered installation documented above are beyond the scope of this installation guide. Installing individual components of Perception will require additional manual configuration, and it is recommended that the Other option is only used when directed to by a Questionmark representative.

Click Next in this window to take you to the Custom Setup window.

The Custom Setup window gives you the opportunity to install the following Perception components: . Enterprise Manager  EM Business Services o Analytics Zone Services - Internal services that allow Enterprise Manager, Analytics, and the ETL to communicate o People Zone Services - Internal services for authentication and authorization within Perception  Open ID Provider  EM Presentation Layer o Reporting Presentation Layer o Questionmark Portal o Open Authoring o Enterprise Manager & Scoring Tool  Shared Repository Manager & Service . Application Programming Interface  QMWISe - The programmable interface for Perception, needed if you plan to use Questionmark to Go or Printing and Scanning . ETL Service - This service extracts data from your shared repository and loads it into the ETL_Temp database before it is moved to the Result Warehouse . Delivery Zone  Questionmark Presentation Layer for Assessments - QPLA is responsible for producing the user interface and assessment interface the participant sees when they take an assessment

 Questionmark Assessment Business Service - QABS is responsible for retrieving and sending assessment data from the shared repository to QPLA and back

If you want to install Perception in a full multi-tiered configuration different from the one documented in the above section, please speak to your Questionmark representative about our assisted install service.

1. Create the shared repository database on your database server

As you are installing a new instance of Perception, you now need to create a database for your shared repository. The shared repository database needs to be created on your database server.

The full version of SQL Server 2008 (or 2008 R2) or Oracle 11g must be used for the shared

repository, Perception_MAIN, and Perception_RW databases.

Select the database system that you are using on your database server and follow the instructions:

SQL Server 2008

Before you create the shared repository database In SQL Server, there are two database collations you need to set: the SQL Server collation and the Database collation. For English and non-English characters to appear correctly when using SQL Server, your collations should be set as:  SQL Server collation must be configured to use the collation SQL_Latin1_General_Cp1_CI_AS. The collation utilizes the 1252 (ANSI - Latin 1) codepage. The collation SQL_Latin1_General_Cp1_CI_AS is the case-insensitive version. You should take care not to use the case-sensitive version of the collation, which can be identified with the initials CS appearing in the collation title, while the case-insensitive version can be identified by the initials CI.

This must be applied to the instance of SQL Server when installing SQL Server. Please be aware that, when installing SQL Server 2008, it will automatically attempt to get the most appropriate collation depending on what the server locale has been set as. In most cases, this will need to be manually changed to use the SQL_Latin1_General_Cp1_CI_AS collation.  Database collation must be set as SQL_Latin1_General_Cp1_CI_AS to ensure that all data written in Perception is stored and displayed correctly. It will be set to this collation by Perception when it is created.

Please note that the collation used should be SQL_Latin1_General_Cp1_CI_AS, not

Latin1_General_CI_AS.

Users wishing to set up an English language version of Perception on a non-English operating system and database should ensure that the correct language packs are installed for both the database and the operating system. Additionally, the language pack 1252 (ANSI - Latin 1) must be installed for both servers and the SQL Server collation and database collation set to

SQL_Latin1_General_Cp1_CI_AS. The question searching facility in Authoring Manager requires the full-text indexing component of SQL Server to be installed and configured and will not work without it. Once full-text indexing is installed, it will need to be enabled for the database before the repository is created.

Create a database and user for the shared repository To create a SQL Server 2008 database for use with Perception: 1. Open SQL Server Management Studio 2. Right-click the Database folder on the attached database server and select New database 3. Enter the database name. For example, Perception_REPO. 4. From the Options page set the collation to SQL_Latin1_General_CP1_CI_AS and click OK Once you have created your database, you need to set up a new login. To do so: 1. Still in SQL Server Management Studio 2. Expand the server folder for the server on which you have created your database in the navigation pane 3. Expand the Security sub-folder 4. Right-click Logins and select New login... 5. Enter a name for the new login. For example, Perception_REPO. 6. Select SQL Server Authentication and enter a password 7. Uncheck the Enforce password expiration and User must change password at next login checkboxes 8. In the Default database list, select the database you created above. For example, Perception_REPO. 9. Open the User Mapping page and tick the database you created 10. Enable the db_owner and public permission checkboxes 11. Navigate to the Server Roles page 12. Enable the bulkadmin and public server role checkboxes

13. Click OK

Switch on full-text indexing for the shared repository database If you intend to use question searching in Authoring Manager, you will need to ensure that full-text indexing is enabled for the shared repository database. To enable full-text indexing in SQL Server Management Studio: 1. Right-click on the shared repository database (Perception_REPO), and select Properties 2. Click Files from the Select a page menu 3. Enable the Use Full-text indexing checkbox 4. Click OK

If the checkbox is already ticked and grayed out, this is because full-text indexing has been

enabled for the whole server, meaning all the databases have full-text indexing enabled by default.

Now that you have created a user and database for the shared repository, you will need to create an ODBC connection to it on your Perception server. For information about how to do this, please continue to step 2 using the link below.

Oracle

Before you create the shared repository database There are a number of factors that need to be taken in to account if using Oracle as your database server for Perception. These include:  For non-English characters (Latin characters and other Western European characters) to appear properly when using Oracle, your Oracle installation must be configured to utilize

the AL32UTF8 character set  For 2-bit characters (such as Japanese or Chinese), you must utilize the WE8MSWIN125 database character set  If using the WE8MSWIN1252 database character set on a non-English operating system the National Character Set (NLS) must be set to English (either US or UK) No other character sets can be reliably supported at this time. You can either change your database to use the appropriate character set (providing that other applications using Oracle can work with this), or else set up a separate Oracle installation with the appropriate character set for Perception to use. To use the Scoring Tool component of Perception with Oracle, ODP.NET (Oracle Data Provider) 9.2 or higher must be installed on the server on which you plan on running Perception on. ODP.NET can be obtained from the Oracle website: www.oracle.com The question searching facility in Authoring Manager requires Oracle Text to be installed and configured, and it will not work without it. Oracle Text is not installed by default in some versions and may need to be installed.

Please note:

 If you haven't already setup a destination file for your Oracle databases, please refer to the upcoming Set the Oracle database file destination section of this page.

Set the Oracle database file destination Before creating any Oracle Tablespaces, it is recommended that you ensure the database file destination path is set for your Oracle instance, especially if you are working with a new installation of Oracle.. This will need to be done on your database server used in your Perception installation before creating any Tablespaces.

If you have previously set the destination paths for your databases previously, please skip the

following section and continue with the install process as highlighted. For complete details about how you might setup the destination path, please refer to your Oracle documentation. For example: Creating Oracle-Managed Files in the Oracle Database Administrator's Guide

To do this, you will need to run a SQL command via the SQLPLUS command prompt. To enter the SQLPLUS command line interface, enter the following at a command line prompt: sqlplus system/@/

...where: is the password associated with the SYSTEM user is the server name for your Oracle installation (i.e., your database server) is the System ID for your Oracle server set during installation Once logged in, run the following command:

ALTER SYSTEM SET DB_CREATE_FILE_DEST=''

...where is the location that you would like the database (dbf) files to be located. For example, if your Oracle environment is on a:  Linux/Unix environment, the may be something like: /u01/app/oracle/oradata  Windows environment, the may be something like: C:\app\\\oradata\

...especially if you are working with a new installation of Oracle.

Create a Tablespace and User

For Oracle, you will need to create a Schema for use by the shared repository. This involves creating a Tablespace and User. The following section provides details about doing this. After ensuring that the database file destination path is set for your Oracle instance, to create a Tablespace for your database: 1. Open Enterprise Manager Console on your database server 2. Login to the database server you will be creating the new database on 3. Open the Server tab 4. Under Storage, click Tablespaces 5. Click Create 6. Enter a name for the new Tablespace. For example, Perception_REPO. 7. Under Datafiles, click Add

8. Enter the following information:  Enter a File Name for the datafile  Enter the location of an available File Directory (this file location must exist before this section will complete accurately)  Set the File Size to a larger number than the default 100MB for high-use systems

 Tick Automatically extend datafile when full (AUTOEXTEND) and specify a suitably high value in the Increment box 9. Click Continue to return to the Create Tablespace page, and then click OK to create the Tablespace. The new table will appear in the list of Tablespaces. To create a database user: 1. Open the Enterprise Manager Console 2. Login to the database server you will be creating the new database on 3. Open the Server tab 4. Under Security, click Users 5. Click Create

6. Enter the following information:  Enter a database user name and password  In the Default Tablespace box, enter the name of the Tablespace you created above  In the Temporary Tablespace box, enter the name of a temporary Tablespace. By default, this is TEMP.

7. Open the Roles tab, and click Edit List

8. Assign the user the following roles:  CONNECT  CTXAPP (only avaiable if OracleText is available)  RESOURCE 9. Click OK 10. Open the System Privileges tab, and click Edit List

11. Select the following System Privileges, and click OK:  CREATE SESSION  CREATE TABLE  CREATE PROCEDURE  CEATE SEQUENCE  CREATE SYNONYM  CREATE TRIGGER  CREATE VIEW

12. Click OK to create the user Next, you will need to configure the Local Service Name and then create an ODBC data source.

Setting up a Local Service Name

A Local Service Name is a way of defining a connection to a Tablespace. To configure the Local Service Name, you will need the Oracle client installed on the same server on which you intend to install Perception (NOT your database server). To configure the Local Service Name: 1. Open Oracle Net Manager on the same server on which you intend to install Perception (NOT your database server) 2. Select the Service Naming folder in Oracle Net Configuration | Local

3. Click the Create (+) button. The Net Service Name Wizard screen is displayed. 4. Enter a Net Service Name. For example, Perception_REPO (make a note of this name, as you will need to use it when you create an ODBC data source). 5. Click Next

6. Select TCP/IP (Internet Protocol) and click Next 7. Enter the Host Name and click Next. This is the name of the server that the Oracle database is installed on (i.e., your database server). If you are not using the default Port Number, you can enter the port you are using as well.

8. Enter the Service Name of the Oracle instance and click Next 9. Click Test to verify the connection 10. Click Finish. Save the changes when you close Oracle Net Manager. Now that you have created a user, Tablespace, and setup the Local Service Name for the repository, you will need to create an ODBC connection to it on your Perception server. For information about how to do this, please continue to step 2 using the link below.

Continue to step 2 >

2. Install an OS on your Assessment Delivery Web Server (QPLA) server

Before you begin to install and configure parts of Questionmark Perception, you need to install an operating system on each server on which you plan to install Perception components. A compatible operating system needs to be installed on your Assessment Delivery Web Server (QPLA) server. Questionmark Perception is compatible with the following operating systems:  Microsoft Windows Server 2008 (x86 and x64)  Microsoft Windows Server 2008 R2 (x64)

Recommended hardware

The recommended hardware specifications for Perception 5.4 depend on the environment in which you intend to install it. For details about recommended hardware specifications, please refer to the Questionmark Perception Scalability Guide. The minimum hardware specifications for the server on which you plan on installing Perception are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  4GB RAM  SAS or SATA 7200RPM HDD or greater  Approximately 3GB of storage space Older processors will run Perception, but please note the performance of Perception is directly related to processor speed. Additional storage space will be required to store logs, resources, and database files that are created or required by Perception.

< Back to step 1 Continue to step 3 >

3. Install the prerequisites on your Assessment Delivery Web Server (QPLA) server

The following applications need to be installed on your Assessment Delivery Web Server (QPLA) server. These programs must be installed and configured before you install the Assessment Delivery Web Server (QPLA). Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually. Programs marked (manual) must be downloaded and installed manually and cannot be downloaded via the Web Platform Installer.

Required applications  .NET 2.0 SP2 In Windows Server 2008, the .NET 2.0 Framework is installed by default. No further action is required.  PHP 5.3 and PHP Manager for IIS You can download PHP 5.3 from: PHP 5.3.16 You can download PHP Manager for IIS from: PHP Manager for IIS If you download the prerequisites with the Web Platform Installer, PHP Manager will be installed automatically and no further configuration is necessary. Once you have installed PHP and PHP Manager, you will need to make sure that PHP is configured appropriately for Perception. This will be discussed later in this guide in step 4 (Configure PHP).  Internet Information Services (IIS) 7 or 7.5 (manual) Windows Server 2008 and R2 use IIS 7 and 7.5 respectively. The process of installing them is very similar. You will need to ensure that you have administrative user rights on the server on which you plan to install IIS. To install IIS: 1. Click Start | All Programs | Administrative Tools | Server Manager 2. In the Server Manager window, scroll down to Roles Summary, and then click Add Roles. The Add Roles Wizard will start with a Before You Begin page. The wizard asks for verification of the following:  The administrator account has a strong password  The network settings, such as IP addresses, are configured  The latest security updates from Windows Update are installed 3. Select Web Server (IIS) on the Select Server Roles page. An introductory page will open with links for further information.

4. Select the IIS services to be installed on the Select Role Services page. Add the following modules, and click Next:  Static Content  Default Document  ASP  ASP.NET  .NET Extensibility  CGI  ISAPI Extensions  ISAPI Filters  Windows Authentication  IP and Domain Restrictions  IIS Management Console  IIS Management Scripts and Tools  IIS 6 Management Components (or the whole IIS 6 Management Compatibility subtree) If you are using the 32-bit version of Windows Server 2008, you should also include the following:  HTTP Redirection  Request Filtering 5. Click Add Required Role Services 6. Wait for IIS to complete installing, and click Finish 7. Locate the Features Summary, and click Add Features 8. Enable the following Features:  .NET Framework 3.0 (inside the .NET Framework 3.0 Features category)  HTTP Activation (inside the WCF Activation category) 9. Click Next, followed by Install 10. Once the features have been installed, click Close and exit Server Manager Once IIS is enabled, make sure the ASP.NET State Service is running. To do this: 1. Click Start | Administration Tools | Services 2. Locate and right click on the ASP State Service entry 3. Click Properties 4. Make sure the Startup type is set to Automatic 5. Click Start to start the service now 6. Click OK and exit out of the Services window

Running 32-bit applications in 64-bit IIS If you are planning to run 32-bit applications (i.e., Perception) in a 64-bit version of IIS (on a 64- bit version of Windows Server 2008), you will need to ensure that the correct settings are enabled. The settings are enabled by running specific commands and parameters from the command line. You will need to launch the command line prompt as an administrative user (you can do this by logging in as an administrative user or by right-clicking on the command prompt icon and clicking Run as administrator).

To enable 32-bit applications to run in 64-bit IIS, enter the following command at the prompt: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 To enable the 32-bit version of the .NET 2.0 Framework for use with Perception, you will need to run the following command:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...or, if that is unavailable, try:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i

Install these prerequisites using the Web Platform Installer [view URL6]

< Back to step 2 Continue to step 4 >

6 http://www.microsoft.com/web/gallery/install.aspx? appsxml=&appid=NETFramework20SP2;PHP53;PHPManager

4. Configure PHP on your Assessment Delivery Web Server (QPLA) server

Once you have installed the software prerequisites that the Assessment Delivery Web Server (QPLA) requires, you will need to configure PHP 5.3 (or higher) so that it works with Perception and at peak performance. You will need to:

Enable the relevant PHP extensions

In some instances, if FastCGI has not been enabled, you will not be able to enable or disable

extensions. For instructions on how to enable FastCGI, please refer to the following: Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7

1. Launch Internet Information Services (IIS) Manager (not Internet Information Services (IIS) 6.0 Manager) 2. Select your server from the Connections list on the left 3. In the Features View pane, locate and double-click PHP Manager 4. Under PHP Extensions, click Enable or disable an extension 5. Ensure that the following extensions are enabled:  CURL (php_curl.dll)  SOAP (php_soap.dll)  XSL (php_xsl.dll)  OpenSSL, if planning to run Perception using SSL via HTTPS (php_openssl.dll) 6. To enable an extension: a. Select it from the disabled list

b. Click Enable from the Actions pane

Configure the FastCGI instances

If FastCGI has not been enabled on your server, please refer to the following for instructions on

how to enable it: Enable FastCGI Support in IIS 7 on Windows Server 2008, Windows Server 2008 R2, Windows Vista, or Windows 7

Now, you will need to carry out some configuration changes to ensure that PHP is tuned for use with Perception. To do this: 1. Launch IIS Manager 2. Select your server from the Connections list on the left 3. In the Features View pane, locate and double-click FastCGI Settings 4. Select the PHP entry, and click Edit... from the Actions pane

5. Ensure that the Instance MaxRequests setting is set to 10000 6. The Max Instances setting needs to be set to 10 times the number of processors you have on the server. For example, if your server has 2 processors, the Max Instances would be 20. If you server has 4 processors, the Max Instances should be 40.

7. Click OK PHP has now been configured and is ready to use.

After you have enabled the relevant extensions and configured the FastCGI instances, continue on to step 5 using the link below.

< Back to step 3 Continue to step 5 >

5. Install Assessment Delivery Web Server

After you've installed the prerequisites for the Assessment Delivery Web Server component, you will need to download the installer to your Assessment Delivery Web Server (QPLA) server and follow the steps below. Assessment Delivery Web Server will be installed on your Assessment Delivery Web Server (QPLA) server.

Please note: By default, users do not have administrative user rights if you are logged on as a

user other than the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). If you do not have these privileges, Perception will not install correctly. Log in as the built-in administrator account, or explicitly invoke applications as the built- in administrator by using the Run as administrator command. You will need to make sure you are logged in as an administrator when completing the installation of Perception.

To install Assessment Delivery Web Server (QPLA): 1. Launch the installer as an administrative user (see above for details), entering the password when prompted 2. Select Custom from the Setup Type window.

3. Click Next

4. Select the Assessment Delivery Web Server option

5. Click Next 6. Choose where you would like to install Perception and the application data, including repository files (please note that the Repository files folder will not actually be created on this server, as it is only needed on the Business Logic tier)

You can keep the default locations or click Browse to indicate an alternative path. 7. Click Next 8. Enter the QABS Server IP Address of the server on which you plan to install Perception Application Server

9. Click Next 10. Click Install

< Back to step 4 Continue to step 6 >

6. Install an OS on your ETL Services Server server

Before you begin to install ETL Services Server, you need to install an operating system that is compatible with Perception. A compatible operating system needs to be installed on your ETL Services Server server. Questionmark Perception is compatible with the following operating systems:  Microsoft Windows Server 2008 (x86 and x64)  Microsoft Windows Server 2008 R2 (x64)

Recommended hardware

The recommended hardware specifications for Perception 5.4 depend on the environment in which you intend to install it. For details about recommended hardware specifications, please refer to the Questionmark Perception Scalability Guide. The minimum hardware specifications for the server on which you plan on installing Perception are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  4GB RAM  SAS or SATA 7200RPM HDD or greater  Approximately 3GB of storage space Older processors will run Perception, but please note the performance of Perception is directly related to processor speed. Additional storage space will be required to store logs, resources, and database files that are created or required by Perception.

< Back to step 5 Continue to step 7 >

7. Install the prerequisites on your ETL Services Server server

The following applications need to be installed on your ETL Services Server server. These programs must be installed and configured before you install the ETL Services Server. Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually. Programs marked (manual) must be downloaded and installed manually and cannot be downloaded via the Web Platform Installer. Details for configuring SQL Server can be found on the following page, step 8 (Install a database system to handle the ETL_Temp database).

Required applications

 Microsoft .NET Framework 4.0 You can download .NET 4.0 from: Microsoft .NET Framework 4.0 Once downloaded, double-click on the installer and follow the instructions to install .NET 4.  Internet Information Services (IIS) 7 or 7.5 (manual) Windows Server 2008 and R2 use IIS 7 and 7.5 respectively. The process of installing them is very similar. You will need to ensure that you have administrative user rights on the server on which you plan to install IIS. To install IIS: 1. Click Start | All Programs | Administrative Tools | Server Manager 2. In the Server Manager window, scroll down to Roles Summary, and then click Add Roles. The Add Roles Wizard will start with a Before You Begin page. The wizard asks for verification of the following:  The administrator account has a strong password  The network settings, such as IP addresses, are configured  The latest security updates from Windows Update are installed 3. Select Web Server (IIS) on the Select Server Roles page. An introductory page will open with links for further information. 4. Select the IIS services to be installed on the Select Role Services page. Add the following modules, and click Next:  Static Content  Default Document  ASP  ASP.NET

 .NET Extensibility  CGI  ISAPI Extensions  ISAPI Filters  Windows Authentication  IP and Domain Restrictions  IIS Management Console  IIS Management Scripts and Tools  IIS 6 Management Components (or the whole IIS 6 Management Compatibility subtree) If you are using the 32-bit version of Windows Server 2008, you should also include the following:  HTTP Redirection  Request Filtering 5. Click Add Required Role Services 6. Wait for IIS to complete installing, and click Finish 7. Locate the Features Summary, and click Add Features 8. Enable the following Features:  .NET Framework 3.0 (inside the .NET Framework 3.0 Features category)  HTTP Activation (inside the WCF Activation category) 9. Click Next, followed by Install 10. Once the features have been installed, click Close and exit Server Manager Once IIS is enabled, make sure the ASP.NET State Service is running. To do this: 1. Click Start | Administration Tools | Services 2. Locate and right click on the ASP State Service entry 3. Click Properties 4. Make sure the Startup type is set to Automatic 5. Click Start to start the service now 6. Click OK and exit out of the Services window

Running 32-bit applications in 64-bit IIS If you are planning to run 32-bit applications (i.e., Perception) in a 64-bit version of IIS (on a 64- bit version of Windows Server 2008), you will need to ensure that the correct settings are enabled. The settings are enabled by running specific commands and parameters from the command line. You will need to launch the command line prompt as an administrative user (you can do this by logging in as an administrative user or by right-clicking on the command prompt icon and clicking Run as administrator). To enable 32-bit applications to run in 64-bit IIS, enter the following command at the prompt: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 To enable the 32-bit version of the .NET 2.0 Framework for use with Perception, you will need to run the following command:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...or, if that is unavailable, try:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i  SQL Server 2008 or Oracle 11g (manual)

Install the prerequisites [view URL7]

< Back to step 6 Continue to step 8 >

7 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2

8. Install a database system to handle the ETL_Temp database

A database system for the ETL_Temp database needs to be installed on your ETL Services Server server. A database system is needed to hold result data while it is being readied for the Results Warehouse. Because your Extract, Transform, and Load service is on a different server from the database, it becomes more efficient to ETL the data to a local database and then move it to the destination database in the correct format. This is illustrated in the diagram below:

For instructions on how to install either SQL Server 2008 (or 2008 R2) or Oracle 11g, please refer to the accompanying documentation of each database system. Once you have installed the database system you will be using for the ETL service, see the appropriate section below to configure your database system for use with Perception.

SQL Server 2008

Enable TCP/IP

The following network options that are disabled by default will need to be enabled. 1. From the Start menu, navigate to Programs | Microsoft SQL Server 2008 | Configuration Tools | SQL Server Configuration Manager 2. Expand SQL Server Network Configuration, and select Protocols 3. Enable TCP/IP and Named Pipes 4. Close the SQL Server Configuration Manager

Start SQL Browser

1. From the Start menu, navigate to Programs | Microsoft SQL Server 2008 | Configuration Tools | SQL Server Configuration Manager

2. Click SQL Server Services in the left-hand pane, or double-click SQL Server Services in the right-hand pane 3. Start SQL Server Browser

Add Firewall exceptions

If you have a software firewall installed on your server, you will need to add exceptions for the SQL Server and SQL Browser services. If you are using Windows Firewall, do the following: 1. From the Start menu, navigate to Control Panel | Windows Firewall 2. Click Allow a program through Windows Firewall 3. Go to the Exceptions tab 4. Click Add Program 5. Browse to and select C:\Program Files\Microsoft SQL Server\MSSQL10.\MSSQL\Binn\sqlserver.exe or C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.\MSSQL\Binn\sqlservr.exe if you installed the 32-bit version of SQL Server 2008 on a 64-bit operating system (the folder locations may be slightly different for your installation) 6. Click OK 7. Click Add Program 8. Browse to and select C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe or C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe 9. Click OK and then click OK again If you are using a third-party software firewall, you will need to follow their instructions to add exceptions for sqlservr.exe and sqlbrowser.exe. After you have installed SQL Server, continue to step 9 using the link below.

Oracle 11g

The 32-bit Oracle client must be installed for use with the ETL service and temporary ETL database, even if you are using a 64-bit version of Windows Server 2008. The 64-bit Oracle client will not work with the ETL service and temporary ETL database.

The 32-bit version of Oracle 11 or 11g R2 can be downloaded from the following location: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html Follow the relevant Oracle instructions to install Oracle 11g R2. After you have installed Oracle, continue to step 9 using the link below.

< Back to step 7 Continue to step 9 >

9. Install ETL Services Server

Once you have installed the prerequisites (including a database system) on your ETL Services Server server, you can install the ETL Services Server component of Perception on that server. Copy the installer to that server and follow the steps below.

ETL Services Server will be installed on your ETL Services Server server.

By default, users do not have administrative user rights if you are logged on as a user other than

the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). If you do not have these privileges, Perception will not install correctly. Log in as the built-in administrator account, or explicitly invoke applications as the built-in administrator by using the Run as administrator command. You will need to make sure you are logged in as an administrator when completing the installation of Perception.

To install the ETL Services Server: 1. Launch the installer as an administrative user (see above for details), entering the password when prompted 2. Select Custom from the Setup Type window 3. Click Next 4. Select the ETL Services Server option

5. Click Next

6. Choose where you would like to install Perception and the application data, including repository files (please note that the Repository files folder will not actually be created on this server, as it is only needed on the Business Logic tier)

You can keep the default locations or click Browse to indicate an alternative path. 7. Click Next 8. Click Install

If you are using Oracle as your database system and plan on installing the ETL service on a

different server from the temporary ETL database, there are a few things you must do to ensure that the ETL service and the ETL temporary database can communicate with each other as well as the rest of Perception. To split up the ETL service and the ETL temporary database on different servers (Oracle only): 1. Install the ETL service on the server you desire as usual, following the instructions above. 2. The server which you install the ETL service on must have SQL*Loader (sqlldr.exe) installed. To install SQL*Loader to this server, use the Oracle Universal Installer and install Oracle Database Utilities through the custom installation option. 3. Ensure that all the tnsnames.ora files are identical among hosts and point to the same Oracle instances, as well as are aware of all Oracle connections in order for database links to function 4. Continue with your multi-tiered installation and configuration of Perception be following the link below.

< Back to step 8 Continue to step 10 >

10. Install an OS on your Perception Application Server server

Before you begin to install Perception Application Server, you need to install an operating system that is compatible with Perception. A compatible operating system needs to be installed on your Perception Application Server server. Questionmark Perception is compatible with the following operating systems:  Microsoft Windows Server 2008 (x86 and x64)  Microsoft Windows Server 2008 R2 (x64)

Recommended hardware

The recommended hardware specifications for Perception 5.4 depend on the environment in which you intend to install it. For details about recommended hardware specifications, please refer to the Questionmark Perception Scalability Guide. The minimum hardware specifications for the server on which you plan on installing Perception are:  An x86- or x64-compatible (not ia64) quad-core CPU, preferably of the i7 or Xeon (E3, E7, or Sequence) processor family  4GB RAM  SAS or SATA 7200RPM HDD or greater  Approximately 3GB of storage space Older processors will run Perception, but please note the performance of Perception is directly related to processor speed. Additional storage space will be required to store logs, resources, and database files that are created or required by Perception.

< Back to step 9 Continue to step 11 >

11. Install the prerequisites on your Perception Application Server server

The following applications need to be installed on your Perception Application Server server. These programs must be installed and configured before you install Perception Application Server. Click on the individual program to see instructions and notes on its installation and configuration. Alternatively, you can use the Web Platform Installer to download and automatically install most of the prerequisites at once, instead of downloading and installing each application individually. Programs marked (manual) must be downloaded and installed manually and cannot be downloaded via the Web Platform Installer. Details for configuring Microsoft AppFabric can be found on the following page, step 12 (Configure AppFabric).

Required applications

 .NET 2.0 SP2 In Windows Server 2008, the .NET 2.0 Framework is installed by default. No further action is required.  .NET 3.5 + SP1 The .NET Framework 3.5 is not available by default on Windows Server 2008 (32- or 64-bit). However, it is already installed on Windows Server 2008 R2, but it needs to be enabled. If you are using Windows Server 2008 (32- or 64-bit) you can download it from: Microsoft .NET Framework 3.5 Service Pack 1 www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319- 81da479ab0d7 To enable the .NET Framework 3.5 on Windows Server 2008 R2: 1. Click Start | Administrative Tools | Server Manager 2. Select Features 3. Click Add Feature 4. Place a check in the .NET Framework 3.5.1 Features check-box 5. Click Add Required Feature 6. Click Next followed by Install 7. Once it has finished installing, click Close

If you are using Windows Server 2008 (32-bit), you will also need to enable HTTP Activation. To do this: 1. Navigate to Start | Programs | Administrative Tools | Server Manager 2. Select Features, and click Add Features

3. In the Add Features dialog, under .NET Framework 3.0 Features under WCF Activation, select HTTP Activation 4. Click the Next to install Once setup, you will need to enable the WCF portion of the .NET Framework 3.5. To do this: 1. Launch the command line 2. Navigate to:

C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ Or, the following, if you are using a 64-bit operating system: C:\WINDOWS\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ 3. Enter the following and press Enter:

ServiceModelReg.exe -iru  .NET 4 You can download .NET 4 from: Microsoft .NET Framework 4 Once downloaded, double-click on the installer and follow the instructions to install .NET 4.  ASP.NET MVC 2 You can download ASP.NET MVC 2 from: ASP.NET MVC 2 RTM To download and install: 1. Navigate to the above site 2. Download AspNetMVC2_VS2008.exe 3. Once downloaded, double-click on the file to launch the installer 4. Accept the end user license agreement and allow it to install 5. Click Finish to close the installer once the program has completed installing  Microsoft Chart Controls for Microsoft .NET Framework 3.5 (manual) You can download Microsoft Chart Controls for Microsoft .NET Framework 3.5 from: Microsoft Chart Controls for Microsoft .NET Framework 3.5 To download and install: 1. Navigate to the above site 2. Download MSChart.exe 3. Once downloaded, double-click on the file to launch the installer 4. Accept the end user license agreement and allow the program to install 5. Click Finish to close the installer  Internet Information Services (IIS) 7 or 7.5 (manual) Windows Server 2008 and R2 use IIS 7 and 7.5 respectively. The process of installing them is very similar. You will need to ensure that you have administrative user rights on the server on which you plan to install IIS.

To install IIS: 1. Click Start | All Programs | Administrative Tools | Server Manager 2. In the Server Manager window, scroll down to Roles Summary, and then click Add Roles. The Add Roles Wizard will start with a Before You Begin page. The wizard asks for verification of the following:  The administrator account has a strong password  The network settings, such as IP addresses, are configured  The latest security updates from Windows Update are installed 3. Select Web Server (IIS) on the Select Server Roles page. An introductory page will open with links for further information. 4. Select the IIS services to be installed on the Select Role Services page. Add the following modules, and click Next:  Static Content  Default Document  ASP  ASP.NET  .NET Extensibility  CGI  ISAPI Extensions  ISAPI Filters  Windows Authentication  IP and Domain Restrictions  IIS Management Console  IIS Management Scripts and Tools  IIS 6 Management Components (or the whole IIS 6 Management Compatibility subtree) If you are using the 32-bit version of Windows Server 2008, you should also include the following:  HTTP Redirection  Request Filtering 5. Click Add Required Role Services 6. Wait for IIS to complete installing, and click Finish 7. Locate the Features Summary, and click Add Features 8. Enable the following Features:  .NET Framework 3.0 (inside the .NET Framework 3.0 Features category)  HTTP Activation (inside the WCF Activation category) 9. Click Next, followed by Install 10. Once the features have been installed, click Close and exit Server Manager Once IIS is enabled, make sure the ASP.NET State Service is running. To do this: 1. Click Start | Administration Tools | Services 2. Locate and right click on the ASP State Service entry 3. Click Properties 4. Make sure the Startup type is set to Automatic

5. Click Start to start the service now 6. Click OK and exit out of the Services window

Running 32-bit applications in 64-bit IIS If you are planning to run 32-bit applications (i.e., Perception) in a 64-bit version of IIS (on a 64- bit version of Windows Server 2008), you will need to ensure that the correct settings are enabled. The settings are enabled by running specific commands and parameters from the command line. You will need to launch the command line prompt as an administrative user (you can do this by logging in as an administrative user or by right-clicking on the command prompt icon and clicking Run as administrator). To enable 32-bit applications to run in 64-bit IIS, enter the following command at the prompt: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 To enable the 32-bit version of the .NET 2.0 Framework for use with Perception, you will need to run the following command:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...or, if that is unavailable, try:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i  Windows Server AppFabric (manual) You can download Windows Server AppFabric from: Windows Server AppFabric The version of AppFabric required is dependent on the version of Windows Server 2008 you are using.

Windows Version AppFabric Version

Windows Server 2008 (32-bit) 6.0 (x86)

Windows Server 2008 (64-bit) 6.0 (x64)

Windows Server 2008 R2 6.1 (x64)

For complete instructions about how to install AppFabric, please refer to the following: Windows Server AppFabric installation and configuration guide If you are using Windows Server 2008 (32- or 64-bit), you will be required to install the Windows Management Framework successfully before installing Windows Server AppFabric. If you have installed all the latest Windows updates, this should already be installed. However, for further details, please refer to: Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0) To install AppFabric: 1. Double-click the file you downloaded

2. Click Yes to accept the terms and conditions, followed by Next 3. Select you preferences for the Customer Experience, Help Improve, and Critical Updates options, and click Next 4. Select the following features and click Next (uncheck the other options so that only the following features are selected)  Runtime Features (automatically checked when the option below is checked)  Caching Services  Administration Tools (automatically checked when the option below is checked)  Cache Administration

5. Click Install to start the installation process Once AppFabric is installed, you will be asked if you want to configure it. For the time being, uncheck the checkbox and exit the installer. Once you have finished installing all the requisites, you will need to come back and configure AppFabric. Configuring AppFabric for Perception will be discussed later in this guide in step 12 (Configure AppFabric).

Install these prerequisites [view URL8]

8 http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework4;NETFramework35 ;NETFramework20SP2;MVC2

< Back to step 10 Continue to step 12 >

12. Configure AppFabric

Once you have installed the prerequisites on your Perception Application Server server, you need to configure AppFabric. AppFabric works by creating a distributed cache that is shared by the various servers that need it. This can speed up access to frequently accessed information such as session data. To configure AppFabric, you will need to:

Allow access to AppFabric through the Firewall AppFabric is installed as a service. The AppFabric service needs to be granted permission to send data through the firewall. This can be done in Windows Server 2008 by modifying the In and Outbound Rules. To modify the rules:

Create a UNC shared folder to place the caching details To create a UNC folder share: 1. Create a folder on your server. Choose a convenient location and name. 2. Right-click on the folder, and select Properties from Windows Explorer 3. Select the Sharing tab 4. Click Share 5. The File Sharing window displays. Add the user Network Service or a local user if you are not connected to a domain. If you are setting up a load-balanced environment, ensure each node has the same username/password. 6. Set the Permissions Level as Contributor (Read/Write on Windows Server 2008 R2) 7. Click Share, followed by Close Configure AppFabric using the AppFabric configuration wizard The following settings need to be configured on the server hosting Enterprise Manager in this single-server installation (i.e. your Perception server). To configure the caching service: 1. Click Start | Windows Server AppFabric | Configure AppFabric 2. On the Before you begin page, click Next 3. On the Configure Hosting Services page, click Next (Perception does not use hosting services) 4. On the Configure Caching Services screen, enable the Set Caching Services configuration check-box 5. Set a Caching Service account.

If your computer is part of a domain, you cannot change the Caching Service account from the default of "Network Service." If your computer is part of a domain, you should follow the following best practices from Microsoft to configure the credentials correctly to get around this limitation (see Shared Folder-Based Cluster Configuration (Windows Server AppFabric Caching) for more information):

"To simplify long-term administration of the cluster configuration folder, do not run the cache service under the credentials of a domain user account. By using the default installation settings, you can use the domain computer accounts of the cache servers instead and avoid password maintenance.

After you create the ClusterACacheServers security group, grant the domain computer accounts of the applicable cache servers membership to this group (for example,"domain\computername$"). Then grant ClusterACacheServers read and write permissions in the sharing and security settings of the cluster configuration shared folder. When this is set up, for each new server that you add to the cache cluster, add only the domain computer account of the new server to the security group."

If your computer is part of a workgroup, you must change the Caching Service account from "Network Service" and use a local account.

If you are using a local account, do not use an account with administrator privileges. The local account used for the Caching Service account only needs the right to generate security audits (granted explicitly by adding the account to the policy in the Local Security Policy dialog box) and the right to bypass traverse checking (granted through membership in the Everyone group). If you are in a load-balanced environment, all the servers should be setup with the same username/password. 6. From the Caching Service configuration provider drop-down box, select XML 7. In the File share text-box, enter the UNC address for the folder you created above. This will be in the format \\ 8. Select New cluster 9. Select the appropriate value from the Cluster size drop-down box. The value you select will be determined by the number of computers you are going to have in your cluster, which in turn is dependant on which components are installed. Questionmark recommends that you set this to Small Cluster (1-5) unless you are installing a load-balanced system with over 5 machines.

10. Click Next 11. Make sure you have defined the appropriate ports for AppFabric. You will need to use the default ports for Questionmark Perception.

Cache port: 22233

Cluster port: 22234

Arbitration port: 22235

Replication port: 22236

The Cache port needs to be accessible by the application and the other AppFabric servers, if more than one.

The Cluster port, Arbitration port, and Replication port need to be open between the AppFabric servers, if more than one. 12. Click Next, followed by Finish Setup the cache To setup the required cache, we will use PowerShell. To do this using PowerShell: 1. On the Start Menu, click All Programs, Windows Server AppFabric, and then click Caching Administration Windows PowerShell

Please note you have to start PowerShell as an administrative user. If you are not already logged in as an administrator, right-click the PowerShell icon and select Run as administrator.

2. We will not be using the security system provided by AppFabric. Instead we will be using the Perception equivalent, so you will need to enter the following command: Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None

If you receive an error when running the Set-CacheClusterSecurity command, stop the cache

cluster and then try again by entering the following before trying step 2 again:

Stop-CacheCluster

3. Now create a new cache by entering the following command: New-Cache questionmark

Please note that the cache name is case sensitive and must be called questionmark. 3. Now you need to start the cache by entering the following command: Start-CacheCluster

Starting the cache after a server reboot Every time you restart your Perception server, you will need to restart the cache on each computer. It is recommended that you do this through PowerShell by following the steps below: 1. Click Start | Windows Server AppFabric | Cache Administration PowerShell Console 2. Enter the following:

Start-CacheCluster

If you are using SQL Server as your cache configuration provider, you can also change the Startup Type in Services for AppFabric to Automatic, although it can take ten to fifteen minutes for AppFabric to restart after a reboot through this method. If you are using XML as your cache configuration provider or the delayed start is not acceptable for your purposes, you can use a PowerShell script and a scheduled Windows task to start AppFabric automatically. See the Knowledge Base article How can I automatically start the Windows Server AppFabric Caching Service? for instructions on how to do this.

After you have completed the above steps, continue on to step 13 using the link below.

< Back to step 11 Continue to step 13 >

13. Create an ODBC connection to your shared repository database

Now, you need to create an ODBC data source to link Perception to the shared repository database you created in step 1 so that the Shared Repository Service can correctly use it. The ODBC connection needs to be created on your Perception Application Server server. If you are using a 64-bit version of Windows (for example, Windows Server 2008 R2), you will need to use the 32-bit version of ODBC drivers. The sections below provide details about creating the ODBC connections for the following database systems:

SQL Server 2008 To create an ODBC data source: 1. Open the ODBC Data Source Administrator on the same server on which you plan to install Perception as an administrative user. To do so on a:  32-bit operating system, go to Control Panel, double-click Administrative Tools, and then double-click Data Sources (ODBC)  64-bit operating system, such as Windows Server 2008 R2, navigate to and launch the following ODBC driver: C:\Windows\SysWOW64\odbcad32.exe 2. Open the System DSN tab 3. Click Add... 4. Select the SQL Server driver for your SQL Server instance and click Finish 5. Enter a name for the new data source, and select the server you want to connect to (that is, the machine on which your database is installed, i.e., your database server) from the drop-down list. Make sure that you enter the actual server name and not "(local)" or "localhost." 6. Click Next 7. Ensure that With SQL Server authentication using a login ID and password entered by the user is selected

8. Enter the ID and password of the login you created for the Perception database (in step 1) and click Next 9. Enable the Change the default database to check-box and select your Perception database (i.e., Perception_REPO) from the drop-down list and click Next

10. Click Finish. Review the details of the new ODBC data source that will be created and click OK. You can click Test Data Source to check the connection. 11. Click OK to close the ODBC Data Source Administrator You can now begin to install Perception. Follow the link at the bottom of this page to continue to step 8.

Oracle 11g

Once you have created your shared repository database (Perception_REPO), you will need to create a data source. This should be done on the same server on which you plan to install Perception, not your database server. To do so: 1. Open the ODBC Data Source Administrator on the same server on which you plan to install Perception as an administrative user. To do so on a:  32-bit operating system, go to Control Panel, double-click Administrative Tools, and then double-click Data Sources (ODBC)  64-bit operating system, navigate to and launch the following ODBC driver: C:\Windows\SysWOW64\odbcad32.exe 2. Open the System DSN tab 3. Click Add... 4. Select the 32-bit Oracle driver that corresponds to your Oracle installation from the list and click OK

5. Enter a name and description for the new data source in the appropriate text-boxes 6. Specify in the TNS Service Name textbox the Net Service Name of the server you want to connect to (that is, the machine on which your database is installed, i.e., your database server). This is the Net Service Name you specified in step 1. 7. Enter the name of the database user you have created in the User ID text-box. For example, Perception_REPO. 8. Click OK, and OK again to close the ODBC Data Source Administrator You can now begin to install Perception Application Server on your Perception Application Server server. Follow the link at the bottom of this page to continue to step 14.

< Back to step 12 Continue to step 14 >

14. Install Perception Application Server

Once the prerequisites have been installed on your Perception Application Server server and you've configured AppFabric and created the ODBC connection, you can install the Perception Application Server. The installer will guide you through each step in the installation process, prompting you to specify your preferences at each stage. Copy the installer to your Perception Application Server server and follow the steps below.

By default, users do not have administrative user rights if you are logged on as a user other than

the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). If you do not have these privileges, Perception will not install correctly. Log in as the built-in administrator account, or explicitly invoke applications as the built-in administrator by using the Run as administrator command. You will need to make sure you are logged in as an administrator when completing the installation of Perception.

To install Perception Application Server: 1. Launch the installer as an administrative user (see above for details), entering the password when prompted 2. Select Custom from the Setup Type window 3. Click Next 4. Select the Perception Application Server option

5. Click Next

6. Choose where you would like to install Perception and the application data, including repository files

You can keep the default locations or click Browse to indicate an alternative path. 7. Click Next 8. If this server is to be accessed externally, enter the server root URL for Enterprise Manager by selecting User Defined and entering the domain name in the textbox. Alternatively, select This Computer if users will be using the computer name as the URL to access Perception.

If you are intending to access Perception using an IP address, you must select the User Defined

setting and enter the IP address in the textbox. Failure to do so will cause certain functions in Perception to work incorrectly. For example:  File upload questions will not work correctly, preventing participants from uploading answers  Links to reports that a participant has access to will not work 9. Click Next 10. In the QPLA Server Location window, enter the URL used to access the Assessment Delivery Web Server

The QPLA server location can be:  The URL that is used by the Assessment Delivery Web Server server. For example, www.qpla.mycompany.com.  The computer name or IP address of the Assessment Delivery Web Server 11. Click Next 12. In the Installation Options window, select whether or not you want authors connecting to the Shared Repository through Authoring Manager to automatically be given the chance to upgrade to the latest version of Authoring Manager.

13. Click Next 14. Click Install

< Back to step 13 Continue to step 15 >

15. Create the Main and Results Warehouse (RW) databases

Now you need to create the Main and Results Warehouse (RW) databases using the configuration application. For information about the configuration application, click on the following section to expand it. The configuration application The configuration process is responsible for linking the various parts of the application to their related database. The configuration application is designed to make configuring Analytics, Enterprise Manager, and the databases easier. Please follow the appropriate steps as defined below. The configuration application contains the following workflow:

If you exit the configuration application before completing all of the steps in the workflow, or want to return to the configuration application for any reason, you can navigate to:

http://localhost/configuration

You need to be logged on to your database server locally in order to access the configuration

application.

If you return to the configuration application, you can:  Resume the configuration (if you haven't completed it)  Redo a previous section  Start the configuration again (starting the configuration again does not delete existing databases)

The configuration application can create the Main and Results Warehouse (RW) databases for you automatically, or you can create them manually. Please choose your preferred method below: Automatic (the databases are created for you, using the credentials you provide)

When creating the Perception databases, it is important to note that the databases must be

separate databases with unique names. The Configuration Application assumes the databases will be unique and that none will be used more than once (i.e., it assumes that the Perception_MAIN database will not also be used as the shared repository). Also, if you don't use the default names, please ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters.

To create the Main and Results Warehouse (RW) databases automatically, you will need to provide several details. The details required will depend on what database technology you are using, but will include:  Database base administrative user details, including password  The address of the database server To create your databases automatically: 1. Make sure the Automatic option box is selected 2. Select the database type you are installing Perception on from the Choose database type drop- down list

3. Refer to the relevant section depending on your database type:  SQL Server 2008 1. Enter the fully-qualified name for the database server you want to use in the format ., e.g., db2008.myorganization.local. You may also

use an IP address, or just the server name if the server is not part of a domain. Do not use (local) or localhost. If you have multiple instances on your database, remember to include the instance name where necessary: \

2. When administering this database server, you need to login to the relevant service. Select how you connect to the database server using the I connect using drop- down list. If you login using:

 Windows Authentication - You will need to enter the Windows username and password associated with the system administrator for the database server. If you are using a domain server, remember you should use the fully qualified \. For example, myorganization\dbsysadmin.  SQL Server Authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008, you will typically use the sa user. 3. Enter a username for the database user you would like the configuration application to make. This user will be used by the ODBC connection to allow the databases to communicate with Perception.

You can allow the configuration application to create a random password for this user, or you can specify your own by unchecking the Auto Generate checkbox. 4. You can now enter the names you would like to assign to the two databases created at this time (the Perception Main database and the Analytics Results Warehouse database).

Enter the desired names for the databases. 5. Click Create. Once the databases have been setup, you will see the following:

6. Click Continue to move to the next step You can now continue to step 16 using the link below.  Oracle 11g 1. Enter the fully-qualified name for the database server you want to use in the format ., e.g., orcl11g.myorganization.local.

2. Enter the System ID (as defined when Oracle was setup) 3. Define the Port used to communicate with Oracle (as defined when Oracle was setup) 4. Enter the Username and Password details of an Oracle user who has permissions to create Users, Tablespaces, and Roles

5. From the This user should connect as drop-down box, define the role the user (entered above) has on the Oracle system. This could be:  Default - A standard user assigned these permissions  SysDba - System Database Administrator  SysOper - System Operator Each of the above users require unique commends for connecting, so please make sure that the user you entered is defined appropriately. 6. Now you need to define the names of the User and corresponding Tablespaces for the Perception Main database and the Analytics Result Warehouse database that you would like the configuration application to make.

You can assign your own User and Tablespace name, and you can choose to auto- generate the password or create your own by checking/unchecking the Auto Generate checkbox. 7. Click Create. Once the databases have been setup, you will see the following:

8. Click Continue to move to the next step You can now continue to step 16 using the link below. Manual (you create the databases manually, and then provide the details to the configuration application) To manually create the Main and Results Warehouse (RW) databases, you will need to create your databases first on your database server. For instructions on doing so, please refer to the following section: A1. Create the databases manually After you have created your databases, refer to the relevant section depending on your database type:  SQL Server 2008 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select SQL Server from the Choose database type drop-down list

3. Enter the fully qualified name for the database server you want to use in the format ., e.g., db2008.myorganization.local. You may also use an IP address, or just the server name if the server is not part of a domain. Do not use (local) or localhost. If you have multiple instances on your database, remember to include the instance name where necessary: \ 4. Enter the Login and Password details for the user you created for the databases 5. Enter the Database name you assigned to the Perception shared repository database (Perception_MAIN) you created 6. Enter the Database name you assigned to the Result Warehouse database (Perception_RW) you created 7. Click Create Once the databases have been setup, you will see the following:

8. Click Continue You can now continue to step 16 using the link below.  Oracle 11g 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select Oracle from the Choose database type drop-down list 3. Enter the Database server name where you created the schemas 4. Enter the SID for the Oracle server and make sure the port number is correct for your database 5. Enter the User and Tablespace and Password details for the Perception_MAIN database you manually created 6. Enter the User and Tablespace and Password details for the Perception_RW database you manually created 7. Click Create Once the databases have been setup, you will see the following screen:

8. Click Continue You can now continue to step 16 using the link below.

< Back to step 14 Continue to step 16 >

16. Create the temporary ETL (Temp_ETL) database

Now you need to create the temporary ETL (ETL_Temp) database using the configuration application. The ETL_Temp database needs to be created on your ETL Services Server server. The configuration application can create the ETL_Temp database for you automatically, or you can create it manually. Please choose your preferred method below: Automatic (the ETL_Temp database is created for you, using the credentials you provide) To create the ETL_Temp database automatically: 1. Select Automatic 2. Select the database type you are installing Perception on from the Choose database type drop- down list

3. Refer to the relevant section depending on your database type:  SQL Server 2008

1. Enter the database server name of your ETL server, which is where your ETL service is installed 2. Select how you connect to the database on your ETL server using the I connect using drop-down list. If you login using:  Windows authentication - You will need to enter the Windows username and password associated with the system administrator for the database server. If you are using a domain server, remember you should use the fully qualified \. For example, myorganization\dbsysadmin.  SQL Server authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008, you will typically use the sa user. 3. Enter a Database Name for the temporary ETL database. Ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters. 4. Set a password or use an auto-generated one 5. Click Create. Once complete, you should be presented with a screen similar to the following:

Now you can continue on to step 17 using the link below.  Oracle 11g 1. Enter the name of your ETL server (it must be entered in uppercase form in the Enter database server name: text-box), which is where the ETL service is installed 2. Add the Oracle System ID (SID) for your ETL server (it must be entered in uppercase form) and ensure the Port used to connnect is correct 3. Enter a Username and Password for an Oracle user who has permission to create users, Tablespaces, and assign roles. For example, the username might be SYSTEM. 4. Determine how this user should connect to the Oracle instance in the This user should connect as drop-down list. For example, SysDba. 5. Enter a name for the User and Tablespace you want to create. For example, the user might be named Perception_ETL_Temp. 6. Set a password or use an auto-generated one 7. Click Create. Once complete, you should be presented with a screen similar to the following:

Please note that it is important to ensure that all tnsnames.ora files need to be aware of all

Oracle connections in order for database links to function. All tnsnames.ora files need to be identical and point to the same Oracle instances.

Now you can continue on to step 17 using the link below. Manual (you create the database manually, and then provide the details to the configuration application) To manually create the ETL_Temp database, you will need to create the database first. For instructions on doing so, please refer to the following section: A1. Create the databases manually After you have created the temporary ETL database, refer to the relevant section depending on your database type:  SQL Server 2008 1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select SQL Server from the Choose database type drop-down list 3. Enter the address of your ETL server, which is where your ETL service in installed. Enter the fully-qualified name in the format ., e.g., db2008.myorganization.local. You may also use an IP address or just the server name if the server is not part of a domain. Do not use (local) or localhost. Remember to include the instance name where necessary: \ 4. Enter the name of the temporary ETL database you created before 5. Click Create. Once complete you should be presented with a screen similar to the following:

Now you can continue on to step 17 using the link below.  Oracle 11g

1. In the configuration application, select Manual from the How do you want to create the databases? section 2. Select Oracle from the Choose database type drop-down list 3. Enter the Database server name where you created the ETL_Temp schemas (note that this will be your Perception server in this single-server installation) 4. Enter the Sytem ID (SID) for the Oracle server and make sure the Port number used to connect is correct for your database 5. Enter the User and Tablespace and Password details for the ETL_Temp database you manually created 6. Click Create. Once complete, you should be presented with a screen similar to the following:

Please note that it is important to ensure that all tnsnames.ora files need to be aware of all

Oracle connections in order for database links to function. All tnsnames.ora files need to be identical and point to the same Oracle instances.

Now you can continue on to step 17 using the link below.

< Back to step 15 Continue to step 17 >

17. Configure the environment

After you have created your Main, Results Warehouse, and temporary ETL databases, you need to configure the environment, i.e., tell the system how people will be accessing the servers. You need to provide details for the following:  Portal The portal is the user interface component designed to display the various components of Enterprise Manager. You will need to enter the URL of your Perception Application Server server. The address you enter here will form part of the URL used to access Enterprise Manager. For example: http:///portal/  Service layer This component is designed to facilitate the communication of all parts of the software. You will need to enter the URL of your Perception Application Server server. The service layer is generally kept behind the firewall, so you can use the machine name (including the fully-qualified name) or the IP address of the server where the service layer is installed. For example: http://  Windows AppFabric Server(s) Windows App Fabric is the caching service used by Perception. There may be several servers as part of your Perception installation that have AppFabric installed on them. You can enter the address of the server(s) and the port used by it in the following format: :22233,:22233. The server address can be in the form of machine name (including the fully-qualified name) or the IP address. The servers listed are separated by a comma (,). ...where my_server is the domain name of the relevant server.

To configure the environment: 1. Add the relevant information for to the Enter the portal address and Enter the service layer address textboxes 2. Once you have entered the relevant addresses, click Continue 3. You will be shown a screen similar to the following:

4. Click Continue Now you can continue on to step 18 using the link below.

< Back to step 16 Continue to step 18 >

18. Create the shared repository

Now you will need to launch Shared Repository Manager and create a shared repository. Because you are installing a new copy of Perception, you will see a screen similar to the following:

If you are accessing the configuration application locally on the server, you can click Launch SRM to load the Shared Repository Manager. If you are not logged in locally, you will need to log in to your Perception server and launch the Shared Repository Manager from: Start | All Programs | Questionmark | Perception 5.4 Once the Shared Repository Manager is loaded, to create a new repository: 1. Click Add New Repository... in the Shared Repositories menu.

The Repository Creation Wizard is displayed. 2. Click Next > 3. Enter a name for your repository in the Repository name text-box 4. Select the type of database you are using from the Database type drop-down list 5. Select the language you would like your reports to appear in from the Language for standard reports drop-down and click Next >

6. Enter an Initial topic name and Initial assessment folder name and click Next >. The Initial topic name is the topic at the top of the topic hierarchy and is also called the root topic. The Initial assessment folder is the assessment folder at the top of the assessment folder hierarchy and is also called the root folder. 7. If you wish to enable security, ensure that the Check to enable security in the new repository box is ticked and click Next >. We recommend that you enable security. If you are setting up a new repository on your database, security is enabled by default and cannot be de- selected. 8. The following option will require you to fill in your database details  If you selected SQL Server or Oracle as your database type, you should see the following screen:

To continue: o Select the Database DSN (Database Source Name) of your database from the drop- down list. You must have already created a blank SQL Server or Oracle database and setup an ODBC connection to it, otherwise the DSN name will not appear in the list (refer to step 13 (Create an ODBC connection to your shared repository database) for instructions if you have not already done so). o Tick the Check to run database scripts checkbox, as this is required to create the Perception tables in your database o Tick the Check to enable question searching capability checkbox if you want authors to be able to use the Question Search feature in Authoring Manager. Ensure that OracleText has been installed if you are using an Oracle database or full-text indexing has been installed and configured for the database if you are using SQL Server. Please refer to the documentation that accompanied your database server for more information about how to install and configure the necessary options. o If you will be importing data from Perception version 3, tick Check to import from V3. Otherwise, leave the check box unchecked. If the data you will be importing from Perception version 3 contains Japanese data (characters) or similar data, place a check in the Convert V3 Japanese data on import checkbox.

If no DSN appears in the drop-down list, ensure you made an ODBC connection using the 32-bit

driver and not the 64-bit version. For further information, please refer to step 13 (Create an ODBC connection to your shared repository database).

9. Click Next > 10. You should now be presented with either of the following screens, depending on the database server you are using:

 SQL Server

You will need to enter the correct details for the SQL Server user you assigned to the database. To check you are logging into the correct database you created earlier, click Options >>.

Once the details have been entered, click OK.  Oracle

You will need to enter the correct details you assigned to the Oracle database to ensure that the ODBC connection can successfully be made (if this dialogue box does not automatically appear, you can access it by clicking the Change Login Details button).

Once the details have been entered, click OK. 11. Confirm the repository creation process by clicking Next >. The repository will be created.

12. Click Finish to close the Repository Creation Wizard. A warning screen will be displayed.

13. Click Yes to allow the shared repository to be accessed by authorized users of Enterprise Manager as well as participants

If you click No, the shared repository will not be set to be accessed by Perception Server and

Enterprise Manager and all participant-facing software will not work. You must click Yes.

The shared repository has now been created. The "Configure Perception Server" window will be displayed to allow you to configure the repository and Perception to work together. To configure the two: 1. Specify the Perception Server Application Folder. Either accept the default location, or, if you installed Perception in a different location, click Browse to specify it. 2. The Web Access box displays the default names for the Resources Web Share and Content Web Share. Either accept the default name, or enter your own.

The System Web Share is only applicable if you have installed Perception in a multi-tiered

environment. The default web share as created by the installation is MyRepository_sys. This web share allows QPLA to access the necessary files on the QABS machine in a multi-tiered environment.

3. If you will be using Questionmark to Go or QMWISe for 3rd-party applications to communicate with Perception, check the Configure this feature checkbox and update the QMWISe URL so that it points to the QMWISe web share on your Perception server. Click Test to set and test the QMWISe URL setting. 4. To configure QMWISe fully, you will also need to create a unique 8-digit Trusted Key that Perception can use to verify any communication between Perception and your 3rd-party applications. For further information about Trusted Keys and QMWISe, please refer to the QMWISe API Guide. 5. Set the Web Share you would like to use for Questionmark to Go

6. Click OK 7. A Configuration Server Notice will be displayed confirming that the configuration file has been successfully modified. Click OK to continue. 8. The repository has now been created and will appear in the Shared Repository Manager

9. Now that the repository has been created, you can continue with the process of configuring Perception by returning to your browser window and clicking Continue

10. You will be shown the following screen. In the Enter a Display Name text-box, enter a name that you would like to associate with your shared repository. It will be used by the various zones for communication.

11. Click Continue. You will be presented with a success screen and asked to continue. Now you can continue on to step 19 using the link below.

< Back to step 17 Continue to step 19 >

19. Create the database links

You will now be asked to create the database links. A database link is required to allow tables and views from one database be used by another. The process of linking up the databases is different for Oracle and SQL Server. Database links can be configured automatically, Where the configuration application is provided with administrator details for each database server and it runs the necessary procedure, or manually, where you create the links manually on each database server and the configuration application confirms if they are setup correctly. Please click on the relevant section below to expand its instructions: SQL Server Automatically To automatically link the database servers: 1. Select Automatically from the Would you like to setup your database links: option. You will be shown an entry for each database server used in your installation. So you could have one entry, similar to below, or you could have several entries. For each entry the Databases on the Server section will identify which database(s) can be found on the server identified in the Database Server Name. 2. When creating the links to the server, you will need to login as an administrator. Select how you connect to the database server using the I connect using drop-down list. If you login using:

Windows authentication - You will need to enter the windows username and password associated with the system administrator for the database server. If you are using a domain server, remember that you should use the fully-qualified domain name: \. For example: myorganization\dbsysadmin

SQL Server authentication - You will need to enter the database system administrator and password. For example, on SQL Server 2008 you will typically use the sa user. 3. Repeat the above steps for each database entry and click Create Now you can continue on to step 20 using the link below to finish installing Perception. Manually

For instructions about setting up you database links manually, please refer to the following before completing the steps below: A2. Manually link the databases To manually link the database servers: 1. Select Manual from the Would you like to setup your database links: option 2. Click Verify to check the linking is successful Now you can continue on to step 20 using the link below to finish installing Perception. Oracle Automatically To automatically link the database servers: 1. Select Automatically from the Would you like to setup your database links option buttons 2. Enter your database administrator username and password 3. Click Create

Now you can continue on to step 20 using the link below to finish installing Perception. Manually For instructions about setting up you database links manually, please refer to the following before completing the steps below: A2. Manually link the databases To manually link the database servers: 1. Select Manually from the Would you like to setup your database links: option 2. Click Verify to check the linking is successful

Now you can continue on to step 20 using the link below to finish installing Perception.

< Back to step 18 Continue to step 20 >

20. Migrating settings from the Perception Application Server to the ETL Services Server

After Perception has been installed and configured, you will need to copy the relevant configuration settings from the Perception Application Server to the ETL Services Server. This is partly automated. To do this: 1. Using Windows Explorer, navigate to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on the Perception Application Server 2. Right-click on the export.bat file and click Run as administrator. Enter the usernames and passwords as required. The export.bat file will create a .cab file. 3. Copy the .cab file to a location accessible from the ETL Services Server 4. Copy the .cab file you created in the previous step to C:\Program Files\Questionmark\Perception5\Configuration\ImportExport (or Program Files (x86) on a 64-bit machine) on the ETL Services Server 5. Right-click the import.bat file and click Run as administrator. Enter the usernames and passwords as required. The keys will be imported on this server. 6. Reset IIS

< Back to step 19 Continue to step 21 >

21. Launch Enterprise Manager and start the ETL service

Once the database links have been successfully created, you will be shown a success screen and a button that you can click to enter Enterprise Manager for the first time. The URL for Enterprise Manager will follow the format below:

http:///portal// ...where is the name of the server or domain that you entered as the portal address in step 17 (Configure the environment). ...where is the name of the shared repository you created in step 18 (Create the shared repository).

Please note: It is important to ensure that the server on which Perception is installed is added to

Trusted sites in Internet Options for Internet Explorer, otherwise the Enterprise Manager Login button might not appear on the portal landing page, as Javascript is typically only enabled for trusted sites for Internet Explorer on Windows Server 2008.

To finish the installation process, you need to start and ensure that the ETL service is running. Click the section below to expand it.

Start the ETL service

Although unsupported by Questionmark, if you are using a non-English version of Windows Server

2008 (or R2), please refer to the ADV10. Using a non-English version of Windows Server 2008 for information on some settings that must be edited for the ETL service to function correctly.

Once you have finished installing and configuring the Perception, you need to ensure that the ETL service has started. To start the ETL service: 1. Log into the machine where the ETL service is installed as an administrative user (in this multi- tiered installation, this is your ETL Services Server server) 2. Click Start 3. In the Search for programs and files text-box, enter services.msc and press Enter on your keyboard 4. Locate the Questionmark.ETL.Scheduler.Service service 5. Right-click on it and select Properties 6. Make sure the Startup type is set to Automatic 7. Under Service status, click Start and ensure the Service status entry changes to Started

8. Click OK to close the dialog window

With the ETL service now started, result data will be: A. Extracted from your shared repository database B. Transformed in the temporary ETL database into the proper format for Questionmark Analytics C. Loaded in to the Results Warehouse database so that Analytics can access it This process will happen every 3 hours by default. If you want to change the frequency of the ETL service, please refer to the following Knowledge Base article for instructions:  How can I change the frequency of the ETL service? Congratulations, you have now installed and configured Perception! Optionally, you can also configure Perception to use SSL and restrict access to Perception, as well as register Perception. For information on further post-configuration, such as setting up Perception to run from behind a firewall or configuring the SMTP service, see the Advanced information and Appendix sections of this install guide, respectively. To configuring the File Upload question type in your multi-tiered environment, please refer to:

Setting up File Upload questions in a multi-tiered installation To configure the firewall rules in your multi-tiered installation, please refer to:

Setting up firewall rules for a multi-tiered installation

< Back to step 20

Setting up File Upload questions in a multi- tiered installation

If you have installed Perception in a multi-tiered environment and plan on using the File Upload question type, you will need to make several modifications to servers where Perception in installed so that the Assessment Delivery Web Server (QPLA) can write File Upload questions to the Perception Application Server. On the Assessment Delivery Web Server, you will need to:  Create a new user  Assign the user Full Control in IIS  Connect as the new user On the Perception Application Server, you will need to:  Create another user  Create a folder share The final step involves updating the File Upload folder setting.

On the Assessment Delivery Web Server...

Creating a user

To create a user on the Assessment Delivery Web Server server: 1. Click Start and type compmgmt.msc (Computer Management) in the search box 2. Navigate to Local Users and Groups | Users

3. Click Action | New User... 4. Enter a user name (e.g., fileuploaduser) and a password

5. Uncheck User must change password at next logon 6. Check Password never expires

7. Click Create 8. Right-click the user you just created and click Properties 9. Select the Member Of tab 10. Click Add and then click Advanced 11. Click Find Now

12. Find and select IIS_IUSRS and click OK. 13. Click OK again in the Select Groups window 14. If the Users group appears in the list of assigned groups, select it and click Remove 15. Click OK

Assigning the user Full Control in IIS

To assign the user in IIS:

1. Start IIS 7 2. Right click on the Default Web Site and click Edit Permissions…

3. Select the Security tab 4. Click Edit 5. Click Add 6. Click Advanced 7. Click Find Now 8. Select the user you created above (e.g., fileuploaduser) and click OK 9. Click OK again. If on a domain, you may be asked to enter the valid user name and password. 10. In the Permissions window, make sure Full Control is enabled in the Allow column

11. Click OK and exit IIS 7

Connecting as the new user

You also need to make sure that your new user is used when connecting to (by default) the /perception5 virtual directory. To do this: 1. Start IIS 7 2. Locate the perception5 site (this may be a dedicated site to perception5 or it may be a parent site, like Default Web Site) 3. Click Basic Settings... from the Action menu on the right 4. Click Connect as...

5. Choose the Specific user: option 6. Click Set... 7. Enter the user name and the password for the user you created above (e.g., fileuploaduser) 8. Click OK 9. Click OK again and exit IIS 7

On the Perception Application Server...

Creating another user

To create a user on the Perception Application Server: 1. Click Start and type compmgmt.msc (Computer Management) in the search box 2. Navigate to Local Users and Groups | Users

3. Click Action | New User... 4. Enter user name (e.g., fileuploaduser) and a password

5. Uncheck User must change password at next logon 6. Check Password never expires

7. Click Create 8. Right-click the user you just created and click Properties 9. Select the Member Of tab 10. Click Add and then click Advanced 11. Click Find Now

12. Find and select IIS_IUSRS and click OK. 13. Click OK again in the Select Groups window 14. If the Users group appears in the list of assigned groups, select it and click Remove 15. Click OK

Creating a folder share for the fileuploads folder

You will need to ensure that the fileuploads folder is shared appropriately and that the members of the IIS_IUSRS group can contribute (write) to the folder. This folder share will be used by the Assessment

Delivery Web Server to place any files uploaded in a File Upload question on to the Perception Application Server. If you installed Perception to the default location, the File Upload folder will be in the following location, otherwise please check where you installed the Repository Support files: C:\Perception5\Repositories\shared\ ...where is the name of your repository. In this folder, a fileuploads folder will exist. To create a file share for this folder, follow the instructions below: 1. Right-click on the fileuploads folder and select Share... 2. In the texbox, enter the name of the user you created (e.g., fileuploaduser) and click Add 3. For the Permissions Level, select Contributor (in Windows Server 2008 R2, the option will be Read/Write rather than Contributor)

4. Click Share 5. A page will appear that provides details about the folder share. Click Done. You have now created a folder share for the fileupload folder. The folder share can be accessed using a UNC name, such as: \\\fileuploads ...where is the name of the server hosting the Perception Application Server. You should try navigating to the above folder share from the Assessment Delivery Web Server to ensure the folder share works.

Updating the File Upload folder setting

Once you have created the folder share for the fileupload folder, you need to ensure that the Assessment Delivery Web Server knows where it is. This can be done by completing the steps below: 1. Login to Enterprise Manager on the Perception Application Server using the default administrator user name and password The default address to login to Enterprise Manager is: http:///em5/Login.asp ...where is the valid domain name or server name of your Perception Application Server as configured in Step 1: Installing Perception Application Server. 2. Navigate to the Server Settings page by clicking System Administration | Server Management | Server Settings 3. Locate the File Upload folder setting in the Questionmark Presentation Layer for Assessments section of the page There are two File Upload folder settings on the Server Settings page. The first File Upload folder setting in the Folder section of the page is used by the Scoring Tool and reports. It does not need to be changed for File Upload questions to work. Only the second File Upload folder setting in the Questionmark Presentation Layer for Assessments section should be changed to point to the folder share on your Perception Application Server. 4. Change this to something similar to \\\fileuploads, as created in the section above 5. Click Save and Exit

Setting up firewall rules for a multi-tiered installation

This section only applies if you have a firewall between your servers in a multi-tiered installation.

If you have installed Perception in a multi-tiered configuration and have a firewall between your Assessment Delivery Web Server (QPLA) and Perception Application Server, you will need to ensure that certain web shares can be accessed through the firewall. These are:  /_sys  /_res  /_togo  /_con ...where is the name of the shared repository you want to be able to access. These web shares need to be accessed by the Assessment Delivery Web Server server or the browsers of participants. You will need to create a routing rule for an external address that points to these web shares.

In the firewall, create an external address that can access the /_sys, /_res, and /_togo web shares on the Perception Application Server, using port 80 only. You then need to ensure that the Repository server setting in Enterprise Manager points to the external firewall address you created. You can tighten security further by filtering out requests using the firewall that do not have the correct host header.

Upgrading from a previous version of Perception

The upgrade process to 5.4 will vary depending on what version of Perception you are currently running and what operating system and database platform it uses. If you are using the following, please refer to Upgrading from Perception 5.1 or 5.2:  Perception 5.1 or 5.2  Windows Server 2008  SQL Server 2008 or Oracle 11g If you are not using any of the above, read on. If you are using a previous version of Perception, you will likely need to upgrade your operating system and/or database technology before attempting to upgrade Perception itself. Questionmark recommend the following resources:

Upgrade Useful resources required

Upgrade from Upgrades to Windows Server 2008 or R2 (64-bit) from the following operating systems Windows are not supported: Server 2000 or  Windows XP, Windows Vista, and Windows 7 2003  Windows 2000 Server, RTM, Windows Server 2003 with SP1, and Windows Server 2003 Web Upgrade from Windows XP, Upgrades to Windows Server 2008 (32-bit) from the following operating systems are Windows Vista, not supported: or Windows 7  Windows XP, Windows Vista, and Windows 7  Windows 2000 Server and Windows Server 2003 (64-bit) If you are using a Windows version that can not be upgraded to Windows Server 2008, please refer to Recommendations for installing from a version of Windows that can't be upgraded. If Perception is installed on a version of Windows that can be upgraded to Windows Server 2008 or R2 (64-bit), please refer to: Upgrading to Windows Server 2008 http://technet.microsoft.com/en-us/library/cc754728(WS.10).aspx Once you have successfully upgraded you operating system, please refer to Recommendations for installing from a version of Windows that can be upgraded.

Upgrade from SQL Server 2008 Upgrade Technical Reference Guide SQL Server 2005 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=66d3e6f5-6902-4fdd- af75-9975aea5bea7&displaylang=en

Upgrade Useful resources required

Upgrading to SQL Server 2008 R2 http://Ms.microsoft.com/en-us/library/bb677622.aspx

Upgrade from Upgrading to Oracle 11g and 11g Release 2 Oracle 9i or 10g http://www.oracle.com/technetwork/database/upgrade/11gr2-upgrade-methods-wp- 2010-175757.pdf

If you have any difficulties carrying out these upgrades, please contact the software vendor for assistance.

Recommendations for installing from a version of Windows that can't be upgraded

It is recommended that you follow the procedures highlighted below if your operating system can't be upgraded: 1. Upgrade your existing database server to SQL Server 2008 or Oracle 11/install a new database server and migrate your content to it 2. Install a new server with Windows Server 2008 or R2 (32- or 64-bit) and the necessary software prerequisites 3. Copy the necessary files from your Perception 4 or 5 machine to the new server you set up for Perception 5.4 4. Run the installer and install Perception 5.4 5. Set up Perception using the configuration application 6. Create a new ODBC connection to your upgraded/migrated database 7. Link your old repository up to the Shared Repository Manager 8. Run the Upgrade Wizard For information about how to migrate your content to Perception 5.4 in this type of upgrade, please refer to Upgrade from Perception 4.x.

Recommendations for installing from a version of Windows that can be upgraded

If your operating system can be upgraded, it is recommended that you carry out the following steps: 1. Upgrade your existing database server to SQL Server 2008 or Oracle 11/install a new database server and migrate your content to it 2. Run through the operating system upgrade process 3. Install the necessary software prerequisites 4. Run the installer and install Perception 5.4 5. Setup Perception using the configuration application 6. Run the Upgrade Wizard

For information about carrying out the upgrade procedure for Perception, please refer to Upgrading from Perception 5.x.

Upgrading from Perception 3

Questionmark have produced comprehensive guidelines and instructions on how to upgrade from Perception 3 to Perception 5. Refer to the following Knowledge Base article on our support site for more information:  What are the key issues in migrating from Perception 3 to Perception 5? www.questionmark.com/perception/help/v5/knowledge_base/getting_started/installing_perception _server/install_ps520.aspx

Upgrading from Perception 4

Upgrading from Questionmark Perception 4 will more than likely involve upgrading your operating system and database. It is recommended that you:  Install a new server running Windows Server 2008 (make sure that the server meets the system requirements)  Migrate your shared repository to SQL Server 2008 or Oracle 11g Once you have completed the above, follow the steps below.

For more information about migrating the database, please refer to the links provided in

Upgrading Perception. The section primarily looks at upgrading a single Perception 4 server to Perception 5. If you would like to change the configuration to a multi-tiered installation (the separate parts of Perception installed on individual servers), please read the following text and compare it to the instructions found in the rest of the Perception Server Install Guide. The process is very similar; however, the Custom option is required during the installation application.

You will need to install the relevant prerequisites on the server. For information about how to install these, please refer to step 2 (Install the prerequisites). Once you have setup your server ready for an install of Perception, you will need to:  Copy the Perception 4 files and folders to your new server  Setup an ODBC connection to the database you migrated  Install Perception  Configure your databases and reconnect/upgrade your shared repository  Upgrading your shared repository

Copying the Perception 4 files and folders to your new server

To successfully upgrade to Perception 5 on a new server, you will need to copy the following folders and their contents from your Perception 4 server to the same location on your new server:  C:\Perception4\Repositories\shared\ (repository files)  C:\Program Files\Questionmark\Perception4\server\format (template and settings files) In addition to these folders, you will need to copy the perceptionv4.ini file into the following folder on your new server:  C:\Program Files\Questionmark\Perception4\server\ You can transfer these files and folders using the most convenient method available to you (via network transfers, CD, USB, et cetera).

Setting up the ODBC connection on your new server

You will need to configure an ODBC connection to your migrated Perception database on the new server. How you do this will depend on the database you are using. For further details, refer to the relevant section in step 7 (Create an ODBC connection to connect to your shared repository database), remembering to use the same details of the database you migrated.

Installing Perception

Once you have configured your server, copied the necessary files, and created the necessary ODBC connections, you are ready to install Perception. The Perception installer is available from the Product Downloads area of the Questionmark website. Once it has been downloaded onto the new server, the install application can be run by double-clicking the install program icon. The install application requires you to enter a password before it will install Perception Server. This password should have been sent to you by email when you downloaded the installation file. To install Perception: 1. Double-click the installer application 2. Enter the password to run the installer and click OK 3. You will be prompted with a message about upgrading from a previous version of Perception. Click Yes and continue. 4. Click Next > and follow the on screen instructions 5. Select Typical and click Next > 6. Choose a location where you want to Install Perception 5.4 to. The default location is: C:\Program Files\Questionmark\Perception5\

7. In the Install Repository Files to text-box, select the base location of where you copied the Perception 4 repository files to. For example: C:\Perception4\ 8. Click Next > to continue 9. If this server is to be accessed externally, enter the valid URL for the web server by selecting the User Defined option box and entering the appropriate domain name in the text-box. Otherwise, select This Computer. 10. Click Next > 11. Click Install to begin the installation. A warning will be displayed indicating that PHP will need to be installed before the application will be functional. Ensure you have completed the steps indicated in the section step 3 (configure PHP) and click OK. 12. Once the installer has finished copying the necessary files and configuring your system, you will be presented with the following screen. Uncheck the Learn more about Perception Server online and Launch Questionmark Configuration Application checkboxes and click Finish.

Refer to the following section for instructions on upgrading your repository. Configuring the databases and reconnecting/upgrading your shared repository

Now, you need to run the configuration application (follow step 9 [Create the Main and RW databases] through step 13 [Create the database links] for details) to set up the rest of the databases, as well as reconnect and upgrade your shared repository. This can be done by navigating to the following address in the web browser of your Perception server to launch the configuration application:

http:///configuration ...where is the domain name associated with this server.

Once the webpage has loaded, refer to steps for details about setting up the databases and upgrading your shared repository. When you reach the Create/modify the repository section, ensure to follow the Upgrading the shared repository section below:

It is important to ensure that the same DSN name, database login and database password for the

migrated shared repository is used, or the necessary connections to Perception identifying the shared repository will not be able to be made.

Upgrading your shared repository

If you are upgrading and existing repository, you will be shown a screen similar to the following in the Create/modify the repository section of the configuration application:

To select a repository to configure: 1. From the Choose a repository list, enable the option button next to the shared repository you would like to upgrade.

You will be informed of the Selected repository version and the Required repository version.

2. Click Continue.

The following screen will be displayed. If you are accessing the configuration application locally on the server, you can click Launch SRM to load the Shared Repository Manager. If you are not logged in locally, you will need to log in to your Perception server and launch the Shared Repository Manager from: Start | All Programs | Questionmark | Perception 5.4

3. Once the Shared Repository Manager is loaded, you should see all your shared repositories listed. Select the one you want to upgrade now and click Repository Upgrade Wizard...

4. Enter the root administrator User name and Password and click OK 5. Click Next >

6. Click Stop IIS and SRS on this machine and then click Next >. It is possible to upgrade without stopping IIS or SRM, however, if participants are taking an assessment, this will result in a loss of results and could possibly lock files from being upgraded.

7. The Repository Upgrade Process screen will display showing you the progress of the upgrade. Once it has finished, you will be shown the following screen. Click Start IIS and SRS on this machine and then click Finish.

You will now be taken back to Shared Repository Manager, where your repository Version should be reported as 5.4.x.x. 8. Now that the repository has been upgraded, you can continue with the process of configuring Perception by returning to your browser window and clicking Continue

9. You will be shown the following screen. In the Enter a Display Name textbox, enter a name that you would like to associate with your shared repository. This name will be shown on the screen when an administrator logs into Enterprise Manager.

10. Click Continue. You will be presented with a success screen and asked to continue. For the next set of install steps, please refer to step 13 (Create the database links).

Upgrading from Perception 5.1 or 5.2

This section relates to upgrading from Perception 5.1 or 5.2, provided you meet the following criteria:  You have installed Perception 5.1 or 5.2 on Windows Server 2008 (or 2008 R2, 32-bit or 64-bit)  You are using Oracle 11g or SQL Server 2008 If you don't meet the above criteria, you will need to upgrade the necessary component(s). For information about this please, refer to Upgrading from a previous version of Perception. To upgrade to Perception 5.4, you will need to:  Install the necessary prerequisites on your server(s)  Install a local version of SQL Server 2008 or Oracle 11g  Run the installer  Configure the databases and reconnect/upgrade your shared repository However, before you upgrade you should:  Create a backup

Create a backup

Perception Version 5.4 adds several modifications to the template and XSL files that were shipped with Version 5.1 and 5.2. If you have modified any of your templates, XSL files, or CSS files (if you created new templates, XSL files, or CSS files, you will not need to back them up, but it is recommended as best practice), you should create a backup of these so that you can reapply the changes once you have upgraded. The following default folders are updated/modified when upgrading:\  C:\Perception5\Repositories\shared\\resources\system\css  C:\Perception5\Repositories\shared\\system\defaults  C:\Perception5\Repositories\shared\\system\devices  C:\Perception5\Repositories\shared\\system\templates  C:\Perception5\Repositories\shared\\system\xsl You should backup the content of any of the above folders or preferably backup the whole shared repository folder at:

C:\Perception5\Repositories\shared\ ...where is the name of your shared repository. If you modified the default files, you will need to make the same modifications to the new files from your backups. This will ensure any modifications you made to the default templates and CSS files will be reapplied.

Install the prerequisites

The prerequisites for Perception 5.4 are different to those of Perception 5.1/5.2. While PHP is still the same, there are several new components and technologies used that require the installation of additional software. For information about the prerequisites and how to install them, please refer to step 2 (Install and configure the prerequisites).

For this upgrade you will not need to install the following:

 .NET 2.0 Framework

 PHP However, you will need to install the items listed below:  .NET 3.0, 3.5, and 4.0  Windows Server AppFabric  ASPMVC Framework  MSChart Control

Once you have installed the necessary prerequisites, you can start installing Perception.

Install a local version of SQL Server 2008 or Oracle 11g

You will need to install and setup a local copy of SQL Server 2008 or Oracle 11g. This will be used to store the temporary ETL database during the ETL process. For information about installing and setting up this, please refer to step 4 (Install a database to handle the ETL_Temp database). Install Perception

Download the installer to your Perception server. You can download the latest version of Perception from the Questionmark Downloads page on the Questionmark website.

By default, users do not have administrative user rights if you are logged on as a user other than

the built-in administrator. This is also true even if you were added to the local Administrators group on the computer (this is a new security feature in Windows Server 2008 called Local User Administrator). Log in as the built-in administrator account, or explicitly invoke applications as the built-in administrator by using the Run as administrator... command. If you are logged on to an account other than the built-in local administrator account, you may see the following security alert dialog box. You will need to make sure you are logged in as an administrator when completing all the sections below.

To upgrade to Perception 5.4: 1. Launch the installer 2. Enter the password for the installer. This password should have been sent to you by email. Please contact Questionmark if you have not received this email. 3. If a previous installation of Perception 5 is detected, the following message will be displayed. Click Yes.

4. Click Next > to start the upgrade process and follow the onscreen instructions and accept the end-user license agreement. 5. Click Next > 6. Make sure the Install Questionmark Perception Server 5.4 to textbox points to the current location where Perception 5.1/5.2 is installed. Select Browse to change this if you installed Perception in a non-default location. 7. Make sure the Install Repository Files to textbox points to where your current repository files are located. Select Browse to change this if you installed Perception repository files to a non- default location or you previously upgraded from Perception 4. 8. Click Next > to continue 9. Define the root URL/domain name that will be used to access the Perception server by selecting User Defined and entering the valid name, or select This Computer if you will be accessing Perception by using the server name. 10. Click Next > 11. Select Yes or No to determine if the server is to enable the automatic upgrade functionality for Authoring Manager, and click Next >

12. Click Install to start the upgrade process 13. Click OK on the PHP warning message, and let the installer run Once the necessary files have been added to your server, you will be prompted with the following screen:

Configure the databases and reconnect/upgrade your shared repository

Now, you need to run the configuration application (follow step 11 [Create the Main and RW databases] through step 15 [Create the database links] for details) to set up the rest of the databases, as well as reconnect and upgrade your shared repository. This can be done by navigating to the following address in the web browser of your Perception server to launch the configuration application:

http:///configuration ...where is the domain name associated with this server. Once the webpage has loaded, refer to steps for details about setting up the databases and upgrading your shared repository. When you reach the Create/modify the repository section, ensure to follow the Upgrading the shared repository section below:

It is important to ensure that the same DSN name, database login and database password for the

migrated shared repository is used, or the necessary connections to Perception identifying the shared repository will not be able to be made.

Upgrading your shared repository If you are upgrading and existing repository, you will be shown a screen similar to the following in the Create/modify the repository section of the configuration application:

To select a repository to configure: 1. From the Choose a repository list, enable the option button next to the shared repository you would like to upgrade.

You will be informed of the Selected repository version and the Required repository version.

2. Click Continue.

The following screen will be displayed. If you are accessing the configuration application locally on the server, you can click Launch SRM to load the Shared Repository Manager. If you are not logged in locally, you will need to log in to your Perception server and launch the Shared Repository Manager from: Start | All Programs | Questionmark | Perception 5.4

3. Once the Shared Repository Manager is loaded, you should see all your shared repositories listed. Select the one you want to upgrade now and click Repository Upgrade Wizard...

4. Enter the root administrator User name and Password and click OK 5. Click Next >

6. Click Stop IIS and SRS on this machine and then click Next >. It is possible to upgrade without stopping IIS or SRM, however, if participants are taking an assessment, this will result in a loss of results and could possibly lock files from being upgraded.

7. The Repository Upgrade Process screen will display showing you the progress of the upgrade. Once it has finished, you will be shown the following screen. Click Start IIS and SRS on this machine and then click Finish.

You will now be taken back to Shared Repository Manager, where your repository Version should be reported as 5.4.x.x. 8. Now that the repository has been upgraded, you can continue with the process of configuring Perception by returning to your browser window and clicking Continue

9. You will be shown the following screen. In the Enter a Display Name textbox, enter a name that you would like to associate with your shared repository. This name will be shown on the screen when an administrator logs into Enterprise Manager.

10. Click Continue. You will be presented with a success screen and asked to continue. For the next set of install steps, please refer to step 13 (Create the database links).

Upgrading from Perception 5.1 or 5.2 to a new server

Upgrading from Questionmark Perception 5 could involve upgrading your operating system and database. It is recommended that you:  Create a new server running Windows Server 2008, making sure that the server meets the system requirements  Migrate your shared repository to SQL Server 2008 or Oracle 11g Once you have completed the above follow the steps below.

For more information about migrating the database, please refer to the links provided in

Upgrading from a previous version of Perception. This section primarily looks at upgrading a single Perception 5 server to Perception 5.4. If you would like to change the configuration to a multi-tiered installation (the separate parts of Perception installed on individual servers), please read the following text and compare it to the installation instructions found in the rest of this install guide. The process is very similar; however, the Custom option must be chosen in the installer.

You will need to install the relevant prerequisites on the server. For information about how to install these, please refer to step 2 (Install and configure the prerequisites). Once you have setup your server ready for an install of Perception, you will need to:  Install a local copy of SQL Server 2008 or Oracle 11g  Copy the Perception 5 files and folders to your new server  Setup an ODBC connection to the database you migrated  Install Perception  Configure your databases and reconnect/upgrade your shared repository

Install a local version of SQL Server 2008 or Oracle 11g You will need to install and setup a local copy of SQL Server 2008 or Oracle 11g Edition. This will be used to store the temporary ETL database during the ETL process. For information about installing and setting up this, please refer to step 4 (Install a database to handle the ETL_Temp database).

Copy the Perception 5 files and folders to your new server

To successfully upgrade to Perception 5.4 on a new server, you will need to copy the following folders and their contents from your Perception 5 server to the same location on your new server:

C:\Perception5\Repositories\shared\ ...for repository files

(It may be C:\Perception4\... if you have previously upgraded from Perception 4.) You can transfer these files and folders using the most convenient method available to you (via network transfers, CD, USB, et cetera).

Set up the ODBC connection on your new server

You will need to configure an ODBC connection to your migrated Perception database on the new server. How you do this will depend on the database you are using. For further details, refer to the relevant section in step 7 (Create an ODBC connection to your shared repository database), remembering to use the details of the database you migrated. Install Perception

Once you have configured your server, copied the necessary files, and created the necessary ODBC connections, you are ready to install Perception. The Perception installer is available from the Product Downloads area of the Questionmark website. Once it has been downloaded onto the new server, the install application can be run by double-clicking the installer icon. The install application requires you to enter a password before it will install Perception Server. This password should have been sent to you by email when you downloaded the installation file. To install Perception: 1. Double-click the installer application 2. Enter the password to run the installer and click OK 3. You will be prompted with a message about upgrading from a previous version of Perception. Click Yes and continue. 4. Click Next > and follow the on screen instructions 5. Select Typical and click Next > 6. Choose a location where you want to install Perception 5 to. The default location is: C:\Program Files\Questionmark\Perception5\

7. In the Install Repository Files to text-box, select the base location of where you copied the Perception Version 4 repository files to. For example: C:\Perception5\ 8. Click Next > to continue 9. If this server is to be accessed externally, enter the valid URL for the web server by selecting the User Defined option box and entering the appropriate domain name in the textbox. Otherwise, select This Computer. 10. Click Next > 11. Click Install to begin the installation. 12. A warning will be displayed indicating that PHP will need to be installed before the application will be functional. Ensure you have completed the steps indicated in the section Installing PHP, and click OK.

13. Once the installer has finished copying the necessary files and configuring your system, you will be presented with the following screen. Disable the Learn more about Perception Server online and Launch Questionmark Configuration Application checkboxes and click Finish. Refer to the following section for instructions on upgrading your repository.

Configure the databases and reconnect/upgrade your shared repository

Now, you need to run the configuration application (follow step 11 [Create the Main and RW databases] through step 15 [Create the database links] for details) to set up the rest of the databases, as well as reconnect and upgrade your shared repository. This can be done by navigating to the following address in the web browser of your Perception server to launch the configuration application:

http:///configuration

...where is the domain name associated with this server. Once the webpage has loaded, refer to steps for details about setting up the databases and upgrading your shared repository. When you reach the Create/modify the repository section, ensure to follow the Upgrading the shared repository section below:

It is important to ensure that the same DSN name, database login and database password for the

migrated shared repository is used, or the necessary connections to Perception identifying the shared repository will not be able to be made.

Upgrading your shared repository If you are upgrading and existing repository, you will be shown a screen similar to the following in the Create/modify the repository section of the configuration application:

To select a repository to configure: 1. From the Choose a repository list, enable the option button next to the shared repository you would like to upgrade.

You will be informed of the Selected repository version and the Required repository version.

2. Click Continue.

The following screen will be displayed. If you are accessing the configuration application locally on the server, you can click Launch SRM to load the Shared Repository Manager. If you are not logged in locally, you will need to log in to your Perception server and launch the Shared Repository Manager from: Start | All Programs | Questionmark | Perception 5.4

3. Once the Shared Repository Manager is loaded, you should see all your shared repositories listed. Select the one you want to upgrade now and click Repository Upgrade Wizard...

4. Enter the root administrator User name and Password and click OK 5. Click Next >

6. Click Stop IIS and SRS on this machine and then click Next >. It is possible to upgrade without stopping IIS or SRM, however, if participants are taking an assessment, this will result in a loss of results and could possibly lock files from being upgraded.

7. The Repository Upgrade Process screen will display showing you the progress of the upgrade. Once it has finished, you will be shown the following screen. Click Start IIS and SRS on this machine and then click Finish.

You will now be taken back to Shared Repository Manager, where your repository Version should be reported as 5.4.x.x. 8. Now that the repository has been upgraded, you can continue with the process of configuring Perception by returning to your browser window and clicking Continue

9. You will be shown the following screen. In the Enter a Display Name textbox, enter a name that you would like to associate with your shared repository. This name will be shown on the screen when an administrator logs into Enterprise Manager.

10. Click Continue. You will be presented with a success screen and asked to continue. For the next set of install steps, please refer to step 13 (Create the database links).

Advanced information

This section includes optional installation steps, like instructions on configuring Perception to use SSL or restricting access to Perception, and information on other topics, such as licensing Perception and instructions on how you can create the virtual directories that Perception requires yourself. This section includes the following pages:  ADV1. Licensing Perception  ADV2. Language packs  ADV3. Running from behind a firewall  ADV4. Folder permissions for Perception  ADV5. Create the virtual directories manually  ADV6. Configure Perception to use SSL  ADV7. Restrict access to Perception  ADV8. Uninstalling Perception  ADV9. Additional scalability recommendations for high- volume installations  ADV10. Using a non-English version of Windows Server 2008

ADV1. Licensing Perception

When you install Perception, a license file (.qmlicense) is included that will allow you to use the product for evaluation purposes for up to 14 days. If you wish to continue using Perception after this time, you will need to obtain a valid license file. This can be a permanent license if you have purchased the software or an extended evaluation license if you wish to continue evaluating the product. Licenses are issued by Questionmark and are created individually for each installation. If your license has expired, or is nearing its expiration period, you can contact Questionmark Customer Services to obtain an extended evaluation license. Once this has been done, you can download the extended evaluation license file by using Enterprise Manager. Instructions on how to do this are provided below. If your license is permanent, you can follow a simple activation procedure which identifies your license with your Perception server. Click on the Activate a license section below to expand it and view instructions on activating your license. If you have any difficulty downloading or activating your license, please contact our Technical Support team. Contact details are provided in the Contact Us section of the Questionmark website. This section covers the various licensing requirements for Perception. Click on the relevant link to expand that section and view its contents:

Download a license file To download a license file you must be the Root Manager or Senior Administrator on your Perception system. There are two methods for downloading a license file. You can:  Download a new or extended evaluation license file  Manually retrieve a license if your Perception system does not have access to the internet

Download a new or extended evaluation license file

To download a new or extended evaluation license: 1. Login to Enterprise Manager as the Root Manager user. If you have not yet changed them, use the default name Manager and the password Secret to log in. 2. Select the Settings tab, click Server Settings. followed by Update License.

3. Click Download New License

4. The Questionmark Communities login screen is displayed 5. Log in to Questionmark Communities. If you have not yet registered for a Communities account, click Register. Questionmark Communities is the system that identifies you with Questionmark. You use the same login details as you would normally use to download software and access the Product Support site to access Communities. If this screen is not displayed, Enterprise Manager was unable to download the license file from the Questionmark Licensing Server. Refer to the Manually retrieve a license section. If:  You are associated with more than one possible license to download because your organization has more than one license, you are given a choice of which license to download. Please ensure that you download the correct license. Contact your System Administrator if you are not sure about which license to download.  You are not associated with an appropriate license, a warning message will be displayed and Questionmark will contact you to discuss an extension license. You can also contact Questionmark directly, or associate yourself with a license by using Authoring Manager if you already know the license ID. 6. Details of the replacement license are displayed. If you are satisfied that you want to download the license file, click Proceed. A replacement license file will be downloaded to the Perception license file directory, and the existing license file will be replaced. The license applies to all parts of Perception, including:  The participant-facing software  The Shared Repository Manager  The Shared Repository Service  QMWISe 7. Activate your license file. For instructions on how to do this, refer to the Activate a license section of this page.

Manually retrieve a license

If your server does not have a connection to the internet, then Enterprise Manager isn't able to download the license file directly to the server. In this case, you see a screen similar to the one below:

You can:  Send an email to Questionmark to ask for your license file to be emailed to you To do this: 1. Click Send an email to Questionmark to ask for your license file 2. Click Proceed. Your email application will start and, if you have an active email service, you can send the email. Questionmark will then email your license file back to you. If you don't have an active email service on your server, you can send an email message using another PC to [email protected]. Include any relevant details in your email. Questionmark will reply with an email that includes an attached license file. You should then save the license file to the \Program Files\Questionmark\Perception5\server folder.  Paste in the "license key" that has been emailed to you To do this: 1. Click Paste in license details received by email from Questionmark in the box below 2. Locate and open the email that Questionmark has sent 3. Locate and copy the entire license key 4. Paste the license key into the text box 5. Click Proceed The process of downloading your license file is complete. Now you need to activate your license file. Proceed to the Activate a license section of this page for instructions on how to activate your license.

Activate a license

Permanent license files need to be activated, otherwise Perception will not deliver assessments. A license file will only work with the particular Perception server it was issued for. The Perception server is identified by:  The directory in which session. is held  The IPV6 Machine ID of the server If either of these change, you will need to re-activate your license file. To do so, you must first deactivate your license file and then reactivate it in the new location. If you don't deactivate your license file first, you will not be able to reactivate your license file and will need to contact Questionmark Technical Services for assistance. You can activate a license for Tryout use, which allows a limited number of participants on a Tryout or Development server, or Production use, which gives you full license capabilities. For Production licenses, you are only allowed a limited number of activations (often only one Tryout and one Production server), so please be careful not to activate a server inappropriately, or mistakenly activate a Tryout server as a Production server. If you activate a server in error, please contact Questionmark Technical Support for assistance in de-activating it. There are two ways to activate a server:  Automatically, using the internet  Manually, using an activation file

Automatically activate your license

The automatic approach to activating the license requires a connection to the internet from your Perception server.

Before you can automatically activate your account you need to access session.php. The easiest

way to do this is to navigate to the open login page for the participants in a web browser. A typical address for the open login page is:  http:///perception5/open.php ...where is the name of your Perception server.

To automatically activate your license file: 1. Login to Enterprise Manager as an administrator 2. Select the Settings tab, and click Server Settings 3. Click Update License 4. Click Activate Current License

5. The Activate Servers screen is displayed.

This lists the Machine Name, Questionmark Server ID, Activation Expiration date, and Activation Status (which shows that the server is Unactivated) of the servers on your system. 6. Select Tryout or Production from the Activation Status drop-down list, depending on the license file you want to activate. 7. Enter your Communities email address and password, and click Activate. If successful, the success message will be displayed. If this screen is not displayed, Enterprise Manager was unable to contact the server you are running Perception on. Refer to the Manually activate a license file section of this page for an alternative method.

Manually activate a license file

If you don't have an internet connection to the server you are running Perception on, and you are attempting to activate your license file, Enterprise Manager will display the Manual Activation screen.

You can manually activate your server license if your Perception server:  Has email capability or  Is connected via a network to a PC that has email capability or  Can have the data transferred to or from it by floppy disk, CD, USB Flash drive, or other medium, from a PC that has email capability. To manually activate your server license: 1. Click here to download the Activation Request File The File Download screen is displayed.

2. Click Save to store the Activation File and choose a convenient location to keep it 3. Click Save. The Activation file, request.qmActivateR, will download to the selected location. 4. Click Close

5. On the Manual Activation screen, click Click here to automatically create the email message to be sent to Questionmark In your email client, the New Message screen is displayed:

6. Click Attach (or equivalent command) and attach the request.qmActivateR file 7. Click Send. Questionmark will receive and process the Activation Request email you sent and reply with an email that has an activation file attached. To activate your server license: 1. Open the email from Questionmark

2. Right-click on the attached Activation file (for example, Customer.qmActivate) 3. Click Save As. Navigate to a convenient location on the server where your Perception installation is located.

4. Click Save to store the Perception Activation file on the machine where your Perception installation is located 5. In Enterprise Manager, click Update License 6. Click Activate Current License. You then see a screen similar to the one below, which displays the Machine Name, Questionmark Server ID, Activation Expiration date, and Activation Status (which shows that the server is Unactivated):

7. Click Browse

8. Navigate to and select your Activation file (for example, Customer.qmActivate) 9. Click Open 10. Click Finish. Your license is now activated. If you have any difficulty downloading or activating your license, please contact our technical support team for assistance.

ADV2. Language packs

If you are installing Perception on a non-English version of Windows, or you intend to use multiple languages, it is important that you ensure your system has the relevant language packs/translation tables installed so that the relevant code pages (as used by Perception and translated languages) are available to the system. Installing the appropriate language pack will stop characters from being displayed incorrectly.

Installing language packs for Windows Server 2008 and R2

The language packs can be obtained from the Microsoft Download Center. Be sure to download and install the relevant language pack for your operating system. For example there are separate language packs for Windows Server 2008 and Windows Server 2008 R2, just as there are different language packs for the x86 and x64 architectures. The language packs for these operating systems are grouped:  Group 1 (English, German, Japanese, French, Spanish)  Group 2 (Chinese Simplified, Chinese Hong Kong, Korean, Portuguese (Brazil))  Group 4 (Italian, Russian, Portuguese (Portugal), Dutch, Swedish)  Group 5 (Polish, Turkish, Czech, Hungarian)  Group 6 (Arabic, Danish, Norwegian, Finnish, Hebrew, Greek, Thai, Ukrainian, Romanian, Slovakian, Slovenian, Croatian, Serbian Latin, Bulgarian, Lithuanian, Latvian, Estonian) To ensure the language compatibility if, for example, you are working with English and Arabic, you would need to install the group 1 and group 6 languages packs. Please search the Microsoft Download Center for the relevant language packs and refer to the install documentation for details about how to apply them to your server. Another thing to be aware of is the renamed users in Windows. For further information, refer to the following Knowledge Base article: What should I be aware off when installing on a non-English operating system? www.questionmark.com/perception/help/v5/knowledge_base/getting_started/installing_perception _server/install_ps528.aspx

ADV3. Running from behind a firewall

If Perception will be run from behind a firewall and be expected to be accessed from outside the firewall via the internet you will need to ensure you follow the steps described in the following sections:

 Accessing the Shared Repository Service The authoring server runs as a service via TCP/IP. You can control it by modifying the configuration file. You can, for example, change the port setting or use HTTP instead of TCP. This file is named RepositoryService.exe.config. If you installed Perception in the default location, the file will be located in the following directory: C:\Program Files\Questionmark\Perception5\Shared Repository Service\bin You can also edit this file by using Shared Repository Manager. Refer to the Shared Repository Manager Help for instructions on how to do this. If Perception will be run behind a firewall, you need to modify "RepositoryService.exe.config" as follows. 1. Locate the following line in the file: 2. Change the line so that it reads the following:

...where machine.yourdomain.com is the full name of your server (please note this is case-sensitive). This setting will configure the Shared Repository Service so that it returns an endpoint URL starting with tcp://:7800. This URL can then be used by external clients such as Authoring Manager to call the server. 3. Save your changes 4. Open Shared Repository Manager and click Restart the Shared Repository Service.

 Configuring the entry point URLs for QMWISe If using or creating a third-party application that accesses Perception through the QMWISe web services, certain entry points are used by the application to access Enterprise Manager, assessments, assessment lists, and reports. If the Perception server is setup behind a firewall and the third-party application accessing Perception is not, the entry point URLs will need to be updated to point to the external address of the firewall and the firewall will need to have an allow rule created resolves to port 80 on the Perception Server. Once the allow policy has been enabled, the various URLs used to access Perception will need to be updated to the external address of the firewall so that communication is not blocked. The URLs that need to be amended in the Server Settings are:

Setting Description QMWISe Specifies the server address for QMWISe if it is hosted on a separate server than the Server Perception server. This should be the server name as viewed by a client browser running on a separate PC outside of the firewall.

Setting Description Perception Specifies the server address for the Perception server Server QABS Server Specifies the server address of QABS if it is hosted on a separate server from the Perception server QPLA Server Specifies the server address of QPLA if it is hosted on a separate server from the Perception server Repository Specifies the server address of the repository if it is hosted on a separate server from the server Perception server Perception Defines the URL of the Perception PHP used by QPLA. This setting is usually only URL necessary when an advanced installation of Perception is used. System Specifies the folder location of where all the System files are stored on the Perception folder Server for QPLA (This is only necessary if you have manually installed Perception in a multi-tiered environment.)

The server settings for the above settings may be the same if installed on a single server or they may be the settings for several servers if you installed Perception in a multi-tiered environment. To change the entry point URLs in Enterprise Manager: 1. Navigate to Administration | Server Management | Server Settings 2. Scroll down to the Global Settings section and locate the settings mentioned in the table above 3. Update each of the entry point URLs to point to the external address of your Perception server:

E.g.: http://ext.firewall.address.xyzcompany.com/ 4. Click Save & Exit to update the settings

 Configuring Questionmark to Go to work behind a firewall When using Questionmark to Go to return results back to a server behind a firewall, ensure that you have created an allow rule on your firewall host pointing to port 80 on the Perception Server. Once the allow policy has been enabled the Perception Server needs the QMWISe Server and the Perception URL settings in the Server Settings to be updated to allow the .qm2go files to resolve back to the firewall instead of the internal address for the Perception server. To change the setting in Enterprise Manager: 1. Navigate to Administration | Server Management | Server Settings 2. Scroll down to the "QMWISE Server setting":

http://ext.firewall.address.xyzcompany.com/QMWISe5/QMWISe.asmx 3. Update the QMWISe Server with the external address of your Perception Server or the QMWISe Server if you are running the service on a separate server. 4. Locate and modify the Perception URL field to point to the external address of your Perception Server:

http://ext.firewall.address.xyzcompany.com/

5. Click Save & Exit The settings have now been changed and made available to the server.

ADV4. Folder permissions for Perception

The folder access rights required for Perception are automatically set during installation. This section provides details about the access rights set by the installer and is intended for users who may require this information if they are working within a "locked-down" environment or want to set the access rights manually. The following default folders are created/used by Perception:  A - Installation folder (Default: C:\Program Files\Questionmark\Perception5 and all sub- folders)  B - Repository folder (Default: C:\Perception5\Repositories\shared and all sub-folders)  C - COM and DLLs folders ( C:\Program Files\Common Files\Questionmark)  D - If QPLA is installed independently (Default: C:\Program Files\Questionmark\Perception5\QPLA)  E - Windows temporary folder, for Enterprise Manager (C:\WINDOWS\Temp)  F - .NET Temp folder (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files)  G - Portal folder, if installed independently (Default: C:\Program Files\Questionmark\Perception5\Portal)  H - People folder, if installed independently (Default: C:\Program Files\Questionmark\Perception5\People)  I - Questionmark Analytics folder, if installed independently (Default: C:\Program Files\Questionmark\Perception5\Analytics)  J - The Analytics ETL service, if installed independently (Default: C:\Program Files\Questionmark\Perception5\Analytics\ETL) The following table highlights which permissions should be applied to each of the above folders:

Folder Full Modify Read & List folder Read Write Special Control execute contents permissions

A - IUSR X X X X X X SYSTEM X X X X X X Administrators X X X X X X Users X X X IIS_IUSRS X X X X X X

B - SYSTEM X X X X X X Administrators X X X X X X Users X X X X

Folder Full Modify Read & List folder Read Write Special Control execute contents permissions

IUSR X X X X X X IIS_IUSRS X X X X X X

C - IUSR X X X SYSTEM X X X X X X Administrator X X X X X X IIS_IUSRS X X X X X X Users X X X

D - IUSR X X X X X X SYSTEM X X X X X X Administrators X X X X X X Users X X X IIS_IUSRS X X X X X X

E - IUSR X X X X X X SYSTEM X X X X X X Administrators X X X X X X Users X X X IIS_IUSRS X X X X X X

F - SYSTEM X X X X X X Administrators X X X X X X Users X X X IIS_IUSRS X X X X X X CREATOR OWNER X TrustedInstaller X X

G -

Folder Full Modify Read & List folder Read Write Special Control execute contents permissions

IUSR X X X X X X SYSTEM X X X X X X Administrators X X X X X X Users X X X IIS_IUSRS X X X X X X

H - CREATOR OWNER X SYSTEM X X X X X X Administrator X X X X X X Users X X X TrustedInstaller X X

I - CREATOR OWNER X SYSTEM X X X X X X Administrator X X X X X X Users X X X TrustedInstaller X X

J - IUSR X X X X X X SYSTEM X X X X X X Administrators X X X X X X Users X X X IIS_IUSRS X X X X X X

The following Special Permissions need to be applied where indicated above:

Special IUSR IIS_IUSR Trusted - CREATOR Administrator Users System permission Installer OWNER Full control X X X X Traverse folder / X X X X X X X execute file

Special IUSR IIS_IUSR Trusted - CREATOR Administrator Users System permission Installer OWNER List folder / read X X X X X X X data Read attributes X X X X X X X Read extended X X X X X X X attributes Create files / write X X X X X X data Create folders / X X X X X X append data Write attributes X X X X X X Write extended X X X X X X attributes Delete subfolders X X X X X X and files Delete X X X X X X Read permissions X X X X X X X Change X X X X permissions Take ownership X X X X

All the above permissions need to be propagated through to all subfolders and files.

ADV5. Create the virtual directories manually

When you run the Perception installer, the default web shares required by Perception will be automatically created. However, users can make their own virtual directories manually, provided they match the default ones. To create the web shares manually, you will need to create some virtual web directories that are assigned to sub-directories of the Perception installation folder. These directories can then be shared to provide entry points to Perception. For example, if your web site URL is example.com, you might want to access perception.php as follows:

http://example.com/assessments/perception.php For this web entry point to function, you must tell the web server that the web share name (virtual directory name)/assessments maps onto the directory in which you have installed QPLA. The following table outlines the default web shares and their access requirements.

Default physical directory Default web share HTTP Default AppPool name Acces s need ed C:\Program qabs Read Questionmark.QABS Files\Questionmark\Perception5\QABS\ and Scripts C:\Program em5 Questionmark.Perception Files\Questionmark\Perception5\EM\ Read and Scripts

C:\Program Files\Questionmark\Perception5\ perception5 Read Questionmark.QPLA QPLA\runtime\ C:\Program Files\Questionmark\Perception5\ OpenAuthoring5 Read Questionmark.Perception OpenAuthoring\ and Scripts C:\Perception5\server\PLMS\packages\ qm2golms5 Read Questionmark.Perception and Scripts C:\Program qmwise5 Read Questionmark.Services Files\Questionmark\Perception5\QMWISe\ and Scripts C:\Program Files\Questionmark\ scooringtool5 Read Questionmark.Perception Perception5\ST\ and Scripts C:\Program analytics Read Questionmark.WebApplic Files\Questionmark\Perception5\Analytics\ and ations ReportingWeb\ Scripts

Default physical directory Default web share HTTP Default AppPool name Acces s need ed C:\Program analyticsservice Read Questionmark.WebServic Files\Questionmark\Perception5\Analytics\ and es ReportingService\ Scripts C:\Perception5\server\emtemp\ChartImages\ ChartImages Read Questionmark.Perception and Scripts C:\Program Files\Questionmark\Perception5\ configuration Read Questionmark.Configurat Configuration\Website\ and ion Scripts C:\Program Files\Questionmark\Perception5\ configurationservice Read Questionmark.Configurat Configuration\Service\ and ion Scripts C:\Program etlconfigurationservic Read Questionmark.WebServic Files\Questionmark\Perception5\Analytics\ e and es ETLConfigurationService\ Scripts C:\Program identity Read Questionmark.WebApplic Files\Questionmark\Perception5\People\ and ations OpenIdProvider\ Scripts C:\Program perceptionidentityma Read Questionmark.Services Files\Questionmark\Perception5\People\ nager and PerceptionIdentityManager\ Scripts C:\Program perceptionidentitypro Read Questionmark.Services Files\Questionmark\Perception5\People\Identi vider and tyProvider\ Scripts C:\Program portal Read Questionmark.WebApplic Files\Questionmark\Perception5\Portal\ and ations Scripts C:\Program peopleidentitymanag Read Questionmark.Services Files\Questionmark\Perception5\People\ er and PeopleIdentityManager\ Scripts C:\Perception5\Repositories\Shared\\content name>_con C:\Perception5\Repositories\Shared\\resources name>_res C:\Perception5\Repositories\Shared\\system name>_sys C:\Perception5\Repositories\Shared\ \togo name>_togo and Scripts

You can create your own web shares, naming them as required. However, the virtual directories will need to be directed to the physical directories highlighted in the table and be assigned the necessary access permissions. The web share will also need to be associated with a corresponding Application Pool. The following table contains the default application pool configuration information:

Name .NET Framework Managed Pipeline Identity DefaultAppPool v2.0 Integrated ApplicationPoolIdentity Questionmark.Configuration v4.0 Integrated NetworkService Questionmark.Perception v2.0 Classic NetworkService Questionmark.QABS v2.0 Classic NetworkService Questionmark.QPLA N/A Classic NetworkService Questionmark.Services v2.0 Integrated NetworkService Questionmark.WebApplications v4.0 Integrated NetworkService Questionmark.WebServices V4.0 Integrated NetworkService

To create the required Application pools: 1. Open IIS Manager 2. In the Connections pane, expand the Server node in the tree, and then click Application Pools 3. Click Add Application Pool... from the Actions menu on the right 4. Enter a name for the Application Pool in the Name text-box 5. Selected the desired .NET Framework version from the drop-down list 6. Select the required Managed pipeline mode from the drop-down list 7. Enable the Start application pool immediately checkbox 8. Click OK To create the web shares manually in IIS 7, complete the steps below: 1. Open IIS Manager 2. In the Connections pane, expand the Sites node in the tree, and then click Default Web Site. 3. In the Actions pane, click View Applications 4. On the Applications page, in the Actions pane, click Add Application 5. In the Add Application dialog box, type a name of the web share in the Alias text-box. This alias is used to access the content from a URL. 6. Click Select next to the Application pool text-box 7. From the Application pool drop-down list, select the adequate pool and click OK 8. In the Physical path text-box, type the physical path of the content folder, or click Browse(...) to navigate through the file system to find the folder 9. Select the Application user (pass-through authentication) option in the Connect As dialog box 10. Click Test Settings to verify the settings that you specified for the virtual application 11. Click OK

ADV6. Configure Perception to use SSL

Once you have installed Questionmark Perception and confirmed it is working, you may want to enable SSL on the server so that all communication coming from and to the server is encrypted. If your Perception server is handling the SSL communication directly, then you should follow the procedure set out here:

Enable SSL in IIS How you set up your certificate may differ slightly based on your SSL certificate provider. Please refer to the relevant documentation available from your certificate reseller and Microsoft. Once you have installed the certificate and created the relevant HTTPS bindings, please continue the process documented below.

Configure the URLs for the portal and service layer 1. On your Perception server, launch a web browser and navigate to the configuration application:

http:///configuration ...where is the domain or server name where Perception was installed. 2. Click Configure Environment (it will read Redo: Configure Environment if you've already configured Perception)

3. In the Enter the portal address: field, update the details for the portal server by modifying the address to include https rather than http where necessary and making sure the address matches the one created for your SSL certificate

4. In the Enter the service layer address: field, update the details for the service layer server so that it is accessed via the special loopback IP address, e.g., http://127.0.0.1. Note that the service layer server continues to operate using http, but it should be configured so that it is not accessible on the network. We recommend following a similar procedure to that described for securing the QABS service, explained in ADV7. Restrict access to Perception.

5. Click Configure 6. Once the changes have been made, you can exit the configuration application

Configure the virtual directories in IIS 1. Launch IIS and open the "Sites" folder tree 2. Open the "Default Web Site" folder tree 3. Select em5 4. Double-click SSL Settings 5. Enable the Require SSL checkbox 6. Click Apply 7. Repeat steps 3 to 6 for the following virtual directories:  analytics  ChartImages  configuration  identity  OpenAuthoring5  perception5  portal  qm2golms5  qmwise5  scoringtool5  _con  _res  _togo ...where in the name you set when creating your shared repository. 8. Make sure the following virtual directories do not have SSL enabled:  analyticsservice  configurationservice  etlconfigurationservice  peopleidentitymanager  perceptionidentitymanager  perceptionidentityprovider  qabs 9. Select the identity virtual directory 10. Double-click Application Settings 11. Change the ForceHttps setting to True 12. Repeat steps 9 to 11 for the portal virtual directory You can also:

Enable SSL for Enteprise Manager If you want to enable SSL for Enterprise Manager only, so that all communication to and from Enterprise Manager is encrypted, follow the following steps: 1. Configure your Perception server (or the server on which Enterprise Manager is installed) for SSL 2. Launch Internet Information Services (IIS)

3. Expand the Default Web Site folder tree 4. Select em5 5. Double-click SSL Settings 6. Check the Require SLL checkbox 7. Click Apply 8. Use https:// with your Enterprise Manager URL Update the server settings to use HTTPS

You will need to change the Server Settings to use HTTPS and the qpla.ini file. To update the Server Settings: 1. Login to Enterprise Manager using a user who has permissions to modify the server settings 2. Navigate to Administration | Server Management | Server Settings 3. Navigate to the following setting:  Perception Server (it can be found in the Server Settings | Global Settings section) 4. This setting will need to be updated to contain the address of the Perception server. This could be the computer name, for example, if you are running it on an internal intranet, or a valid domain name if you intend participants to access Perception via the internet. If you want to use SSL, enter the address name using HTTPS. For example:  https://MyPerceptionServer or https://questionmark.com If you intend to run your HTTPS connection through a particular port in IIS, then this can be added by appending a colon (:) followed by the port number. For example:  https://MyPerceptionServer:8081 5. Repeat step 4 for the following two settings, also in Global Settings:  QPLA Server - set this to the same HTTPS URL you used in step 4  Repository Server - set this to the same HTTPS URL you used in step 4 6. Set the QABS Server setting, also in Global Settings, to the HTTP (not HTTPS) URL of the server. For example:  http://MyPerceptionServer 7. Click Save and Exit to apply the changes

ADV7. Restrict access to Perception

It is recommended that you restrict access to certain parts of Perception. This is intended to improve security, but is only required if you are allowing general access to the server(s) hosting Perception. The process involves limiting access to certain web shares so that no one can interfere with the services that are run.

Before you proceed to the section below and carry out the steps to restrict access to Perception's

web shares, you must first run the configuration application again and set the base service address to http://127.0.0.1. To do this: 1. Open the configuration application by navigating to http://localhost/configuration 2. Click Redo Configure Environment 3. In the Enter the service layer address: text field, enter http://127.0.0.1 4. Click Configure 5. Click Return to choices and then exit the configuration application

Please follow the steps below in IIS 7 to restrict access to the relevant web shares on your Perception server: 1. To open IIS Manager, go to All Programs | Administrative Tools | Internet Information Services (IIS) Manager 2. Expand Sites in the side menu and then expand Default Web Site 3. Click on the qabs virtual directory 4. Double click the IPv4 Address and Domain Restrictions icon 5. Click on Edit Feature settings in the Actions menu 6. Change the Access for unspecified clients drop-down list to Deny and click OK 7. Click Allow Entry... in the Actions menu 8. Select the Specific IPv4 address option button and enter the IP address of your QPLA server. Repeat the process if you have more than one server.

If you have installed Perception on a single server (as with this installation type), you will need to add two IP addresses by repeating the above steps. The IP addresses you will need to add are:  127.0.0.1  The IP address of the server You should have something similar to the following listed.

Now only the communications coming from the QPLA tier can be passed to the QABS virtual folder. 9. Repeat the above steps for the following virtual folders:  analyticsservice  configurationservice  etlconfigurationservice  peopleidentitymanager  perceptionidentitymanager  perceptionidentityprovider

AVD8. Uninstall Perception

You can uninstall Perceptionby using the Windows Add/Remove Programs feature in Windows. The uninstall application removes:  The Questionmark COM DLLs  The Perception Server Start Menu shortcuts  The Perception Presentation tier All Perception files installed on your system will be removed, except for a few data files which are retained in case you need them. Delete these manually if required.

If any files were manually added to the Perception installation directory tree, after Perception Server was installed, these will not be removed by the installer, nor will the directory tree in which they reside be removed. Most commonly, a file added to the Perception directory tree will be a new license file with a .qmlicense extension added to the \Perception5 directory. In addition, the DSNs and web shares created by the Perception installation program will not be removed by the uninstall application. You will need to remove these manually. If your Perception installation referenced a repository in a SQL Server or Oracle database, the repository will not be removed by the uninstall application. To uninstall Perception Server: 1. Before starting the uninstall process, make sure that you perform a backup of any data or files that you want to keep. Files you may want to keep could include the Perception database (repository) files, template files that you have created, or any resources (graphics or multimedia) files that you have placed in the \resources\ directories. 2. On the server where Perception is installed, open the Control Panel, and under Programs, select Uninstall a program 3. Select the entry for Perception Server and click Uninstall 4. Click Yes to confirm that you want to uninstall Perception 5. Once Perception has been uninstalled, open IIS and remove the Perception web shares 6. Use the ODBC Administrator to remove the Perception Server system DSNs 7. Manually delete the remnants of the Perception installation directory tree Perception is now completely removed from your system.

ADV9. Additional scalability recommendations for high-volume installations

This section includes contains additional recommendations that you should follow when installing Perception for high-volume scenarios. The following sections are included:  Assessment block and question block caching  ASP.NET configuration  FastCGI  Oracle configuration  Participant and QABS affinity  Expensive features that should be avoided in high-volume scenarios Assessment block and question block caching

Caching significantly improves the scalability of Perception as it allows the system to construct the assessment from the database once and then reuse it for multiple participants. You should enable both of these caching types in Enterprise Manager's Server Settings page (see below). When an item expires (cache duration), it is removed from the cache and future requests for the assessment will be served from the database and the cache will then be reloaded. Under high-load scenarios, this could be triggered by a large number of concurrent users, which will impact load times. Therefore, it is recommended that you set the cache durations in the region of 1 hour to 1 day to reduce the number of times assessments need to be constructed. To do this: 1. Login to Enterprise Manager 2. Click the Administration tab 3. Click Server Management 4. Click Server Settings 5. In the Cache Settings section, check the Assessment Block cache and Question Block cache options

6. Set the Assessment Block cache duration and Question Block cache duration values to values in the region of 1 hour to 1 day

ASP.Net configuration

As of .NET 3.5 SP1, you should add the following XML to: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet.config

FastCGI

In step 3 (Configure PHP), it is recommended that the Max Instances FastCGI setting "be set to 10 times the number of processors you have on the server." For example, if your server has a quad-core CPU (4 processors), then you would enter 40 as the Max Instances value. The correct value is dependent on your hardware and, during load testing, you may find that a higher value achieves greater concurrency. Oracle configuration

In high-load scenarios, the following two tables experience high volumes of inserts and can become contention points; due to this, should be proactively managed.

P_Progress2 table

This table contains the progress of a participant's exam. There are 6 BLOBS in this table:  RAWACTIVEBLOCK  BLOCKHISTORY  STATICSERVERVARIABLES  DYNAMICSERVERVARIABLES  TOPICSCORES  SAVEDANSWERS The size characteristics of these BLOBS will depend on the structure and features enabled in your assessment(s), but they can become very large. Analyze the Automatic Database Diagnostic Monitor (ADDM) reports in Oracle's Enterprise Manager during load testing and consider modifying the table configuration based on its recommendations, e.g., adding Freelists, adding Extents, and moving the LOBS into a separate Tablespace, and so on.

A_Answer table

This table contains a participant's answers and therefore a row will be inserted for each question in an exam. The number of rows in a table = Number of Participants x Number of Questions in the assessment Analyze the Automatic Database Diagnostic Monitor (ADDM) reports in Oracle's Enterprise Manager during load testing and consider modifying the table configuration based on its recommendations. Th A_Answer table also has a number of indexes that are used for reporting that should be proactively managed.

Participant and QABS affinity

The repository's P_MessageCache table stores the serialized QABS response so that it can be accessed by multiple QABS servers in a load-balanced environment. If you have decided to install QABS and QPLA on the same server (referencing QABS by localhost or 127.0.0.1) and your participant-facing load balancer supports session affinity, then you can create an affinity between QABS and the participant, removing the need for the P_MessageCache feature. If you have created an affinity between QABS and the participant, then you can disable this feature by setting multipleServers="False" in the adsSettings section of the ServerSettings.config file.

Expensive features that should be avoided in high-volume scenarios

Question randomization

As explained in Assessment block and question block caching, question block caching is an extremely important scalability feature. However, question blocks that contain question randomization are not cached and therefore have a significant (and negative) impact on scalability.

Features that rely heavily on the P_Progress2 table

The following features rely heavily on the P_Progress2 table:  Assessment feedback  Results Review Assessment  Save As You Go Under high load this table can become a point of contention (see the P_Progress2 table section), and therefore these features should be used sparingly.

ADV10. Using a non-English version of Windows Server 2008

Non-English versions of Windows Server 2008 are not supported for Perception 5.4. However, non- English versions of Windows might work with Perception after modifications to some settings, but please be aware that doing so is at your own risk. If you do decide to use a non-English version of Windows Server 2008 (or R2), such as the German version of Windows Server 2008, you will need to add a setting to the QM.ETL.exe.config file so that the ETL service functions correctly. To do this: 1. Open the QM.ETL.exe.config file on the server on which Perception is installed with an text editor, like Notepad.

By default, the location of the QM.ETL.exe.config file is:

\Program Files\Questionmark\Perception5\Analytics\ETL\QM.ETL.exe.config

2. In the section, add an app setting for ETLServerTimeZone setting:

e.g.:

...where value= is the time zone ID of the time zone where your Perception server is located.

3. Save the changes you've made to the QM.ETL.exe.config file and exit Notepad The ETL service should now function correctly.

Appendix

This appendix includes the following pages:  A1. Create the databases manually  A2. Manually link the databases  A3. Configure the SMTP service  A4. Illegal characters  A5. Troubleshooting  A6. Installation checklist  A7. Security

A1. Create the databases manually

Perception 5.4 requires several databases, as depicted in the image below:

As you can see, two databases will need to be created on your database server. These are your Main (Perception_Main) and Results Warehouse (Perception_RW) databases. A third database is also required to be installed on your Perception server, where the ETL service is installed. This third database, the temporary ETL (ETL_Temp) database, is used by the ETL service to ensure the data from the repository is correctly formatted for the Results Warehouse database. If you want to create these three databases automatically, please refer to step 11 (Create the Main and RW databases) and step 12 (Create the temporary ETL database) of this installation guide. To manually create your databases and users, you will need to:  Create the necessary database logins  Create the necessary databases  Create a relevant ODBC connection to the database from your Perception server Click on the relevant section to expand it and view instructions on creating these three databases (Perception_Main, Perception_RW, and ETL_Temp).

SQL Server 2008 In the steps below, the following example names are used to make the instructions easier to follow.

For: Example login name Example database name

Configuration and People database Perception_Login Perception_Main

Results Warehouse database Perception_RW

Temporary ETL database Perception_ETL_Temp

The steps below are intended for the creation of the new databases. They do not include the

creation of the shared repository database. If you are installing a fresh installation of Perception, you will first have to create it. For further information, refer to step 8 (Create the shared

repository database on your database server). Also, if you don't use the default names, please ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters.

To create the necessary databases manually:  Configure SQL Server authentication  Create a database login  Create the Main and Results Warehouse databases and assign them to the login  Create the temporary ETL login and database

Configure SQL Server authentication

To ensure that SQL Server is configured to provide authentication based on the SQL Server login, you will: 1. Open the SQL Server Management Studio 2. Right-click on the database server, and click Properties 3. Open the Security page 4. Ensure that the SQL Server and Windows Authentication Mode option button is selected and click OK

Create a database login

You will need to create a login for your databases to use. You will need to use the same login name for all the databases.

To do so: 1. Open SQL Server Management Studio and login with your administrator details 2. Expand the server folder in the navigation pane 3. Expand the Security sub-folder 4. Right-click Logins, and select New login... 5. Enter a name for the new login (e.g., Perception_Login) 6. Select SQL Server Authentication and enter a password 7. Disable the Enforce password expiration and User must change password at next login checkboxes 8. Select Server Roles from the Select a page navigation menu on the left 9. Enable the bulkadmin checkbox 10. Click OK to create the login Create the Perception_Main and Perception_RW databases and assign them the login

You now need to create the Main and Results Warehouse databases.

To do this: 1. Open SQL Server Management Studio and login with your administrator details

2. Expand the server folder in the navigation pane 3. Right-click Database and select New Database... 4. Enter a name for the database in the Database name text-box. For example: Perception_Main if you are creating the Configuration/People database, or Perception_RW if you are creating the Results Warehouse database. 5. Click the Browse (...) button next to the Owner text-box 6. The Select Database Owner screen displays. Click Browse... 7. Locate the user you created above and enable the checkbox next to it 8. Click OK 9. Select Options from the Select a page navigation menu of the left 10. In the Collation drop-down box, select SQL_Latin1_General_Cp1_CI_AS 11. Click OK to create the database

Create the temporary ETL_Temp login and database

In this single-server installation, the temporary ETL database (ETL_Temp) needs to be created on the same server as the ETL service, i.e., your Perception server. First, you need to create a database login. To do so: To do so: 1. Open SQL Server Management Studio and login with your administrator details 2. Expand the server folder in the navigation pane 3. Expand the Security sub-folder 4. Right-click Logins, and select New login... 5. Enter a name for the new login (E.g., Perception_Login. This should match the user you created for your SQL Server databases.) 6. Select SQL Server Authentication and enter a password 7. Disable the Enforce password expiration and User must change password at next login checkboxes 8. Select Server Roles from the Select a page navigation menu on the left 9. Enable the bulkadmin checkbox 10. Click OK to create the login Now, you need to create the actual ETL_Temp database. To do so: 1. Open SQL Server Management Studio and login with your administrator details 2. Expand the server folder in the navigation pane 3. Right-click Database, and select New Database... 4. Enter a name for the database in the Database name text-box (e.g., Perception_ETL_Temp) 5. Click the Browse (...) button next to the Owner text-box 6. The Select Database Owner screen displays. Click Browse.... 7. Locate the user you created above and enable the checkbox next to it 8. Click OK 9. Select Options from the Select a page navigation menu of the left 10. In the Collation drop-down box, select SQL_Latin1_General_Cp1_CI_AS

11. Click OK to create the database You have now created the ETL login and database.

Oracle In the steps below, the following example names are used to make the instructions easier to follow.

For: Example login name Example database name

Configuration and People database Perception_Main Perception_Main

Result Warehouse database Perception_RW Perception_RW

Temporary ETL database Perception_ETL_Temp Perception_ETL_Temp

The steps below are intended for the creation of the new databases. They do not include the

creation of the shared repository database. If you are installing a fresh installation of Perception, you will first have to create it. For further information, refer to step 8 (Create the shared repository database on your database server). Also, if you don't use the default names, please ensure you do not use illegal characters when creating your database. For more information, please refer to A4. Illegal characters.

As part of the manual process for Oracle users will need to:  Create the two schemas for the Perception_Main and the Perception_RW databases  Create the temporary ETL_Temp schema

Create the required Oracle schemas

A schema is a collection of database objects. A schema is owned by a user and has the same name as its Tablespace. Schema objects are logical structures created by users to contain, or reference, their data. You can create and manipulate schema objects using Oracle Enterprise Manager. To create the necessary user and Tablespace for your Perception schemas, we will use SQL commands. To enter SQL commands, you will need to login to SQLPLUS as an administrative user who has the appropriate permissions. For example, the SYSTEM user. To enter the SQLPLUS command line interface enter the following at a command line prompt: sqlplus system/@/ ...where: is the password associated with the SYSTEM user is the server name for your Oracle installation is the System ID for your Oracle server set during installation Once you have successfully logged in, enter the following code to generate a Role that will define the required permissions:

CREATE ROLE ; GRANT CREATE SESSION, CREATE DATABASE LINK, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE VIEW, CTXAPP TO ;

Once you have created a role, you will need to create a Tablespace and a User for that Tablespace. The User and Tablespace should use the same name (the Perception_MAIN Tablespace should have a Perception_MAIN User).

CREATE TABLESPACE LOGGING DATAFILE '/.dbf' SIZE 32m AUTOEXTEND ON NEXT 32m MAXSIZE 2048m EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE USER IDENTIFIED BY DEFAULT TABLESPACE TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON ; GRANT to ;

...where: is a set of permissions to apply to a user. For example Perception_ROLE is the name of the Database you are creating. For example, Perception_Main or Perception_RW. is the physical file where the Tablespace data will be stored. is the username associated with the Tablespace above. This needs to be the same as the Tablespace. For example, if you are creating Perception_Main, the user should also be Perception_Main. is the password assigned for the user. Please ensure you have taken a note of the passwords assigned for each Schema as this and the above details will need to be entered in the configuration application. Repeat the above process until both the Perception_Main and Perception_RW schemas are created.

Create the temporary ETL_Temp schema

Now, you need to create a schema for the ETL_Temp database. This can be done using the SQLPLUS command line to create the relevant Tablespace and User. To enter SQL commands, you will need to login to SQLPLUS as an administrative user who has the appropriate permissions. For example, the SYSTEM user.

To enter the SQLPLUS command line interface enter the following at a command line prompt: sqlplus system/@/ ...where: is the password associated with the SYSTEM user is the server name for your Oracle installation is the System ID for your Oracle server set during installation Once you have successfully logged in, enter the following code to generate your ETL_Temp schema:

CREATE TABLESPACE LOGGING DATAFILE '/.dbf' SIZE 32m AUTOEXTEND ON NEXT 32m MAXSIZE 2048m EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE ROLE ; GRANT CREATE SESSION, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE VIEW, CREATE DATABASE LINK, CTXAPP TO ; CREATE USER IDENTIFIED BY DEFAULT TABLESPACE TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON ; GRANT to ;

...where:

is the name of a role that can be assigned to a user. For example, Questionmark_Role. The role determines which permissions a user can have. is the name of the Database you are creating. For example, Perception_ETL_Temp. is the physical file where the Tablespace data will be stored. is the username associated with the Tablespace above. This needs to be the same as the Tablespace. For example, Perception_ETL_Temp. is the password assigned for the user. Please ensure you have taken a note of the passwords assigned for each Schema as this and the above details will need to be entered in the configuration application. You have now created the ETL_Temp database.

A2. Manually link the databases

You will need to link your databases to make sure that each one can view and run procedures from the other. If you have chosen not to let the configuration application link the databases for you automatically, you will need to do it manually. The links that must be created between the databases are as follows:  Results Warehouse must be linked to ETL_Temp  ETL_Temp must be linked to Repository  Perception_Main must be linked to Result Warehouse

To manually link your databases, please refer to the relevant section: SQL Server 2008 1. Using SQL Server Management Studio, connect to the server (as a database administrator) you are linking from and add a link to the server you are linking to. For example, connect to the database server hosting the Results Warehouse database (in this case, your database server) and link it to the machine hosting the ETL_Temp database (in this case, your Perception server). 2. Right-click on the server name and select New Query. Enter the code below in the query window and execute it: EXEC sp_addlinkedserver ;

...where is the database server you are linking to. In the above example, this would be your Perception server. 3. Repeat the above process to create the others links, i.e., ETL_Temp to Repository and Perception_Main to Result Warehouse

Ensure that protocols are enabled for the SQL Server instance on both servers (in SQL

Configuration Manager) to allow communication between them (e.g., TCP/IP, Named Pipes). If your Repository and Results Warehouse share a database server, you will still need to make a link to and from it to the ETL_Temp database server installed on your Perception server machine.

Oracle 11g 1. Open a command prompt 2. Use SQLPLUS to connect to the server hosting the Results Warehouse by using the details you entering when you were manually creating the Oracle databases 3. Enter the following code and execute it: CREATE DATABASE LINK StagingToDataWarehouse CONNECT TO IDENTIFIED BY USING '/'; 4. Next, execute the following code: CREATE DATABASE LINK CONNECT TO IDENTIFIED BY USING '/'; 5. Now connect to the ETL_Temp database as setup in A1. Create the databases manually by using the relevant SQLPLUS login method 6. Enter the following code and execute it: CREATE DATABASE LINK StagingToPerception CONNECT TO IDENTIFIED BY USING '/';

A3. Configure the SMTP service

You can setup your server to act as an SMTP service so that Perception can use it to send email broadcasts to participants and administrators. To do this you will need to:

Install the SMTP service If you would like to use email broadcasting, you can either setup Perception to connect to a 3rd-party email server or you can setup your own SMTP service on your computer. This section will provide instructions about how to install the SMTP service in Windows Server 2008. To install the SMTP service: 1. Click Start | Control Panel 2. Click Program and Features 3. Click Turn Windows features on or off 4. Select Features from the Server Manager menu on the left 5. Click Add Feature 6. Locate the SMTP Server entry and place a tick in the corresponding checkbox 7. A window may appear detailing other features that are required by SMTP Server; click Yes to accept these 8. Click Install to install the required features and follow the instructions on screen Configure the SMTP service If you are using the SMTP server available in IIS, you should make the changes described in this section on the server where you have installed Perception. If you are not using IIS as your SMTP server, you will need to refer to the documentation for your SMTP server for instructions. If you intend to install the SMTP server in Windows Server 2008 the following components will also be added by default.  IIS 6 Metabase Compatibility  IIS 6 Management Console To configure the SMTP service: Once installed, complete the following steps to configure SMTP email in Windows Server 2008: 1. Open Internet Information Services (IIS) 6.0 Manager 2. Select your computer from the drop-down list 3. Open the SMTP Virtual Server Properties dialog. To do so:  Expand the machinename (local computer) folder in the left-hand pane (where machinename is the name of your application server)  Right-click SMTP Virtual Server and select Properties If you cannot see the SMTP Virtual Server folder, then you do not have SMTP installed. This is included as part of the Email Services Windows component and you will need to install this before you can use the IIS SMTP server. 4. Open the Access tab and click Authentication...

5. Ensure that the Anonymous access box is ticked and click OK. This ensures that Perception can connect to the SMTP server without having to log in 6. Click Connection...

Ensure that Only the list below is selected and that the list includes the IP address 127.0.0.1 and the network IP address of the server. This ensures that only Perception server can relay mail through the application server.

To add 127.0.0.1 to the list, if it not already there, click Add... and enter the IP address. Ensure that Single computer is selected and click OK. Repeat the process to add the network IP address of the server. Click OK to return to the SMTP Virtual Server Properties dialog. 7. Click Relay...

Ensure that All except the list below is selected and that the list is empty. This specifies that all domains are authorized to use the SMTP server. If more security is required (such as with public SMTP servers), the option Only the list below should be selected, and a list of specific domains should be added, namely those domains specified in the From: email address in the Email Broadcast. For example, if you specify [email protected] in the From: email address, you should ensure that xyzcompany.com is added to the list.

Click OK to return to the SMTP Virtual Server Properties dialog. 8. Open the Messages tab

Ensure that the following boxes are not selected:  Limit message size to (KB)  Limit session size to (KB)  Limit number of messages per connection to You can restrict the above settings by selecting the relevant box, but only if you are sure that doing so will not interfere with emails sent by Email Broadcast. Click OK. 9. Open the General tab

Ensure that the IP address selected is set to (All Unassigned) and that the Enable logging box is ticked. You can click Properties to confirm the location of the log files. 10. Click Advanced...

Ensure that the (All Unassigned) IP address is configured to use TCP port 25. If it is not, select the IP address and click Edit. Enter 25 into the TCP port box and click OK. Click OK to return to the SMTP Virtual Server Properties dialog. 11. Open the Delivery tab and click Advanced... . The Advanced Delivery dialog is displayed.

Enter the fully-qualified domain name of your application server. This is the machine name plus the full domain name. If your company has a specific mail server, enter the IP address of your company's email server in the Smart host box. If your company does not have a specific mail server, leave it empty. 12. Click OK to return to the Delivery tab 13. Click OK to confirm any changes Configure Perception to use the SMTP service Once your SMTP service is ready, you will need to configure Perception with the correct details. Configuring Perception to use the email settings requires some modification of the server settings. These server settings can be modified in Enterprise Manager. To set the appropriate SMTP settings for Perception, following the instructions below: Navigate to Enterprise Manager and sign in using an administrative user 1. Click Administration | Server Management | Server settings 2. Locate the SMTP Settings in the Customer Settings sections

3. Insert the details of your SMTP server. If you are connecting to an SMTP server that requires authentication, insert the username and a password that Perception can use to send emails. If you are using the Perception server as the SMTP server as well, the user name and password is not required. However, the Default credentials checkbox should be enabled. 4. Configure the port and SSL as required, and click Save and Exit at the bottom of the page It is possible to store two sets of SMTP server details in the settings. The second set of SMTP Settings can be found in the Server Settings section under Server SMTP settings. Fill in the second set of details using a different SMTP server if required. The SMTP server setting can be switched between by un/checking the Use Customer SMTP settings checkbox.

A4. Illegal characters

You should take care when using certain characters with Questionmark. The following characters are considered "illegal" and can't be used.

Server names  _ - \ / : * ? " < > | ' "

Database names  Main (Perception_Main): - \ / : * ? " < > |  Result Warehouse (Perception_RW): - \ / : * ? " < > |  Temporary ETL (Perception_ETL_Temp): - \ / : * ? " < > |

Database login credentials

SQL Server

 Login for databases (Perception_Login): - \ |  Password for databases: - ' " (don't use together)

Oracle

 The only accepted characters for database (i.e., Perception_Login) usernames are: a-z, A-Z, 0- 9, _ (underscore), #, and $  Passwords for databases: = ; , / " @ For application-specific illegal characters, please refer to the following Knowledge Base article: What special character and encoding restrictions does Perception have?

A5. Troubleshooting

The following section describes various troubleshooting options that may come in useful when installing Questionmark Perception:

Issue Troubleshooting steps

When I click login the page The likely reason behind this is that Windows Server AppFabric is not just refreshes but does not appropriately configured/running on your server. You should check that allow me to enter Enterprise you have completed the steps on the following steps in the installation Manager or I get shown an process that relate to AppFabric: 82002 error.  2. Install and configure the prerequisites  7. Configuring AppFabric If you have carried out these steps but are unsure if they were successfully completed, try running the following command from the AppFabric instance of PowerShell: Get-Cache Is the "questionmark" cache present? If it is present, make sure the firewall has been setup appropriately, and try restarting the cache cluster by entering in the following command: Restart-CacheCluster If it is not present, run through the command lines again in step 7 (Configuring AppFabric) to create the necessary cache. Also, you should check if the AppFabric Caching service is started. You can do this by typing "services.msc" in the Run/Search text-box in the Start menu. Once the Services window is loaded, locate the AppFabric Caching service and make sure it is Started and set to Automatic in the Properties window.

Logging Perception log files contain information which can be useful if problems need to be identified and diagnosed during the installation and configuration process. For more detailed information on how Perception handles logging, please refer to the following Knowledge Base articles:  How does Perception log errors?  How can I enable logging in Perception 5?  Where is each kind of log file stored?

A6. Installation checklist

The following checklist allows administrators to mark off completed installation steps for a single-server install and see which follow after.

Step Title Description Done? 1.0 Install server operating Windows Server 2008 (32-bit or 64-bit) or Windows Server system on your Perception 2008 R2 server 2.0 Install and configure the Install and configure IIS prerequisites on your Perception server Install and configure .NET 4.0 Framework Install and configure .NET 3.5 Framework Install and configure .NET 2.0 Framework Install and configure ASP.NET MVC 2 Install and configure Windows Server AppFabric Install PHP 3.0 Configure PHP Enable the relevant PHP extensions Configure the FastCGI instances 4.0 Install the prerequisites SQL Server 2008 and a database system to handle the ETL_Temp Oracle 11g database on your ETL server 5.0 Install the ETL service on Install the ETL Services Server portion of Perception on your your ETL server ETL server 6.0 Configure AppFabric Set the security mode and create your AppFabric cache Set up scheduled task to start AppFabric. See How can I automatically start the Windows Server AppFabric Caching Service? 7.0 Create the shared Create database in SQL Server 2008 or Oracle 11g repository database on your database server Create User for database Configure permissions for database 8.0 Create ODBC connection to The ODBC connection needs to be created on the same your database on your server on which you plan to install Perception database server 9.0 Run the Perception Enter the installer password installer Agree to the license agreement(s)

Step Title Description Done? Select Typical install type 9.1 Set installation folders Define where to install Questionmark Perception Define where to install the repository files 9.2 Set URL Apply an external facing URL that will be associated with this server or use the server name to form the URL 9.3 Virtual directories Allow the installer to automatically create the necessary virtual directories 9.4 Authoring Manager Enable/Disable the option to upgrade Authoring Manager upgrade options users that connect to the shared repository 9.5 Install files and launch the Let the installer unpack and install the necessary files. configuration application Ensure that the Launch Questionmark Configuration Application check-box is selected. 10.0 Set up the database Select Automatic servers/Create the Main and Results Warehouse Select SQL Server or Oracle, depending on your database (RW) databases type Enter the name for the database server (remember to use a fully-qualified name) For Oracle, enter the SID and port to use If using SQL Server, choose how you would like the configuration application to connect to your database and install the necessary databases Insert the necessary username and password For Oracle, also select who the user should connect as 10.1 Adding details for the new databases For SQL Server, enter the login name and password you want to create for the user of the databases

For Oracle, enter a User and Tablespace name along with an appropriate password For SQL Server, enter database names for the Perception Main and Result Warehouse (RW) databases

Click Create and wait for databases to be created

11.0 Create the temporary Select Automatic ETL database (ETL_Temp) on your ETL server Choose a database type. You need to select the same database type as selected in the steps above. Enter the name of the database that will hold the ETL_Temp database. Remember, this needs to be on the same machine that has the ETL server running, i.e., your ETL server.

Step Title Description Done? For Oracle, enter the SID and port number as well For SQL Server, choose which credentials you use to connect to the database server Enter the connection username and password For Oracle, choose who this user should connect as Add a name for the temporary ETL database Click Create and wait for databases to be created 12.0 Configure your Enter the address for the portal. This is the domain name environment that administrators use to connect to the application. If you are installing on a single machine, this may be the same as the External Facing URL you entered during the installer. If you are installing in a load-balanced environment, this will be the load balancer. Enter the service layer address. This may be on the same server as the administrative components. Enter your AppFabric servers address and port number. This may be on the same server as the administrative components, or it may be several servers (separated by a semi-colon [;]). Click Continue, and wait for your environment to be configured 13.0 Create a shared repository Now, you will need to populate the shared repository database your created previously. You will be asked to launch Shared Repository Manager. If you are accessing the configuration application on the computer where you installed it (i.e., locally), click Launch SRM.

Create a shared repository 14.0 Create the database links You can configure these links automatically through the configuration application or manually 15.0 Migrate settings from your After Perception has been installed and configured, you will Perception server to your need to copy the relevant configuration settings from your ETL server Perception server to your ETL server 15.0 Enter Enterprise Manager Enter the Enterprise Manager portal and start the ETL for the first time and start service the ETL service

A7. Security

The following sections include information on various aspects of the security of Perception and actions you can take to ensure it is secure.  General recommendations  Phishing  Request validation in ASP.NET  Connecting to Authoring Manager

General recommendations

The following actions are recommended by Questionmark:  Configuring Perception to use SSL for encrypted, secure communication  Changing the password for the root administrator account from the default to something unique  Changing the server key, trusted key, and scoring tool entry key from the default values to unique ones The above keys can be changed in the Administration | Server Management | Server Settings section of Enterprise Manager.

Phishing

Phishing is the act of attempting to acquire information such as usernames, passwords, and credit card deals by masquerading as a trustworthy entity. You are recommended to advise Enterprise Manager users to be aware of phishing risks. For more information, please refer to the following Knowledge Base article: What is phishing and how can I avoid it?

Request validation in ASP.NET

It is recommended that the request validation feature in ASP.NET is enabled. Request validation helps prevent cross-site scripting (XSS) attacks and should not be disabled. For more information, please refer to: Request validation in ASP.NET

Connecting to Authoring Manager

Please note that using Authoring Manager to connect to the shared repository server does not use SSL/TLS, which means that traffic, including questions and assessments that are being authored, could be read or intercepted if you are using the public internet or an unencrypted private network, and there is a potential risk of unauthorized users capturing traffic and spoofing authoring use. If this risk impacts you, here are potential solutions:

1. Get users to author in local repositories and upload to Qpacks via browser-based authoring. Providing your server is configured to use SSL/TLS, browser-based authoring will use HTTPS and make the information transfer secure. For more information, refer to the Importing Qpacks section of the Authoring Guide. 2. If you decide on route 1 and wish to enforce this, you can do so by disabling user permissions to Access Authoring Manager. For more information, please refer to the Authoring permissions section of the Enterprise Manager User Guide. 3. You could also disable the ability for Authoring Manager to connect to a remote repository by disabling ports 7800 (TCP) and 7801 (HTTP) on your Perception server. 4. Another route is to install Authoring Manager on a server that has a local area network connection to the Perception server and setting up thin client technology like Remote Desktop or Citrix to allow users secure access to Authoring Manager via SSL. For more information, refer to the following Knowledge Base article:  What Questionmark applications are supported on a Thin Client environment?