Sei sulla pagina 1di 248

Personify360 Installation Guide

Version 7.7.0
October 2018
7.7.0 INSTALLATION GUIDE

Table of Contents
Introduction ............................................................................. 6
Prerequisites for Personify360 Installation ........................................................ 6
Summary Outline of Installation Steps ............................................................... 6

Getting Started ........................................................................ 8


Before You Begin .................................................................................................. 8
Server Setup .......................................................................................................... 9
Document Conventions ...................................................................................... 13

Personify360 Database Installation........................................ 15


Database Naming Conventions ......................................................................... 15
Copying Release Media ...................................................................................... 17
Installing the Personify360 Database ................................................................ 18
Installing the Installation Database ................................................................... 20
Configuring App Data Cache for e-Business and Online Store ...................... 22
Installing Asp.Net SQL Session State ............................................................... 32
Installing the SSO Database .............................................................................. 32
Setting Database Access to Service Accounts ................................................ 33
Installing the PA-DSS Web Service ................................................................... 33

Installing the Personify360 Application Server ....................... 37


Installing the Personify360 Online Help ................................. 41
Installing the Personify360 Home Page ................................. 41
Configuring the Personify360 Back Office WinClient .............. 41
Configuring Personify360 Launcher ....................................... 44

PROPRIETARY AND CONFIDENTIAL

2
7.7.0 INSTALLATION GUIDE

TRS Package Installation ...................................................... 45


Installing and Configuring the Personify360 TRS Cache Service................... 45
Installing and Configuring the Interface Service .............................................. 47
Installing and Configuring the Personify360 TRS Service .............................. 53

Notification Server Installation ............................................... 55


Notification Server Settings - Tab 1: General Settings .................................... 56
Notification Server Settings - Tab 2: SMTP Settings ....................................... 58
Notification Server Settings - Tab 3: Service Logon Credentials ................... 59
Notification Server Settings - Tab 4: Base Procedures ................................... 60
Notification Server Settings - Tab 5: Event Procedures .................................. 65
Service Installation for Notifications ................................................................. 66

Image Services Installation .................................................... 66


Installing the IMS Windows Service ....................................... 68
Web Server Installation ......................................................... 71
SSO/IMS Installation ........................................................................................... 71
Personify360 Data Services Installation ........................................................... 77
Personify360 e-Business Installation ................................................................ 85
SQL2014 ASPStateInMemory ................................... Error! Bookmark not defined.

BusinessObjects Installation ................................................ 120


System Architecture ......................................................................................... 120
BusinessObjects Server Installation ............................................................... 123
BusinessObjects Client Tools Installation...................................................... 138
BusinessObjects Fresh Installation ................................................................ 142
BusinessObjects Upgrade ............................................................................... 152
Setting Up the Webi Universe Connection. .................................................... 162

PROPRIETARY AND CONFIDENTIAL

3
7.7.0 INSTALLATION GUIDE

Miscellaneous ................................................................................................... 165

Unified Search Installation (Optional) ................................... 169


Setting Up Unified Search ................................................................................ 170

Interface Applications Installation ........................................ 186


Personify360 e-Business Configuration ............................... 187
Description of Method ...................................................................................... 188
Overview of Sizing Categories......................................................................... 188
Basics ................................................................................................................ 188
Environment Scaling ........................................................................................ 193

Post Installation Tasks ......................................................... 198


Configuring Personify360 to Display Only Applicable Databases ............... 198
SQL Jobs Created to Clean Up Temporary Data ............................................ 199

Troubleshooting................................................................... 203
Configuring NLog across Application and Web Servers............................... 203
Setting up Personify360 to Remember a Password ...................................... 204
Overcoming Automatic Updates Error Message ............................................ 205

Appendix A: Sample Manifest File (Personify.Manifest.xml) 207


Appendix B: Recommended File Structure for Personify360
Installation ........................................................................... 208
Appendix C: Database and Configuration Worksheet .......... 211
Appendix D: Additional Automatic Update Options .............. 212
Performing an Unmanaged Installation on a Single PC ................................ 212
Active Directory Deployment via Group Policy .............................................. 214
Modifying the Internal Tables of the MSI Installation..................................... 218

PROPRIETARY AND CONFIDENTIAL

4
7.7.0 INSTALLATION GUIDE

Setting a Default Server.................................................................................... 220


Using the Command Prompt ............................................................................ 221
Personify360 Automatic Updates Command Line Options ........................... 222
Manifest Generation ......................................................................................... 223
Setting/Changing the Network Update Path ................................................... 223

Appendix E: Online Store and App Data Cache Pre-Setup


Checklist.............................................................................. 225
Upgrading SQL 2008 or SQL 2008R2 to Service Pack 1 (SP1) if using
Enterprise Edition of SQL Server .................................................................... 225
Configuring SQL Server Service to Run using a Domain User Account ..... 226
Starting SQL Server Agent Service on SQL Server ....................................... 227

Appendix F: Back Office WinClient ...................................... 231


Installing Silently Using a Batch File............................................................... 231
Performing a Managed Network Installation .................................................. 232
NTFS File System Security Requirements ...................................................... 234

Appendix G: Notification Services ........................................ 237


Required Security Permissions for Notifications ........................................... 237
Command Line Options for Notifications ....................................................... 239

Appendix H: SSO Installation .............................................. 241


Appendix I: Enabling FTP for your IIS hosted site ................ 247

PROPRIETARY AND CONFIDENTIAL

5
7.7.0 INSTALLATION GUIDE

Introduction

This guide provides instructions for performing a fresh installation of the overall
Personify360 application.

NOTE: For specific information about using the Personify360 application, please see the
Personify360 7.7.0 Online Help.

For installing optional interfaces see the Third-Party Integrations section of the 7.7.0 Online
Help for the Spectrum Interface, Universal Payment Handler, and Lyris Interface.

Prerequisites for Personify360 Installation

 Application Server: Windows Server 2012 R2 or 2016, IIS 8.x (for Windows Server
2012 R2) or 10.0 (for Windows Server 2016), BI 4.2 SP5 Client, .NET Framework
4.5.2
 Database Server: Windows Server 2012 R2 or 2016, SQL Server 2016 SP1, .NET
Framework 4.5.2
 Business Server: Windows Server 2012 R2 or 2016, IIS 8.x (for Windows Server
2012 R2) or 10.0 (for Windows Server 2016), .NET Framework 4.5.2
 Business Objects Enterprise Server: Windows Server 2012 R2 or 2016
 Install BOE software BI 4.2 SP5 Server
 Service account for all Personify360 services, with local admin rights
 Email server IP/name and mail relay enabled from APP/TRS/web servers

Summary Outline of Installation Steps

1. Personify360 Database Installation


2. Copying Release Media
3. Installing the Personify360 Database
4. Installing the Installation Database
5. Configuring Personify360 for PA-DSS Audit Logging
6. Configuring App Data Cache for e-Business and Online Store
7. Installing the SSO Database
8. Setting Database Access to Service Accounts
9. Personify360 Application Server Installation
10. Installing the Personify360 Application Server
11. Installing the PA-DSS Web Service
12. Installing the Personify360 Online Help
PROPRIETARY AND CONFIDENTIAL

6
7.7.0 INSTALLATION GUIDE

13. Installing the Personify360 Home Page


14. Personify360 Back Office Client and Automatic Updates Installation
15. TRS Package Installation
16. Installing and Configuring the Personify360 TRS Cache Service
17. Installing and Configuring the Interface Service
18. Installing and Configuring the Personify360 TRS Service
19. Notification Server Installation
20. Web Server Installation
21. Personify360 e-Business Installation
22. SSO/IMS Installation
23. Personify360 Data Services Installation
24. Image Services Installation
25. BusinessObjects Installation
26. Unified Search Installation (Optional)
27. Interface Applications Installation

PROPRIETARY AND CONFIDENTIAL

7
7.7.0 INSTALLATION GUIDE

Getting Started

Before You Begin

You should have a working knowledge of SQL Server to perform this installation. If you need
more information on performing actions in this tool, please refer to the Microsoft
documentation.
Before you begin the installation process outlined in this document, you must
perform the following:

1. Ensure that the system you are installing the software on meets the system
requirements outlined in the Personify360 Architecture Matrix document in the 7.7.0
package.
2. Verify you installed the .NET Framework Version 4.5.2 and any Framework service
releases, critical updates, or hot fixes that have been certified by Personify, Inc. For
further information on Microsoft Critical Updates certified for use with Personify360,
please contact your Personify, Inc. Project Manager.
3. Your database server must have SQL Server installed and ready to support new
databases.

NOTE: The Personify360 application, BusinessObjects, and TRS servers are currently
supported on 64-bit OS platforms.

The following table details the minimum software requirements for various Personify360
servers.

Personify360 Software Required


Server

Personify360 Operating System


Application  Minimum: Windows Server 2012 R2 or 2016
Server
NOTE: Latest Microsoft Service Packs must be installed.

Additional Components
 Microsoft .NET Framework 4.5.2
 Minimum: Microsoft IIS 8.x (configured and active)
Other Software
 Minimum:SQL Server 2016 Client Library
Load Balancing (optional)
 BIGIP or similar recommended when multiple application servers
are deployed.

PROPRIETARY AND CONFIDENTIAL

8
7.7.0 INSTALLATION GUIDE

Personify360 Software Required


Server

Personify360 Operating System


Database Server  Minimum: Windows Server 2012 R2 or 2016

NOTE: Latest Microsoft Service Packs must be installed.

Database
 Minimum: SQL Server 2016

NOTE: Service Pack revision level subject to change.

Additional Components
 Microsoft .NET Framework 4.5.2
Personify360 Operating System
Process/Reports  Minimum: Windows Server 2012 R2 or 2016
Server
NOTE: Latest Microsoft Service Packs must be installed.

Additional Components
 Microsoft .NET Framework 4.5.2
 Minimum Microsoft IIS 8.x (configured and active)

Other Software
 Minimum: SQL Server 2016 Client Library
 BusinessObjects XI 4.2 SP5
 Spectrum Technology Platform 12.0 SP2

Server Setup

Server Configuration

The installation process will guide you through the recommended steps to create a network
environment as pictured below. There are options discussed in this document that can help
you create smaller and larger environments as required by the number internal users. Below
is a picture of a simple Personify360 server-database installation with relationships between
the servers.

PROPRIETARY AND CONFIDENTIAL

9
7.7.0 INSTALLATION GUIDE

Please refer to the Personify360 Architecture Matrix document in the 7.7.0 package before
you begin this installation to make decisions concerning the number of servers that your
organization requires for optimum performance.
Use the “Database and Configuration Worksheet” in Appendix C to record your passwords
and XML configuration files path. Documentation of these key items makes changes in the
installation configuration easier to perform.

Server Allocation

Depending on the environment layout and expected load, you need to set server allocation.
A simple installation would include four servers with one each for Database, Application,
Web, and TRS.
This can be expanded to include multiple load-balanced servers depending on requirement.

PROPRIETARY AND CONFIDENTIAL

10
7.7.0 INSTALLATION GUIDE

The suggested folder name on App, Web, and TRS Server is: [Folder
Name]:\Personify\[InstallationName]\. For example, C:\Personify\APA\.

Server Folder Structure

Before beginning the installation, you must create the following folders on the servers:
App Server

 ApplicationServerr
 AutoUpdater
 BackOfficeClient
 OnlineHelp
 PADSSAuditLogging
 PersonifyHomePage
 ServerFiles
Web Server

 Ebusiness
 IMS
 PersonifyDataServices
 PersonifyImageServices
 SSO
Reporting/TRS Server

 TRS
 APPL
 INPUT
 OUTPUT
 Services
 CacheServer
 InterfaceServer
 NotificationServer
This structure is server independent. The underlying components can be moved between
servers but folder structure stays the same.
Personify, Inc. recommends following folder structure that can spread across multiple
servers:

PROPRIETARY AND CONFIDENTIAL

11
7.7.0 INSTALLATION GUIDE

[CustID] – Client Acronym


[Environment] – Prod, Dev, Train, etc…
[X] –if [X] > 1
\Personify
\[CustID]
\[Environment]+ [X]
\Launcher
\Appl
\Input * (permissions to service account)
\Output * (permissions to service account)\ServerFiles * (permissions
to service account)
\rest of stuff not under WebFiles
\Web
\WebFiles * (permissions to service account)
\CustomerImages
\ProductImages
\DCDFiles
\ProductFiles
\SystemFiles
\AwardsFiles
\AwardNomineeAttachments
\Ebusiness
\DataServices
\OnlineHelp
\IMS
\SSO
\HomePage
\Logs
\PADSS

PROPRIETARY AND CONFIDENTIAL

12
7.7.0 INSTALLATION GUIDE

\Mobile
\AutoUpdates
\Services
\Application
\Cache
\Interface
\TRS
\Image
\IMS
\Notification
\Logs
\WinClient
\Utilities
\Backups
\[mm-dd-yy]
Security

 Create an advanced share on the root folder \Personify


 Grant Permission to the share to Everyone
 Remove unwanted users on the root folder security
 Remove [ClientID] folder inheritance
 Add additional security at the [ClientID] folder level
 Grant read / write to the Personify Application group (Service Accounts – app service
needs to access only app service related folders, etc.)
 Grant read to IUSR to Web folder

Document Conventions

The purpose of this document is to provide step-by-step instructions for installing the
Personify360 Enterprise suite of applications. For explanation purposes, please refer to the
following conventions used throughout this document as you perform your installation:

PROPRIETARY AND CONFIDENTIAL

13
7.7.0 INSTALLATION GUIDE

Name Description and Value

<App Server This is name of the configuration file that provides the Personify360
Config File> Application Server with its runtime configuration information.

<Local Installation Folder>\<Personify360 Release


Name>\Services\Personify Server Application Server.exe

Example: C:\Personify\7.7.0\Services\Personify.Server
Application.Server.exe.config
<Local This is the path where you will install the Personify360 Components on
Installation your local system.
Folder>
X:\Personify\<Personify360 Release Name>

Example: C:\Personify\7.7.0
<Local Media This is the path on your local system where you will copy the installation
Path> materials prior to beginning this installation.

X:\Personify Installation Media\<Personify360 Release Name>

Example: C:\Personify Installation Media\7.7.0


<Network Media This is the location on the Personify, Inc. network from which you will
Path> copy the installation media and materials.

When directly connected to the Personify360 Domain:


P:\Personify\Releases\7.7.0\Package

When connected via VPN:


\\filebox.mc.tmaresources.com\Personify\Releases\7.7.0\Package
<SQL2008 This is the path on your local system where you will place your SQL
Database Path> Server 2016 .MDF, and .LDF files.
<Personify360 This is a relative path on your local system from the <SQL2016
Database Path> Database Path> where you will copy your Personify360 Database,
.MDF, and .LDF files.
<Personify360 This is the name of the specific release of Personify360 you are
Release installing.
Version>
Example: 7.7.0
<SQL2008 This is the path on your local system where you will create backups of
Backup Path> your SQL Server 2016 databases.

PROPRIETARY AND CONFIDENTIAL

14
7.7.0 INSTALLATION GUIDE

Personify360 Database Installation

Database Naming Conventions

NOTE: Please make sure your Environment Name, Association Name, or the Database
Name does not start with a number.

Format

[APP][ENVIRONMENT]_[TYPE][n]

Usage Description

[APP]: This defines the type of application. The following table contains valid type of
application. If the type of application does not appear in this table then use a common sense
naming convention.

Name Function

CUSTID This is the official customer ID, or acronym, associated with the
database.
PIDB Installation DB
SCRATCH Scratch DB, used for temporary and backup tables
ASPSTATE ASPNet session state DB
BOE Business Objects DB

[ENVIRONMENT]: This is the name of the environment type. The following table contains
default environment types and their definitions. If the environment you are creating exists in
this table then you must use the properly defined name. If the environment type does not
appear in this table then use a common sense naming convention.

Name Function

PROD Production environment


TRAIN Training environment
TEST Test environment

PROPRIETARY AND CONFIDENTIAL

15
7.7.0 INSTALLATION GUIDE

Name Function

DEV Development environment


CDEV Customers development environment
UAT User acceptance testing environment
STAGING Staging environment
QA Quality Assurance environment
UPG Upgrade environment
LOAD Load testing environment
DEMO Demo Environment
DI Data Integrity
CNV Conversion
IDE IDE environment

[TYPE]: This defines the DB type. The following table contains valid DB types. If the DB type
does not appear in this table then use a common sense naming convention.

Name Function

Blank Personify360 DB with an assigned CUSTID


DNN Dot Net Nuke with an assigned CUSTID
SSO Single Sign ON with an assigned CUSTID
PAA Data Warehouse with an assigned CUSTID
PAA_DIREP Data Warehouse DIREP with an assigned CUSTID
PAA_STAGING Data Warehouse STAGING with an assigned CUSTID
PADSS Personify360 Audit DB with an assigned CUSTID
AUDIT Business Objects audit DB
CMS Business Objects CMS DB

[n]: This is always an integer that defines the environment number. This is helpful as there
may be multiple environments or you may need to remove and older one and add a new
one in which case you would increment this integer by 1.

PROPRIETARY AND CONFIDENTIAL

16
7.7.0 INSTALLATION GUIDE

Example Usage

An example of a database name that follows the above naming convention:


APATST_DNN2
This environment belongs to APA. The environment is TST (test) and is a DNN (Dot Net
Nuke) DB and is the 2 (second) environment setup.

Copying Release Media

Before you can perform the fresh install for the database, you must first copy the release
media to your local file system.

NOTE: The copying process is extended if you copy the Business Objects folder. Close all
other programs for maximum efficiency.

To copy release media to your local file system:

1. The installation media for each release of Personify360 can be found at <Network
Media Path>.
2. In the Releases folder, you will find sub-folders for each subsequent release.
3. Right-click the folder you want to install and select Copy.
The FTP is available to copy this package to your network. Ask your project manager
about the protocols.
4. Create a folder on your local hard drive to hold the release installation media.
A suggested folder name is “Personify Installation Media”.
5. Navigate to your newly created folder on your local machine.
6. Right-click the folder you want to paste the contents of the release media to your
local disk and select Paste.
When this operation is complete, you should have a folder structure similar to the following
on your local hard disk:
C:\Personify Installation Media\7.7.0\
This folder should contain the following:

 AutoUpdater
 BackofficeClient
 BusinessObjects
 Databases
 Documentation
 OnlineHelp
PROPRIETARY AND CONFIDENTIAL

17
7.7.0 INSTALLATION GUIDE

 PADSS_Audit_Logging
 PersonifyHomePage
 Services
 ThirdPartyInterfaces
 TRS
 UnifiedSearch
 Utilities
 WebApplications
 WindowsMSI

Installing the Personify360 Database

You should have experience in performing a database restore in SQL Server. If not please
refer to the following article on how to restore from the backup:
http://msdn.microsoft.com/en-us/library/ms177429.aspx

NOTE: See Appendix B for the suggested server folder structure for your Personify360
installation.

To create a fresh installation of the Personify360 database:

1. The Personify360 application and several TRS processes, such as CUS600 and
MKT800, need to store data values in a temporary place until they are completed.
Each time SQL Server is restarted these variables are cleared. The script
Install_AddUserDefinedTypeToTempDB_To_SQLServer_Master_Database.sql cre
ates the data elements in the temporary database, which provide the TRS processes
a place to store data values during execution. More specifically this script does the
following:
 Installs a stored procedure named AddUDTToTempDB to the Master database
within the SQL Server instance.
 Sets this stored procedure to run automatically every time the SQL Server
service is started.
This script must be run by a SQL Server User that is in the SQL Server Fixed Role
“SysAdmins” (i.e., sa). It cannot be run as the user “Personify” or any other non-SQL
Server Admin account.

This script only needs to run once during the SQL Server installation. Updates to this
script could be made available, but those updates should be run by a user with SQL
Server SysAdmin permissions.

PROPRIETARY AND CONFIDENTIAL

18
7.7.0 INSTALLATION GUIDE

NOTE: The Personify360 application does not require SysAdmin permissions and should
not be granted SysAdmin permissions just to allow this script to execute. Please login to
SQL Server with the SA account to execute this script.

The script
“Install_AddUserDefinedTypeToTempDB_To_SQLServer_Master_Database.sql” is
located in the following folder in your release package:
[Local Media Path]\Databases\Fresh
Install\AFTER_SQLSERVER_INSTALLATION

This must be executed when a new installation of SQL Server is set up and when
any Personify360 databases reside within this instance of the SQL Server.
a. Open SQL and login using SQL Login for the “SA” account.
b. Start a new query with the “Master” database selected.
c. Double-click the file.

NOTE: Alternatively, run the


Install_AddUserDefinedTypeToTempDB_To_SQLServer_Master_Database.sql script to
open it in the Query window.

2. Select F5 on your keyboard to run the script.


3. Execute the AddUDToTempDB stored procedure:
USE [master];
EXECUTE dbo.[AddUDTToTempDB];
GO

4. Execute the
Install_AddUserDefinedTypeToTempDB_To_SQLServer_Master_Database.sql
script on database server from the following location:
Package\Databases\Fresh_Install\AFTER_SQLSERVER_INSTALLATION\
5. Using Level 0 or Level 2 databases directly, you can use the database backup files
from Databases\Fresh Install\Backups to restore from the backup.
Restore the database with the name of the Personify360 database.

NOTE: Level 0 contains no data and Level 2 contains sample setups of every module and
data. Personify, Inc. recommends using Level 2 for testing purposes.

6. Set the owner of the Personify360 database to "sa".


7. Set the database and log file initial size and auto growth size.

PROPRIETARY AND CONFIDENTIAL

19
7.7.0 INSTALLATION GUIDE

NOTE: Set the initial size for the database to 4GB and the auto growth size to 512MB. Set
the initial size of the log file to 512MB and auto growth size to 256MB.

Installing the Installation Database

The Personify360 Installation Database (PIDB) contains database connection information


that is provided to you when Personify360 launches. This information directs the launcher to
find and login to the Application Server to begin your Personify360 back office session.

NOTE: Please note that for Personify360 versions 7.4.2 and above, the SQL user name or
domain account name (including domain name) used to connect to the SQL database
CANNOT exceed 20 characters. If you do not do so, users may encounter the following
error in their Personify application: “Error – Msg 8152, Level 16, State 2, Procedure
GetBatchNextID, Line 83. String or binary data would be truncated. The statement has been
terminated.”

To perform a fresh installation of the Installation Database:

1. Locate the Installation Database backup PersonifyInstallation.bak in the following


location:
...\7.7.0\Package\Databases\Fresh_Install\Backups\PersonifyInstallation\
2. Restore the backup on the database server using SQL Server Management Studio.

NOTE: For more information on how to restore a database backup, please refer to the
following article: http://msdn.microsoft.com/en-us/library/ms177429.aspx.

3. Use an existing login or create a new login to access the Installation Database.
4. Personify, Inc. recommends using Windows Authentication.
5. Set the owner of the Personify360 Installation database to "sa".
6. Set the database and log file initial size and auto growth size.

NOTE: Set the initial size for the database to 500MB and the auto growth size to 256MB.
Set the initial size of the log file to 256MB and auto growth size to 256MB.

7. Locate and open the SQL Script named TEMPLATE_Insert Data into
InstallationDatabase.sql in SQL Server 2012 Management Studio.
This script can be found at the following location:
...\7.7.0\Package\Databases\Fresh_Install\PersonifyInstallation\Post Personify
Database Restore.
8. Within this script, perform the following:
 Type in COMMIT at the bottom of the script.
 Change [ASSOCIATION] to an acronym for your association.
 Change [ASSOCIATION NAME] to the name of your association.
PROPRIETARY AND CONFIDENTIAL

20
7.7.0 INSTALLATION GUIDE

 Change [ENVIRONMENTNAME] to either PPRO or PTST from the database


names.
 Change [ENVIRONMENTDESC] to text description like “production” or “test”.
 Change all [SQL SERVER DATABASENAME] entries to your Personify360
database name (PPRO, PTST).
 Change [VERSION_NAME] to the Personify360 version number you are
installing. In this case, use ‘7.7.0’.
 Change [SERVERNAME] to the location/name of the server where the
Personify360 Database is installed.
 Change [SQL SERVER SERVERNAME] to the name of the server defined in
SQL Server.
 Change [SQL SERVER USERNAME] to the SQL user login name you created
during the Personify360 Database Installation.
 Change [SQL SERVER PASSWORD] to the SQL user password for the [SQL
SERVER USERNAME] you created during the Personify360 Database
Installation.
 Change the [DATABASE DESCRIPTION] to a text description of the
Personify360 Database you installed, like “Production” or “Testing”.
 The value for AppTypeName will remain as ‘PLATFORM’. This value must match
the same parameter in the “Config.xml” file setup for the Client Configuration
section.
 Change [YourServerPath] to the URL path location for the Server Files. Please
note when you replace these values that TRSInputFile folder path entry should
refer to your TRS server path.
9. After modifying the script save it as Insert Data into InstallationDatabase.sql.
Select your Personify360 Installation Database from the drop-down at the top of the
window.
10. Click Execute.
The Personify360 Installation Database should now be properly populated with
information.

Changing the Server Files Path

After the Insert Data into InstallationDatabase.sql script is run, you might decide to
change the Server Files path. You will need to run the Update ServerConfig Column in
T_##_AppInstance Table.sql script, which is in the <Network Media Path>\ERROR: Variable
(Release_Number) is undefined.\Databases\Fresh_Install\PersonifyInstallation folder.

PROPRIETARY AND CONFIDENTIAL

21
7.7.0 INSTALLATION GUIDE

1. Open the “TEMPLATE_Update ServerConfig Column in T_##_AppInstance


Table.sql” script found in the following location:
<Network Media Path>\7.7.0\Databases\Fresh_Install\PersonifyInstallation\Post
Personify Database Restore.
2. Specify the valid Serverfiles path in the Update ServerConfig Column in
T_##_AppInstance Table.sql file.
3. After modifying the script, save it as Update ServerConfig Column in
T_##_AppInstance Table.sql
4. Select your Personify Installation Database from the drop-down at the top of the
window.
5. Click Execute.
The Personify360 Installation Database should now be properly populated with
information.
6. Type “COMMIT” at the bottom of the script, highlight it, and click Execute.

NOTE: All Serverfiles path should be valid only; otherwise, the wrong reference can lead to
issues in particular features.

Configuring App Data Cache for e-Business and Online Store

Online Store is a new feature from 7.4.2 Personify360 e-Business application. Using
Change Data Capture functionality enables the SQL database to track changes made to key
Personify360 setup tables. Change Data Capture functionality only available in Enterprise
edition of SQL Server. These changes are then reflected on e-Business within 4-5 minutes.
Multiple triggers are used to copy data in to online store tables or delete data.
This guide is intended for System Administrators with extensive knowledge of your
association’s Personify360 database, Personify360 Studio Tools, and Personify360 back-
end application. Users should have previous experience with SQL Server 2012 and web
service installation.

SQL Objects Related to Online Store and App Data Cache

SQL Objects – Table


The following tables are part of Online Store effort:

 OLS_PRODUCT_FACET – Contains a list of all Product Facets


 OLS_PRODUCT_SUB_FACET – Contains a list of all Product Sub-Facets
 OLS_PRODUCT_FACET_INFO – Contains a mapping of Products with Facets and
Sub-Facets

PROPRIETARY AND CONFIDENTIAL

22
7.7.0 INSTALLATION GUIDE

 OLS_PRODUCT_SEARCH – Contains Full Text catalog data for Online Store


Product Search
The following tables are part of App Data Cache effort

 WEB_PRODUCT_INFO – This is a replacement for view


TMAR_WEB_PRODUCT_VW. It will store the same that is returned by a view and
will be refreshed every 2 minutes by a scheduled SQL Job. This table forms the
basis for App Data Cache.
 APP_DATA_CACHE_TABLE_LIST – Contains list of tables/ views for App Data
Cache.
 APP_DATA_CACHE_INFO – Contains data change info for tables/ views related to
App Data Cache.
SQL Objects – Stored Procedure
The following stored procedures are part of Online Store effort. These stored procedures are
executed by Data services based on the search request by the web user

 OLS_SEARCH_PRODUCT
 OLS_SEARCH_MTG_PRODUCT
The following stored procedures are part of App Data Cache effort.

 WEB_PRODUCT_INFO_ADD_DATA
 APP_DATA_CACHE_ADD_DATA
 APP_DATA_CACHE_CLEAR_DATA
 APP_DATA_CACHE_GET_DATA
The following stored procedures are internal to Personify .and are executed to maintain the
cache with most current data when product related information is changed and to reflect
those changes to the Application Data Cache, incrementally without having to refresh all of
the Application Data cache.

 OLS_PRODUCT_FACET_INFO_ADD_DATA
 OLS_PRODUCT_FACET_INFO_ADD_DATA_INCREMENTAL
 OLS_PRODUCT_MTG_FACET_INFO_ADD_DATA
 OLS_PRODUCT_MTG_FACET_INFO_ADD_DATA_INCREMENTAL
 OLS_PRODUCT_SEARCH_ADD_DATA
 OLS_PRODUCT_SEARCH_ADD_DATA_INCREMENTAL
The following stored procedure is related to both Online Store and App Data Cache process.

PROPRIETARY AND CONFIDENTIAL

23
7.7.0 INSTALLATION GUIDE

 ADD_ONLINE_STORE_DATA - This stored procedure is a wrapper stored


procedure that will call stored procedures that insert data to Online Store and App
Data Cache related tables
SQL Objects – Full Text Index
Online Store functionality in Personify360 makes use of Full Text Index feature of SQL
server. This feature is available on all editions of SQL server and must be installed as part of
SQL server installation. Availability of the feature can be confirmed by ensuring the following
windows service is installed on the server and is set to start automatically:

 SQL Full-text Filter Daemon Launcher (SQL Instance Name)


Full text indexes are created on table OLS_PRODUCT_SEARCH.

NOTE: Please refer to SQL server installation documents for instructions to install and
configure Full Text Index on a SQL server instance.

SQL Objects – Change Data Capture


Depending on the edition of SQL Server installed for Personify360 database, the solution
may use the new SQL feature, “Change Data Capture” as part of App Data Cache process.
This feature is only available in the Enterprise edition of SQL server for production systems.
The database upgrade process will install elements related to Change Data Capture if it
detects Enterprise edition of SQL server. The following SQL objects will be added in this
scenario.

 System SQL tables to track change data for tables related to App Data Cache
process
 SQL Jobs to manage Change Data Capture data collection and cleanup
 cdc .<DatabaseName>_capture – This SQL job runs continuously and adds changed
data to the system tables mentioned above.
 cdc .<DatabaseName>_cleanup – This SQL Job runs daily at 2:00 AM and deletes
data
Using Change Data Capture functionality enables SQL database to track changes made to
the tables listed next. These changes are then reflected on eBusiness within 4-5 minutes.

 APP_CODE
 APP_COUNTRY
 APP_CURRENCY
 APP_EXCHANGE_RATE
 APP_ORG_UNIT
 APP_ORGANIZATION

PROPRIETARY AND CONFIDENTIAL

24
7.7.0 INSTALLATION GUIDE

 APP_TYPE
 CUS_ADDRESS_DETAIL_STRUCTURE
 CUS_ADDRESS_STRUCTURE
 CUS_PHONE_STRUCTURE
 FAR_RECEIPT_TYPE
 FGL_CASH_ACCOUNT
 MBR_GROUP_DETAIL
 PRODUCT_DISCOUNT
 PRODUCT_DISCOUNT_DETAIL
 PRODUCT_PRICING
 PRODUCT_RATE_CODE
 PSM_ONLINE_REPORT_VW
 RATE_STRUCTURE
 WEB_PRODUCT_INFO
The list of tables above is stored in Personify360 table APP_DATA_CACHE_TABLE_LIST.

NOTE: Personify, Inc. cannot guarantee that caching will work for any tables NOT listed
above.

NOTE: In addition to the caching change, the TMAR_WEB_PRODUCT_VW has been


altered. For products to display on the Product Listing on eBusiness, data is now being
pulled from the new WEB_PRODUCT_INFO table. SQL job ADD_ONLINE_STORE_DATA
is responsible for pulling data into this new table.

Setting up Online Store and App Data Cache

Installing/Configuring Database Objects Manually


Online Store SQL Job Creation
This step involves executing SQL scripts available in release package sub-folder –
...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\OnlineStore.
The scripts in this folder must be executed in the Personify360 database when a new
installation of Online Store is set up for Personify360.
There are 2 scripts in this folder listed in the order of execution and one readme file in
this folder
Read me file - ReadMe_FIRST.txt
SQL Job 1 - ADD_ONLINE_STORE_DATA_SQL_JOB.SQL
PROPRIETARY AND CONFIDENTIAL

25
7.7.0 INSTALLATION GUIDE

SQL Job 2 - APP_DATA_CACHE_CLEAR_DATA_SQL_JOB.SQL


SQL Jon 3 - Populate_OLS_Tables_When_Types_And_Codes_Change.sql
Please read the instructions in readme file before creating the SQL Jobs.
SQL job 1 - ADD_ONLINE_STORE_DATA – This SQL Job is to be used to insert data
to tables related to Online Store.

Script Execution Instructions:

 This script must be executed by user that has sysAdmin privileges on SQL
Server.
 Please specify SQL User that will be used to run the SQL Job. Replace value
‘sa’ with SQL User name in line 110.
 Please specify Database Name by doing a global replace of keyword
"DATABASENAME" with name of Personify360 database here. This global
replace should update keyword at 5 instances.
SQL job 2 - APP_DATA_CACHE_CLEAR_DATA – This SQL Job deletes old data from
table APP_DATA_CACHE_INFO.

By default, this stored procedure will delete data older than 10 days.
Script Execution Instructions:

 This script must be executed by user that has sysAdmin privileges on SQL
Server.
 Please specify SQL User that will be used to run the SQL Job. Replace value
‘sa’ with SQL User name in line 110.
Please specify Database Name by doing a global replace of keyword "DATABASENAME"
with name of Personify360 database here. This global replace should update keyword at 5
instances.
SQL job 3 - POPULATE_OLS_TABLES_WHEN_TYPES_AND_CODES_CHANGE– This
SQL Job will execute the stored procedure
usp_PopulateOLSWhenTypesAndCodesChange to repopulate the OLS with the most
up to date data.

Script Execution Instructions:

 This script must be executed by user that has sysAdmin privileges on SQL
Server.

PROPRIETARY AND CONFIDENTIAL

26
7.7.0 INSTALLATION GUIDE

 Before executing this script you will need to open the script in SQL Server
Management Studio and edit the values for the variables as shown in Table -
Populate OLS Tables When Types and Codes Change Variables below.

Populate OLS Tables When Types and Codes Change Variables

Variable Name Description


@JOB_NAME The name of the job to create in the SQL executive job
scheduler. It is recommended that you prefix the job name
with the database name
(e.g.,
PPROD_Populate_OLS_Tables_When_Types_And_Codes_
Change).
@OWNER_LOGIN_NAME The user ID that owns this job. Typically, this will be the user
ID of your database administrator or a user ID that you have
specifically created in your SQL Server instance for
ownership of scheduled jobs.
@SERVER_NAME The name of the server and the instance name of the SQL
instance where this job is to be executed.
@DATABASE_NAME The name of the database that this job should execute
against.
@FREQ_SUBDAY_INTER The interval in minutes for how often this job should execute.
VAL The default value is five minutes. You can adjust this job to a
schedule that suits your organization’s specific needs. It is
NOT recommended to run this job with a scheduled interval
less than two minutes.

Table - Populate OLS Tables When Types and Codes Change Variables
Household SQL Job Creation
This step involves executing SQL scripts available in release package sub-folder –
...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\Household.
The scripts in this folder must be executed in the Personify360 database when a new
installation of Online Store is set up for Personify360.
There is only one SQL Job script listed and one readme file in this folder
Read me file - READ ME - Household_Address_Refresh_SQLJob.TXT
SQL Job - Household_Address_Refresh_SQLJob.SQL
Please read the instructions in readme file before creating the SQL Jobs.

PROPRIETARY AND CONFIDENTIAL

27
7.7.0 INSTALLATION GUIDE

SQL job – [DatabaseName]_Household_Address_Refresh – This SQL Job will be used


to perform address refresh for households. The default schedule for this SQL job is to
run at 10:30 PM daily. This schedule can be modified as required for each
Personify360 installation.

The SQL Job executes stored procedure CUS_HH_Address_Refresh in the Personify360


database.
Script Execution Instructions:

 This script must be executed by user that has sysAdmin privileges on SQL
Server.

 Please specify SQL User that will be used to run the SQL Job. Replace value
‘sa’ with SQL User name in line 107.

 Please specify Database Name by doing a global replace of keyword


"DatabaseName" with name of Personify360 database. There should be 5
instances of this keyword that will get updated.
CRM360 Job – This step involves executing SQL scripts available in release package
sub-folder –

...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\CRM360.
The scripts in this folder must be executed in the Personify360 database when a new
installation of Online Store is set up for Personify.
There is only one SQL Job script listed and one readme file in this folder
Read me file - ReadMe_FIRST.txt
SQL Job - ADD_CRM360_DATA.SQL
Please read the instructions in readme file before creating the SQL Jobs.
SQL job – [DATABASENAME]_ADD_CRM360_DATA – This SQL Job will be used to insert
data to tables related to CRM 360. The default schedule for this SQL job is to run weekly.
This schedule can be modified as required for each Personify360 installation.
The SQL Job executes stored procedure usp_RunCRM360_SQLJob in the Personify360
database.
Script Execution Instructions:

 This script must be executed by user that has sysAdmin privileges on SQL
Server.

PROPRIETARY AND CONFIDENTIAL

28
7.7.0 INSTALLATION GUIDE

 Please specify SQL User that will be used to run the SQL Job. Replace value
‘sa’ with SQL User name in line 110.

 Please specify Database Name by doing a global replace of keyword


"DATABASENAME" with name of Personify360 database here. This global
replace should update keyword at 5 instances.
ShoppingCart SQL Job Creation
This step involves executing SQL scripts available in release package sub-folder –
...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\ShoppingCart.
SQL Job - Web_Shopping_Cart_Truncate_SQL_Job.SQL
This script will be used to setup SQL Job that will execute stored procedure
Web_Shopping_Cart_Truncate, that will delete old data from table Web Shopping Cart
related tables.
The default schedule for the SQL Job is Daily at 9:20 PM
Dependency: This SQL Job depends on stored procedure Web_Shopping_Cart_Truncate
Script Execution Instructions:
1. This script must be executed by user that has sysAdmin privileges on SQL Server.
2. Please specify SQL User that will be used to run the SQL Job. Replace value ‘sa’
with SQL User name in line 106.
3. Please specify Database Name by doing a global replace of keyword
"DATABASENAME" with name of Personify360 database here.
This global replace should update keyword at 5 instances.
BroadCast SQL Job Creation
This step involves executing SQL scripts available in release package sub-folder –
...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\BroadCast.
SQL Job - Broadcast_Message_CleanUp_SQLJob.sql
This script will be used to setup SQL Job that will execute stored procedure:
usp_Delete_BROADCAST_MESSAGE, which will delete old data from
BROADCAST_MESSAGE table.
The default schedule for the SQL Job is to run every 30 Minutes.
Script Execution Instructions:
1. This script must be executed by user that has sysAdmin privileges on SQL Server.

PROPRIETARY AND CONFIDENTIAL

29
7.7.0 INSTALLATION GUIDE

2. Please specify SQL User that will be used to run the SQL Job. Replace value ‘sa’
with SQL User name in line 112.
3. Please specify Database Name by doing a global replace of keyword
"DATABASENAME" with name of Personify360 database here.
This global replace should update keyword at 5 instances.
AcsService SQL Job Creation (Address Change Service)
This step involves executing SQL scripts available in release package sub-folder –
...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\AcsService.
SQL Job - Address_Detail_Key_Line_ID_CleanUp_SQLJob.sql
This script will be used to setup SQL Job that will execute stored procedure:
usp_Address_Detail_Key_Line_ID_CleanUp, which will insert data in
CUS_ADDRESS_DETAIL_AVAILABLE_KEY_LINE table and update data in
CUS_ADDRESS_DETAIL_KEY_LINE table.
The default schedule for the SQL Job is to run every 30 Minutes.
Script Execution Instructions:
1. This script must be executed by user that has sysAdmin privileges on SQL Server.
2. Please specify SQL User that will be used to run the SQL Job. Replace value ‘sa’
with SQL User name in line 112.
3. Please specify Database Name by doing a global replace of keyword
"DATABASENAME" with name of Personify360 database here.
This global replace should update keyword at 5 instances.
Purge_MBR_DIR_SETUP_REQUEST_LOG_Job
This step involves executing SQL scripts available in release package sub-folder –
...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\
SQL Job - Purge_MBR_DIR_SETUP_REQUEST_LOG_Job.sql
This script will be used to setup SQL Job that will execute stored procedure:
usp_Mbr_Directory_Access_Log_Clean, which will remove data from
MBR_DIR_SETUP_REQUEST_LOG table.
The default schedule for the SQL Job is to run once in a week. If Directory usage is high,
then please update the schedule to once in a day.
Script Execution Instructions:
1. This script must be executed by user that has sysAdmin privileges on SQL Server.
2. Please specify SQL User that will be used to run the SQL Job. Replace value
‘OWNERUSERID’ with SQL User name in line 87.
PROPRIETARY AND CONFIDENTIAL

30
7.7.0 INSTALLATION GUIDE

3. Please specify Database Name by doing a global replace of keyword


"DATABASENAME" with name of Personify360 database here.
This global replace should update keyword at 5 instances.
GDPR SQL Job Creation
This step involves executing SQL scripts available in release package sub-folder
“...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\GDPR”.
The scripts in this folder must be executed in the Personify360 database only. There is only
one SQL Job script listed and one readme file in this folder:

 Read me file - ReadMe_FIRST.txt


 SQL Job - GDPR_CLEANUP_DATA_JOB.sql
Please read the instructions in readme file before creating the SQL Jobs.

 SQL job – [DatabaseName] _GDPR_CLEANUP_DATA_JOB


o This SQL Job will be used to delete the history data from the
APP_GDPR_MASTER_RETENTION_REFERENCE table depending upon
the value of the application parameter
"GDPR_DEFAULT_EXPIRATION_DAYS". The default schedule for this SQL
job is to run at every 10 minutes daily. This schedule can be modified as
required for each Personify360 installation.
Script Execution Instructions:

 This script must be executed by a user that has sysAdmin privileges on SQL Server.
 Please specify the SQL User that will be used to run the SQL Job. Replace value ‘sa’
with SQL User name in line 110.
 Please specify the Database Name by doing a global replace of keyword
"DatabaseName" with the name of the Personify360 database. There should be 5
instances of this keyword that will be updated.
PopulateBOEReports SQL Job Creation
This step involves executing SQL scripts available in release package sub-folder
“...\Version.XX\Databases\SQL_EXECUTIVE_SCHEDULED_JOBS\PopulateBOEReports”.
The scripts in this folder must be executed in the Personify360 database only. There is only
one SQL Job script listed and one readme file in this folder:

 Read me file - ReadMe_FIRST.txt


 SQL Job - Populate_BOE_DATA_JOB.sql
Please read the instructions in readme file before creating the SQL Jobs.

PROPRIETARY AND CONFIDENTIAL

31
7.7.0 INSTALLATION GUIDE

 SQL job – [DatabaseName]_POPULATE_BOE_DATA_JOB


o This SQL job will call usp_Populate_RPT_DATA Stored Procedure populate
BOE reports data "GDPR_DEFAULT_EXPIRATION_DAYS". The default
schedule for this SQL job is to run at every 10 minutes daily. This schedule
can be modified as required for each Personify360 installation.
Script Execution Instructions:

 This script must be executed by a user that has sysAdmin privileges on SQL Server.
 Please specify the SQL User that will be used to run the SQL Job. Replace value ‘sa’
with SQL User name in line 110.
 Please specify the Database Name by doing a global replace of keyword
"DatabaseName" with the name of the Personify360 database. There should be 5
instances of this keyword that will be updated.

Installing Asp.Net SQL Session State

To modify the custom ASP.Net SQL session state:


1. Copy the database backup file AspNetSqlSessionStateDBBackup from the
DataServices fresh installation released package to your server.
2. Restore this database backup to your database with the following specific database
name:
AspNetSqlSessionState.
3. Make a note of the connection string and credential information to this database
because it WILL be needed for the web.config of the web services/applications.
4. Set the owner of the Personify360 database to "sa".
5. Please make sure the after you restore the ASP Session State database that the
recovery model is set to Simple on this DB as you don’t require transaction logs for
the ASP Session state database. Also make sure the auto growth is set to grow by
250MB instead of the default 1 MB.

Installing the SSO Database

To install the SSO application:


1. Restore SSO.bak to your database and configure the database user role.
2. Set the owner of the Personify360 database to "sa".
3. Set the database and log file initial size and auto growth size.

PROPRIETARY AND CONFIDENTIAL

32
7.7.0 INSTALLATION GUIDE

Setting Database Access to Service Accounts

Provide access to service accounts on SQL Server to each of the following databases:

Account Description Databases

PersonifyServices Personify360 application PIDB, Personify & SSO (IMS


windows Svc)
PersonifyReporting Personify360 reporting BOE, BOE AUDIT, Personify
& SSO (Universe
connectivity)
PersonifyPADSS PADSS webservice PADSS
PersonifyWebServices Personify360 web DNN and SSO databases-
ASPNetSQLSessionState,
Ebusiness, and SSO. Also
used by Web services

Installing the PA-DSS Web Service

NOTE: The following section can only be modified after installing the Personify360
Application Server. Please refer back to this section after you have installed the
Personify360 Application Server to properly complete the PA-DSS Audit Logging
configuration.

1. Copy files from folder ... \PADSS \Web Service\Fresh_Install\Extract\ to the


following location:
[OS drive]:\Personify\APA\PADSS\
2. Edit the web.config file and specify database connectivity information.
Tip: update user connectivity information from ";user
id=personify;password=personify" to ";Integrated security=SSPI"
3. Start IIS Manager and create new Application Pool for PADSSAuditLoggingService.
4. Create new application called PADSSAuditLoggingService that references the
above application pool.
5. Set user account to PersonifyWebServices service account.
6. Test website and perform ping test to confirm installation.
7. Navigate to the <Local Installation Folder>\<Personify360 Release
Name>\Services\Application folder.
8. Open the PERSONIFY.Server.ApplicationServer.exe.config file in Notepad.
9. Update the Personify.Server.ApplicationServer.exe.config file with the following
items:

PROPRIETARY AND CONFIDENTIAL

33
7.7.0 INSTALLATION GUIDE

 Replace the [YOUR_WEB_SERVICE_URI] parameter with the appropriate Web


Service URI

 Audit logging can be enabled or disabled at the global level or at the event level.

 Tables can be added to or deleted from the <Tables> node, as required

 Stored procedures can be added to or deleted from the <StoredProcedures>


node, as required
Tables and stored procedures are matched using Regular Expressions that provide the
flexibility of wildcard matching.

Configuring Personify360 for PA-DSS Audit Logging

To install PA-DSS Audit Logging, you must install the PA-DSS database and then the PA-
DSS Web Service. The PA-DSS database can be installed on the same SQL Server
instance or on a different SQL Server instance. Verify that the credentials for the PA-DSS
database are different from the ones needed to connect to the main Personify360 database.
To install the PA-DSS database:

1. Create a new PA-DSS database.


This database only has two tables and two stored procedures. These two database
tables are created when the CreateLogTables.sql script is run.
2. Apply the CreateLogTables.sql database script, located under the ..\PADSS \Database
folder.
3. Set the permissions appropriately.
a. Create a login for the database and grant it DBO rights to the PA-DSS database.
b. From the Schemas owned by this user section, select db owner.

PROPRIETARY AND CONFIDENTIAL

34
7.7.0 INSTALLATION GUIDE

c. From the Database role membership section, select db_owner.

To enable Windows Authentication for the PA-DSS Database:

1. Open Microsoft SQL Server Management Studio.


2. Right click the PA-DSS server heading and select Properties.
3. Select Security on the left menu.
4. From the Server authentication section, select Windows Authentication mode.
5. From the Login auditing section, select Both failed and successful logins.

PROPRIETARY AND CONFIDENTIAL

35
7.7.0 INSTALLATION GUIDE

6. Click OK.

To install the PA-DSS Web Service:


4. Verify that the Web Server Role Services is installed on the Application server through
the Server Manager utility.
5. Copy the files from the following location:
..\PADSS \Web Service\Fresh_Install\Extract.
6. From the server’s control panel, select System and Security > Administrative Tools >
Internet Information Services (IIS) Manager.
7. Open the Default Web Sites.
8. Right-click the PADSSAuditLoggingService and select Explore.
9. Modify the web.config using Notepad for the PADSS <connectionStrings>.
10. Data Source=PDQASQL, change to your server name.
11. Initial Catalog=PADSS, change to the SQL database name.

PROPRIETARY AND CONFIDENTIAL

36
7.7.0 INSTALLATION GUIDE

12. user id=personify, change to a user in the PADSS database.


13. password=personify, change to the password for the user.

14. Set up security for the Web Service so it allows only the IP address of the workstation
that the Personify360 Application service is hosted. This would be part of managing
your Firewall by adding this IP Address.

Installing the Personify360 Application Server

Before you begin:

 Verify that Microsoft .Net Framework 4.5.2 is installed (as of Personify360 7.6.1
release).
 Verify that following SQL CLR types are installed. These setups are required
since we are using geography/spatial data types from Personify database.
 Verify that you have already installed Microsoft® System CLR Types for SQL
Server® 2008 R2
 Verify that you have already installed SQL 2012 CLR types
To install a fresh copy of the Personify360 Application Server:

1. On the application server, provide access to service accounts


PersonifyWebServices, PersonifyServices to the following folder:
[OS drive]:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary
ASP.NET Files\

PROPRIETARY AND CONFIDENTIAL

37
7.7.0 INSTALLATION GUIDE

2. Copy the contents of the <Local Media Path>\<Personify360 Release


Name>\Services to your <Local Installation Folder>\<Personify360 Release
Name>\Services folder.
3. Navigate to the <Local Installation Folder>\<Personify360 Release
Name>\Services\Application folder.
4. Rename the TEMPLATE_PERSONIFY.Server.ApplicationServer.exe.config file to
PERSONIFY.Server.ApplicationServer.exe.config.
5. Open the PERSONIFY.Server.ApplicationServer.exe.config file in Notepad.
Refer to the following table for more information on which parameters to replace.

Parameter Replace with

[MAIL_DIAGNOSTICS_SMTPSERVER] The email server used to send all diagnostic


emails.
[MAIL_DIAGNOSTICS_FROM] The sender’s email address.
[MAIL_DIAGNOSTICS_TO] Your email address.
[MAIL_DIAGNOSTICS_CC] Any other email addresses where you would
want diagnostic information delivered.
[DIAGNOSTICS_LOG_PATH] <Local Installation Folder>\<Personify360
Release Name>\Log

Create the folder under <Local Installation


Folder>\<Personify360 Release Name>\.
[INSTALL_DB_SERVER_NAME] The name of the SQL Server where your
Personify360 Installation Information
Database is located. For example, “My SQL
Server” or “My SQL Server\My SQL Instance.”
[INSTALL_DB_DATABASE_NAME] The name of your Personify360 Installation
Configuration Database.
[INSTALL_DB_USER_ID] The SQL Server log on name that you use to
connect the Middle Tier Server to the
database server (typically TIMSS or
PERSONIFY). This is the username you
created as specified in step 2 of Performing a
Fresh Installation of the Installation Database.
[INSTALL_DB_USER_PASSWORD] The password of the SQL User ID. This is the
password you created as specified in step 2 of
Performing a Fresh Installation of the
Installation Database.

PROPRIETARY AND CONFIDENTIAL

38
7.7.0 INSTALLATION GUIDE

Parameter Replace with

[BACKOFFICE_IMAGE_LOCATION] The file system path where your Back Office


client files are located.
[SMTP_SERVER_NAME] The email server that delivers all email
messages from Personify360.
[SERVICE_PORT_NUMBER] The TCP Port Number your application server
will listen on. If you only have one instance of
a Personify360 Application Server running,
you can specify the value 3346 for this item. If
you have multiple Personify360 Application
Servers installed and running on your
machine, each instance must use a unique
port number.

NOTE: With the release of Personify360 7.2, additional server-side diagnostics logging
capabilities were made available to Personify360 System Administrators. These capabilities
can be used to locate and identify SQL statements that cannot be executed for reasons
such as concurrency exceptions, deadlock scenarios, and malformed queries.

6. If you are multi domain environment like where servers are in one domain and users
are in another domain, you may want to enable LDAP Authentication. To enable
LDAP authentication, uncomment the required settings and update your LDAP
server details as when where exists.

This functionality would typically not be turned on in a production environment unless


you must identify the cause of one or more SQL statements that cannot execute
successfully. To enable or disable this functionality, you must edit the server
configuration file to set the attributes displayed in red below to “True” successfully.

PROPRIETARY AND CONFIDENTIAL

39
7.7.0 INSTALLATION GUIDE

7. Save changes to the Personify.Server.ApplicationServer.exe.config file and close it.


8. Rename the Diagnostics.Config\TEMPLATE_NLogApplicationServer.config file to
NLogApplicationServer.config.
9. Open the NLogApplicationServer.config file in Notepad and update the log path
10. <nlog xmlns="http://www.nlog-project.org/schemas/NLog.netfx40.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true"
autoReload="true" internalLogFile="[INTERNAL_DIAGNOSTICS_LOG_PATH]"
internalLogLevel="Error" >
11. <variable name="BaseDir" value="[DIAGNOSTICS_LOG_PATH]"/>
12. Update the following variable value to “true”, if you are creating environment for
production.
13. <variable name ="VKeepFileOpen" value="false" />
14. Navigate to the <Local Installation Folder>\<Personify360 Release
Name>\Application folder and select the !install.cmd file.
15. Right-click the file and select Run as Administrator.
16. If prompted, in the User account Control Message box, click Yes.
This will install the Personify360 Application Server Service and register it with the
Microsoft Windows Service Control Manager.
17. Once the Personify360 Application Server Service is installed, open the command
prompt as Administrator and perform the following:
18. Type “C:” and hit Enter.
19. Type ..\Services\Application path and hit Enter.
20. Type “personify.server.applicationserver.exe /installcounters” and hit Enter.
This installs counters to the service.
21. From the Control Panel, select System and Security > Administrative Tools >
Services.
The Windows Service Control Manager displays.
22. Find the service you created in step 6, right-click on the service, select Properties,
and ensure that the Startup Type is set to “Automatic.”
23. Click Start to start the Personify360 Application Server Service.
24. Change the Logon Account to a network account so other servers will have access
to it across the network. Open the Properties screen of this service and go to the Log
On tab. Select This Account option to add a network account (PersonifyServices)
and password.
25. Test installation by starting service.
If the service fails to start, check the application event log and/or your email for an error
report.

PROPRIETARY AND CONFIDENTIAL

40
7.7.0 INSTALLATION GUIDE

Installing the Personify360 Online Help

To install the Personify Online Help:


1. Copy all files and folders from the following location to the Online Help website
folder:
...7.7.0\Package\OnlineHelp
2. Configure IIS.

Installing the Personify360 Home Page

To install the Personify360 Home Page:

 Copy the following folder and rename “HomePage” and set virtual directory:
..\PersonifyHomePage\Fresh_Install\Extract

Configuring the Personify360 Back Office WinClient

The Config file is required for all types of deployment for Automatic Updates. It provides the
server location and database name to the client launcher. Perform this task before
proceeding to the next step.
1. Copy the contents of the ...\7.7.0\Package\BackofficeClient to [Local Installation
Folder]\[Personify360 Release Name]\.
2. Navigate to the ...\7.7.0\Package\BackofficeClient\Config folder.
3. Rename the TEMPLATE_Config.xml file to "Config.xml".
4. Open Config.xml in your text editor (for example, Notepad, XML Editor, etc.) and
refer to the following table for more information on which parameters to replace.

Parameter Replace with

[ASSOCIATIONNAME] The name of the association you are


working with. This association name can be
found in the Personify360 Installation
Database in the T_##_Association table.
[ENVIRONMENTNAME] The name of the environment you are
working with.
[VERSION_NAME] The version number you are working with.
This version number can be found in the

PROPRIETARY AND CONFIDENTIAL

41
7.7.0 INSTALLATION GUIDE

Parameter Replace with

Personify360 Installation Database in the


T_##_Version table.
[DEFAULT_DATABASE_NAME] The default database name you are working
with. This database name can be found in
the Personify360 Installation Database in
the T_##_Database table.
[MAIL_DIAGNOSTICS_SMTPSERVER] The email server used to send all diagnostic
emails.
[MAIL_DIAGNOSTICS_FROM] The sender’s email address.
[MAIL_DIAGNOSTICS_TO] Your email address.
[MAIL_DIAGNOSTICS_CC] The second email address where you
want diagnostic information delivered.
[ONLINE_HELP_WEB_SERVER_NAME] The web server where the online help is
located.
[REMOTING_SERVER_NAME] The name or IP address of the Personify360
application server.
[REMOTING_SERVER_PORT_NUMBER] The port number used to connect to the
Personify360 application server.

5. Save and close the file.


6. Open the Config.xml file in a text editor, such as Notepad.

NOTE: By default, the Help menu in Personify360 will open the local online help files
installed on the application server. Because these files are only the latest as of your
upgrade, the online help content will soon become out-of-date, as Personify is constantly
making improvements. Therefore, you have the option of configuring Personify360 to open a
centrally available Online Help:
https://resource1.personifycorp.com/PersonifyOnlineHelp/7.7.0/. NOTE: This site requires a
Single Sign-On (SSO) login. If some of your users do NOT have a SSO login, it is
recommended that you do NOT change the default configuration. You DO have the option of
providing BOTH links in the Help menu (see below for more information).

7. Update the values highlighted below:


<Item Name="HelpViewer"
Context="Personify"
Server="
http://[ONLINE_HELP_WEB_SERVER_NAME]/PersonifyOnlineHelp/"
ContentSensitiveHelp="index.htm?rhcsh=1&amp;rhmapid={0}"

PROPRIETARY AND CONFIDENTIAL

42
7.7.0 INSTALLATION GUIDE

TOCFile="index.htm"
IndexFile="index.htm"
/>

8. Save the Config.xml file.


9. Open the Container.xml file in a text editor, such as Notepad.
10. Customize your Help Desk to point to your organization’s help desk site by changing
the values as explained below and replacing contents highlighted:
<Tool Name="PersonifyCare" Caption="_PersonifyCare" Tooltip
="PersonifyCare"
Command="http://www.personifycorp.com/products-
services/services-support/customer-service"
Image="lifebelt.ico"/>
a. Name: the name of the support menu item.
b. Caption: the name of the support menu item that will display in the Help
menu. For example, if you want this menu item to open your helpdesk site,
you may enter “_MyAssociation HelpDesk”.

NOTE: Do NOT remove the underscore. For example:

Correct: “_MyAssociation HelpDesk”

Incorrect: “MyAssociation HelpDesk”

c. Tooltip: the name of the tooltip that will display when users hover over the
menu item.
d. Command: the support URL you want to open when the user clicks the
support menu item.
11. If you would like to provide a menu option to open the centrally located online help
(SSO login required), perform the following:
12. Enter the following code after the code shown in step 3f:
<Tool Name="OnlineHelp" Caption="_Online Help" Tooltip
="Online Help"
Command="cmd://App/Shell?FileName=https://resource1.personifyc
orp.com/PersonifyOnlineHelp/7.7.0/" BeginGroup="True"
Image="books.ico"/>

IMPORTANT: Please note that the context-sensitive help will still open the local online help
files when the user presses F1 on his/her keyboard. If you would rather have the centrally
located online help function as the context-sensitive help, you can enter
https://resource1.personifycorp.com/PersonifyOnlineHelp/7.7.0/ as the "Server" in the
Config.xml (see step 3b above).

PROPRIETARY AND CONFIDENTIAL

43
7.7.0 INSTALLATION GUIDE

13. Save the Container.xml file.

Configuring Personify360 Launcher

The Automatic Updates tool works with Personify360 to provide users with the most recent
version of Personify360. When installed, the Automatic Updates copies all the necessary
files for Personify360 to run and function correctly from the server to the client’s
environment.
New functionality that was added to the Automatic Updates includes the ability to specify an
alternate directory to use as the root directory for Personify360 downloads.
This section explains the process for installing and configuring the Automatic Updates. If you
have any questions, please contact your system administrator or a Personify, Inc. business
analyst
Once you install Automatic Updates and start Personify360 for the first time, you will be
prompted to provide some basic configuration information. This allows the Automatic
Updates to download Personify360 for you and communicate any problems it may have to
the appropriate person.
To configure Personify360 Launcher:

1. Create a network update location called “AutoUpdates”. A network update location is


a shared folder or folder on a website that is available to all of your end users.
2. Copy the files from the ..\AutoUpdater\Executables folder to the location you
created in step 1.
3. Rename the “TEMPLATE_PersonifyApplicationServers.xml” file to
“PersonifyApplicationServers.xml”.
4. Edit the PersonifyApplicationServers, using the following:
5. Enter the [APPLICATION SERVER NAME].
6. Enter the [PORT NUMBER].
The default port number for Personify360 is 39081.
7. Enter a Friendly Name for this server in [APPLICATION SERVER NAME].
This is the name your end users will see if they choose between multiple application
servers. For example: Test, Production, or Training.
8. Select whether this is the Default Server in the Default Entry.
9. Enter the [ASSOCIATION NAME].
10. Enter the App Type Name in [PLATFORM].
11. Click Save.
12. Edit the Personify.ConfigurationLocation.xml, using the following:

PROPRIETARY AND CONFIDENTIAL

44
7.7.0 INSTALLATION GUIDE

13. Set the [ConfigurationFileLocation] to the network update location you created in
step 1.
14. Using your command prompt, go to your network update location, and enter
“Personify.exe /generatemanifest”.
For more information, please see Manifest Generation.
15. For more information on deploying to user machines, please see Appendix A.

TRS Package Installation

NOTE: The prerequisite for the product development is .NET Framework 4.0.

Installing and Configuring the Personify360 TRS Cache Service

To configure and install the Personify360 TRS Cache Service:


1. Copy the contents of the ...\7.7.0\Package\Services folder to your [Local Installation
Folder]\[Personify360 Release Name]\Services folder.

NOTE: If you have been following this installation guide from the beginning, the contents of
the Services folder should be copied over already.

2. If the package is installed in the C:\Personify folder, browse to the


C:\Personify\7.7.0\Services\Cache folder.
3. Rename the TEMPLATE_TimssCacheService.exe.config file to
"TimssCacheService.exe.config".
4. Open the TimssCacheService.exe.config file and perform the following:
5. Verify CacheConfig ConfigURL = C:\<Local Installation Folder>\<Personify360
Release Name>\Services\Cache.
Example: C:\Personify\7.7.0\Services\Cache.
6. Verify ServiceName = Personify [Client environment] Cache Service – [port
number] and has the port number as mentioned in the channel section at the end of
the chapter. The 7002 port number is only an example. The only requirement for the
port number is that it is unique.
7. Verify To = Admin@YourAssociation.com.
In case of any error in the service, the above email ID will be used by the service to
communicate the error.
8. Save and close the file.
9. Rename the TEMPLATE_Databases.xml file to "Databases.xml".

PROPRIETARY AND CONFIDENTIAL

45
7.7.0 INSTALLATION GUIDE

10. Open the Databases.xml file and modify the database connection information based
on your database.
This file specifies where your Personify360 database is set up so that the Caching
Service can reference it. If you are not sure about the parameter values, contact your
database administrator.
11. DBName should be the name of the Personify360 database you are using (not the
Installation database).
12. FriendlyName should be the same as DBName.
13. Data Source is the name of the server where the Personify360 database is located.
Initial catalog should be the same name as the Personify360 database. User ID and
Password are the credentials used to log into the SQL Server.
14. Save and close the file.
15. Once the files are modified, select the InstallTimssCache.bat file to install the
service.
16. Right-click the file and select Run as Administrator.
17. From the User Account Control dialog box, click Yes.
18. Open the Windows Services panel and set the Log On account to
“PersonifyReporting” account for the service named Personify [Client
environment] Cache Service – [port number].
19. Start the service named Personify [Client environment] Cache Service – [port
number].

20. Review the Event Viewer log under Administrative Tools and verify if there was any
error due to configuration.

PROPRIETARY AND CONFIDENTIAL

46
7.7.0 INSTALLATION GUIDE

NOTE: If you want to uninstall the service, stop the service from the Windows Service panel
and right-click the UnInstallTimssCache.bat file. Click Run as Administrator and in the
User Access Control dialog box, click Yes.

Installing and Configuring the Interface Service

This service is used to run Online Reports, Group1, File Transfer, Payflow Pro and other
interfaces.
To configure and install the Personify360 Interface Service:
1. Browse to the <Local Media Path>\Services\Interface folder.
2. Rename TimssInterfaceService_TEMPLATE.exe.config
to "TimssInterfaceService.exe.config".
3. Open the TimssInterfaceService.exe.config file and perform the following:
This contains configuration information about the service.
a. Verify the Port ID used for the caching service is correct.
For example, <TimssCache ServerURI="tcp://localhost:39235/" />.
If this service is running on a server other than the caching server, then you
must specify the server name instead of the localhost. The port number here
should match the port used with the Caching Service.
b. Verify the service configuration parameters are correct, including:
 ServiceName – Name of the application service as it appears in the
Service Explorer: Personify [client environment] Interface Server –
[port number].
 DisplayName – Descriptive name. This can be set to the same value as
the ServiceName.

PROPRIETARY AND CONFIDENTIAL

47
7.7.0 INSTALLATION GUIDE

 StartupType – Should be set to “Automatic” so whenever the server


restarts, this service is restarted as well.
 LoggingLevel – The event-logging level of the service parameter. Valid
values include “None,” “Normal,” or “Verbose” depending on the detail
you want. The value used most often is “None.” This value can be
changed to debug a problem.
c. Verify the email configuration parameters are correct, including:
 AlertEmail Server – The name of the server providing the email service.
 From – The name of the email account the service email is from. It does
not have to exist for emails to be sent.
 To – The name of the email account that will receive service emails. It
must be a valid email address.
 CC – The name of the email account that will receive carbon copy emails.
It must be a valid email address.
 Interval – Time interval in minutes between logging and sending error
messages. This feature prevents identical error messages from being
logged/sent continuously before the problems are resolved.
d. Check TCP and HTTP Port IDs.
By default they should be the following:
 <channel ref="tcp" port="9001"
 <channel ref="http" port="9101"
 <channel ref="tcp" port="9201" name="plainTCP"

NOTE: Do not change the Port ID while it is being used in the application. The systemtoken
and plaintcp Port IDs are mentioned in the configuration file but they are not used because
you do not want to authenticate all calls to the Interface Service.

e. Update the “EncryptionKeyFile” path.


The path should only be the same as the current Directory.
4. Rename TEMPLATE_TimssInterfaceConfig.xml to TimssInterfaceConfig.xml.
5. Open the TimssInterfaceConfig.xml file.
This contains all server configurations used by the application.
6. Change the Database Name to your Personify360 database name.
7. There are sets of configurations for each database.
Go through all the entries and paths to verify the correct paths and values are
mentioned here:
 TRSApplicationPath
 TRSOutputPath
 TRSInputPath

PROPRIETARY AND CONFIDENTIAL

48
7.7.0 INSTALLATION GUIDE

NOTE: If your database section cannot be found, then create a new section as a copy of an
existing database and change the database name and other settings. The DBName
parameter value should correspond to the value set for DBName in the Databases.xml
configuration file.

Refer to the following table for more information on which parameters to replace.

Parameter Replace with

StartInternetURL By default this web page displays when


the user opens the browser within the
application. Verify your string ends with
user=. If not, just add a dummy ?user= to
the URL. It will still open the correct URL.
HelpURL The location where all Help files are
located.
CustomerInfoDocPath The folder where customer information
documents are stored on the server.
CommitteeMinutesPath The folder where committee minutes
documents are stored.
StandardLetterPath All standard letters are stored here.
ProductImagePath All product images are stored here.
ProductFilesPath All product-related files are stored here.
TRSApplicationPath All TRS application executables are stored
in this folder. We recommend you create
separate TRS folders for each database.
Standard folder names are TRSTPRO and
TRSTTST.
TRSOutputPath This is where all TRS jobs and online
reports generate output. There should be
a separate path for each database.
TRSInputPath This is where any input files required for
TRS jobs are stored. There should be a
separate path for each database.
EmailAddressForError In case of an application error, this email
address is populated by default as the “To”
address.
AbstractFilesPath All abstract files are copied to this location.
ADVERTISEMENTFILESPATH All advertisement-related files are copied
to this location.

PROPRIETARY AND CONFIDENTIAL

49
7.7.0 INSTALLATION GUIDE

Parameter Replace with

BPATEMPLATE This is where the BPA template is located.


COMM_PROVIDER This parameter should be left intact. It is
obsolete and will be removed in a future
release.
COMM_SMTP_SERVER_ADDRESS The IP or name of the SMTP mail server.
Email uses an SMTP mail server.
COMM_USERNAME (Email server UserID) If your email server requires
UserID/Password authentication for SMTP
relay requests, then change the default of
“NONE.”
COMM_USERNAME Parameter value to the appropriate
UserID.
COMM_PASSWORD (Email server If your email server requires
Password) UserID/Password authentication for SMTP
relay requests, then change the default of
“NONE.”
COMM_Password Parameter value to the appropriate
password corresponding to the UserID
entered for COMM_USERNAME.
COMM_FAX_FORMAT Email gateway of the fax server accepts
the fax requests in a specific format.
Specify that format using the following
tags:
 ##fax_no##

 ##label_name##

 ##company_name##

 ##phone_no##

COMM_IDS_KEY This parameter should be left in tact. It is


obsolete and will be removed in a future
release.
COMM_ATTACHMENT_PATH Attachment files used by the
communication interface are downloaded
in the area on the server.
CGA_URL This website is used to automatically
calculate fund-planned giving for a
charitable gift annuity fund.
PROPRIETARY AND CONFIDENTIAL

50
7.7.0 INSTALLATION GUIDE

Parameter Replace with

CRAT_URL This website is used to automatically


calculate fund-planned giving for a
charitable remainder annuity fund.
CRUT_URL This website is used to automatically
calculate fund-planned giving for a
charitable reminder unitrust fund.
PIF_URL This website is used to automatically
calculate fund-planned giving for a pooled
income fund.
CLAT_URL This website is used to automatically
calculate fund-planned giving for a
charitable lead annuity trust fund.
CLUT_URL This website is used to automatically
calculate fund-planned giving for a
charitable lead unitrust fund.
LEA_URL This website is used to automatically
calculate fund-planned giving for a life
estate agreement.
BROADCAST_REPORT_MAILBOX Only needed if you have Xpedite
broadcast mail set up. Mailbox address
that would receive broadcast delivery
reports from Xpedite.
BROADCAST_REPORT_MAIL_PASSWORD Only needed if you have Xpedite
broadcast mail set up. Password for the
mailbox that would receive broadcast
delivery reports.
EMAIL_BROADCAST_FTP_URL Only needed if you have Xpedite
broadcast mail set up. URL of the FTP site
on which Email Broadcast-related files will
be uploaded.
FAX_BROADCAST_FTP_URL Only needed if you have Xpedite
broadcast mail set up. URL of the FTP site
on which Fax Broadcast-related files will
be uploaded.
VOICE_BROADCAST_FTP_URL Only needed if you have Xpedite
broadcast mail set up. URL of the FTP site
on which Voice Broadcast-related files will
be uploaded.

PROPRIETARY AND CONFIDENTIAL

51
7.7.0 INSTALLATION GUIDE

Parameter Replace with

BROADCAST_MAIL_PATH Only needed if you have Xpedite


broadcast mail set up. Name of Broadcast
Mail Path where all files will be created
and FTPClient.NET will pull the files to
upload.
FEDEX_URL FedEx shipping tracking URL. Do not
change this entry.
UPS_URL UPS shipping tracking URL. Do not
change this entry.
USPS_URL United States Postal Service (USPS)
shipping tracking URL. Do not change this
entry.

8. Double-click the InstallTimssInterface.bat file to install the interface service.


9. Right-click the file and select Run as Administrator.
10. From the User Access Control dialog box, click Yes to install the interface service.
11. Open the Services Explorer and select Personify [client environment] Interface
Server –[port number].
12. Right-click Personify [client environment] Interface Server –[port number] and select
Properties.
13. On the Log On tab, select the This Account radio button.
14. Set the username to “PersonifyReporting” and enter the password.

NOTE: If the TRS service and the Interface service are on different servers, then you can
change the Log On account here to a domain user account with “Change” rights on the TRS
folder.

PROPRIETARY AND CONFIDENTIAL

52
7.7.0 INSTALLATION GUIDE

15. Click Apply.


This service needs a domain account login.

The timssinterfaceconfig.xml should have the UNC path for the TRS folders, so by granting
permission to the Log On account, it can access the TRS folders.

16. Click OK.


17. Right-click on the interface service and start the service.

Installing and Configuring the Personify360 TRS Service

To configure and install the Personify360 TRS Service:

1. Copy the contents from the ...\7.7.0\Package\TRS folder to the [Local Installation
Path]\[Personify360 Release Name]\Services\TRS folder, if this has not been done
already.
2. Navigate to [Local Installation Path]\[Personify360 Release Name]\Services\TRS.
Open the following files in Notepad and add the appropriate file where the TRS
service is located:
 InstallTRS.bat

PROPRIETARY AND CONFIDENTIAL

53
7.7.0 INSTALLATION GUIDE

 UnInstallTRS.bat

NOTE: If the path has spaces in it, enclose the path name in double quotation marks.

3. Rename TEMPLATE_TRSDaemonService.exe.config to
"TRSDaemonService.exe.config".
4. Open the TRSDaemonService.exe.config file and perform the following:
a. Set <ThisService> ServiceName = Personify [client environment] TRS
Service and
DisplayName = Personify [client environment] TRS Service.
b. Set To = Admin@YourAssociation.com. In case of any error in the service,
the above email ID will be used by the service to communicate the error.
c. Set QueueSetup Path = [local installation path].
5. Rename TEMPLATE_TRSDaemon.xml to "TRSDaemon.xml".
6. Open the TRSDaemon.xml file and perform the following:
a. Set the folder paths:
 <LOG_DIR> [local installation path] \Logs</LOG_DIR>
 <TRS_HOME_DIR> [local installation path]</TRS_HOME_DIR>
 <APPL_DIR> [local installation path] \Appl</APPL_DIR>
 <OUTPUT_DIR> [local installation path] \Output</OUTPUT_DIR>
b. Verify the DBNAME matches the name provided in the databases.xml in the
Cache Service folder.
c. Set the following values:
 PURGE_FLAG – “Y” enables purge
 PURGE_HOUR – Starts the purge at a particular hour
 PURGE_INTERVAL – Indicates how old TRS jobs has to be for purge
7. Save TRSDaemon.xml and close.
8. Rename the TEMPLATE_TimssToken.default file to "TimssToken.Default".
9. Open the TimssToken.Default file and verify the URI and the port information are
correct based on the Cache Service setup. You will need to change the network
locations to the servers that you have set up the services on, as well as their
respective port numbers.
10. Save any changes to TimssToken.Default and close.
11. Copy the TimssToken.Default file to the [Local Installation Path]\Appl folder or the
appropriate folder based on your installation.
12. Copy the config.xml file from WinClient folder to the target [Local Installation
Path]\Appl\Config folder.
13. Double-click the InstallTRS.bat file to install the service.
14. Right-click the file and select Run as Administrator.

PROPRIETARY AND CONFIDENTIAL

54
7.7.0 INSTALLATION GUIDE

15. From the User Access Control dialog box, click Yes to install the service.
16. Open the Windows Services panel and start the service named Personify [client
environment] TRS Service.

Notification Server Installation

NOTE: For more information on notification services, please see Appendix G.

NOTE: You must create your own organization’s org unit in Personify360 before installing
notification services. For more information, please see the Personify360 7.7.0 Online Help.

Before you can install and use the Personify360 Email Notification Service, you must first
configure the service. To configure the service navigate to the folder where you have copied
the Personify360 E-Mail Notification Service executable. Double-click on the batch
command file ConfigureNotificationService.cmd. This will open a dialog with five tabs
General Settings, SMTP Settings, Service Logon Credentials, Base Procedures, and Event
Procedures.

NOTE: The NTS services do not support TLS encryption. You will need to create a regular
SMTP server to send email from the notification services.

NOTE: If you want to install notification services via command line, please see Command
Line Options for Notifications.

PROPRIETARY AND CONFIDENTIAL

55
7.7.0 INSTALLATION GUIDE

Notification Server Settings - Tab 1: General Settings

Parameter Description
Name

Organization ID The Organization ID this service instance is processing notifications for.


See the Organization/Organization Unit (Additional Details) section
below for more information.
Organization The Organization Unit ID this service instance is processing notifications
Unit ID for.
See the Organization/Organization Unit (Additional Details) section
below for more information.
Queue Name The service queue name of this service. When this service is installed,
the value of Service Name and Service Queue is concatenated to create
the name of the service as it appears in the Windows Service Control
Manager.

Each Personify360 Email Notification Service is assigned a queue name.


The queue name is used to assign a notification event to a specific
notification service queue. When the service starts up and the
initialization procedure is invoked, the service will receive a list of jobs
assigned to the queue name for this service.
Database The database connection string used to connect to the Personify360
Connection database.
String

PROPRIETARY AND CONFIDENTIAL

56
7.7.0 INSTALLATION GUIDE

Parameter Description
Name

Logging Level The logging level parameter specifies the amount of information written
to the Windows Application Event Log. The default value for this
parameter is NORMAL. You can set this value to VERBOSE for
debugging purposes, but this can cause performance degradation of the
system due to the amount of information being written to the event log.
Service Name The name of this service. When this service is installed, the value of
Service Name and Service Queue is concatenated to create the name of
the service as it appears in the Windows Service Control Manager.
Service The description of this service as it appears in the Windows Service
Description Control Manager.
Job Startup The delay, in seconds, to pause between jobs when initializing each job.
Delay To prevent a surge of requests on the server processor, when the
service first starts it pauses for the specified number of seconds before
attempting to process jobs while initialization is in process.

The default value for this parameter is “1.”


SQL Query
Timeout

Organization/Organization Unit (Additional Details)

Each Notification Server instance must specify both organization and organization unit
parameters. When the server initializes at service start, it selects notification event
definitions based on the organization/organization unit. When a notification event processes,
these values are passed as parameters to the notification event stored procedure.
If your association utilizes the multi organization capabilities of Personify360, you can use
the org/org unit parameters in your notification event stored procedures to filter result sets
down by org/org unit.
If you do not use the multi organization capabilities of Personify360, you can choose not to
use the org/org unit parameters in the notification event stored procedure. The parameters
will still be passed when the notification event fires, but if you choose not to use them in the
predicates of the stored procedure select statements, a single notification server instance
can be used to service your entire organization.

PROPRIETARY AND CONFIDENTIAL

57
7.7.0 INSTALLATION GUIDE

Notification Server Settings - Tab 2: SMTP Settings

Parameter Description
Name

SMTP Server The DNS name or IP Address of the server on your network that handles
Name outgoing SMTP requests.
SMTP Server The port number used to communicate with the SMTP Server. Defaults
Port to “25.”
Use Default If your SMTP server does not require authentication to allow clients to
Credentials send mail messages via SMTP, you should check this box.

For a more secure SMTP session, you can provide specific log-on
credentials to use to connect to the SMTP Server by leaving this
parameter unchecked.
User Domain The Domain Name of the user account used to authenticate the user to
Name the SMTP Server.
User ID The User ID used to authenticate to the user to the SMTP Server.
User Password The password associated with the User ID used to authenticate the user
to the SMTP Server.
Server Timeout The amount of time, in seconds, that a connection to an SMTP Server
will wait before responding with a SERVER_TIMEOUT error message.
Defaults to “30.”

PROPRIETARY AND CONFIDENTIAL

58
7.7.0 INSTALLATION GUIDE

Parameter Description
Name

Send Mail When checked, allows the notification service to send messages
Messages asynchronously. Checking this box brings an overall improvement to
Asynchronously system performance.

If your SMTP Server has a large queue of back logged messages to


send, you can uncheck this box causing the notification service to send
all messages synchronously. Sending messages synchronously impact
overall notification service performance, but should alleviate large queue
lengths in your SMTP Server.

Notification Server Settings - Tab 3: Service Logon Credentials

Parameter Description
Name

Logon as Local When this option is selected, the notification service will be installed to
Service run under the context of the Local Service Account. This account is
generally considered to be a “High Privilege” account and should not be
used in production systems except in instances where the Network
Service account is unavailable.

PROPRIETARY AND CONFIDENTIAL

59
7.7.0 INSTALLATION GUIDE

Parameter Description
Name

Logon as This is the default option. When this option is selected, the notification
Network Service service will be installed to run under the context of the Network Service
Account. This account is generally considered to be a “Low Privilege”
account and is recommended for use where minimal permission sets are
required by your service application.
Logon as When this option is selected, the notification service will be installed to
Specific User run under the context of the account specified using the Domain, User,
and Password properties. Advanced system administrators may choose
to use this option to maintain more control over the exact permissions
granted to a specific windows service or set of windows services.
Domain Name When the Logon as Specific User option is selected, you must provide
the active directory domain name to use when resolving the user ID. If
there is no active directory domain in place this value should be the
NETBIOS name of the server hosting the service.
User ID When the Logon as Specific user option is selected, you must provide
the user ID of the account that the service runs in the context of.
Password When the Logon as Specific User option is selected, you must provide
the password associated with the user ID.

Notification Server Settings - Tab 4: Base Procedures

The fourth tab in the notification server settings dialog is used to install the Personify360
Base Notification Event stored procedures.
Before you can install these procedures you must first ensure that you have setup a valid
database connection string on the first tab. Once you have a valid database connection
string, you can select any/all of the stored procedures shown on this tab and click the install
button.
When the configuration dialog loads it looks for a folder named
Notification_Event_Procedures in the same folder where the executable exists. If that folder
exists, then all SQL script files in that folder (and any sub-folders) are read and the tree view
is populated with the sub-folder name/script name.

PROPRIETARY AND CONFIDENTIAL

60
7.7.0 INSTALLATION GUIDE

PROPRIETARY AND CONFIDENTIAL

61
7.7.0 INSTALLATION GUIDE

PROPRIETARY AND CONFIDENTIAL

62
7.7.0 INSTALLATION GUIDE

Parameter Description
Name

General Settings
SQL Server The name or network address of the instance of SQL Server to which
Name you want to connect. Clicking the button next to the SQL Server Name
text box opens a dialog that lists the available SQL Servers on your
network.

NOTE: If your network is very large or contains many SQL Servers, it


may take several seconds for this dialog to open as it will interrogate
your entire network looking for any SQL Server instances.

Use Integrated When set to true, the connection to the database is based on the
Security currently logged on user of the workstation. When set to false, the login
is based on the SQL Server credentials.
SQL User ID The SQL Server login account.
SQL Password The password for the SQL Server account logging on.
Database Name The name of the database.

If you have provided a valid user ID/password for the SQL Server
instance, you can click the button next to the database name and be
provided with a list of available databases on the SQL Server instance.
Workstation ID The name of the workstation connecting to the SQL Server.

PROPRIETARY AND CONFIDENTIAL

63
7.7.0 INSTALLATION GUIDE

Parameter Description
Name

Advanced Settings
Network Library The network library used to establish a connection to an instance of
SQL Server.

Supported values are:


 Named Pipes

 Multiprotocol

 Apple Talk

 VIA

 Shared Memory

 IPX/SPX

 TCP/IP

NOTE: The corresponding network DLL must be installed on the system


to which you connect.

NOTE: If you do not specify a network and you use a local server (for
example, “.” or “(local)”), shared memory is used.

Packet Size Size, in bytes, of the network packets used to communicate with an
instance of SQL Server.
Connection The length of time, in seconds, to wait for a connection to the server
Timeout before terminating the attempt and generating an error.
Connection When a connection is returned to the pool, its creation time is compared
Lifetime with the current time and the connection is destroyed if that time span,
in seconds, exceeds the value specified by the connection lifetime.

This is useful in clustered configurations to force load balancing


between a running server and a server just brought on-line.
Persist Security When set to false, security-sensitive information, such as the password,
Info is not returned as part of the connection if the connection is open or has
ever been in an open state. Resetting the connection string resets all
connection string values including the password.

PROPRIETARY AND CONFIDENTIAL

64
7.7.0 INSTALLATION GUIDE

Parameter Description
Name

Connection Pooling
Use Connection When set to true, the SQL Connection object is drawn from the
Pooling appropriate pool or, if necessary, is created and added to the
appropriate pool.
Min. Pool Size The minimum number of connections allowed in the pool.
Max Pool Size The maximum number of connections allowed in the pool.
Connection Determines whether the database connection is reset when being
Reset removed from the pool. Setting to false avoids making an additional
server round-trip when obtaining a connection, but the programmer
must be aware that the connection state is not being reset.
Enlist When set to true, the pooler automatically enlists the connection in the
creation thread’s current transaction context.

Notification Server Settings - Tab 5: Event Procedures

The fifth tab in the notification server settings dialog is used to install the Personify360 Email
Notification Service stored procedures.

This tab works similar to the tab 4, “Base Procedures.” Please refer to the previous section
Tab 4: Base Procedures for more information.

PROPRIETARY AND CONFIDENTIAL

65
7.7.0 INSTALLATION GUIDE

Service Installation for Notifications

There are two batch command files in the folder where the Personify360 Email Notification
Service executable exists for installing and uninstalling the Personify360 Email Notification
Service. You can choose to use these batch files or you can open a command prompt and
execute the correct command line option for yourself.

NOTE: Before installing the service, ensure that you have followed the steps outlined in the
“Service Configuration” section.

Command File Name Description

InstallNotificationService.cmd This batch command file installs the Personify360 Email


Notification Service.

This batch command file executes the following


command line: Personfiy.Notification.exe/install
UnInstallNotificationService.cmd This batch command file uninstalls the Personify360
Email Notification Service.

This batch command file executes the following


command line: Personify.Notification.exe/uninstall

Image Services Installation

If your organization allows mobile users to upload customer profile images or you include
product images on your product listing page, you should consider installing the Windows
Service. This service creates a Customer Images folder and helps you to standardize the
size of all uploaded images ensuring that all customer profile images displayed in the same
size as well as all product images. This way, your mobile users can upload an image of any
size and the application will not distort the image when it displays in the image space.
Additionally, if the back-office Application Parameter is set in step 10 below, pictures will
display in the Donor360 screen.
To install the Windows Service:

1. Go to the following folder: [local installation path]\Services\Image.


2. Rename the TEMPLATE_PersonifyImageService.exe.config to
PersonifyImageService.exe.config.
3. The following values appear in the PersonifyImageService.exe.config.xml. You
can modify them as required in the <appSettings> group.
PROPRIETARY AND CONFIDENTIAL

66
7.7.0 INSTALLATION GUIDE

Key Value Comments

CustomerImagePath (enter the URL) Web service will point to this


directory for Customer
Image URL. Reference the
customer image folder
under web files.
ProductImagePath (enter the URL) Web service will point to this
directory for Product image
URL. Reference the product
image folder under web
files.
EnableEventLogs True
ProfileThumbnailWidth* 25 Customer Image
ProfileThumbnailHeight* 25 Customer Image
ProfilePictureWidth* 250 Customer Image
ProfilePictureHeight* 250 Customer Image
RefreshImageInterval 3600000 In milliseconds.
Recommended 1- 24 hrs.
WindowsService.Name (enter Personify360 Image Personify [client
Service Name) environment] Image Service
WindowsService.Description (enter personify image Description of the service
service description) name.

4. Rename the TEMPLATE_Config.xml file in the ..\Config folder to Config.xml.


Update the following values:
 Seat Information
 AssociationName
 EnvironmentName
 VersionName
 AppTypeName
 DatabaseName
 Login
 Password
 MessagingServiceURI
5. Run the Install.cmd file from Command prompt.
6. Go to services and set the username for the Personify [client environment] Image
Service and enter a password.

PROPRIETARY AND CONFIDENTIAL

67
7.7.0 INSTALLATION GUIDE

7. Click on Start to start the service.


8. If the service fails to start, check the application event log and/or your email for an
error report.
9. Login to the Personify360 back office. Go to the menu bar option System Admin >
System Setup > Application Parameters.
10. Search for the APPLICATION_IMAGES_URL parameter. Enter the
CustomerImagePath from step 3.
11. If staff want to view pictures in the CRM360 and Donor360 screen, then go to
Applications parameters and select customer sub system and update the
“USE_CONSTITUENT_IMAGES” value to ‘Y’.

Installing the IMS Windows Service

As of the Personify360 7.1 release, you can now have multiple Windows Service
installations. If you are installing more than one web service, then you must update the
config file with the name of the database connection, rename the files, and copy the files to
different folders.
To set up the IMS Windows Service:

1. Copy the SSO_IMS/IMS_WindowService folder to your installation folder.


2. Set up the configuration file IMSWinservice.exe.config in the <ConnectStrings>
section:
a. SSO/IMS database connect string:
<add name="IMSconnstr" connectionString= "data source=<<SSO/IMS
Database server name>> ;Database=<<SSO/IMS database name>>;User
Id=<<User name to connect SSO/IMS
database>>;Password=<<Password>>;Trusted_Connection=False"
providerName="System.Data.SqlClient"/>
b. Personify360 database connect string:
<add name="Timssconnstr" connectionString="Data Source=<<The TIMSS
database server name>>; Persist Security
Info=True;Password=<<Password>>;User ID=<<User id to connect
to TIMSS Database>>" providerName="System.Data.OracleClient"/>
3. Set up the timeout parameters in the <AppSettings> section. The settings below
show the default values. If the process time for the update type is not specified, it will
default to the settings from the config file.
<add key="MaxProcessTime" value="30" />
a. This parameter will set up the maximum thread value that the service can use
to process jobs. With the settings below, the service will process three jobs

PROPRIETARY AND CONFIDENTIAL

68
7.7.0 INSTALLATION GUIDE

simultaneously. This is the default setting.


<add key="MaxThread" value="3"/>
b. This parameter will set up the minimum thread value that the service can use
to process jobs. At a given time, at the minimum, one job will be processed.
<add key="MinThread" value="1"/>
c. This parameter defines how many concurrent jobs should be processed.
<add key="ConurrencyLimit" value="3"/>
d. Indicate the Personify360 version.
<!--seconds -->
<add key="TIMSSVersion" value="7"/>
4. The following are the update types for IMS.
 E – Indicates the daily jobs.
 I – Indicates the inclusion of the records.
 X – Indicates the exclusion of the records.
These types will be included in the .config file as a part of the default service config
file. These parameters are not required to change during the installation.
<add key="ExclusionUpdateType" value ="X"></add>
a. Every update type has stored procedures that will be executed. These stored
procedures are part of the database installation. The stored procedure
includes the business rules for the update type. The rules will be used when
the SQL script for the role is executed.
<add key="E_StoreProcedure" value="IMSRoleDaily"></add>
<add key="I_StoreProcedure" value="IMSRoleInclusion"></add>
<add key="X_StoreProcedure" value="IMSRoleExclusion"></add>
b. Specify the time limit to process for daily jobs. The Windows service will
expect to finish the job in specified hours/minutes. If not specified, the max
process time will be used.
<add key="E_TimeLimit" value="115"></add>
c. Specify the time limit to process for inclusion jobs. The Windows service will
be expected to finish the job in specified hours/minutes.
<add key="I_TimeLimit" value="115"></add>
d. Specify the time limit to process for exclusion jobs. The Windows service will
be expected to finish the job in specified hours/minutes.
<add key="X_TimeLimit" value="115"></add>
5. Run the _install script.
6. After completing the installation, verify the Window service has been created in the
services section using the administrative tools for Windows. The service will be
created by the name “TIMSScheduleProcessor.” By default, the startup type will be
“Manual.” The administrator can optionally change the startup type to “Automatic.”

PROPRIETARY AND CONFIDENTIAL

69
7.7.0 INSTALLATION GUIDE

PROPRIETARY AND CONFIDENTIAL

70
7.7.0 INSTALLATION GUIDE

Web Server Installation

SSO/IMS Installation

Installing the SSO Application and Web Service

To install the SSO application:

1. Copy the SSO_WEBSITE folder from [Release Package


Path]\Package\WebApplications\SSO_IMS\SSO_WEBSITE to your Web folder.
2. Create a new application pool in IIS.
a. Right-click on Application Pools and select Add Application Pool.
b. Enter the required information, as shown below.

3. After successful creation of new application Pool, select the newly created
application pool from middle pane of Application Pools. Right-click on the application
pool and select Advanced Settings.

PROPRIETARY AND CONFIDENTIAL

71
7.7.0 INSTALLATION GUIDE

4. Update the settings in Advanced Settings window according to your requirement.

5. Modify the web.config file for the SSO_WEBSITE.


a. Set the DNN and SSO database Connect string parameters in the
<connectionStrings> section.
<connectionStrings>
<add name="SiteSqlServer"
connectionString="Server=[DNN_DB_SERVER_NAME];Database=[D
NN_DB_DATABASE_NAME];user
id=[DNN_DB_USER_ID];password=[DNN_DB_USER_PASSWORD]"
providerName="System.Data.SqlClient" />
<add name="SSO.ConnectionString"
connectionString="Server=[SSO_DB_SERVER_NAME];Database=[S
SO_DB_DATABASE_NAME];user
id=[SSO_DB_USER_ID];password=[SSO_DB_USER_PASSWORD]"
providerName="System.Data.SqlClient" />

PROPRIETARY AND CONFIDENTIAL

72
7.7.0 INSTALLATION GUIDE

</connectionStrings>

b. Set the DataServices URL information in “svcUri” key.


<add key="svcUri"
value="http://[DATASERVICES_WEBSERVER_NAME]/[DATASERVICES_W
EBSITE_NAME]/PersonifyData.svc/"/>
c. Set the SSO database Connect string parameters in the <appSettings>
section.
<add key="SSO.ConnectionString" value="user
id=[username};password=[password];Initial
Catalog=[DatabaseName];Data Source=[Server name]" />
d. Set the SMTP Server name to send an email server name to allow your
customers to retrieve their password.
<SmtpMessageTransportServer>[SMTP SERVER
NAME]</SmtpMessageTransportServer>
<network host="[SMTP SERVER NAME]" port="25"
defaultCredentials="true" />
e. Set the email address in the <ExceptionManager> section. If the email should
go to multiple people, separate the email addresses by a semi colon.
For example, admin@association.org; manager@association.com.
<EmailAddresses>[LIST OF EMAIL ADDRESSES]</EmailAddresses>
<FromEmailAddress>[SENDER EMAIL ID]</FromEmailAddress>
<smtp from="[SENDER EMAIL ID]">
<KeyValue Key="PasswordResetFromEmailAddress" Value="[SENDER EMAIL
ID]" />
f. Set the SSO website URL information to send the email when a customer
requests for the reset of their login credentials.
<KeyValue Key="DefaultAssociationLoginURL"
Value="http://[WEBSERVERNAME]/[EBUSINESS SITE NAME]/default.aspx" />
g. Set the Default Association Login URL - This is needed if Reset Password
call is initiated from the Personify360 back office. In this case, an email is
sent to the user and after the user clicks on the link and resets the password,
he will be redirected to this page. Ideally, this page should be the login page
for your web site.
<KeyValue
Key="DefaultAssociationLoginURL"Value="http://...../defau
lt.aspx" />
h. Update/add the following node in web.config to enable the SQL Server
Session state.

PROPRIETARY AND CONFIDENTIAL

73
7.7.0 INSTALLATION GUIDE

i. Set the Password Strength Regular Expression - This regular expression will
enforce the strength of password for your web site. If you modify the default
password strength then also make sure that you set the same password
strength in DataServices “web.config” file as well.
<KeyValue Key=" PasswordStrengthRegularExpression " Value=”Enter
Value Here" />

Minimum Length: 6 ^.*(?=.{6,}

Minimum Length: 6, with at least 1 ^.*(?=.{6})(?=.*\d)(?=.*[a-z]).*$


Number, and at least 1 Alpha Character
Minimum Length: 6, with at least 1 ^.*(?=.{6,})(?=.*\d)(?=.*[a-z])(?=.*[A-
Number, and at least 1 Upper Case Alpha Z])(?=.*[@#$%^&+=]).*$
Character,
and at least 1 Lower Case Alpha
Character, and at least 1 Special Case
Character

j. Set the option to enable or disable Remember Me functionality - From 7.4.1,


we will not be creating a cookie every time a user logs into SSO. Cookie will
be created on the client's machine only if the user uses the Remember Me
option.
<KeyValue Key="EnableRememberMeFunctionality" Value="True" />
k. SessionMonitor_SleepTimeInMilliseconds
Session Monitor is a process which cleans up the expired sessions from the
SSO database. This setting specifies the frequency with which the session
monitor runs. Recommended value can range from 5 minutes to 60 minutes
depending on the web site usage.
l. CustomSessionValidDurationInMinutes
This value specifies the duration for which the customer session will be
active. Default value is 60 minutes.
m. CustomSessionValidDurationRememberMeInDays
The value specifies the session valid duration if the user selects the
remember me option. The value for this property is set to 90.
6. As of 7.4.2, to configure reset password and username settings, perform the
following:
a. If you want to modify the base HTML message sent to users when they
choose to reset their username or password, configure the following values in
the SSOMessages.resx file:
i. PasswordResetText
<BR/>Please click the link below to reset your

PROPRIETARY AND CONFIDENTIAL

74
7.7.0 INSTALLATION GUIDE

password.<BR/><a href ="{0}">Click here to reset password


</a><BR/><BR/>
ii. UsernameResetText
<BR/>Please click the link below to reset your user
name.<BR/><a href ="{0}">Click here to reset user
name</a><BR/><BR/>
7. Rename “TEMPLATE_SSOSetting.xml” to “SSOSetting.xml”.
8. Update the SSOSetting.xml file to set the Activate account and
ResetUserNameOrPassword feature.
<ActiveAccount Enable="True"
ActiveURL="http://[DATASERVICES_WEBSERVER_NAME]/[DATASERVICES_WEBSITE_NAME]
/">
<ResetUserNameOrPassword Enable="True"
ActiveURL="http://[DATASERVICES_WEBSERVER_NAME]/[DATASERVICES_WEBSIT
E_NAME]/">

Installing the IMS Web Service

To set up the IMS Web Service:


1. Create a folder on the web server for IMS web services and copy the dlls and other
files to that folder.
For example, this folder is named IMS.
2. Create a virtual folder in IIS and set up the directory as IMS.
3. Keep the default values for all other parameters.
4. Set the parameter values for the <AppSettings> section in the web.config file.
a. Set up the SSO/IMS Database connect string:
<add key="SSO.ConnectionString" value="Integrated
Security=True;Initial
Catalog=<<SSO/IMS Database name>>;Data Source=<<Server name for the
SSO/IMS database>>"/>
b. Set up the <ExceptionManager> Settings:
<EmailAddresses><<administrators email address>></EmailAddresses>
<FromEmailAddress><<From email address>></FromEmailAddress>
c. Set the SMTP server name to send an email when required through
Personify360 application:
<SmtpMessageTransportServer>exchange</SmtpMessageTransportServer>

PROPRIETARY AND CONFIDENTIAL

75
7.7.0 INSTALLATION GUIDE

Setting Up Single Sign-On in the Back Office

Personify360 requires the setup of one back office screen for the Single Sign-On
application. For more information about a customer's SSO login information, please see
To set up Single Sign-On in the back office:
1. Logged in as the administrator, select System Admin > Configure and Verify
Interfaces from the menu bar.
The Configure and Verify Interfaces (APP014) screen displays, as shown below.

PROPRIETARY AND CONFIDENTIAL

76
7.7.0 INSTALLATION GUIDE

2. Click Setup SSO Interface Parameters.


The Interface Parameter Maintenance screen displays, as shown below.

3. In the Parameter Value column, enter either “Y” (Yes) or “N” (No) for Enable SSO.
4. Enter your merchant SSO PASSWORD.
Upon entering your password and tab-out, your password will automatically be
encrypted.
5. Enter your merchant SSO USERNAME.
6. Enter your merchant SSO WEB SERVICE URL.
7. Click Save.

SSO Web User Migration

See Appendix H

Personify360 Data Services Installation

This document is the installation guide for Personify360 Data Services, which will be needed
to process web services created by the Web Service Designer and Data Services web
service is a required component for the web controls configuration. For web controls
configuration, please find the documentation at the

PROPRIETARY AND CONFIDENTIAL

77
7.7.0 INSTALLATION GUIDE

“SeparatelyPackagedComponents\PersonifyWebControls\[Latest Version]\Upgrading
Personify e-Business with Personify Web Controls.pdf”.

Software Requirements

The following software applications are required for the server you plan to install the
Personify360 Data Services on:

 .NET Framework 4.5.2

 MS Deploy

 SQL Server 2016

 Internet Information Services (IIS) 8.x

Installing Personify360 Data Services

1. Installing the Web Services on the Server


The Personify360 Data Services Package installs your web services application under the
virtual folder name “PersonifyDataServices”. If you would like to change the name of your
application, open the PersonifyDataServicesBase.SetParameters file in the package folder,
search for “IIS Web Application Name,” and modify the Default Web Site value attribute.
1. Ensure you have copied the package folder from the Personify360 release package
onto your server:
...\Releases\SeparatelyPackagedComponents\PersonifyDataServices\2.0.0\Pac
kage
2. Make sure you have Administration privileges to the package folder on your local
server.
3. In a command prompt, go to the Package folder located on your server. Find the
zipped file in ...\Package\Personify.DataServices\Personify.DataServices.Base
4. Run the following command on the prompt:
PersonifyDataServicesBase.deploy.cmd /t
5. Doing so will simulate the installation, but not actually deploy it.

NOTE: If any error messages display, you must resolve the issues before proceeding with
the actual installation.

6. By default, various settings use the MSDeploy version 1 for deployment. If you
receive the following error, check the MSDeploy version installed on the server.
“ERROR: The system was unable to find the specified registry key or value.
Msdeploy.exe is not found on this machine. Please install Web Deploy before

PROPRIETARY AND CONFIDENTIAL

78
7.7.0 INSTALLATION GUIDE

execute the script.”If you are using a later version of MSDeploy, such as version 2,
then modify the "PersonifyDataServicesBase.deploy.cmd" file with the appropriate
version number or with the correct registry key entry.
7. In a command prompt, go to the Package folder located on your server.
8. Run the following command on the prompt (this command performs the REST Web
Services installation): PersonifyDataServicesBase.deploy.cmd /y
9. Refresh your IIS Websites list. The PersonifyDataServices virtual folder, or whatever
name you gave your website, appears on the Connections list.
10. Copy the compatible Personify360 API to your web service’s bin folder.
11. Copy the following .reg file to your web server where E-business site is installed and
update the credentials inside the file:
..\Releases\SeparatelyPackagedComponents\PersonifyWebControls\1.8.0\Pack
age\WebControls\UniversalWebServiceCredentials.reg
12. Run the UniversalWebServiceCredentials.reg from your web server to create or
update the entries in the system registry.
This process is required for web controls to contact with the Personify360 Data
Services. Configuration files that required to be updated with the Personify360
information:
a. Web.config
b. Config.xml
c. NLogDS.config
Please make sure that all files are updated with the correct information. For more
information, please see the Personify360 Web Services Designer 1.9.0 Release Notes in
the following location:
P:\Personify\Releases\SeparatelyPackagedComponents\PersonifyDataServices\1.9.0
2. Configuring the Config.xml File
Once the Personify360 Data Services is installed, you need to modify the web services’
config.xml file to match your portal settings.
To modify the config.xml file:

1. Navigate to the Personify360 Data Services virtual folder you just installed.
2. Open config.xml in a text editor such as Notepad.
3. Locate the following lines of code in the file and update the bold font with your
application server location:
<Item Name="Remoting"
MessagingServiceUri="tcp://YOURSERVERNAME:PORTNUMBER/Messaging
Service.rem"/>

PROPRIETARY AND CONFIDENTIAL

79
7.7.0 INSTALLATION GUIDE

<Item Name="TimssApplicationServer" Value="tcp://


YOURSERVERNAME:PORTNUMBER /" />

4. Locate the following line in the file and enter the following values:
<Item Name="SeatInformation"
AssociationName=[YourAssociationName]
EnvironmentName=[YourEnvironmentName]
VersionName=[YourVersionName]
AppTypeName=[YourAppTypeName]
DatabaseName=[YourDatabaseName]
Login=[YourUserName]
Password=[YourPassword]/>

NOTE: The “Login” value must be lowercase.

5. Update the following items in “DataServices” Section:


<Item Name="FileUploadSharedPath" Value="C:\Temp" />
<Item Name="FileSystemCleanupEnabled" Value="False" />
<Item Name="TimeOfDayToCleanUpAttachments"
Value="[TimeOfDayToCleanUpAttachmentsValue]" /> <!-- Must
specify in military format IE: 19:00 is 7:00 PM 1:00 is 1:00
AM 0:15 is 12:15 AM 0:00 is midnight 12:00 is noon-->
<Item Name="AgeofFileToDeleteInDays"
Value="[AgeofFileToDeleteInDaysValue]"/>

6. Update the following items in “Caching” Section:


<!-- <Item Name="FileMonitoringEnabled" Value="True/False"/>--
>
<Item Name="FileMonitoringEnabled"
Value="[FILE_MONITORING_ENABLED]"/>
<!-- <Item Name="MonitoredBaseFolder"
Value="\\PDAPP\ServerFiles\DSCache\"/> -->
<Item Name="MonitoredBaseFolder"
Value="[CACHING_MONITORED_BASE_FOLDER]"/>
<!-- <Item Name="MonitoredKeys" Value="ALL,PRODUCT_PRICING"/>-
->
<Item Name="MonitoredKeys" Value="[CACHING_MONITORED_KEYS]"/>
PROPRIETARY AND CONFIDENTIAL

80
7.7.0 INSTALLATION GUIDE

7. Save and exit the file.


3. Modifying Web.Config Settings
Various optional settings specific to your association can be configured in the web.config
file. To modify the web.config settings:
1. Open the web.config file.
2. To set the Default Org Id and Default Org Unit Id, Query warning limit, query error
limit, and the maximum number of rows to fetch for each request for all users, modify
the highlighted code below:
<appSettings>
<add key="DefaultOrgId" value="NASE" />
<add key="DefaultOrgUnitId" value="NASE" />
<add key="QueryWarningLimitLevel" value="1000"/>
<add key="QueryErrorLimitLevel" value="1000"/>
<add key="MaxRowsToFetchWithNoWherePredicate" value="100"/>
<add key="EnableIncrementalDataLoad" value="False"/>
<add key="SSOPasswordStrengthRegularExpression"
value="^.*(?=.{6,})" />
<add key="SSOPasswordStrengthErrorMessage" value="Password
must be six or more characters and have at least one numeral
and alpha character." />
<add key="RegistrySetting" value="[Personify Registry Key Name
will go here - Example above]" />
<add key="DNNShoppingCartWebServiceUri" value="[Your shopping
cart URL - Example above]" /></appSettings>

3. Update SessionState database connection string.


<sessionState allowCustomSqlDatabase="true" mode="SQLServer"
sqlConnectionString="Server=[SESSIONSTATE_DB_SERVER_NAME];Data
base=[SESSIONSTATE_DB_DATABASE_NAME];User
ID=[SESSIONSTATE_DB_USER_ID];Password=[SESSIONSTATE_DB_USER_PA
SSWORD]" compressionEnabled="true" timeout="60" />

4. Update the path with the path of NLogDS.config file.


<nlog>
<include file="[PATH_TO_NLOG_DS_CONFIG_FILE]" />

5. Save the web.config file.

PROPRIETARY AND CONFIDENTIAL

81
7.7.0 INSTALLATION GUIDE

4. Modifying NLogDS.config Settings


1. Open the NLogDS.config file.
2. Update the following items for the log files creation directory specification:
<nlog xmlns="http://www.nlog-
project.org/schemas/NLog.netfx40.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
throwExceptions="true" autoReload="true"
internalLogFile="c:\Logs\NLogDSInternalLogs.log"
internalLogLevel="Trace" >
<variable name="BaseDir" value="C:\Logs"/>

3. Apart from errors if you like to write extra in to log then uncomment the log file
templates defined for your ease.
You can use one or more templates.

NOTE: For more information on setting up a FTP for publishing custom web services, see
Appendix I.

PROPRIETARY AND CONFIDENTIAL

82
7.7.0 INSTALLATION GUIDE

4. Verifying your installation


1. Run IIS manager.
2. Go to the application virtual folder that you just installed in Section 1.
3. Make sure you are in Content View mode.
4. Right-click on the PersonifyData.svc file.
5. Choose Browse.
An example is below:

PROPRIETARY AND CONFIDENTIAL

83
7.7.0 INSTALLATION GUIDE

6. Make sure the page is loaded without error.


An example of a successful load is the screen below:

7. If you are using Internet Explorer and got the following page, turn off the feed reading
view in the Internet Explorer option.
8. Go to the Tools > Internet Options > Content > Settings (Feeds and Web Slices) and
uncheck Turn on feed reading view.
9. Then restart Internet Explorer, and repeat step 5.

PROPRIETARY AND CONFIDENTIAL

84
7.7.0 INSTALLATION GUIDE

Personify360 e-Business Installation

Personify360 e-Business is a self-service application that enables you to extend your


organization to the Web and deliver an enhanced member experience.
Before you begin:

 Verify that Microsoft .Net Framework 4.5.2 is installed

 Install IIS URL Rewrite Extension by downloading this extension from below
URL: https://www.iis.net/downloads/microsoft/url-rewrite

 If your association currently runs on .Net Framework 3.5.1, please refer to the
Personify360 7.4.1 Release Notes or the Microsoft Download Center © at
http://www.microsoft.com/downloads/en/default.aspx for more information.

 If your association currently runs on DNN 5.2.3, please refer to the Personify360
7.4.1 Release Notes for instructions on upgrading.

 Verify that you have the correct version of Microsoft IIS installed based on the
version of Windows you are working on:

 Microsoft IIS 8.x (for Windows Server 2012 R2) or 10.0 (for Windows Server
2016)

 You have installed the Personify360 Enterprise Suite.

 You have installed the SSO and IMS related Services

 You have installed the Personify360 Image Service

 You have installed the Personify360 Data Services

NOTE: As of Microsoft IIS 7.5, keep in mind that the memory recycling allocation
measurements are now done in KB.

If you experience any issues with memory related to your e-Business site, you should
consider enabling the API Serialization option implemented with Personify360 7.4.1.

Setting Up IIS 8.x in Windows 2012 R2

Configuring IIS Application Pool for Personify360 e-Business and Web Services
This section provides detailed information about setting up a 32-bit application pool with a
2.4GB virtual memory recycling limit for IIS 8.x.

PROPRIETARY AND CONFIDENTIAL

85
7.7.0 INSTALLATION GUIDE

NOTE: The images below show .NET v4.5.2. For Personify360 7.7.0, ensure you are on
.NET\Framework\v4.5.2.

To configure a 32-bit application pool with a 2.4GB virtual memory recycling limit:

1. Create a new application pool:


a. Open the IIS Manager.
b. Right-click Application Pools and select Add Application Pool.

c. Enter the application pool Name, e.g., “Base-32Bit”.


d. Select “Integrated” as the Managed Pipeline Mode.
e. Click OK.
The newly-created application pool displays on the right pane.

2. Define the configuration settings for the newly-created application pool:


a. Select the new application pool, e.g., “Base-32Bit”, and click Advanced
Settings from the right pane.
b. In the General section, set the Enable 32-Bit Applications to “True.”

PROPRIETARY AND CONFIDENTIAL

86
7.7.0 INSTALLATION GUIDE

c. Verify that “Integrated” is selected as the Managed Pipeline Mode.

d. In the Recycling section, set the Virtual Memory Limit (KB) to “240000 KB
(2.4GB).”
e. Click OK and keep the other settings as the default.
f. Change the Identity to a named account from the Custom account field.

PROPRIETARY AND CONFIDENTIAL

87
7.7.0 INSTALLATION GUIDE

g. Change the Disable Overlapped Recycle option to “True.”

h. Change all settings in the Generate Recycle Event Log Entry to “True”.
i. Recommended setting for Specific Times is 2:00AM.
j. Recommended setting for Regular Time Interval (minutes) is “0”.
k. Recommended setting for Idle Time-out (minutes) is “0”.
l. Click OK.
Configuring HTTP Compression
This section provides detailed information about IIS compression and how to enable/disable
compression in IIS 8.x.
HTTP compression provides faster transmission time between compression-enabled
browsers and IIS, regardless of whether content is served from local storage or a UNC
resource. You can compress static files and application response files.
IIS provides the following compression options:

 Static files only

 Dynamic application responses only

 Both static files and dynamic application responses


HTTP compression provides faster transmission and gives better performance in terms of
response time.

PROPRIETARY AND CONFIDENTIAL

88
7.7.0 INSTALLATION GUIDE

You should use the HTTP Compression in the following instances:

 If the CPU utilization (% Processor Time) of web server is less than 60-70%

 Large amount of bandwidth available


When IIS receives a request, it checks whether the browser that sent the request is
compression-enabled. IIS then determines whether the request is for a static file or for
dynamic content.
If the content of the file is static, IIS checks whether the file has previously been requested
and is already stored in a compressed format in the temporary compression directory. If a
compressed version of the requested file is not found, IIS sends an uncompressed version
of the requested file to the client while a background thread compresses the requested file.
The newly-compressed file is then stored in the compression directory, and subsequent
requests for that file are serviced directly from the compression directory.
If the file contains dynamic content, IIS compresses the response as it is generated and
sends the compressed response to the browser. No copy of the file is cached by the Web
server.
To enable HTTP Compression of Static content:

1. In the User Interface:


a. Open the IIS Manager and select Sites.

b. In feature view, double-click Compression.


c. On the Compression page, check the Enable static content
compression checkbox and click Apply in the Actions pane.

PROPRIETARY AND CONFIDENTIAL

89
7.7.0 INSTALLATION GUIDE

2. In the Command Line


a. To enable HTTP compression of static content, type the following command,
and then press Enter:
C:\Windows\System32\Inetsrv\Appcmd.exe set config -
section:urlCompression -doStaticCompression:true
b. To enable HTTP compression of static content for a single site, type the
following command, and then press Enter (update the site name for the
<SITE NAME>):
C:\Windows\System32\Inetsrv\Appcmd.exe set config <SITE NAME> -
section:urlCompression -doStaticCompression:true
3. To set the compression level:
a. Run the following (this can only be applied at the server level):
C:\Windows\System32\Inetsrv\Appcmd.exe set config -
section:httpCompression -[name='gzip'].staticCompressionLevel:9

NOTE: In most instances, the optimal compression level for static content is 9.

To enable HTTP Compression of Dynamic content:

1. In the User Interface:

PROPRIETARY AND CONFIDENTIAL

90
7.7.0 INSTALLATION GUIDE

a. Open the IIS Manager and select Sites.

b. In feature view, double-click Compression.


c. On the Compression page, check the Enable dynamic content
compression checkbox and click Apply in the Actions pane.

2. In the Command Line:


a. To enable HTTP compression of dynamic content, type the following
command, and then press Enter:
C:\Windows\System32\Inetsrv\Appcmd.exe set config -
section:urlCompression - doDynamicCompression:true
b. To enable HTTP compression of dynamic content for a single site, type the
following command, and then press Enter (update the site name for the
<SITE NAME>):
C:\Windows\System32\Inetsrv\Appcmd.exe set config <SITE NAME> -
section:urlCompression - doDynamicCompression:true
3. To set the compression level:
a. Run the following (this can only be applied at the server level):
C:\Windows\System32\Inetsrv\Appcmd.exe set config -
section:httpCompression -[name='gzip']. dynamicCompressionLevel:4

NOTE: In most instances, the optimal compression level for dynamic content is 4.

PROPRIETARY AND CONFIDENTIAL

91
7.7.0 INSTALLATION GUIDE

To enable HTTP Compression of Static and Dynamic content:


1. To enable HTTP compression of static and dynamic content, type the following
command, and then press Enter:
C:\Windows\System32\Inetsrv\Appcmd.exe set config -section:urlCompression -
doStaticCompression:true -doDynamicCompression:true
2. To enable HTTP compression of static and dynamic content for a single site, type the
following command, and then press Enter (update the site name at the place of
<SITE NAME>):
C:\Windows\System32\Inetsrv\Appcmd.exe set config <SITE NAME> -
section:urlCompression -doStaticCompression:true -doDynamicCompression:true
3. To set the compression level, run the following (this can only be applied at the server
level):
C:\Windows\System32\Inetsrv\Appcmd.exe set config -section:httpCompression -
[name='gzip'].staticCompressionLevel:9 -[name='gzip'].dynamicCompressionLevel:4

NOTE: An IIS reset is required for this change to take effect.

Setting up Personify360 Web Service in IIS 8.x


Follow the same instructions as in the “Configuring IIS Application Pool for Personify360 e-
Business and Web Services” section to configure IIS Application Pool for Web Service.
For detailed instructions on how to set up web services, please refer to the Web Services
section of the 7.7.0 Online Help.

Installing the DotNetNuke Framework and Personify360 Web Parts

Before going ahead with the E-business sample site installation, please make sure that
following applications are already installed:
1. Personify360 Back Office Environment
2. Personify360 Image Service
3. SSO/IMS
4. Personify360 Data Services

NOTE: Personify360 Data Services are required to work with the Web Controls configured
with the default E-business sample site.

To extract the necessary files:


1. Copy and paste the e-Business folder from the installation package to your server.

NOTE: This should take about five minutes.

PROPRIETARY AND CONFIDENTIAL

92
7.7.0 INSTALLATION GUIDE

2. Open the installation package ([DriveName]\Webs\Ebusiness\FreshInstall\).

3. Extract the PersonifySite.zip


([DriveName]\Web\Ebusiness\FreshInstall\PersonifySite\Sample).
To install DotNetNuke and the Personify360 web parts:
1. From the file path “[DriveName]\Web\Ebusiness\FreshInstall\”, double-click
PersonifyEBusinessInstall.exe.
The Personify e-Business Install screen displays.

PROPRIETARY AND CONFIDENTIAL

93
7.7.0 INSTALLATION GUIDE

2. Click Fresh Install to start.

3. Click Install Personify Sample Site.


A sample site has all the web modules installed and some of the workflow set up.

PROPRIETARY AND CONFIDENTIAL

94
7.7.0 INSTALLATION GUIDE

After making your selection, the screen below displays.

NOTE: Personify, Inc. recommends that you install the e-Business Database first.

4. Click eBusiness Database.


The following screen displays.

5. Enter the correct SQL Database Server in the provided text box.

NOTE: Make sure that you enter the correct value for your database server name defined in
SQL Server. Give the full network name if necessary. Localhost is the default value.

PROPRIETARY AND CONFIDENTIAL

95
7.7.0 INSTALLATION GUIDE

6. Select the SQL Server Version from the drop-down.

NOTE: Personify360 7.7.0 only supports SQL 2016. If you are not able to find SQL 2016 in
the drop down list, please select the latest version available in the drop down list.

7. Select Authentication Type from the drop-down.

8. If the Authentication Method is Windows, proceed to the next step.


If the Authentication Method is SQL Server:

PROPRIETARY AND CONFIDENTIAL

96
7.7.0 INSTALLATION GUIDE

a. Enter the SQL Server Username.


b. Enter the SQL Server Password.

NOTE: Ensure that the user has all permissions to restore a database, create new user
login, and can perform user mapping to the database.

c. Click Test Connection to ensure the username and password are correct.
The installation will not let you proceed unless the username and password
are correct.
9. Click Next.
The following screen displays.

10. Click Yes or No to decide if you want to create the database.


The following screen displays.

PROPRIETARY AND CONFIDENTIAL

97
7.7.0 INSTALLATION GUIDE

NOTE: Only select No if you already have installed the Personify360 e-Business database
and you want that database to use the database functions of this installer.

11. Enter the Database Name.


12. Enter the DB File Path On Server
([DriveName]\Web\Ebusiness\FreshInstall\Database\Sample).

Back-up files needs to be copied to the Database server. This is the path where the
database server finds the backup file.

13. For example, in your Personify360 e-Business Install package, you have a database
folder with the name: Sample. In which, there is a database backup file.

If you have selected Install the Sample Site, then copy


PersonifyeBusinessSample.bak to your database server local drive. In the example
below, the file was copied to the database server C:\Personify eBusiness Database
folder, so “C:\Personify eBusiness Database” is the path put in the DB File Path On
Server text box.

PROPRIETARY AND CONFIDENTIAL

98
7.7.0 INSTALLATION GUIDE

14. Enter the Database File Path and Database Log Path (the location on your
database server where the SQL Database for e-Business needs to be created) in the
text boxes provided. This is where you want your physical database files (.mdf and
.ldf) to go. There are no default entries for these text boxes.
The following screen displays an example of entered paths.

15. Click Create to verify your input. This creates a database and restores the DNN
database into the Database File Path specified.

PROPRIETARY AND CONFIDENTIAL

99
7.7.0 INSTALLATION GUIDE

If your entry is incorrect, the following error message displays:

16. If this error message displays, click Try Again, and enter the correct information.
When the database creation completes correctly, the following screen displays.

PROPRIETARY AND CONFIDENTIAL

100
7.7.0 INSTALLATION GUIDE

17. Click Next.


The following screen displays.

18. Click Yes to create a Personify360 e-Business database user or click No if you want
to use an existing user.
a. If you clicked Yes, the following screen displays.
i. Enter the user name (default value is PersonifyeBusiness)
ii. Enter the password for this user (default value is Personify123).
iii. Click Create.
The following screen displays if the user creation completes
successfully.

NOTE: If any errors occur, click Try Again to edit the information.

PROPRIETARY AND CONFIDENTIAL

101
7.7.0 INSTALLATION GUIDE

19. Click Next.


The following screen displays.

a. If you click No, you are asked if you want to add an existing user on the
database server to your database. This does NOT create a user, but instead
adds an alias to your database for the user you specify.
i. If you click No on this screen as well, proceed to step 17. If you click
Yes, the following screen displays.

NOTE: The Database name is the Personify360 e-Business Database name. The Existing
Database Login is the user’s name that already exists on your database server that you
want to add to your Personify360 e-Business database.

ii. Enter the Existing Database Login in the text box.

PROPRIETARY AND CONFIDENTIAL

102
7.7.0 INSTALLATION GUIDE

iii. Click Add.


If the information is correct, the following screen displays.

iv. Click Next.


The following screen displays.

20. The Database Install is complete, and the option for creating a database is disabled.
Click Create eBusiness Virtual Directory.

PROPRIETARY AND CONFIDENTIAL

103
7.7.0 INSTALLATION GUIDE

The following screen displays.

21. Enter the Installation Path.


This is where the Personify360 e-Business site files are deployed (the physical folder
where your Personify360 e-Business files are to be stored on the server). You can
click on the “. . .” to browse your local folder. The default value is
“C:\inetpub\wwwroot\Personify\”.
22. Enter the Virtual Directory Name.
This is the virtual directory name of your site. The default value is Personify360.
23. Select the Assign Folder Permission To from the drop-down.
This is the machine user you want to assign permission to the folder that contains
your site.
 Choose ASPNET for Windows XP
 Choose NETWORK SERVICE for Windows Server 2003 and latest versions.
24. Enter the IIS Version.
This is the version of your IIS hosting service.
25. Enter the Database Server.
This is the name of the database server hosting your Personify360 e-Business
database. This value comes from your earlier steps for setting up the database. If
you skipped the database steps or are installing the database afterward, please give
the correct database server name here.
26. Enter the Database Name.
This is the name of your Personify360 e-Business database name. This value comes

PROPRIETARY AND CONFIDENTIAL

104
7.7.0 INSTALLATION GUIDE

from your earlier steps for setting up the database. If you skipped the database steps
or are installing the database afterward, please give the correct database name here.
27. Enter the Database Username.
This value comes from your earlier steps for setting up the database. If you skipped
the database steps or are installing the database afterward, please give the correct
database username here.
28. Enter the Database Password.
This value comes from your earlier steps for setting up the database. If you skipped
the database steps or are installing the database afterward, please give the correct
database password here.
29. Click Next to start the installation.

Once the installation is complete, the following screen displays.

30. Click Finished to exit the application. If any error messages appear, the continue
button is available for you to go back and try again.

PROPRIETARY AND CONFIDENTIAL

105
7.7.0 INSTALLATION GUIDE

NOTE: If your association runs on SQL 2008, you may receive an error at this point.

If this occurs, perform the following steps:

1. Assign the database user as the Database Owner of the database created.

2. Open the IIS Manager and convert the physical folder


“[DriveName]\Inetpub\wwwroot\[SiteName]” to Applications as a Virtual Environment.

3. Make sure the IIS has proper permissions to the physical folder mentioned in step 2.

31. Go to your physical folder “[DriveName]\Inetpub\wwwroot\[SiteName]\Config” and


open the config.xml.
32. Change [Your Host] to the server name of your App Service and change the [Port
Number] to the App Service’s port number. This must be done in two places in the
config.xml:
<Item Name="ServerSideAuthentication"
SecurityTokenExpirationTime="604800000"/>
<Item Name="Remoting"
MessagingServiceUri="tcp://[YourHost]:[PortNumber]/MessagingSe
rvice.rem"/>
</Section>
<Section Name="Services" >
<Item Name="TimssApplicationServer"
Value="tcp://[YourHost]:[PortNumber]/" />
</Section>

PROPRIETARY AND CONFIDENTIAL

106
7.7.0 INSTALLATION GUIDE

33. Online Store has improved APP Data Caching that must be turned on for improved
eBusiness response time. The “CDCEnabled” value (highlighted below in red) must
be set to “True” in the config file in order for the new caching mechanism to work.
<Section Name="ApplicationDataCache">
<!--if CDC Enabled is true, minimum polling interval can
be 2 minutes, else minimum polling interval should be 60
minutes. The time is to be specified in milliseconds.-->
<Item Name="CDCEnabled" Value="True"/>
<Item Name="PollingInterval" Value="120000"/>
</Section>

34. Update the DNNShoppingCartWebServiceURI in Config.xml file to set the


Personify360 Shopping Cart web service reference.
<Item Name="DNNShoppingCartWebServiceURI"
Value="http://[WebServerName]/[EbusinessSiteName]/PersonifySho
ppingCart.asmx?wsdl" />

35. Configure the application pool to the website:


a. Select website where we wanted to use this application pool.

PROPRIETARY AND CONFIDENTIAL

107
7.7.0 INSTALLATION GUIDE

b. Click Basic Settings from the right pane.


The Edit Application window displays.

c. Click Select.
The Select Application Pool pop-up displays.
d. Select the newly-created application pool from the drop-down.
e. Click OK and reset the IIS.

NOTE: An IIS reset is required for this change to take effect.

36. Run the “PADSS_ClientScript.sql” script to record all the logs in to Event Viewer of
DNN site.
PROPRIETARY AND CONFIDENTIAL

108
7.7.0 INSTALLATION GUIDE

This is a mandatory step for working with e-Business site.


Script File Path: - [Release Area
Path]\Package\Web\Ebusiness\PADSSClientAssembly\PADSS_ClientScript.sql
 Update “[DBNAME]” with the DNN database name to install assembly/stored
procedure in DNN database.
37. Run the following query against the DNN database to get the e-Business URL
information
SELECT * FROM PORTALALIAS
Update the table with the valid web site URL information.

NOTE: Ensure that your dbo.PortalAliastable contains all the combinations of aliases for
your site, including the internal server name (i.e., add entry to PortalAlias table of the DNN
database with the internal_server_name/Personify_site_name). Example query to insert
new row in the PortalAlias table:
INSERT [dbo].[PortalAlias] (PORTALID, HTTPALIAS) VALUES (0,
'localhost/Personify')

38. Once the PortalAlias table is updated with the correct web application name, please
see Changing Image Links and Page Redirection for Sample Site for updating the
page redirection settings using SQL Server.
39. Update the [Personify].[dbo].[WEB_PWF_PARAMETER] table,
[PARAMETER_VALUE] column present inside the Personify360 database (not DNN
database) with the correct values. This table needs to be updated to work with the
web controls setup provided as part of the sample site installation.
40. Update the web.config file installed inside web site folder with correct parameter
values.
Web.config file changes are required to configure the e-Business site to contact with
SSO/IMS setup and Personify360 Data Services.
41. Test your site by entering “http://localhost/Personify/Default.aspx” into a web
browser.
42. Login into your site as host using username “host” and password “dnnhost”.
43. Go to Personify Admin tab.
a. Go to Personify Site Settings.
i. Edit seat information.
b. Edit portal settings.
i. Change Product Image URL to match your virtual directory for product
images.
c. Go to Personify SSO IMS Setup.
i. Go to SSO Vendor.
ii. Click pencil next to TIMSS.

PROPRIETARY AND CONFIDENTIAL

109
7.7.0 INSTALLATION GUIDE

iii. Click New Password and New Block.


iv. Click Save.
v. Copy these values to your SSO seat information in e-Business config
file.
44. See Changing Image Links and Page Redirection for Sample Site.

Changing Image Links and Page Redirection for Sample Site

For organizations using Personify, Inc.'s sample site, the image links and redirection page
must be changed.
There are two ways to update the Image Links and Page Redirection in sample site:
1. Update the DNN database directly to change the URL settings in one go. This will
update all the settings including URL history with your web site name. This step is
only required for the fresh installation of sample site provided as part of the 7.7.0
release. To go ahead with this type of change, please use the instructions from “To
change image links of sample site using Database update”.
2. Update the DNN site manually for every page. To go ahead with this type of change,
please use the instructions from “To change image links for sample site”.
Changing the Image Links of Sample Site for All the Pages using Database Update
The purpose of this script is to Update Image Links and Page Redirection settings of
Sample Site environment. These scripts are one time execution per new database; need not
be run for every release you upgrade going forward.
The script is available in the following location:
P:\Personify\Releases\7.7.0\Package\Web\Ebusiness\usp_UpdateURLInformation.SQL
P:\Personify\Releases\7.7.0\Package\Web\Ebusiness\FreshInstall\Changing Image Links
and Page Redirection SQL Script\usp_UpdateURLInformation.SQL
Pre-Integration Checklist
Before we can continue with Update Links in EBusiness site process, the following pre-
requisite conditions must be met.
1. DNN database needs to be installed before this integration to be successful.
2. Run the following select query to to get the existing URL information from the DNN
database.
SELECT Url FROM Tabs WHERE Url != ''

PROPRIETARY AND CONFIDENTIAL

110
7.7.0 INSTALLATION GUIDE

SQL File Execution Instructions


1. To install the stored procedure, execute the "usp_UpdateURLInformation.SQL" script
file against the Sample EBusiness site database.
2. Get the existing URL information that is already stored in EBusiness database by
executing the following query in query editor window.
SELECT Url FROM Tabs WHERE Url != ''
3. Result will be in the following format:
Eg: http://pdwen.mc.tmaresources.com/personifyebusiness/Default.aspx
Here “pdwen.mc.tmaresources.com” means the web server computer name that
already existed in the database. This needs to be updated with your organization
web server computer name.
“personifyebusiness” is the Virtual Directory name of the Ebusiness application that
is already installed in your web server’s IIS. This needs to be updated with your web
servers Virtual Directory name you have specified during the Ebusiness package
installation.
4. Based on the result output from the above query, pass the parameter values to the
stored procedure.
5. Parameter values are need to be defined in the following order:
6. Existing Computer Name. This is the value you got from the above pre-requisite
query execution result.
7. Your web server computer name.
8. Existing Virtual Directory name.
9. Required Virtual Directory name.
10. Example usage: exec [usp_UpdateURLInformation]
'http://pdweb.mc.tmaresources.com/', 'http://YourComputerName/',
'personifyebusiness/', 'VirtualDirectoryName/'
11. Check the Result Windows for the number of rows updated.
Changing Image Links of Sample Site Page by Page
This section is not required if you are installing the L2 eBusiness (DNN) database.
1. If the home page rotator images do not load, the ‘src’ attribute for each image needs
to match the install folder.
2. Log into your eBusiness site as Host.
3. Access the Home page.

PROPRIETARY AND CONFIDENTIAL

111
7.7.0 INSTALLATION GUIDE

4. Click the triangle drop-down, as shown below, and select Edit Content.

The Edit Content screen displays, as shown below.

PROPRIETARY AND CONFIDENTIAL

112
7.7.0 INSTALLATION GUIDE

5. Replace the src attributes, as highlighted below with your install folder:
<div id="rotator" class="rotator">
<div class="thumbnails">
<a class="active" href="#"><img
src="/personifyebusiness/Portals/0/thumb-r3-1.png" alt="Alt
Text" /></a>
<a href="#"><img src="/personifyebusiness/Portals/0/thumb-
1.png" alt="Alt Text" /></a>
<a href="#"><img src="/personifyebusiness/Portals/0/thumb-
9.png" alt="Alt Text" /></a>
</div>
<a class="main active" href="#"><img
src="/personifyebusiness/Portals/0/slideshow-r3-1.jpg"
alt="Alt Text" /></a>
<a class="main" href="#"><img
src="/personifyebusiness/Portals/0/slideshow-1.jpg" alt="Alt
Text" /></a>
<a class="main" href="#"><img
src="/personifyebusiness/Portals/0/slideshow-9.jpg" alt="Alt
Text" /></a>
</div>

6. Click Save.
7. Similarly, all image links attribute on the eBusiness site need to be changed to point
to your organization's install folder path. By default, the image links will point to
Personify, Inc. default site. This has to be changed to point to your organization's
environment.
For example, from the Education screen, the Text/HTML need to be updated.

PROPRIETARY AND CONFIDENTIAL

113
7.7.0 INSTALLATION GUIDE

Use steps 4 and 5 to make these changes.


To change page redirection:
1. Log into your eBusiness site as Host.
2. Access the appropriate page for which you want to setup page redirection.
3. From the Page Functions section, click Page Setting, as shown below.

4. Click the plus (+) sign next to Advance Settings.


5. Select the "URL" radio button as the Link Url.

PROPRIETARY AND CONFIDENTIAL

114
7.7.0 INSTALLATION GUIDE

6. Enter the Location URL address to point to when you want to redirect.

7. Click Update.

Buy for Group button is displaying instead of Add To Cart button. To resolve this issue, log
into the eBusiness site as a Host user, open a product. and in Product Details page, click
Edit Web Control Container, as shown below. Without modifying any settings, click Save.
This process will refresh the settings of the module and provide you the Add to Cart button.

PROPRIETARY AND CONFIDENTIAL

115
7.7.0 INSTALLATION GUIDE

Integrating SSO and IMS with Personify360 e-Business

1. Update the connection string in Web.config file of e-Business site with the SSO
database credentials:
<add name="IMSConnectionString"
connectionString="Server=[DBServer];Database=[SSO_DBName];uid=
[UserID];pwd=[Password];" providerName="System.Data.SqlClient"
/>

2. Update the following lines to the web.config file:

<add key="VendorUsername" value="TIMSS" />


<add key="VendorIdentifier" value="7" />
<add key="VendorPassword" value="Enter Vendor Password" />
<add key="VendorBlock" value="Enter Vendor Block" />
<add key="SSOWebReferenceURL" value=" SSO Web Service URL " />
<add key="IMSWebReferenceURL" value=" IMS Web Service URL " />
<add key ="LoginMode" value="INLINE"/>
<add key="SSOLoginURL"
value="http://[WebServerName]/[SSOSiteName]/login.aspx" />
<add key="SSO_BASE_URL"
value="http://[WebServerName]/[SSOSiteName]" />

3. Replace [WebServerName] with the web server computer name where SSO web site
is installed.
4. Replace [SSOSiteName] with the virtual directory name where SSO web site is
installed.
5. Replace [IMSSiteName] with the virtual directory name where IMS web service is
installed.

PROPRIETARY AND CONFIDENTIAL

116
7.7.0 INSTALLATION GUIDE

NOTE: If your association currently runs on IIS 8.x, you must also go to the bottom of the
web.config XML file and add the following line of code to the <httpModules> section:

<add name="SSOLoginManager" type="SSOAuthentication, Personify.SSOAuthentication"


preCondition="managedHandler" />

Configuration Changes in Web.config File

1. You can specify browser versions supported by updating the following parameter,
where
 I = Internet Explorer
 F = Firefox
 = Opera
 s = Apple Safari
 n = Netscape Navigator
 c = Chrome
<add key="UpgradeBrowsersConfiguration"
value="vs:{i:8,f:26,o:15,s:5.1,n:9}, reminder:12"/>

2. If you have enabled caching in data services config.xml file, then you can set the
following keys to enable the caching by pointing to those files.

3. Update the AspNetSQLSessionState database information in the following key:


<sessionState allowCustomSqlDatabase="true" mode="SQLServer"
sqlConnectionString="Server=[SESSIONSTATE_DB_SERVER_NAME];Data
base=[SESSIONSTATE_DB_DATABASE_NAME];User
ID=[SESSIONSTATE_DB_USER_ID];Password=[SESSIONSTATE_DB_USER_PA
SSWORD]" compressionEnabled="true" timeout="60" />

PROPRIETARY AND CONFIDENTIAL

117
7.7.0 INSTALLATION GUIDE

4. The Shopping Cart web service was removed in 7.4.2. However, the following
configuration is still included in the web.config for legacy code. For fresh installations,
you need to remove or comment out the following code:
<add key="RESTShoppingCart_BaseUri"
value="http://[EBUSINESS_WEBSERVER_NAME]/[EBUSINESS_WEBSITE_NA
ME]/PersonifyShoppingCartSVCService/PersonifyShoppingCartServi
ce.svc/" />

Modifying NLogWeb.config Settings

1. Open the NLogWeb.config file.


2. Update the following items for the log files creation directory specification:
<nlog xmlns="http://www.nlog-
project.org/schemas/NLog.netfx35.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
throwExceptions="true"
internalLogFile="c:\Logs\NLogWebInternalLogs.txt"
internalLogLevel="Error" autoReload="true" >
<variable name="BaseDir" value="C:\Logs"/>

3. Apart from errors if you like to write extra in to log then uncomment the log file
templates defined for your ease.
You can use one or more templates.

PROPRIETARY AND CONFIDENTIAL

118
7.7.0 INSTALLATION GUIDE

PROPRIETARY AND CONFIDENTIAL

119
7.7.0 INSTALLATION GUIDE

BusinessObjects Installation

System Architecture

Personify360’s business intelligence (BI) offering is tightly integrated with your current
Personify360 application. This section provides an overview of the business intelligence
solution’s architecture and how it is implemented into Personify360. It also details how to
install and configure the various business intelligence solutions.
Personify, Inc. provides three different configurations for using Personify360 and
BusinessObjects based on the number of users that will use it. The different configuration
options are the following:

 Small Implementation (for less than 20 users)

 Medium Implementation (for 20 to 50 users)

 Large Implementation (for more than 50 users)


We recommend a personalized analysis to determine the most appropriate configuration for
your organization. Regardless of which configuration you choose, we recommend
separating the transactional database server from application servers and the data
warehouse database server.

Small Implementation

The small implementation configuration consists of the following:

 Designed for organizations that plan on having less than 15 concurrent users.

 Requires the following software:

 Personify360 Enterprise

 BusinessObjects: Business Intelligence 4.2 SP4 Premium

 Requires 2 hardware servers (2 existing):


o [Box 1 - Existing] BusinessObjects and TRS
o [Box 2 - Existing] Personify360 Database Server (MS SQL Server)
The following diagram illustrates a sample configuration of a small implementation and its
architecture:

PROPRIETARY AND CONFIDENTIAL

120
7.7.0 INSTALLATION GUIDE

Medium Implementation for BusinessObjects

The medium implementation configuration consists of the following:

 Designed for organizations that plan on having 20 to 50 concurrent users.

 Requires the following software:

 Personify360 Enterprise

 BusinessObjects: Business Intelligence 4.2 SP4 Premium

 Analytics Advantage Package(s)

 Requires 4 hardware servers (2 new, 2 existing):


o [Box 1 - Existing] TRS
o [Box 2] BusinessObjects Enterprise and Data Integrator Starter
o [Box 3 - Existing] Personify360 Database Server (MS SQL Server)
o [Box 4 - Required for Analytics Advantage] SQL Server and Advantage Data
Mart
PROPRIETARY AND CONFIDENTIAL

121
7.7.0 INSTALLATION GUIDE

The following diagram illustrates a sample configuration of a medium implementation and its
architecture:

Large Implementation for BusinessObjects

The large implementation configuration consists of the following:

 Designed for organizations that plan on having 50 or more concurrent users.

 Requires the following software:

 Personify360 Enterprise

 BusinessObjects: Business Intelligence 4.2 SP4 Premium, Web Intelligence


(Optional), Dashboard Manager (Optional), and Data Integration Starter
(Optional)

 Data Analyzer

 Analytics Advantage Package(s)

 Requires 6 hardware servers (4 new, 2 existing):


o [Box 1 - Existing] TRS
o [Box 2] BusinessObjects Business Intelligence 4.2 SP4
PROPRIETARY AND CONFIDENTIAL

122
7.7.0 INSTALLATION GUIDE

o [Box 3] Data Analyzer / BusinessObjects Web Intelligence


o [Box 4 - Required for Analytics Advantage] BusinessObjects Data Integrator
Starter
o [Box 5- Existing] Personify360 Database Server (MS SQL Server)
o [Box 6 - Required for Analytics Advantage] SQL Server and Advantage Data
Mart
The following diagram illustrates a sample configuration of a large implementation and its
architecture:

BusinessObjects Server Installation

This section provides detailed information on how to install BusinessObjects for use with
Personify360 application. If you already use Personify360 and take advantage of the Data

PROPRIETARY AND CONFIDENTIAL

123
7.7.0 INSTALLATION GUIDE

Analyzer or Personify360 Analytics Advantage, information on upgrading BusinessObjects


can also be found in this section.
Installing BusinessObjects can be a difficult procedure. For these reasons, only system
administrators should perform these steps.
Only administrators with knowledge of Microsoft Windows, SQL Server, Business Objects
Administration, and Personify360 Administration should attempt to install BusinessObjects.
For more information on installation, Personify, Inc. strongly recommends reading the
BusinessObjects Business Intelligence 4.2 SP4 Installation Guide (Windows) found at
http://help.sap.com/boall_en/.

NOTE: These installation directions must be followed in order or the procedure will not
complete successfully.

Before Beginning a Installation of BusinessObjects

Make sure the user installing the software is part of the administrators group, has the below
rights assigned, and the anti-virus is disabled before the installation.

 Act as part of operating system


 Logon as service

NOTE: Business Intelligence Platform Server only supports 64 bit Machine.

Perform the following steps prior to installing the BusinessObjects software:

1. Create a CMS (Content Management System) database.


Optionally, you can create an Auditing database.
2. Create a SQL Server user as the database owner (DBO).
3. Create a DSN (data source name) on the BusinessObjects Enterprise Server for the
CMS database.
4. From the Business Objects\Fresh Install\Misc folder, cut and paste the
“U25IDAutomation.dll” file to the Windows\SysWOW64 folder.

NOTE: The CMS and AUDIT system odbc should be created on 64-bit Data Source
Administrator only. Personify360 system odbc should be created on both 32 bit and 64 bit
Data Source Administrators.
The Data Source Administrators can be located in the following locations:
32 BIT dsn - \Windows\SysWOW64
64 BIT dsn - \Windows\System32
If CMS/Audit/Personify db is on SQL Server 2012 or higher then only supported driver is
SQL Server Native Client 11.0

PROPRIETARY AND CONFIDENTIAL

124
7.7.0 INSTALLATION GUIDE

Installing BusinessObjects Business Intelligence 4.2 SP4

Once you have created the necessary database, user, and data source name, you can now
install the BusinessObjects Enterprise application: Business Intelligence.
To install BusinessObjects Business Intelligence 4.2 SP4:

1. Copy the five parts of BI 4.2 SP4 files folder on your BO server.
2. Run the BI42_Server_SP4_part1.exe.
3. Unzip the files to a desired folder on the server.
4. Once the files are unzipped, the setup.exe is located at the following location,
depending on the location of the folder created in:
\\c$\software\BI42SP4\51052101\DATA_UNITS\BusinessObejctsServer_win
5. Double-click setup.exe to start the installation process.
6. Click Next once the prerequisites are all met.
7. Enter the product key and click Next.

NOTE: Remember that your product key code is client/environment specific. If you do not
have one, please contact your Personify, Inc. representative. This key code can be a named
user license key (NUL) or a concurrent user license key (CAL). Once the installation is
complete add the remaining key. The system should have both NUL and CAL license key
added.

8. Click Install and use the default database.


9. Click Next.
10. Select Microsoft SQL Server using ODBC.
11. Click Next.
12. If auditing dataset is needed, select the same as above.
If no auditing data set is needed, select No Auditing Database.
13. Click Next.
14. Select install default tomcat application and automatically deploy web applications.
15. Click Next.
16. Select configure and install subversion and click Next.
The node name and port number are prepopulated; if you wish to change it, make
sure these ports are accessible from APP and TRS servers.
17. Click Next.
18. Provide the CMS port and click Next.
19. Provide the administrator account password and CMS cluster key.
The CMS cluster key is used for encrypted communication between BOE and the
CMS database for FIPS compliance. The key has to be a minimum of six characters
long. Please refer to BusinessObjects Administrator Guide for more details.
20. Select the DSN created for the CMS database.
PROPRIETARY AND CONFIDENTIAL

125
7.7.0 INSTALLATION GUIDE

21. Provide the login credentials.


22. Click Next.
23. Select Do Not Configure Connectivity for SMD Agent.
24. Click Next.
25. Select Do Not Integrate Connectivity to Interscope Enterprise Manager.
26. Click Next.
The installation process begins.
27. Click Next on the post installation steps.
28. Click Finish.

Configuring Business Objects

The Central Management Console, or CMC, is where you will configure your
BusinessObjects installation. During this step, you will configure Adaptive Processing
Server, configure platform search, create folders, universe folders, license key additions,
authentication settings, etc.
Configuring Adaptive Processing Server
1. Login to CMC and navigate to System Configuration Wizard, as shown below.

PROPRIETARY AND CONFIDENTIAL

126
7.7.0 INSTALLATION GUIDE

2. Select all the products, except Analysis, and click Next, as shown below.

3. Select your BOE system capacity by selecting the RAM Size, as shown below.

4. Set the Folders option at default settings.

PROPRIETARY AND CONFIDENTIAL

127
7.7.0 INSTALLATION GUIDE

5. Review changes and click Apply.


The above step will split the default Adaptive Processing servers into required
categories.
6. Now navigate to Servers and locate each of the newly created .APS Servers.
7. Right-click the server properties and select the command line parameters and copy
the entire parameter string to a notepad.
8. Locate the parameters "Xms" and "Xmx", which are the minimum and maximum
heap size parameters, respectively. Modify this from 1g to 4g for Xmx and 32 m to 1g
for Xms. Depending on the RAM size available on the BOE server for each category.
9. Copy the modified parameters back to the Command line parameters of the newly
created server.
10. Restart the server

NOTE: These minimum and maximum heap sizes are minimum recommendations and
should be estimated per the installation and sizing document available on the
BusinessObjects website. The command line parameters from one server cannot be copied
to other server as the parameter will vary depending on the services selected for the server.

Configuring Platform Search Application


The platform search application is used to perform object search across BOE by indexing
the content. By default the application does a continuous indexing of the content due to
which there is a known issue of database deadlocks on dB server that hosts the CMS
database. To avoid the dB deadlocks the indexing of objects should be changed from
continuous to scheduled indexing as described below.
1. Log into the BusinessObjects CMC.
2. Right-click Platform Search Application and select Properties.
3. Click Stop Indexing.
4. Change from “Continuous” crawling to “Scheduled” crawling under crawling
frequency.
5. Select the desired content type (Web Intelligence, Universe) to be indexed.
6. Start Indexing.
7. Save and Close.
8. Navigate to Folders > Platform Search Scheduling.
9. Right-click on the Platform Search Scheduling Object and select Schedule.
10. Set the recurrence interval to a desired option. It is recommended to perform the
indexing on non-peak hours so that there isn’t an impact on other databases on the
database server.

PROPRIETARY AND CONFIDENTIAL

128
7.7.0 INSTALLATION GUIDE

Configuring Mobile Category


1. Navigate to Categories from CMC home page using either option shown below.

2. Click the category icon to open a new pop up for creating a category.

3. Enter a new category name to reference your environment folder ( for example,
PPROD).
4. Once the category is created, click on it and repeat the above step and name the
new category “Mobile”.
The folders will appear as displayed below.

NOTE: Naming the category Mobile is critical because the app will display the reports stored
only in this category.

5. Select Manage > Top Level Security > All Categories.


6. Click OK on the message box that appears.
7. Select Everyone Group and click Assign Security.
8. Select Full Control under Available Access Levels, and move it to Assigned Access
Levels.
PROPRIETARY AND CONFIDENTIAL

129
7.7.0 INSTALLATION GUIDE

9. Click Apply.
10. Click OK.
11. Close the User Security Screen.
12. Right-click the environment folder category you created (PPROD) and select User
Security.
13. Click Add Principals and search for [environment folder category_TR] (e.g.,
PPROD_TR) group and add it to the Selected Users/Groups section.
14. Click Add and Assign Security.
15. Select Full Control under Available Access Levels, and move it to Assigned Access
Levels.
16. Click Apply.
17. Click OK.
18. Close the User Security Screen.
Assigning the Named User License (NUL ) Key
Each customer receives one Named User License (NUL) and as many Concurrent Access
Licenses (CALs) as needed. Receiving only one NUL eliminates any license issues when
viewing operational reports or viewing/submitting TRS reports.
To apply and assign the NUL:
1. Log into the BusinessObjects CMC and click License Keys.
2. In the Add Key field, enter the license key.

PROPRIETARY AND CONFIDENTIAL

130
7.7.0 INSTALLATION GUIDE

3. Click Add, as shown below.

NOTE: Make sure the named user and concurrent user license count appears in the Named
User and Concurrent User Total Licenses field.

NOTE: This section removes the license keys in the image above for security purposes. It
does not appear this way on your application screen.

4. From the CMC home page, click Users and Groups.


5. Select the Proxy User (CLIENTADMINUSER) you already defined on the Application
Interface (APP014) screen.

PROPRIETARY AND CONFIDENTIAL

131
7.7.0 INSTALLATION GUIDE

The example shown below is the Administrator.

6. Select the Named User radio button and click Update, as highlighted below.

NOTE: If the proxy user already used Named User connection type you can ignore the

steps 5 and 6.

7. Open the Central Configuration Manager and restart the Apache Tomcat and Server
Intelligence Agent.
Implementing Crystal Reports Processing Server Changes
This Crystal Reports Processing Server change is required to run crystal reports created
from stored procedures.
To implement the Crystal Reports Processing Server change:

1. Log into the CMC.


2. Go to Servers.
3. Locate the Crystal Reports 2016 Processing Server from the Service Categories >
Crystal Reports menu.
4. Right-click and select Properties for this server.
The Properties window displays, as shown below.
PROPRIETARY AND CONFIDENTIAL

132
7.7.0 INSTALLATION GUIDE

At the end of the Command Line Parameters text box, add a space after the last
character and copy and paste the following text after the space:
-procreportoptions __noverifydatabase

5. Restart the Crystal Reports 2016 Processing Server.


Determining the Destination Output
The next steps concern destination options for output. The destination output controls the
default destination folders location. It provides the SMTP settings for you to email someone.
To determine the destination output:
1. Go to the Servers page.
2. Select Adaptive Job Server in Webi Intelligence Category
3. Select Destination from the left pane.
4. Select Email from destination and click Add.
5. Configure SMTP settings:
a. Select Email (SMTP) Destination.
b. Configure the appropriate SMTP settings based on your network.
c. Click Update.
Altering Authentication Preferences
The next set of steps concerns users and user groups for BusinessObjects.

PROPRIETARY AND CONFIDENTIAL

133
7.7.0 INSTALLATION GUIDE

1. From the CMC home page, click Authentication.


2. Select the Enterprise tab.
3. Uncheck all the checkboxes, as shown below.

4. Click Update.
Setting Top Level Security
1. Log into the BusinessObjects CMC.
2. From the drop-down at the top, select Folders.

PROPRIETARY AND CONFIDENTIAL

134
7.7.0 INSTALLATION GUIDE

3. From the menu bar, click the down arrow next to Manage and select Top Level
Security > All Folders, as shown below.

4. Click OK.
5. Select the Everyone user group and click Assign Security, as shown below.

6. Select the Advanced tab.


7. Click Add/Remove Rights.

PROPRIETARY AND CONFIDENTIAL

135
7.7.0 INSTALLATION GUIDE

8. Grant the View Objects and View Objects the user owns rights, as shown below,
by selecting the radio button for that right.

9. Click Apply, then click OK, and close out of the window.
Running the Configuration Batch File
In order for the Personify360 application to further integrate with Data Analyzer, you need to
run a single batch file that accomplishes the following:

 Sets the isolation levels for Webi and Crystal Reports to defeat SQL Server
shared table locks when running BusinessObjects.

NOTE: If your organization is running BusinessObjects on Windows Server 2008, make sure
you have full control over the BusinessObjects installation folder before executing this step.

To run the configuration batch file:


1. Navigate to the following folder in the Personify360 release package:
...\Business Objects\Fresh Install\MISC.
2. If BusinessObjects is not installed in the C:\Program Files\Business Objects\
folder, open the batch file (CopyPRM.bat) in a text editor, such as Notepad, and edit
the batch file with the appropriate path, then save and close the file.
3. Run the batch file (CopyPRM.bat) as an administrator.
4. Run the registry entry LocalMachineBOHkey.reg to set the isolation level for crystal
reports.
5. Follow instructions in the readme.txt to further set the isolation level for crystal
reports.

NOTE: The fonts in the Misc folder must be installed on the client machine in order to
enable barcode pritning.

PROPRIETARY AND CONFIDENTIAL

136
7.7.0 INSTALLATION GUIDE

Configuring the Data Analyzer Image Files


To deploy the Data Analyzer image files:

1. Copy /overwrite the banner_logo.gif file in the following location


\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-
INF\eclipse\plugins\webpath.InfoView\web\images.
2. Once the files are copied, delete all the files located in the following location:
\\c\Program files (x86)\SAP BusinessObjects\Tomcat6\work\Catalina\localhost.
3. Restart tomcat and wait for all the folders to be created at the following location:
C:\Program Files
(x86)\SAPBusinessObjects\Tomcat6\work\Catalina\localhost\BOE.

NOTE: You can restart tomcat when all the configuration changes are done. If you're not
seeing the new image after launching Data Analyzer, make sure you delete cookies in
Internet Explorer (IE).

Changing the Session Timeout Value


If desired, you can alter the session timeout value which determines how long a session in
BusinessObjects can be idle before the application “times out” and the user needs to log in
again. This is ultimately a security feature to prevent unauthorized users from accessing the
application without permission.
To change the Tomcat Web server settings:
1. Log into the server installed with BusinessObjects.
2. Navigate to the following file path on your BOE Server:
Program Files (x86)\SAP Business Objects\Tomcat6\webapps\BOE\WEB-INF
3. Open the Web.xml file in a text editor, such as Notepad, and set the session-
timeout value as desired in minutes (e.g., 720).

4. Save the web.xml file.

PROPRIETARY AND CONFIDENTIAL

137
7.7.0 INSTALLATION GUIDE

BusinessObjects Client Tools Installation

Installing BI 4.2 SP4 Client Tools

The client tools need to be installed on the APP server, and TRS server.
1. Unzip the BI42_Client_SP4.zip file to your local drive.
2. Navigate to the following folder:
\\BI42_Client_SP4\SBOP_BI_PLAT_4.2_SP4_CLNT_WIN_\DATA_UNITS\Business
ObjectsClient
3. Click Setup.
4. Select English and click OK.
5. Once the prerequisites are successful, click Next.
6. Agree to the license agreement and click Next.
7. Agree to the license agreement and click Next.
8. Select the destination folder and click Next.
9. Select all features including Developer components and click Next.
10. Click Finish once the installation is done.

Installing BusinessObjects Dashboards

Dashboards is a product of Business Objects and is a designer tool used to develop


dashboards which you can build using universes, Data Analyzer reports, and Live Office.
Please refer to “Building Dashboards for Personify360” for details on building dashboards.
The steps below provide instructions for a client install of the Dashboards Designer Tool and
should be performed on the client machine.
To install the Dashboards SP4 application:

1. Create a temporary folder called “Dashboards” on the local drive of the client
machine.
2. Navigate to the following file path in the Personify360 installation package:
...\Business Objects\Software Upgrades from BusinessObjects.
3. Unzip the Dashboards_SP4.zip file to the temporary folder you created in step 1.
4. Double-click setup.exe.
5. Enter the product key and follow the installation wizard to complete the installation.

NOTE: Your product key code is client/environment specific. If you do not have one, please
contact your Personify, Inc. Account Manager.

PROPRIETARY AND CONFIDENTIAL

138
7.7.0 INSTALLATION GUIDE

NOTE: Also, you are entitled to receive one named user license at no cost as part of the
bundle. If you wish to have additional licenses, contact your Account Manager for pricing
details.

Installing BusinessObjects Live Office

Live Office is a product of Business Objects that integrates with your Microsoft Office
environment. It works very similar to how your Microsoft Outlook plug-in does in that it helps
you distribute information you gather from Personify360 over the Web. Live Office works
with the reports you create in BusinessObjects with your Personify360 data and embeds
them in Microsoft PowerPoint, Excel and Word documents.
Installation Prerequisites
The following is a list of Business Objects and third-party software prerequisites required for
Business Intelligence LiveOffice 4.0 SP7 client components to function properly:

 Microsoft® Office 2000, 2002 (XP), 2003, 2007, 2010 or 2013

 .NET Framework 2.0 and above

 BusinessObjects Server version should be 4.0 Service Pack 7


Installing Live Office
BusinessObjects Live Office 4.2 SP4 (Live Office) consists of client components and the
server component. The server component is installed automatically with BusinessObjects
Enterprise Premium. They must be installed on each machine that will be using Live Office
functionality.
The Live Office Installation Wizard works with Microsoft® Windows® Installer to guide you
through the installation process. The wizard automatically recognizes your computer’s
operating system and checks for software platform requirements. It updates files as
required.
To install the client component:

1. Navigate to the following location:


…\Business Intelligence\Software\BOE\BI_4.0\Client.
2. Unzip the LiveOffice.zip file to your desktop.
3. Locate the setup.exe file for Live Office on your desktop and double-click it to launch
the Live Office Installation Wizard.
4. Follow the on-screen instructions in the Live Office Installation Wizard to complete
the installation procedure.

PROPRIETARY AND CONFIDENTIAL

139
7.7.0 INSTALLATION GUIDE

NOTE: Optionally, you may run the setup in the silent mode by running the
LiveOfficeSetup.bat file located in the same folder of the release package as the LiveOffice
zip file. Before running the batch file, make sure to modify the server name in the batch file
in two locations.

Configuring and Logging Into Live Office


To successfully connect to BusinessObjects, you must log into Live Office.
To log into Live Office:

1. Open Microsoft Word, Excel, or Power Point.


2. From the menu select LiveOffice > Options, as shown below.

3. Click the Enterprise tab and fill in the correct information, as shown below.

PROPRIETARY AND CONFIDENTIAL

140
7.7.0 INSTALLATION GUIDE

 User Name: The user name is similar to the Personify360 user name, but the
same name should be prefixed with the environment name and the organization
information. To make the step simpler, you may launch Data Analyzer from
Personify360 and copy the user name from the top right corner.
 Password: This is same as the Personify360 application password.
 Web Services URL: Your administrator would have configured this value when
installing the package. Replace “botest” with the appropriate server name.
 System: Your administrator would have configured this value when installing the
package by entering the appropriate server name.
 Authentication: Your administrator would have configured this value to
Enterprise when installing the package.
4. Click Log On to establish the connection with BusinessObjects Enterprise Server.
5. Click the General tab and check the Refresh Live Office object on document
open checkbox if you wish to refresh the data when the document is opened, as
shown below.

6. Click OK.

PROPRIETARY AND CONFIDENTIAL

141
7.7.0 INSTALLATION GUIDE

BusinessObjects Fresh Installation

Fresh install is done when customers are coming onto Personify360 for the first time and
below are the steps that are mainly involved in configuring the customers reporting
environment.
1. Setting up Reporting Environment Folders
2. Creating Universe Folder and Connection
3. Importing the Biar File
4. Updating Parameters on Personify360 Configuration Screen
5. Importing LCMBIAR File Content Using Command Line
6. Synchronizing Personify360 with BusinessObjects
7. Uploading Universes using Synchronizer
8. Setting Webi Universe Connection using Synchronizer
9. Configuring Dashboards.
10. Propagating Preferences in BusinessObjects

1. Setting up Reporting Environment Folders

1. Log into the BusinessObjects CMC as an Administrator.


2. Click Folders.
3. Click New Folders.
4. Create two new folders where all client environment objects are deployed.
Make sure than one folder contains only the environment name and the other folder
contains the environment folder and the word “Report” in it, as shown below.

PROPRIETARY AND CONFIDENTIAL

142
7.7.0 INSTALLATION GUIDE

2. Creating Universe Folder and Connection with Universe Design Tool

To create a universe folder, you need to use the Universe Design tool. For more information
on Designer, please refer to the BusinessObjects Universe Design Tool, which is available
at http://help.sap.com/boall_en/.

NOTE: You can also create a universe folder using the CMC by right-clicking the root folder
in Universes and adding a new folder.

To create universes with the Universe Design tool:

1. Open the Universe Design tool.

NOTE: You can access the Universe Design tool by selecting Start > SAP BusinessObjects
BI Platform 4 > SAP BusinessObjects BI Platform Client Tools.

2. Enter the login information and click OK.


3. From the main menu, select File > Export.
4. Click Browse.
5. Right-click the server name (on the first line).
6. Select New Folder.
7. Rename the folder to environment folder name (e.g., PPRO).
8. Click OK and then cancel out of the pop-up windows
9. From the main menu, select Tools > Connections.

PROPRIETARY AND CONFIDENTIAL

143
7.7.0 INSTALLATION GUIDE

10. Click the new connections button: .


11. Select Connection Type as Secured and enter the connection name (it is
recommended to have the name same as universe folder name for consistency )
12. Click Next.
13. From the tree, select Microsoft > MS SQL Server 2012 > ODBC Drivers.
14. Click Next.
15. Enter the user name, password, and ODBC Data Source Name which you have
created for Personify360 db.
16. Click Next.
17. Click Test Connection.
18. Make sure the server responds and click Next.
19. Once the connection is created close out of the connection panel.

3. Importing the Biar File

To import information into your current BOE deployment:

1. Login to CMC and navigate to Promotion Management.


2. Select Import > Import File, as shown below.

3. Select the Personify770.LCMBiar File from the release area.


4. Provide the login credentials of the current CMS to import the content.
Once logged in, it will display the contents of the file
5. Select the root level to select all objects and click Promote.
6. Once the folder are created copy the contents from Personfy770 to the respective
folders created.
7. Run Synchronizer and make sure you update "Webi Universe Connection" for these
newly created Webi reports.

4. Updating Parameters on Personify360 Configuration Screen

The next step is to change the BusinessObjects Configuration Parameters (APP014) in the
Personify360 application. Please enter appropriate parameters for each field in the picture
below.

PROPRIETARY AND CONFIDENTIAL

144
7.7.0 INSTALLATION GUIDE

To update the Business Objects Configuration Parameters screen:


1. From the Personify360 main toolbar, select System Admin > Configure and Verify
Interfaces.
The Configure and Verify Interface (APP014) screen displays.
2. In the BusinessObjects Enterprise section, click Setup Global Parameters.
The Interface Parameter Maintenance (APP014B) screen displays with
BusinessObjects automatically selected as the interface.
3. Make sure the following parameters are defined:

Parameter Description

CLIENTADMINPASSWORD The password of the system administrator.


CLIENTADMINUSER The user login for the system administrator, also known as the Proxy
User.
CLIENTENVFOLDER The BusinessObjects root folder name for all BusinessObjects
content.
EXPORTOPTION Possible options: PersonifyExport or BOExport.
When the license releases immediately, the preferred option is
PersonifyExport.
IMAGEPATH The path to folder where the logos of the organization and
organization unit are located. This path is used by reports such as
ORD660 and INV620 to print the organization or organization unit
logos in the report header. Within this folder, there needs to be a
folder for each organization and then a sub folder for each
organization unit. The logo is a .bmp file with the naming convention
of OrgUnitId.bmp.
INFOVIEW The URL for BI Launchpad. As of the 7.7.0 release, the default
parameter value is http://BOE31:8080/BI/logon/start.do.
ODBCDATABASE The ODBC database name.
ODBCPASSWORD The ODBC database password.
ODBCSERVER The ODBC SQL Server.
ODBCUSERID The ODBC user ID.
OPENDOCUMENTURL The URL for Opendocument.jsp page. This URL is used by
Personify360 to run “Online/Crystal” reports through Personify360
interface. As of the 7.7.0 release, the default parameter value is
http://BOE31:8080/BOE/OpenDocument/opendoc/openDocument.jsp.

PROPRIETARY AND CONFIDENTIAL

145
7.7.0 INSTALLATION GUIDE

Parameter Description

RELEASEPROXYSESSIONURL The URL is used to release the license used by the proxy user to
launch reports. You must verify that the external IP address and port
are entered correctly. As of the 7.7.0 release, the default parameter
value is http://172.22.1.242:8080/BI/logon/logoff.do.
RELEASEUSERSESSIONURL The URL is used to release the license used to launch Data Analyzer.
You must verify that the external BO server name and port are
entered correctly. As of the 7.7.0 release, the default parameter value
is http://BOE40:8080/BI/logon/logoff.do.
SERVER The server name.
SERVERIPADDRESS The external IP address of the BusinessObjects server. This IP
address is used when launching an online report.
TRSAPPLICATIONPATH The network path for TRS bath processes.
TRSSOUTHPUTPATH The output folder in which TRS will generate the output and logs.
UNIVERSECONNECTION The name of the universe connection used by the universes.
UNIVERSEFOLDER The name of the universe folder where you stored the universes.
VIEWER Only HTML Viewing in supported.
WEBSERVICEURL Web Service access URL for BusinessObjects.

http://BO Server:6405/biprws
WEBSERVICEVERSION Web Service version for Business Objects.

4. Click Save.
5. Make sure the PSM_ORGUNIT_MEMBER has the right entries for the BO_USER
column reflecting the environment you are setting up. This table is used to filter data
for the logged in users org and org unit id. You can update the same using the
following script:
Alter Table PSM_ORGUNIT_MEMBER disable trigger all
GO
update PSM_ORGUNIT_MEMBER set BO_USER =
PARAMETER_VALUE+'_'+PSM_ORGUNIT_MEMBER.ORG_ID+'_'+PSM_ORGUNIT_
MEMBER.ORG_UNIT_ID+'_TR_'+PSM_ORGUNIT_MEMBER.USER_ID
from APP_INTERFACE_PARAMETER where INTERFACE =
'BUSINESSOBJECTS' and PARAMETER_NAME = 'CLIENTENVFOLDER'
Alter Table PSM_ORGUNIT_MEMBER enable trigger all
GO

PROPRIETARY AND CONFIDENTIAL

146
7.7.0 INSTALLATION GUIDE

6. Also, refer to Multi Organization Reporting and Enabling Multi Organization


Reporting if your organization supports multi-org and you want to enable multi-org
reporting.

5. Synchronizing Personify360 with BusinessObjects

The BusinessObjects Synchronizer allows you to propagate changes in Personify360 users,


groups, group members, universe, Webi reports, and group privileges that exist in
Personify360, but not in BusinessObjects. This would normally be done before you “go live”
with the Personify360 BusinessObjects integration. Once the initial synchronization is
complete, you do not have to re-synchronize on a regular basis. Rather, Personify360 will
do it for you. Under normal operating conditions, any changes made to users, groups, group
members, and group privileges in Personify360 will be automatically propagated to
BusinessObjects. However, if for some reason you think you need to reset the
synchronization, you can use this application to do so.
The Synchronize package can be found in the Utilities folder under the Personify360
application on your server. Use the Synchronize.exe to:

 Create the environment and synchronize users, groups, user group


relationships, and application privileges.

 Upload Universes, Personify360 online or TRS reports, whether base or


customized, to the BusinessObjects server.
To synchronize with BusinessObjects:

1. Launch the Synchronizer application and enter your username and password.
The database and server fields should already be populated.
2. Click OK.

PROPRIETARY AND CONFIDENTIAL

147
7.7.0 INSTALLATION GUIDE

3. On the Main menu at the top of the screen, click Synchronize, as shown below.

4. On the left side of the screen, under Organizational Units, select one or more org
units to which you wish to apply the synchronization options.
5. On the right side of the screen, under Synchronization Options, select all the options
which will create the BOE environment Org_OrgUnit folders for the selected org and
org units, set the DSN to Online and TRS Reports and create BO users and groups.
6. Click Synchronize.
The process begins and its status is shown under Processing Status.
The output log, displayed in the Output window, provides details about the
synchronization process.

6. Uploading Universes using Synchronizer

1. Copy the universes from the package to a local drive where synchronizer is being
launched.
2. Launch synchronizer and from the Main menu at the top of the screen, click
Publish Universe.
3. Prior to uploading the universes, have your System Administrator or DBA create
ODBC connections that can be used by the universes. For 64-bit servers, you must
create the ODBC using C:\Windows\SysWOW64\odbcad32.exe.

NOTE: This is very important as you will not be able to upload universes unless you select a
valid connection.

PROPRIETARY AND CONFIDENTIAL

148
7.7.0 INSTALLATION GUIDE

4. Select the connection from the Select Connection drop-down.


5. Use the explorer style window under Select Universe Files to browse to the correct
folder in the screen shown below.

6. Select one or more universes.


7. Click Upload Universe.

NOTE: Once the universes have been uploaded using this tool, it will basically delete the
respective .unv files from your local drive.

7. Setting Webi Universe Connection using Synchronizer

1. Launch synchronizer and from the Main menu at the top of the screen, click
Webi Universe Connection.
2. Under webi universe assignment, click on one or multiple webi reports and click
Update Webi Data Provider to set the webi reports point to universes uploaded in
the previous section.

8. Configuring Dashboards

NOTE: These configuration changes should be done once the respective users and groups
are created in BusinessObjects done in Step 5.

1. Once the contents from the Personify760.biar file is imported.

PROPRIETARY AND CONFIDENTIAL

149
7.7.0 INSTALLATION GUIDE

2. Grant the EnvironmentFolder_TR group (e.g., PPRO_TR) full control over the
Dashboard_750 universe folder and universe connection.
3. Launch Information Design Tool located on BOE Server Client Tools.
4. From the toolbar, click Window > Security.
5. Provide the CMS information and login as administrator.
6. Expand the universes folder under the universes/profiles section.
7. Expand Dashboard_750.
8. Select OrderDashboard.unx and click the Insert Data Security Profile icon, as
highlighted below.

9. Give an appropriate name for the data security profile (e.g., PPRO / PTST or Client
Name ).
10. Double-click Original Connection.
11. Select the reporting connection (e.g., PPRO) in the Define Replacement
Connections.
12. You should see the replacement connection added.
13. Click OK.
14. Now, select the EnvironmentFolder_TR group from the list of user groups available.
15. Add it to the Users / Groups.
16. Click Save (located below the toolbar).
Updating Dashboard Connections.

This is normally done by users who have access to the Dashboard (formerly Xcelsius)
installed locally on the machine.
1. Launch the SAP Dashboards Tool.
2. Select File > Open From Platform > Dashboards Object.

PROPRIETARY AND CONFIDENTIAL

150
7.7.0 INSTALLATION GUIDE

3. Log into BO as an Administrator.


4. Expand the environment folder (e.g., PPRO).
5. Navigate to a dashboard folder (e.g., PPRO > Abstracts > Dashboard – Abstract
Dashboard )
6. Click Open.
7. Select View > Query Browser.
8. In the Query Browser, select Refresh All.

9. Select File > Export > Flash (SWF).


This will update the Dashboard file on BOE server.
10. Save the flash file to a local drive.
11. Repeat steps 5 to 10 for the remaining dashboards
12. Log into the BI Launchpad (Data Analyzer) as Administrator.
13. Navigate to a dashboard folder (e.g., PPRO > Abstracts > Dashboard )
14. From the top menu, select New > Local Document.
15. Browse to the flash file that you saved for the respective dashboard that you saved
above and overwrite the existing file.
16. Repeat the same for other saved flash files.

9. Propagating Preferences in BusinessObjects

To propagate preferences:
1. Log into the BusinessObjects CMC as an Administrator and navigate to users and
groups.
2. In CMC, navigate to your environment's everyone group, which is located in the
EnvironmentFolder_TR folder.
The environment folder name can be found from the following location Configure
and verify interface > Business Objects Enterprise > Setup Global Parameters
> ClientEnvFolder.
3. Right-click on the group and select BI launch pad Preferences.
The BI launch pad and preferences window displays.
4. Uncheck the No Preferences Defined checkbox.
5. Select the Documents tab radio button.
6. Select the Folders radio button

PROPRIETARY AND CONFIDENTIAL

151
7.7.0 INSTALLATION GUIDE

7. Select the Select Public Folder: radio button.


8. Click the Browse Folder button to navigate to the default folder that will display
during login.
9. Once the folder is selected, click save and close.

10. Verifying BusinessObjects Reports will Display on the Web

To verify BusinessObjects Reports will display on the web:

1. Navigate to the following .reg file:


..\Releases\SeparatelyPackagedComponents\PersonifyWebControls\1.5.0\Package\
WebControls\UniversalWebServiceCredentials.reg
2. Using the credentials inside this file, login with this user in Personify360 Operations
and launch Data Analyzer. If you successfully launch Data Analyzer, users will be
able to view reports on the web. See the Report Control section in the online help for
more information.

BusinessObjects Upgrade

Personify360 7.7.0 now ships with Business Intelligence Platform 4.2 and clients upgrading
to Personify360 7.7.0 have to upgrade their existing BO environment as well. Once BI 4.2 is
installed and configured (refer to the BusinessObjects Server Installation section for details)
on the new server, follow the steps outlined below to upgrade Business Objects
environment.
1. Migrating Content to BI 4.2
2. Uploading Reports (Online and TRS)
3. Uploading Universes
4. Configuring Dashboards
5. Verifying BusinessObjects Reports will Display on the Web

1. Migrating Content to BI 4.2

Migration of content from old system to new BI 4.0 is a major portion of the upgrade process
and the tool used for this purpose is the Upgrade Management Tool (UMT). However,
before running the tool, certain best practices need to be considered.
Content Inventory and Cleanup: Perform a content inventory on the existing system and
perform a cleanup before moving the content.
Using Instance Manger in CMC, try to find out how many recurring jobs are running. Identify
if any of the jobs can be killed.
PROPRIETARY AND CONFIDENTIAL

152
7.7.0 INSTALLATION GUIDE

Identify the number of instances in the repository and set a limit on the public folders and
private folders to remove the excess report instances using the limits option on the folders.
Refer to http://scn.sap.com/docs/DOC-42952 for using query builder to get details of the
repository.
Incremental Content Migration: Depending on the amount of content to be migrated
discovered in the above step, it is always advisable to perform an incremental content
migration. Some of the scenarios to consider for content migration are:

 First, just move Webi reports and respective universe.

 Since TRS reports have report instance, depending on the number of instances,
you can consider just moving the TRS reports with instances.

 Then, move the Online reports.

 Now, move the users and groups.

 Depending on the content, you can move all the content in one go as well.
Migrating from XI 3.1 or lower to 4.2
To migrate documents:

This tools needs to be used to migrate content from BO XI 3.1 or lower versions of BOE to
BI 4.2
1. Navigate to the Start menu, and under SAP BusinessObjects BI platform, click
Upgrade management tool.

PROPRIETARY AND CONFIDENTIAL

153
7.7.0 INSTALLATION GUIDE

2. Select Incremental Upgrade and click Next, as highlighted below.

3. If your source information is 3.1, make sure the Upgrade Scenario is “Live to Live”,
then input the source information with your 3.1 BOE credentials and destination with
your 4.0 credentials, as displayed below. You can also use the BIAR file from your

PROPRIETARY AND CONFIDENTIAL

154
7.7.0 INSTALLATION GUIDE

3.1 environment.

4. The resulting window will still show all the content available in the 3.1 BOE server, as
shown below.

5. Expand Folders and Objects / Universes / Users and Groups and select the DA
Environment objects you want to migrate, as highlighted below.

PROPRIETARY AND CONFIDENTIAL

155
7.7.0 INSTALLATION GUIDE

NOTE: You can select the content in increments to migrate content from 3.1 to 4.0,
such as selecting just the online and TRS reports folder in first iteration and importing
them, then selecting the Webi content and universes alone, and finally, the users and
groups.

6. Click Options.
7. Select Export all instances of an object if the objects is selected to have its
dependencies exported, as shown below.

8. Click OK.

PROPRIETARY AND CONFIDENTIAL

156
7.7.0 INSTALLATION GUIDE

9. Click Next.
The Summary screen displays, as shown below.

10. Click Start.


11. The export process initiates, as shown below.

12. Make sure you created the DSN in both 32 and 64 data managers for the
Personify360 database.
PROPRIETARY AND CONFIDENTIAL

157
7.7.0 INSTALLATION GUIDE

13. Update the universe connection.


14. Update the app interface parameters with the new server info.
15. Make sure you have the same folder names.
16. Run synchronizer on BOE to create users and groups, set DSN, create BOE
environment for a specific org unit.
17. Update the BO job ID's for TRS process.
18. Update the PSM_ORGUNIT_MEMBER to have the right entries for the BO_USER
column reflecting the environment you are setting up. This table is used to filter data
for the logged in users org and org unit id. You can update the same using the
following script:
Alter Table PSM_ORGUNIT_MEMBER disable trigger all
GO
update PSM_ORGUNIT_MEMBER set BO_USER =
PARAMETER_VALUE+'_'+PSM_ORGUNIT_MEMBER.ORG_ID+'_'+PSM_ORGUNIT_
MEMBER.ORG_UNIT_ID+'_TR_'+PSM_ORGUNIT_MEMBER.USER_ID
from APP_INTERFACE_PARAMETER where INTERFACE =
'BUSINESSOBJECTS' and PARAMETER_NAME = 'CLIENTENVFOLDER'
Alter Table PSM_ORGUNIT_MEMBER enable trigger all
GO

19. Refer to Multi Organization Reporting and Enabling Multi Organization Reporting if
your organization supports multi-org and you want to enable multi-org reporting.
Migrating from 4.0/4.1 to 4.2
There are two options to migrate content from BI 4.0 / 4.1 to BI 4.2.
1. Upgrading the existing BOE with in place upgrade where in you are just installing the
BI 4.2 upgrade package on the existing server and content is all preserved on the
upgraded version of BOE. This will result in a downtime of the existing production
reporting system.
2. Install the same version of BOE as the source system on the new BOE server and
copy the content from the source BOE by restoring the BOE CMS repository and file
store onto the new BOE server ( Refer to the Copying Your BI Platform Deployment
section of BI 4.2 Administrators Guide )
Once the content is copied over, perform an inplace upgrade to BI 4.2 on the new server.
Once you have installed BI 4.2, refer to configuring Adaptive Processing Server section to
configure the APS servers.

PROPRIETARY AND CONFIDENTIAL

158
7.7.0 INSTALLATION GUIDE

2. Uploading Reports

1. Launch Synchronizer and click Publish Report.


2. Copy the Online and TRS reports from package upgrade location to a local drive.
3. Browse to the saved location and upload the reports to the respective folders in
BOE.

3. Uploading Universes

1. Launch Synchronizer and click Publish Universe.


2. Copy the modified universe from package upgrade location to a local drive.
3. Select the universe connection.
4. Browse to the saved location and upload the reports to the respective folders in
BOE.

4. Configuring Dashboards

1. Log into the BusinessObjects CMC.


2. Navigate to Promotion Management.
3. Click Import > Import File.
4. Browse for the Dashboards_750.lcmbiar file and click OK.
5. Select login to a New CMS in destination.
6. In the pop-up window, select the system if importing to same CMS or enter the CMS
login info where you want to import the biar file contents.
7. Click Promote.
8. Click Promote on the resulting window.
Promote will schedule the job and create the respective folders. A promotion job gets
created and once the status becomes success, the folders dashboards, Universe
and connections are created in the CMS.
9. Grant the EnvironmentFolder_TR group (PPRO_TR) full control for the
Dashbaord_750 universe folder and universe connection only.
10. Make the Dashboard_750 connection live.
11. Launch Information Design Tool located on BOE Server Client Tools.
12. From the tool bar, select Window > Security.
13. Provide the CMS information and log in as administrator.
14. Expand the universes folder under the universes / profiles section.
15. Expand Dashboard_750.

PROPRIETARY AND CONFIDENTIAL

159
7.7.0 INSTALLATION GUIDE

16. Select OrderDashboard.Unx and click the Insert Data Security Profile icon, as
shown below.

17. Give an appropriate name for the data security profile (e.g., PPRO / PTST or Client
Name).
18. Double-click Original Connection.
19. Select the reporting connection (e.g., PPRO) in Define Replacement Connections.
You should see the replacement connection added.
20. Click OK.
21. Select the EnvironmentFolder_TR group from the list of user groups available.
22. Add it to Users / Groups.
23. Click Save (located below toolbar).
24. Delete all the files located under each Subsystem > Dashboard folder in current
environment
25. Copy both the files (Type Dashboard and Flash) for each subsystem in
Dashbaord_750 folder to the respective Subystem > Dashboard folder of your
environment.

PROPRIETARY AND CONFIDENTIAL

160
7.7.0 INSTALLATION GUIDE

26. The dashboard folder should only contain two files, as shown below.

NOTE: While copying in some instances the file gets named as “Copy of –“ right click on the
file and rename the file without the copy of under properties.

Updating Dashboard Connections.


This is normally done by users who have access to the Dashboard (formerly Xcelsius)
installed locally on the machine.
1. Launch the SAP Dashboards Tool.
2. Select File > Open From Platform > Dashboards Object.
3. Log into BO as an Administrator.
4. Expand the environment folder (e.g., PPRO).
5. Navigate to a dashboard folder (e.g., PPRO > Abstracts > Dashboard – Abstract
Dashboard).
6. Click Open.
7. Select View > Query Browser.
8. In the Query Browser, select Refresh All.

9. Select File > Export > Flash (SWF).


This will update the Dashboard file on BOE server.
10. Save the flash file to a local drive.
11. Repeat steps 5 to 10 for the remaining dashboards.
12. Log into BI Launchpad (Data Analyzer) as an Administrator.

PROPRIETARY AND CONFIDENTIAL

161
7.7.0 INSTALLATION GUIDE

13. Navigate to a dashboard folder (e.g., PPRO > Abstracts > Dashboard).
14. Select New > Local Document.
15. Browse to the flash file that you saved for the respective dashboard that you saved
above and overwrite the existing file.
16. Repeat the same for other saved flash files.

5. Verifying BusinessObjects Reports will Display on the Web

To verify BusinessObjects Reports will display on the web:

1. Navigate to the following .reg file:


..\Releases\SeparatelyPackagedComponents\PersonifyWebControls\1.4.0\Package\
WebControls\UniversalWebServiceCredentials.reg
2. Using the credentials inside this file, login with this user in Personify360 Operations
and launch Data Analyzer. If you successfully launch Data Analyzer, users will be
able to view reports on the web. See the Report Control section in the online help for
more information.

Setting Up the Webi Universe Connection.

1. Launch Synchronizer and set the webi universe connection.


2. Once the process is done, the below reports will need to be set manually:
 Inventory
 Free Shipping Sales Analysis by Sales Period - INV1326
 Membership
 Analysis of Chapter Health - MBR1016
 Chapter Members Nearing Expiration -MBR1012
 National Members Nearing Expiration - MBR1013
 New Chapter Members -MBR1014
 Customer
 Customer Details with IMS Info - CUS1020PI

NOTE: If the above reports are not manually set, they will fail setting the universe
connection.

Manually Updating the Report Data Source

To manually update the report data source:


1. Login to the BI Launchpad (Data Analyzer) as a Business Objects administrator.
2. Navigate to the reports listed above.
PROPRIETARY AND CONFIDENTIAL

162
7.7.0 INSTALLATION GUIDE

3. Right-click and select Modify.


4. Navigate to Data Access tab > Tools tab.
5. Select Change Source and select any query.
6. In the Change Data Source Wizard, select Specify a New Data Source.
7. From the drop-down, select Universe.
8. In the Universe Window, select the appropriate universe from your environment
folder.
9. Check the Apply the changes in all queries sharing the same data source
checkbox.
10. Click Next.
The Object Mapping screen should display all the current report objects mapped to
objects from the new data source.
11. Click Finish.
12. Enter any values for the report parameters.
13. Once entered, navigate to the query panel, run the queries, and save the report.
Manually Updating Reports with Results from Another Query

A known issue with reports with multiple queries and having prompts with results from
another query when you try to manually update the report data source is that the object
mapping screen is rendered as blank. The reports affected by this issue are the following:

 Chapter Members Nearing Expiration -MBR1012

 National Members Nearing Expiration - MBR1013

 New Chapter Members -MBR1014


The steps below outline how the data source for each report can be set manually.
1. Navigate to CMC > Servers.
2. Select the Webi Processing server and check the properties.
3. Increase the default value of the Binary Stream Maximum Size to "65535".
4. Restart the Webi Processing server.
If the object mapping is still, blank then follow the following steps:
5. Login to the BI Launchpad (Data Analyzer) as a Business Objects administrator.
6. Navigate to the reports listed above.
7. Right-click and select Modify.
8. Navigate to Data Access tab > Data Providers tab.
9. Click Edit.
10. Navigate to the National Membership query where the option results from another
query have been used.

PROPRIETARY AND CONFIDENTIAL

163
7.7.0 INSTALLATION GUIDE

Take a note of which prompts have this option selected, as highlighted below.

11. Change it to constant, enter any dummy values, and run the queries.
12. Navigate to Data Access tab > Tools tab.
13. Click Change Source and select any query.
14. In the Change Data Source Wizard, select Specify a New Data Source and from the
drop-down, select Universe.
15. In the Universe Window, select the appropriate universe from your environment
folder.
16. Check the Apply the changes in all queries sharing the same data source checkbox.
17. Click Next.
The Object Mapping screen should display all the current report objects mapped to
objects from the new data source.
18. Click Finish.
19. Enter any values for the report parameters.
20. Once entered, navigate to the query panel, run the queries, and save the report.
21. Click the Data Access tab > Data Providers tab.
22. Click Edit.
23. Navigate to the National Membership query where the option results from another
query has been used.
24. Change the prompts that were changed to constant to results from another query.
25. Select the results from another query that will bring the available objects pop up from
query 1 or select prompt, this will bring previous value.
26. For the Member Master Customer ID field, select the Sub Group Member Master
Customer ID field.
27. For the Member Sub Customer ID field, select the Sub Group Member Sub
Customer ID field.
28. Run the queries and save the report.

PROPRIETARY AND CONFIDENTIAL

164
7.7.0 INSTALLATION GUIDE

Miscellaneous

Multi Organization Reporting

From Personify360 7.4.2, the universes have been modified to accommodate multi
organization reporting without logging into a specific org/org unit. Now, if a user has access
to multiple org units with the multi org reporting enabled, the data returned by the reports will
be from all the org/org units the user has access to.
Enabling Multi Organization Reporting
The multi organization reporting is not enabled by default and can be enabled by altering the
new BO_Psm_Org_Unit_Member_VW view added in Personify360 7.4.2.
Alter the BO_Psm_Org_Unit_Member_VW view by commenting out the following lines in
the view:
select Bo_User,User_Id,Org_Id,Org_Unit_Id
from dbo.PSM_ORGUNIT_MEMBER
and un-comment the following lines of code in the view:
select a.Bo_User,b.User_Id,b.Org_Id,b.Org_Unit_Id
from dbo.PSM_ORGUNIT_MEMBER a, dbo.PSM_ORGUNIT_MEMBER b
where a.user_id = b.user_id
So the modified view should look as follows:
alter view [dbo].[BO_Psm_Org_Unit_Member_VW]
AS(

--select Bo_User,User_Id,Org_Id,Org_Unit_Id
--from dbo.PSM_ORGUNIT_MEMBER
--<<Comment the above two lines and un-comment the below three lines
for multi ORG support>>
select a.Bo_User,b.User_Id,b.Org_Id,b.Org_Unit_Id
from dbo.PSM_ORGUNIT_MEMBER a, dbo.PSM_ORGUNIT_MEMBER b
where a.user_id = b.user_id)

Now execute the view. The results of the view have all the BusinessObjects users with data
for all the org/org units to which they have access. The universes and reports are configured
PROPRIETARY AND CONFIDENTIAL

165
7.7.0 INSTALLATION GUIDE

to look at the view for the logged in users org/org unit information, thereby allowing multi
organization reporting.

Setting Printer Options for BusinessObjects

The BusinessObjects application gives you the ability to set up different printers and specific
printer options for each report. Reports that do not have anything specific set up will print
with the default printer installed on your BO server in the default report file layout.
This section explains how to set up general printer settings, custom printer settings, and
your DYMO printer in the case that you want to print your CUS500 reports on labels.
Configuring General Printer Settings for BusinessObjects
When you first open or run an Operational report or TRS report, part of the report runs off
the right edge of the page. You must configure the page layout in your printer settings to
ensure the reports print correctly.
To configure the general printer settings:

1. Log in as an Administrator to the server with BusinessObjects installed on it.


2. Create a default printer.
3. Open the Central Configuration Manager (CCM).
4. Stop the Server Intelligence Agent.
5. Right-click “Server Intelligence Agent” and select Properties.
6. On the Properties tab, uncheck the System Account checkbox.
7. Enter the Administrator’s User ID and Password in the appropriate entry fields and
click OK.
8. Start the Server Intelligence Agent.
Configuring Custom Printer Settings for BusinessObjects
All reports in BusinessObjects print in the default report file layout using the printer set as
Default on your BO server unless you specify otherwise. You can specify a particular
report’s printer settings such as number of copies, page range, page orientation, etc.
To configure the custom printer settings:
1. Make sure the printer you want the report to print from is installed on the BO server.
2. Log into the CMC.
3. Click Folders.
4. Click on your environment’s report folder.
5. Open the report you want to specify printer settings for.

NOTE: You may need to open more folders before reaching your report.

PROPRIETARY AND CONFIDENTIAL

166
7.7.0 INSTALLATION GUIDE

6. Click Default Settings.


7. Click Print Settings.
8. To print in the Crystal Reports format, check the radio button for that setting.
9. If you want to use a different printer already installed on your BO server, check the
Print Crystal Reports when Scheduling checkbox and enter the name of the
printer in the Specify a Printer text box.

To ensure accuracy of your printer name, Personify, Inc. recommends opening the
properties of your printer, copying the name from the properties screen, and pasting it in the
“Specify a printer” text box.

10. Set any other options you desire using the available radio buttons, drop-downs, or
text boxes.
 Number of Copies
 Collate Copies
 Page Range
 Page Layout

NOTE: To change the page layout settings, select Custom Settings from the “Set Layout to”
drop-down. More settings will display.

11. Click Save and Close.


Configuring DYMO Printer Settings for BusinessObjects
The DYMO is a specific printer that allows you to print labels, more specifically for these
purposes, labels with customer names and addresses. You can set your DYMO printer to
print entries from the CUS500 report and have one customer appear on each label.
To configure your DYMO printer:

1. Install your DYMO printer on the BO server using the Installation disk that came with
the printer.

NOTE: Make sure you do not set it as the Default printer for your BO server.

2. Log into the CMC.


3. Click Folders.
4. Click on your environment’s report folder.
5. Open the CUS500 report.

NOTE: You may need to open more folders before reaching the CUS500 report.

6. Click Default Settings.

PROPRIETARY AND CONFIDENTIAL

167
7.7.0 INSTALLATION GUIDE

7. Click Print Settings.


8. Check the Print Crystal Reports when Scheduling checkbox.
The printer options enable.
9. From the Set Layout to drop-down, select “Custom Settings”.
10. Select the Use custom layout settings radio button.
11. Select “Custom” from the Paper Size drop-down.
12. Enter the Page Width and Page Height in the text boxes.

NOTE: The Page Width and Page Height added in the graphic above are for shipping labels
(SKU 30256).

13. Verify the printer properties are set with the same settings as the Page Width and
Page Height.
14. From the Set collate option to drop-down, select “Do not collate”.
15. If desired, enter a specific page range.
16. Click Save and Close.

Setting the Date Format for Reports

For non-United States based customers, you can change the date format for reports.
File Modified: Sqlsrv.prm

Location: D:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI


4.0\dataAccess\connectionServer\odbc\extensions\legacy
Parameter Modified : <Parameter Name="USER_INPUT_DATE_FORMAT">'dd/mm/yyyy
HH:m:s'</Parameter>

PROPRIETARY AND CONFIDENTIAL

168
7.7.0 INSTALLATION GUIDE

Unified Search Installation (Optional)

Unified Search is a new feature in Personify360 application, available as of Personify360


7.3.1, that integrates with the Google Mini Search appliance to allow your users to query
Customer, Prospect, and Customer Order data from a single search window within the
Personify360 application. The user can search on keywords from a limited universe of
Customer, Prospect, and Customer Order data. Search criteria are in free-text format and
the search engine matches records on entire words. No partial word matches are done.
System Architecture

When a user enters text into the Unified Search field, the application uses a Google Search
appliance connected to the Application Server to retrieve the search results and then
displays the results on an ASPX page that opens in Personify360.

PROPRIETARY AND CONFIDENTIAL

169
7.7.0 INSTALLATION GUIDE

Setting Up Unified Search

Pre-setup Checklist

Configuring SQL Server Service to Run Using a Domain User Account


A critical step in normal processing of Unified Search SQL job is generating HTML files that
are consumed by Google Mini search appliance. This step involves is selecting data from
the database and exporting it to an external HTML file.
For this, the user that runs the SQL Job needs to have read and write permission on the file
destination location. This can be done by having a domain user that has access to the
database and has above mentioned permissions on file server.
This account can be any user account on the domain or can be the same account that runs
SQL Server service.
Personify, Inc. recommends setting the SQL Server service to run under a Windows service
account and assigning read and write permission for this account on the file server that will
host the Unified Search related files.

PROPRIETARY AND CONFIDENTIAL

170
7.7.0 INSTALLATION GUIDE

Starting SQL Server Agent Service on SQL Server


The SQL Server Agent Service needs to be started on the SQL server instance where the
SQL job will be located.
Not having the SQL Server Agent service running will return errors when creating the job.
You may receive an error like this if you attempt to create the SQL Job on a server that has
SQL Server Agent Service turned off.

Procuring Google Mini Search Appliance

In order to be able to use Unified Search feature in Personify360, you need to first procure
the Google Mini/ Google Search Appliance from Google or a related third-party reseller.
This is an additional piece of hardware that is an integral part of the solution.
Pricing for Google Mini/ Google Search Appliance depends on the number of documents
that is included for search. This directly corresponds to the number of customer and
prospect records that need to be included in the search universe.

Acquiring Latest Version of Packaged Script

Before we can move forward with adding new SQL Database related objects for Unified
Search or setting up the website that displays the Unified Search results, you need to copy
the latest version of the UnifiedSearch folder from your Personify360 release package to the
server that will host the functionality.
The UnifiedSearch folder contains two subfolder:

 Personify.UnifiedSearch.Database

 Personify.UnifiedSearch.Website
There are 3 objects in the Personify.UnifiedSearch.Database folder:

 1_MANUAL_DATABASE_INSTALL
Folder containing the SQL Server Query files needed for a fresh installation of
Unified Search.

 2_UNIFIED_SEARCH_OBJECTS
Folder containing a script that creates the remaining Unified Search related SQL
objects, such as tables, stored procedures, and indexes.

 Readme_FIRST.txt
Text file containing further instructions on running the scripts for installation and
upgrade.
PROPRIETARY AND CONFIDENTIAL

171
7.7.0 INSTALLATION GUIDE

The Personify.UnifiedSearch.Website folder contains a command script that creates a


website on your server and installs the Unified Search ASPX on that website.
Instructions for installing the files in both folders appears in the following sections.

NOTE: Personify, Inc. recommends opening the Readme_FIRST.txt and referring to the
additional installation instructions in the file while following the instructions in this guide.

Manually Installing and Configuring the Database Objects

Manually installing the necessary database objects for Unified Search involves executing
three (3) SQL scripts available in the “1_MANUAL_DATABASE_INSTALL” sub-folder of
your Unified Search file package. The included scripts perform the following actions:
1. ADD_FILEGROUP_AND_FILE_TO_PERSONIFY_DB_FOR_UNIFIED_SEARCH.S
QL
Adds the Database File Group and sets up the database Data File on your SQL
Server database.
2. ADD_SQL_CLR_TO_PERSONIFY_DB_FOR_UNIFIED_SEARCH.SQL
Adds a SQL CLR Assembly to your Personify360 database.
3. USEARCH_CREATE_SEARCH_FILES_SQL_JOB.SQL
Creates a SQL Job that generates data for the Google Mini to crawl and index.
Execution of these scripts is necessary to perform a fresh installation of Unified Search on
your Personify360 Application. More information on these scripts and steps for executing
them appear in the subsections below.

NOTE: Only users with SysAdmin privileges on the Personify360 database can execute
these scripts.

Adding the Database File Group and Setting Up the Database Data File on SQL Server
Database
All database tables containing data for Unified Search will be hosted in a separate data file
within the Personify360 database on your SQL Server. This ensures the processing of
records for Unified Search does not increase I/O contention on the remainder of the
Personify360 data.
In order to accomplish this, you need to run a script as outlined below to perform the
following functions:

 Create a new File Group with the name "USEARCH."

 Add a new data file to host data for the Unified Search related tables.
To add the database file group and set up the database data file:
PROPRIETARY AND CONFIDENTIAL

172
7.7.0 INSTALLATION GUIDE

1. Navigate to the following file path in your release package:


...\UnifiedSearch\Personify.UnifiedSearch.Database\1_MANUAL_DATABASE_INST
ALL
2. Open the following script in a text editor such as Notepad:
ADD_FILEGROUP_AND_FILE_TO_PERSONIFY_DB_FOR_UNIFIED_SEARCH.S
QL
3. Within the file, locate the code below and replace the keyword ‘Database’ (as
highlighted in red) with the name of your local Personify360 database.
DECLARE
@DATABASE_NAME VARCHAR(100) = 'DatabaseName'
4. Save and close the file.
5. Execute the script.
Adding the SQL CLR Assembly
Setup for Unified Search includes adding a SQL CLR Assembly to your Personify360
database.
In order to accomplish this, you need to run a script as outlined below to create the following
objects in your Personify360 database:

 Assembly Personify.UnifiedSearchCLR

 Stored Procedure USEARCH_ExportDataToUNC that references the SQL CLR


stored procedure
To add the SQL CLR Assembly to your Personify360 database:

1. Navigate to the following file path in your release package:


...\UnifiedSearch\Personify.UnifiedSearch.Database\1_MANUAL_DATABASE_INST
ALL
2. Open the following script in a text editor such as Notepad:
ADD_SQL_CLR_TO_PERSONIFY_DB_FOR_UNIFIED_SEARCH.SQL
3. Within the file, locate the code below and replace the keyword ‘DatabaseName’ (as
highlighted in red) with the name of your local Personify360 database.
*/

USE [DatabaseName] -----<<<<<----- UPDATE


DATABASE NAME HERE!
GO

PROPRIETARY AND CONFIDENTIAL

173
7.7.0 INSTALLATION GUIDE

-----Step 1: SET TRUSTWORTHY ON


ALTER DATABASE [DatabaseName] -----<<<<<----
- UPDATE DATABASE NAME HERE!
SET TRUSTWORTHY ON

GO

4. Save and close the file.


5. Execute the script.
Installing a SQL Job to Generate Data for the Google Mini Crawl
The last step in manually configuring your database for Unified Search is to create a SQL
Job that generates data for the Google Mini to crawl and index. The SQL script associated
with this SQL job is "USEARCH_CREATE_SEARCH_FILES_SQL_JOB.SQL".
To install the SQL job that generates data for the Google Mini crawl:
1. Navigate to the following file path in your release package:
...\UnifiedSearch\Personify.UnifiedSearch.Database\1_MANUAL_DATABASE_INST
ALL
2. Open the following script in a text editor such as Notepad:
USEARCH_CREATE_SEARCH_FILES_SQL_JOB.SQL
3. Within the file, locate the code below and replace the keyword ‘sa’ (as highlighted in
red) with the logged in SQL User Name of your local Personify360 database.
EXEC @ReturnCode = msdb.dbo.sp_add_job
@job_name = N'USEARCH_CREATE_SEARCH_FILES'
, @enabled = 1
, @notify_level_eventlog = 0
, @notify_level_email = 0
, @notify_level_netsend = 0
, @notify_level_page = 0
, @delete_level = 0
, @description = N'SQL Job that will run procedures to
create files for Unified Search.'
, @category_name = N'[Uncategorized (Local)]'

PROPRIETARY AND CONFIDENTIAL

174
7.7.0 INSTALLATION GUIDE

, @owner_login_name = N'sa' -----<<<<<----- UPDATE DOMAIN


ACCOUNT NAME HERE!
, @job_id = @jobId OUTPUT

4. Locate this next bit of code below and replace the keyword ‘DatabaseName’ (as
highlighted in red) with the name of your local Personify360 database.
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep
@job_id = @jobId, @step_name = N'EXEC_STORED_PROCEDURE'
, @step_id = 1
, @cmdexec_success_code = 0
, @on_success_action = 1
, @on_success_step_id = 0
, @on_fail_action = 2
, @on_fail_step_id = 0
, @retry_attempts = 0
, @retry_interval = 0
, @os_run_priority = 0
, @subsystem = N'TSQL'
, @command = N'EXEC dbo.USEARCH_JOB_RUNNER
GO'
, @database_name = N'DatabaseName' -----<<<<<----- UPDATE
DATABASE NAME HERE!
, @flags = 0

5. Save and close the file.


6. Execute the script.

Adding Unified Search SQL Objects

The next step is to add SQL objects to your Personify360 database specific to Unified
Search by running a command script.
A listing of the new database objects added to Personify360 as a result of running the
command script appear after the steps below.

PROPRIETARY AND CONFIDENTIAL

175
7.7.0 INSTALLATION GUIDE

To add the Unified Search SQL objects:


1. Navigate to following file path in your Unified Search release folder:
UnifiedSearch\Personify.UnifiedSearch.Database\2_UNIFIED_SEARCH_OBJEC
TS
2. Open the Runner.CMD script in a text editor such as Notepad and modify the
following:
 <Server>
 <Database>
 <Username>
 <Password>
3. Save and close the file.
4. Double-click Runner.CMD to run the script and install Unified Search related objects

Tables

 USEARCH_CUSTOMER

 USEARCH_CUSTOMER_ADDRESS

 USEARCH_CUSTOMER_ALIAS

 USEARCH_CUSTOMER_COMMUNICATION

 USEARCH_CUSTOMER_RELATIONSHIP

 USEARCH_JOB_STATUS

 USEARCH_MEMBERSHIP_INFO

 USEARCH_ORDER_DETAIL
Stored Procedures

 USEARCH_EXPORT_CUSTOMER_DETAIL

 USEARCH_EXPORT_CUSTOMER_LIST

 USEARCH_EXPORT_CUSTOMER_SEARCH

 USEARCH_INSERT_DATA

 USEARCH_JOB_RUNNER

Index

PROPRIETARY AND CONFIDENTIAL

176
7.7.0 INSTALLATION GUIDE

Two SQL scripts that executed when you ran the command script added Indexes to your
existing Personify360 database tables. The indexes are essential to providing Personify360
data for Unified Search in the most efficient way.

 Alter_Table_CUS_RELATIONSHIP_Add_Index.SQL

 Alter_Table_CUSTOMER_Add_Index.SQL
Data
The following data script also executed when you ran the command script, and it added
placeholder data for the Unified Search Application Parameters in your Personify360
application: APP_PARAMETER_ADD_APP_PARAMETER_DATA_FOR_UNIFIED_SEARC
H.SQL.
The three (3) Application Parameters added to the system include the following:

 UNIFIED_SEARCH_DEFAULT_FILE_UNC_PATH
This parameter defines the UNC File location on your App Server/ File Server
for file default.HTML and Customer Search files. (Discussed in the next section.)

 UNIFIED_SEARCH_DETAIL_FILE_UNC_PATH
This parameter defines the UNC File location on your App Server/ File Server
for Customer Detail files. (Discussed in the next section.)

 UNIFIED_SEARCH_MAX_RECORD_COUNT
This parameter defines the maximum record count for the number of Customer/
Prospect data to include in the search universe. This number is dependent on
the license limitation for the Google Mini search appliance.

Setting Up Location on App Server/ File Server to Host Unified Search Files

The Google Mini search appliance crawls through data in your Personify360 application
made available to the search. Data for the crawl is stored in HTML files hosted on your App
Server or File Server. The file repository can be located on the App Server or any File
Server as desired by your association. For associations where your App Servers is load
balanced, Personify, Inc. recommends storing the files on a file server accessible to all App
Servers.
System Administrators should ensure this file is accessible from both the SQL Server and
the Google Mini search appliance. The service account running the SQL Job that creates
the data files needs to have read, write, and delete permissions on the folders, and the
service account running the Google Mini appliance needs to have read permissions on the
folders.

PROPRIETARY AND CONFIDENTIAL

177
7.7.0 INSTALLATION GUIDE

There must be one top level folder with a user-defined name. Within this folder, there must
be two sub-folders with names "search" and "detail". These folders host all files related to
the Unified Search feature. The "search" folder contains files that have a list of customers
and files that have search keyword data. The "detail" folder contains customer data used for
the search results page.
There are two sets of files that have a list of customers for Unified Search:

 One default.html file

 Multiple defaultXXX.html files


The default.html file contains a hyper-link enabled list of all defaultXXX.html files:

Code behind for default.html file appears as such:

There can be multiple defaultXXX.html file for each association. The number of these files
depends on the total count of customers included in the Unified Search universe. Each
defaulXXX.html file contains a hyper-linked list of 5000 customers/ prospects. An
association with 50,000 customers in the Unified Search universe will have 10
defaultXXX.html files with names default001.html, default002.html … default010.html.

PROPRIETARY AND CONFIDENTIAL

178
7.7.0 INSTALLATION GUIDE

Code behind for each defaultXXX.html files:

PROPRIETARY AND CONFIDENTIAL

179
7.7.0 INSTALLATION GUIDE

The "search" folder also contains one HTML file for each customer that has data included in
the search keyword universe. These files have names with the MasterCustomerID.html
format.
The "detail" folder contains one HTML file for each customer with data used for display in
the search results page. These files have names in the MasterCustomerID_detail.html
format.

Setting Up the Website on App Server/ Web Server

In order for the Google Mini search appliance to crawl through data made available for
Unified Search, you need to set up a website accessible by Google Mini. This can be on the
App Server, Web Server, or any other web server accessible from Google Mini appliance.
The URL for this website can be
SubDomain.AssociationDomainName.Suffix/[Top_Level_Folder_Name]

 Suffix can be .com or .org or .net or any other top level domain name.

 Top_Level_Folder_Name is user-defined.

 The URL for the default document should be based on the following format:
http:// SubDomain.AssociationDomainName.Suffix/[
Top_Level_Folder_Name]/default.html

 No external access to this website is required.


To set up the website for Unified Search:

1. Using IIS Manager, make sure your Application Pool is under the .Net 4.5.2
Framework in Integrated Mode.
2. Navigate to the UnifiedSearch folder on your server and open the
“Personify.UnifiedSearch.Website” folder.

This folder contains a script that, when ran, creates a website named
“PersonifyUnifiedSearch” on your Web Server that hosts the Personify360 ASPX
Home Pages.
3. If you want to modify this website and folder name, open
Personify.UnifiedSearch.SetParameters.xml in a text editor and modify the red text
below in the code:
<setParameter name="IIS Web Application Name" value="Default
Web Site/PersonifyUnifiedSearch" />
4. Save and close the file.

PROPRIETARY AND CONFIDENTIAL

180
7.7.0 INSTALLATION GUIDE

NOTE: If you decide to modify the website and folder name, make sure you do not modify it
to a name that already exists in your . . . /innetpub/wwwroot folder.

If you have previously tried to apply the Personify360 Unified Search and therefore already
have a Personify360 Unified Search folder that exists in your . . . /innetpub/wwwroot folder,
make sure to delete this folder before proceeding.

5. Using MSDeploy, run the Personify.UnifiedSearch.deploy script.

If you do not have MSDeploy installed on your computer, please see the following
website for instructions on Web Deploy installation:
http://go.microsoft.com/?linkid=9278654.
6. When complete, the script should have created the PersonifyHomePage folder.
Navigate to the following file path on your Web Server and verify the website and
folder creation:
.../innetpub/wwwroot/PersonifyUnifiedSearch

If you modified the website and folder name, it should appear with your changes.
7. Make sure your IIS User has FULL privileges to this folder.
8. Record the URL for this newly created website.
For example, http://[your web server name]/PersonifyUnifiedSearch/

Installing the Google Mini Search Appliance

The Google Search Appliance must be purchased separately and connected to your
network and a local computer.
For more information and instructions on connecting the Google Mini or Google Search
Appliance to the network and performing the initial software configuration, please refer to the
Google documentation at the following site:
http://code.google.com/apis/searchappliance/documentation/50/installation/InstallationGuide
.html
Before you connect the search appliance, make sure to complete the preinstallation
checklists, documented in Planning for Search Appliance Installation section of the Google
documentation located here:
http://code.google.com/apis/searchappliance/documentation/68/planning/planning.html
The first time you start a Google Search Appliance, you may see an error message saying:
The battery hardware is missing or malfunctioning, or the battery is unplugged. If you
continue to boot the system, the battery-backed cache will not function. Please contact

PROPRIETARY AND CONFIDENTIAL

181
7.7.0 INSTALLATION GUIDE

technical support for assistance. Memory/battery problems were detected. The adapter has
recovered, but cached data was lost.
The error message indicates that the power has drained from a rechargeable battery. The
power drains when the Google Search Appliance has not been plugged in for a week, which
may occur when the Google Search Appliance is being shipped to you. The Google Search
Appliance has not lost data and will function normally. The battery recharges in the twenty-
four hour period after the Google Search Appliance is powered up.
The Google Mini does not experience this problem.

Setting Up the Data Crawl

To be able to serve data for searching, Google Mini needs to build the search index. This
process of browsing the data to build the search index is called "crawl".
To enable the initial crawl:

1. Login to Google Mini Admin site with an Administrator level user name/ password
credentials.
2. Navigate to Crawl and Index > Crawl URLs page in the Admin Console.
3. Specify URLs for following two elements:
4. Start Crawling from the Following URLs
5. Follow and Crawl Only URLs with the Following Patterns

PROPRIETARY AND CONFIDENTIAL

182
7.7.0 INSTALLATION GUIDE

Click Save URLs to Crawl to save your changes.

6. Click on Crawl Schedule page and ensure Continuous Crawl is selected.

7. Click Save Crawl Mode.


More information for Google Mini customization and administration can be found at the
following website:
http://code.google.com/apis/searchappliance/documentation/50/index.html

Installing Windows- Imaging Service (optional)

The Windows Imaging Service helps standardize the size of all uploaded customer images
ensuring that all profile images that display under the customer name in the Unified Search
results page appear in the same size and are the most current customer image entered in
the Personify360 database. See: “Install Image Services” .

PROPRIETARY AND CONFIDENTIAL

183
7.7.0 INSTALLATION GUIDE

NOTE: This step only applies if your organization decides to keep the customer images
enabled on the Unified Search ASPX page. Imaging is enabled by default in the ASPX
page.

NOTE: The Personify360 application uses the same Windows Imaging Service for the
Personify360 Mobile application. If your organization has already installed the service for
Mobile, you do not need to install it again. Please proceed to Step 5.

Specifying the Unified Search APP Parameters

When you ran the command script earlier to create the Unified Search database objects,
you added three (3) Application Parameters to the system. Now that you have also set up
your Unified Search website, you can specify the values for these parameters and connect
your Unified Search website to your Personify360 application.
To set the Unified Search APP Parameters:
1. Login in to Personify360 application as a System Administrator.
2. Navigate to System Setup menu and open Application Parameters screen.
The Parameter Maintenance (APP008) screen opens.
3. Select Subsystem = APP (Application Subsystem) and click Search.
4. Scroll down to parameters related to Unified Search (database related).

5. Double-click on UNIFIED_SEARCH_DEFAULT_FILE_UNC_PATH and set value for


this parameter.
This parameter defines the UNC File location on your App Server/ File Server for file
default.HTML and Customer Search files. Enter the URL for the “search” folder on
your Unified Search website.
6. Click Save to confirm settings and Search to return to the APP Parameters list.
7. Double-click on UNIFIED_SEARCH_DETAIL_FILE_UNC_PATH and set the value
for this parameter.
This parameter defines the UNC File location on your App Server/ File Server for
Customer Detail files. Enter the URL for the “details” folder on your Unified Search
website.
8. Click Save to confirm settings and Search to return to the APP Parameters list.

PROPRIETARY AND CONFIDENTIAL

184
7.7.0 INSTALLATION GUIDE

9. Double-click on UNIFIED_SEARCH_MAX_RECORD_COUNT and set the value for


this parameter.
This parameter defines the maximum record count for the number of Customer/
Prospect data to include in the search universe. This number is dependent on the
license limitation for the Google Mini search appliance.
10. Click Save to confirm the settings.

Enabling Unified Search for Security Groups

After you finish installing and configuring the Unified Search functionality, you need to
enable the specify security groups in your database you want to allow access to it. No
security groups are set up with this ability by default.
To enable Unified Search for a security group:

1. From the Security Group Maintenance (PSM002) screen, open the security you want
to apply a default homepage to.
The Security Group record displays in Edit mode.
2. From the Security Group Options section, check the Can Use Unified Search
checkbox.

3. Save the record.


4. Log in as a user with a persona tied to that security group.

PROPRIETARY AND CONFIDENTIAL

185
7.7.0 INSTALLATION GUIDE

5. Enter a text into the Unified Search textbox and click Enter to verify the results.

Interface Applications Installation

Before you complete the installation, you must install and integrate the interfaces between
the third-party applications and Personify360. The third-party applications include:

 Address Validation

 Payment Handler (CyberSource, Payflow Pro, or Wells Fargo)

 BusinessObjects

 Data Analyzer

 Outlook Plug-In

 ApexSQL Audit

 Lyris
If you receive errors when running CCP610, please verify the following:

 The Application Server and Interface Service are installed on the same server.

 The Interface Service you installed is not from a previous release. The service is
not backwards-compatible.
For information and instructions on installing and configuring each third-party interface
application, please refer to the related document. The following table lists the related
document for installing each interface application.

PROPRIETARY AND CONFIDENTIAL

186
7.7.0 INSTALLATION GUIDE

Interface Related Documentation


Application

Address Third-Party Interface section of the 7.7.0 Online Help


Validation
Payment Third-Party Interface section of the 7.7.0 Online Help
Handler
BusinessObjects BusinessObjects Integration section of the 7.7.0 Online Help
Data Analyzer Data Analyzer section of the 7.7.0 Online Help
Outlook Plug-In Outlook section of the 7.7.0 Online Help
ApexSQL Audit ApexSQL Audit Logging section of the 7.7.0 Online Help
Lyris Third-Party Interface section of the 7.7.0 Online Help
EXPOCAD Third-Party Interface section of the 7.7.0 Online Help

NOTE: You can access this documentation from within the Personify360 application or from
the Support Portal.

Personify360 e-Business Configuration

This document is to guide system engineers in planning server design for an installation of
Personify360 e-Business sizing. The sizing tool spreadsheet should be used to calculate a
number of “cores” or “CPUs” necessary for your environment, based on server load
estimates. While you are using the sizing spreadsheet tool, consider the impact of designing
your infrastructure for average load or for peak load. Hardware sufficiently sized for the
average load can struggle during peak usage, resulting in performance degradation, such as
very slow page load times or page timeouts. Planning for peak load will enable your
organization to handle the maximum load gracefully. It will also mean that the system will
show low utilization for the majority of the time. The scope of this document and the sizing
tool is the Personify360 e-Business environment. The e-Business environment is defined as
the website components necessary for full function of Personify360 e-Business. Adding
other web applications or utilizing web services for purposes beyond Personify360 e-
Business may require additional resources and additional planning to accommodate the
additional load to the servers.
Personify360 e-Business provides great flexibility and scalability in its components. New
features in Personify360 e-Business relax former restrictions and permit even greater

PROPRIETARY AND CONFIDENTIAL

187
7.7.0 INSTALLATION GUIDE

flexibility than before. From single servers to large web farms, any level of traffic
requirements can be met.
These sample configurations are not the limit to product setup. Personify, Inc. can work with
you to review your planned configuration.

Description of Method

Personify, Inc. performed load testing against a Personify360 7.7.0 environment. During the
testing, we measured the load placed on each component of the environment. From these
tests, we derived the proper ratios that we use to determine the level of resources
necessary for each component. With the ideal resources in place, we were able to increase
load and determine the load levels that require additional resources.

Overview of Sizing Categories

The e-Business environment can be implemented with various levels of resources. We have
categorized levels of implementation based on their various characteristics. We will use
these levels to discuss various implementation options in this document. The categories we
have identified are small, large, and enterprise. These categories are based on the #CPU
requirement identified by the sizing spreadsheet. There is some degree of overlap along the
spectrum from small to enterprise, as well. A large installation may only be different from a
small installation in the number of CPUs in its single server. At the enterprise end of the
spectrum, we present options for full redundancy and using multiple servers -web farms- for
load balancing.

Basics

e-Business Applications

There are several distinct categories of web applications within a Personify360 e-Business
environment. We have measured typical loads for each component, and we use this data to
create a ratio of performance required for each category.
1. e-Business – The main application, Personify360 e-Business, is based on the
DotNetNuke CMS framework. It requires a folder on the website and a database. It
also contains ShoppingCart Web service.
2. SSO / IMS – The Single Sign-On and Identity Management sites and web services.
3. PersonifyDataServices – The web service providing 3rd party integration, .NET
control support within e-Business. Its role in enabling the .NET controls within the

PROPRIETARY AND CONFIDENTIAL

188
7.7.0 INSTALLATION GUIDE

website earn it its own category as its load is at least partially tied to the website
visitor load.
Other Web services – Personify360 has several various web services supporting 3rd party
integrations and customizations. These would include the Microsoft Outlook web service,
the Mobile data web service, Personify360 WCF services, and the Personify360 API
simple/universal web services. If your website customizations will leverage any of these web
services to provide content for a large percentage of site visitors, you will need to reassess
resource allocation to accommodate actual site usage.
CPU Allocation to Worker Processes
The sizing spreadsheet provides a number indicating how many CPU cores should be
dedicated to your e-Business environment. For optimum resource utilization, the number of
IIS worker processes on the server should match the number of CPUs. It is not necessary to
dedicate or assign CPUs per worker process. You will require additional CPUs or servers to
accommodate any additional software. The reason for this is that when your system is
operating at maximum load, the number of tasks to execute will not exceed the CPU count
in the system. For each worker process, 1 Gigabyte of RAM should be installed in the
server. The sizing spreadsheet includes an overhead calculation to provide for system RAM
and CPU overhead.
If any of your web applications will actually require less than a full CPU allotment, you may
consider them to be combined under one CPU; however one GB memory should still be
provided to each worker process.
By identifying these as ‘active’ worker processes, we mean that we are not counting the
worker processes that are available by default within IIS. You can rename and reconfigure
these, or delete them. If you ignore them, they all have timeout settings and will not become
active if they are not attached to any web application.
The CPU count will be implemented as vCPU in virtual servers, and as cores in physical
servers. Any combination of sockets and cores is permissible, as is the overall number of
servers – 24 cores could be 3 8-core servers, or one 24-core server.

Web Application Connectivity

Each application has differing audiences, and here we will provide some insight into the
roles played by these applications.
The audience for Personify360 e-Business is the web-using public, members and search
engines. It communicates with the SSO and IMS web services, and the .NET controls it
contains communicate with the PersonifyDataService. It uses the Personify360 API to
communicate with the Personify360 Application windows service to interact with the
PROPRIETARY AND CONFIDENTIAL

189
7.7.0 INSTALLATION GUIDE

Personify360 database. It requires connections to the DNN database and the SSO
database.
SSO has a few web pages. Your e-Business installation or partners may redirect clients to
these pages for SSO login or SSO account maintenance, like forgotten password reset or
account registration. e-Business and also partners will access the SSO and IMS web
services. They require database connectivity to the SSO database.
PersonifyDataServices may be accessed by partners, in-house or offsite 3rd party
integrations, customizations, as well as by the .NET controls available for Personify360 e-
Business. It uses the Personify360 API to connect to the Personify360 database.
The other web services are accessed by partners or 3rd party integrations. They also use
the Personify360 API.
The Personify360 client application also interacts with the web applications. Through the
Application Service, it can upload product files and product images for use in the online
store catalog, as well as several other categories of files. These upload folders are defined
in the Personify360 Installation Database. These folders should be on the web server or in
the network share housing Personify360 e-Business. The Application Service should run
under a domain credential with read/write access to these website folders, so the files can
be placed and modified. There are also some screens in Personify360 which are designed
to open up specific pages on the website; for example, the IMS management screen.

Database Server

The website environment requires an SQL server. The same server can hold the DNN,
SSO, and ASP.NET session state databases. These databases are small, and typically they
are only lightly used. Content compression and caching reduces much of the requirements
for DNN, and SSO uses very small transactions. This database server can be the
Personify360 database server. Your reporting and Personify360 client user base are
capable of having an impact beyond what is predicted by our load test. Monitor your
database server performance regularly, and keep your DNN requirements in mind. If your
website content expands greatly, for example if a large number of frequently visited pages
will be added, or if you plan to use discussion forum features or other DNN add-on modules,
the database requirements can increase greatly.

Application Pools and Best Practices

There are some changes to the default application pool settings that are best practice for a
production environment. After your application pool is created, open its advanced settings to
examine and modify these parameters.

PROPRIETARY AND CONFIDENTIAL

190
7.7.0 INSTALLATION GUIDE

The Idle timeout is, by default, 20 minutes. After 20 minutes of inactivity, the worker process
will be stopped. It will not start again until a new visitor requests a page from the website.
The first request to a new worker process isslower than subsequent requests, as the
program has to start up, load all the libraries, and initiate network connectivity to required
resources. The best practice for production is to set the idle timeout to zero.
Application pool recycling is the process of restarting the web application. There are reasons
and benefits to restarting the application on a regular basis. By default, the pool is recycled
every 1740 minutes. Restarting every 29 hours will occasionally cause your application pool
to shut down and restart in the middle of your daily peak. Change this parameter to zero.
Set a daily pool recycle under Specific Times. Try not to have all of your pools recycling at
the same time. Pick a few minutes before or after 2am, for example. If you set up a web
farm on multiple servers, set them to go off in 5 minute intervals.
Using Integrated Authentication is the best practice for database connection security. There
is no password in plaintext in the web.config file. Configure the application pool to run as a
domain user who has the proper permission to the database required by the web
application. For example, create a domain account called “websql”, grant this user access to
the DNN and SSO databases, and then configure the application pools for Personify360 e-
Business and SSO to run as this user account. This provides windows domain-level
authentication, and gives the web application a unique, auditable credential.
If your web application is sized to use multiple CPUs, you will still configure one application
pool per CPU. This does not mean that you will create more than one application pool.
Configure one application pool and then set the “web garden” parameter to the total number
required. This parameter gives a count of how many copies of the application pool will be
spawned to handle requests.
Personify360 7.7.0 utilizes an SQL database for session state. This reduces the memory
requirements from previous versions that kept the session state information in memory.
Additionally, the session state information is available to any application pool servicing the
same application, eliminating the need to persist a particular client with a particular server
during its session. The session state database can be shared among web applications; each
will give their clients a session ID that is unique across the database.
Before the session state database was adopted by Personify360 e-Business, it was not
possible to run multiple worker processes on the same server. If you used multiple servers
in a web farm configuration, it was necessary to ensure each session persisted with the
same server for its duration, as each process kept session information in memory.
Persistence with multiple worker processes on the same server was not possible. With the
session information stored in a database, session persistence is no longer required. It is

PROPRIETARY AND CONFIDENTIAL

191
7.7.0 INSTALLATION GUIDE

now possible to increase the number of worker processes running the e-Business
application on each web server.
In IIS, the application pool IIS has a feature called Web Garden. The Maximum Worker
Processes parameter defines the number of worker processes that will run in parallel to
service this web application. By default, this is one worker process. When the sizing
spreadsheet requires 5 CPUs for e-Business, you will open the advanced settings for the
worker process and change this parameter from 1 to 5.
Do note that the Personify360 Data Service requires a modified session state database.
This is compatible with the standard session state database, but it has some custom stored
procedures installed to it that are required by the PersonifyDataService. It can still be shared
with other applications.
Be sure to set up static and dynamic content compression as detailed in this guide. This
reduces network traffic, and total network traffic overhead.

Back Office Upload Folders

Several types of content are uploaded from the Personify360 Back office application.
Various screens have the ability to upload product images, custom IMS role images,
electronic content distribution products known as DCDFiles, even customer images. These
files are uploaded by the application to the Personify360 Application Service, and stored in
folder paths that are defined in the Personify360 Installation Database.
The web servers must all have access to these paths. They will be added to the IIS website
as virtual folders. The best practice would be to ensure the folders are not within any web
application, so that uploads are not executable. The best location for these folders is the
local disk of the web server. If the web servers access their application folders by UNC path,
as in a web farm configuration, the upload folders may be set up on this file server. There
will be a performance disadvantage for larger files, due to implementation details within IIS
itself. For each of these files that are accessed by UNC path, the worker process must load
the entire file into memory before it can send it to the client. If the file is on the local disk, IIS
is capable of streaming the file to the client as it reads it. The optimum setup would be to
utilize Microsoft’s DFS-R to replicate these upload folders between webservers, so each has
a local copy. The disadvantage is more pronounced with larger files; if your organization is
not using DCDfiles it may not prove to be a concern.

Capturing AddOper and ModOper for Web Transactions

Prior to Personify360 7.4.0, the system used the logged in PSM user to update
ADDOPER/MODOPER auditing information. As of Personify360 7.4.0, you can now store

PROPRIETARY AND CONFIDENTIAL

192
7.7.0 INSTALLATION GUIDE

the ID of the customer who updated the information over the web, using our e-Business
solution or via customer site using our APIs. To make this possible, the Personfiy APIs and
eBiz core were modified to allow end users to update which value should be used for the
auditing log fields. To do so, you must set EnableAddModOperatorAlias to “True” in the
config.xml to enable this functionality to set WebUserId from eBiz. The default value for this
is “True”. If the value is not found in the configuration, the system assumes “False” value.
<Item Name="UserInterface"
SplashScreen="False"
ApplicationHostType="MDIMain"
. . .
. . .
EnableAddModOperatorAlias="True"
/>

Personify, Inc. recommend using MasterCustomerId|SubCustomerId combination for the


auditing fields on BusinessObjectCollection. However, it could be anything as long as the
value complies with the DB column size. Internally, the system will prefix this value with
"WEB_" so that it can be distinguished from standard PSM User.
For example, if the logged in customer ID is 000000000012 and the sub customer ID is 0,
then you can set this value to a collection as follows:
oCollection.AddModOperatorAlias = “000000000012|0”

The system will store this value as “WEB_000000000012|0” and this will be used to set the
ADDOPER / MODOPER.

NOTE: This functionality is only applicable to DNN web modules and cannot be used for
.NET controls.

Environment Scaling

Small Environment

The Small Environment has 4-8 CPUs indicated by the sizing chart. All web application
components can be installed on the server. All website files are installed on the local drive.
Create a folder for the environment, for example C:\EBIZ\PROD\, and under this folder
create folders for the web applications – SSO, IMS, PersonifyEbusiness,
PersonifyDataServices. Create a new website in IIS and set its home to be C:\EBIZ\PROD.

PROPRIETARY AND CONFIDENTIAL

193
7.7.0 INSTALLATION GUIDE

Bind this website to a specific IP address on the host. Create a separate folder for the
shared folders, for example C:\EBIZ\PRODUCTFILES, and under this folder create the
upload folders, for example PRODUCTIMAGES, CUSTOMERIMAGES. Add these folders
as virtual directories under the website.
For this 4 CPU server, you will set up no more than 4 active application pools. This will be
one for e-Business, one for SSO/IMS, one for PersonifyDataServices, and one for other web
services.

Scaling Small to Large

As the CPU count requirement increases above about 8-12, your options broaden. At some
levels it can make sense to implement two servers instead of one. Initially, you will increase
the Maximum Worker Processes setting for e-Business and PersonifyDataServices. A
second can be used for SSO/IMS and web services, dedicating the first server to e-
Business.
For a two-server installation that divides applications between servers, you would need to
set up two hostnames and configure your applications accordingly. For example,
ebiz.yoursite.org for the personifyebusiness server, and sso.yoursite.org for the SSO/web
service server. Files are still stored on the local drive, and folder path setup can be similar to
the small setup.
Choose your server platform carefully to ensure greater uptime. Dual power supplies --
plugged into different circuits – and RAID arrays will keep the server online and functioning

PROPRIETARY AND CONFIDENTIAL

194
7.7.0 INSTALLATION GUIDE

after hardware failure until replacement parts are obtained and a maintenance window can
be scheduled. ECC memory will warn of failures.

Scaling Large to Enterprise; Redundancy

Organizations that have large load requirements or look for server redundancy will have
more requirements for their web server environment. Multiple servers can easily run the
Personify360 web applications. With session state being kept in a database, load balancing
is easier than before. Scaling out by adding more identical webservers can be leveraged to
provide capacity on demand, and the redundancy keeps websites online through server
failures.
Web farm implementations, with multiple web servers, requires a hardware load balancer.
These are available from various vendors. They are installed on your network, between
clients and servers. The load balancer is configured with a pool of servers, and a virtual
server implementing the website’s public IP address. The load balancer receives client
requests, and proxies them to one of the pool members, forwarding the reply back to the
client. The load balancer monitors parameters such as number of connections to each
server, and each server’s response time. The administrator can select a suitable load
balancing algorithm to influence server decision. Pool members can be manually disabled
for maintenance. The load balancer typically will also be able to run health checks against
each server in the pool, to detect if a pool member is offline.
Personify360 e-Business works well with a simple round-robin load balance algorithm. Other
algorithms could be chosen based on other considerations. We do not find need for anything
more than simple http port test for a health check. It would also be possible to set up and
use a page content test against a URL that fetches data from Personify360, like product
data, to test end-to-end. Separate server monitoring software should test the web pages on
each back-end node, in addition to testing the public website URL. It is also advantageous
to load balance multiple Personify360 Application servers. This provides redundancy and
load distribution for the application service. For the Application service, only a simple port
check is required for a health test. Anything at a higher level would require the Personify360
API and .NET framework to be available to the test program. Simple round-robin works well,
and no persistence is required.
Most web server farms will be in the range of 2-5 servers. At this level we recommend that
each server be identical, with each web application installed. This permits cloning of
machines to set up or replace servers. In a failure, all applications are still well-represented.
Larger farms may consider splitting applications into multiple pools, with multiple host names
used for the various applications. We recommend that you set up 8-CPU nodes, with
application pools in this ratio:

PROPRIETARY AND CONFIDENTIAL

195
7.7.0 INSTALLATION GUIDE

Application Pools (CPUs)

e-Business 4
SSO 1
PersonifyDataServices 2
Other Web Services 1

Keeping files up to date on each web server can be a challenge if each is holding its own
copy of the documents. We recommend that the web applications be installed to a shared
folder on a separate file server. The file server can be a Windows cluster for redundancy, or
a NTFS share from a SAN or other network file system. If your database server cluster has
the horsepower, it can provide the redundant file server. File replication technologies such
as Windows DFS-R may also be viable, but there are issues you would need to work out
such as identifying folders to be excluded from the replication.
Configure each web server with a C:\EBIZ\PROD folder, and set this as the document root.
For each of the web applications, add a virtual application and use the UNC path of the file
server, for example add virtual application PersonifyEbusiness and use UNC path
\\Fileserver\website\personifyebusiness. Configure IIS to access this folder as your web user
credential as mentioned in the best practices section. Grant this user Modify permission to
the entire website\personifyebusiness folder.

You can set up IIS to use a shared configuration. This will cause the website settings and
application pool settings to be mirrored across each server. Create a folder on your website
share for IIS configuration. The IIS Shared Configuration dialog allows you to enter this

PROPRIETARY AND CONFIDENTIAL

196
7.7.0 INSTALLATION GUIDE

folder, and select a credential to be used to access the folder. You will then give an
encryption key, and your server’s settings will be saved into this file, which will be used from
then on to store IIS configuration changes. Selecting this folder from another server and
entering the key, you will be able to copy all of the settings to that server as well. This tool
further enables webserver cloning.
As discussed in the section about web application connectivity, the e-Business site will need
to communicate with many of the web services. The URLs for the web services are set in
the site’s web.config file. If the site on a particular server can be set up to communicate only
with web services on the same server, the network round trip time and communication
overhead for the call is minimized. However, each server needs the website to be
configured identically. This is solved by entering the public hostname of the website into the
hosts’ file of each server, identifying the local IP address of the server as the address of the
website. Part of the server customization after cloning would then be to edit the hosts file to
set this up.

PROPRIETARY AND CONFIDENTIAL

197
7.7.0 INSTALLATION GUIDE

Post Installation Tasks

Configuring Personify360 to Display Only Applicable Databases

Your users have the option to display only the databases that the user has access. By
configuring this option, only the databases that the user has rights to will display in the
Database drop-down upon logging in to the application. Please see the Security section of
the 7.7.0 Online Help for more information on this functionality.

NOTE: If you do not want your users to use this functionality, then do not perform these
steps.

To configure Personify360 to only display databases users have access to:

1. Verify that the “EnableDatabaseFilter” entry in the config.xml file is set to “True” on
the client’s computer.

2. The scripts below (highlighted in red below) must be run from the following location:
\Current\Product\Install\Installation Database

PROPRIETARY AND CONFIDENTIAL

198
7.7.0 INSTALLATION GUIDE

3. Open the Installation DB Users Sync project from the following location:
…\Current\Utilities\Installation DB Users Sync Utility
4. Build and run the Installation DB Users Sync project.
The Database User Sync Utility screen displays.

5. Enter the installation database connection details or enter the connection string and
click Test Connection.
A pop-up should display stating “Database users sync completed.”
6. Click Sync Database Users.
All active users’ records are copied into the installation database from the
Personify360 database server and a log is generated.
7. Install the latest Personify360 Application Server.

SQL Jobs Created to Clean Up Temporary Data

There are a number of database-stored procedures that populate data in some placeholder
tables, which are used for temporary processing of data. Over time, the data in these tables
could grow to large sizes, which may lead to performance issues.

Purging Work Table Data From Your Database

To clean up this temporary data, a scheduled SQL job was created to periodically delete the
data. The scheduled job is set up to execute daily at 2:00 AM and purge data from the

PROPRIETARY AND CONFIDENTIAL

199
7.7.0 INSTALLATION GUIDE

WORK_ tables that are older than 10 days. This setting is the default and can be configured
from the SQL Server Management Studio.
The name of the job is “Purge work table data from [YOURDBNAME] database.” For
example: if your database name is “PPRO,” then the job name would be listed as “Purge
work table data from PPRO database.”
Important points to note include:

 Personify, Inc. recommends you set up this job during the off-working hours
when the load on the database is less.

 Personify, Inc. recommends you do NOT stop or disable this job due to the
performance impact that could occur from large amounts of data in the WORK_
tables.
To configure the default setting:
1. Select the job from the SQL Server Agent > Jobs section.
The Job Properties screen displays.

2. On the Job Properties screen, double-click Schedules.


3. Select the schedule from the Schedule List and click Edit.

PROPRIETARY AND CONFIDENTIAL

200
7.7.0 INSTALLATION GUIDE

4. Make the appropriate changes to the schedule.


This changes the daily execution at 2:00 AM default setting.
5. On the Job Properties screen, double-click Steps.
The Job Step Properties screen displays.
6. Select the job from the Job Step List and click Edit.
7. Make the appropriate changes to the job step.
This changes the purge data older than 10 days default setting.
For example: To change the setting from 10 days to 3 days, change
EXECUTE usp_Purge_WorkTable_Data_SP 10 to
EXECUTE usp_Purge_WorkTable_Data_SP 3

Cleaning Temporary Data in the FAR_TXN_NEXT_NUMBER Table

A scheduled SQL job has been created to periodically delete temporary data from the
FAR_TXN_NEXT_NUMBER table. The scheduled job is set up to execute daily at 2:00 AM
and purge data completely from the FAR_TXN_NEXT_NUMBER table. This setting is the
default and can be configured from the SQL Server Management Studio.
The name of the job is “Purge FAR_TXN_NEXT_NUMBER table data from
[DEFAULT_DATABASE_NAME] database.” For example: if your database name is “PPRO,”
then the job name would be listed as “Purge FAR_TXN_NEXT_NUMBER table data from
PPRO database.”
Important points to note include:

 Personify, Inc. recommends you set up this job during the off-working hours
when the load on the database is less.

 Personify, Inc. recommends you do NOT stop or disable this job due to the
performance impact that could occur from large amounts of data in the WORK_
tables.
To configure the default setting:
1. Run the usp_Purge_FAR_TXN_NEXT_NUMBER_SP.sql script.
This creates the [dbo][usp_Purge_FAR_TXN_NEXT_NUMBER_SP] stored
procedure on your Personify360 database using the SQL Server Query analyzer.
2. Run the SQL Executive Job script file
(Purge_data_from_FAR_TXN_NEXT_NUMBER_Job.sql) to create the SQL Job.
3. By default, this script contains “[DEFAULT_DATABASE_NAME]” as the database
name. Modify the script to handle your database:

PROPRIETARY AND CONFIDENTIAL

201
7.7.0 INSTALLATION GUIDE

4. Select the “Purge FAR_TXN_NEXT_NUMBER table data from


[DEFAULT_DATABASE_NAME] database” job from the SQL Server Agent > Jobs
section.

5. Change “[DEFAULT_DATABASE_NAME]” to your Personify360 database’s name.


6. On the Job Properties screen, double-click Schedules.
7. Select the schedule from the Schedule List and click Edit.
8. Make the appropriate changes to the schedule.
9. Click OK to save your changes.

PROPRIETARY AND CONFIDENTIAL

202
7.7.0 INSTALLATION GUIDE

Troubleshooting

Configuring NLog across Application and Web Servers

To set up NLog as part Personify360, the following two keys are needs to be configured in
the application, as shown below.
In the following nlog node, LogFileName with full path needs to be configured (e.g.,
“C:\personify\Nlog.config”).
If you want to keep the NLog.config file within the same folder as the configuration file that
contains the following two keys, then you can specify the LogFileName as “Nlog.config” only
without specifying the full path.

Open the Nlog.config file and update the following two keys values, as shown below:

If you are configuring the Production application instead Development/Test, then update the
value of “VKeepFileOpen” to True:
<variable name ="VKeepFileOpen" value="false" />

Based on the logging level required, you can set the Nlog.config file.
Different logging levels are:
1. Off
2. Fatal
PROPRIETARY AND CONFIDENTIAL

203
7.7.0 INSTALLATION GUIDE

3. Error
4. Warn
5. Info
6. Debug
7. Trace
With the release template, we enabled “Error” level. Based on your logging requirement, you
can modify the settings.
For web applications, we have created different templates. You can any of the templates
based on your logging level requirement.
Some example templates are:

 NLogWeb.errors.template

 NLogWeb.loadTest.template

 NLogWeb.debug.template

Setting up Personify360 to Remember a Password

To set up Personify360 to remember a password, you must modify the config file located in
the WinClient\Config folder. In the config file, find the following section and change the
“RememberPassword” to equal “True,” as displayed in the last line of code below.

PROPRIETARY AND CONFIDENTIAL

204
7.7.0 INSTALLATION GUIDE

Once modified to remember the password, a “Remember Password?” checkbox will display
on the login window. If the user checks this checkbox, Personify360 will remember the
password for future logins.

Overcoming Automatic Updates Error Message

When you receive an error message stating “Access to the path ‘C:\...’ denied”, please
restart your computer or access Task Manager to quit the TIMSS.exe process.

PROPRIETARY AND CONFIDENTIAL

205
7.7.0 INSTALLATION GUIDE

PROPRIETARY AND CONFIDENTIAL

206
7.7.0 INSTALLATION GUIDE

Appendix A: Sample Manifest File (Personify.Manifest.xml)

<AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>GenuineChannels.dll</FileName>
<FileVersion>2.5.9.1</FileVersion>
<FileDate>3/14/2007 12:36:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>ICSharpCode.SharpZipLib.dll</FileName>
<FileVersion>0.80.0.1373</FileVersion>
<FileDate>3/14/2007 12:36:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>log4net.dll</FileName>
<FileVersion>1.2.9.0</FileVersion>
<FileDate>3/14/2007 12:37:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>MVP.Core.dll</FileName>
<FileVersion>7.0.1.1000</FileVersion>
<FileDate>3/20/2007 5:23:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>Personify.AutomaticUpdates.dll</FileName>
<FileVersion>7.0.1.1000</FileVersion>
<FileDate>3/23/2007 1:42:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
PROPRIETARY AND CONFIDENTIAL

207
7.7.0 INSTALLATION GUIDE

<FileName>Personify.exe config</FileName>
<FileVersion />
<FileDate>3/23/2007 1:39:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>TIMSS.CommunicationLayer.dll</FileName>
<FileVersion>7.0.1.1000</FileVersion>
<FileDate>3/20/2007 5:23:00 PM</FileDate>
</AutomaticUpdateManifest>
<AutomaticUpdateManifest>
<FileName>TIMSS.Shared.dll</FileName>
<FileVersion>7.0.1.1000</FileVersion>
<FileDate>3/20/2007 5:23:00 PM</FileDate>
</AutomaticUpdateManifest>
</AutomaticUpdateManifest>

Appendix B: Recommended File Structure for Personify360


Installation

Server Folder Name Description

Personify360 <Drive Letter>\Personify Root folder where all Personify360


Application components will exist.
Server
<Drive Letter>\Personify\Production Production Instance Components.
You can also create folders at this
level to represent your Test Instance,
Training Instance, etc.
<Drive This folder contains all of the
Letter>\Personify\Production\Services Personify360 Server Components.
One or more of these folders may
exist on other servers.
<Drive The Personify360 Application Server
Letter>\Personify\Production\Services\ Service Components.

PROPRIETARY AND CONFIDENTIAL

208
7.7.0 INSTALLATION GUIDE

Server Folder Name Description

Application
<Drive The TIMSS Cache Server Service
Letter>\Personify\Production\Services\ Components.
Cache
<Drive The TIMSS Interface Server Service
Letter>\Personify\Production\Services\ Components.
Interface
<Drive Common Log File folder. All
Letter>\Personify\Production\Services\ Personify360 service components on
Logs a machine can write their log files to
this common log folder.
<Drive The Notification Server Service
Letter>\Personify\Production\Services\ Components.
Notification
<Drive The TRS Server Service
Letter>\Personify\Production\Services\ Components.
TRS
<Drive Letter>\Personify\Production\ Root folder where all Personify360
EnterpriseClient Enterprise Windows application
versions will be stored. Each version
should be in its own folder below this
folder.
SQL Server 2012 <Drive Letter>\SQL Server 2012 Location where all SQL Server 2012
Databases .MDF files are located. This location
can be further distributed across
multiple drives for improved
performance.
<Drive Letter>\SQL Server 2012 Each SQL Server user database
Databases\ should have its own folder within the
Personify SQL Server 2012 Databases folder.
<Drive Letter>\SQL Server 2012 Log Location where all SQL Server 2012
Files .LDF files are located. This location
can be further distributed across
multiple drives for improved
performance.
<Drive Letter>\SQL Server 2012 Log Each SQL Server log file should have
Files\ its own folder within the SQL Server
Personify 2012 Log Files folder.

PROPRIETARY AND CONFIDENTIAL

209
7.7.0 INSTALLATION GUIDE

Server Folder Name Description

<Drive Letter>\SQL Server 2012 Each SQL Server database and its
Backups associated backups should have its
own folder within the SQL Server
<Drive Letter>\SQL Server 2012 2012 Backups folder.
Backups\
Personify

PROPRIETARY AND CONFIDENTIAL

210
7.7.0 INSTALLATION GUIDE

Appendix C: Database and Configuration Worksheet

PRINT THIS PAGE


Document each database as you install them on a server. Keep track of the user name and
password for each installed database and service.

Purpose Server Name Database Name User/Password

Record information on each XML configuration file that you create.

Purpose XML File Name File Path Port Number

PROPRIETARY AND CONFIDENTIAL

211
7.7.0 INSTALLATION GUIDE

Appendix D: Additional Automatic Update Options

Performing an Unmanaged Installation on a Single PC

You can perform an unmanaged installation on a single PC directly by using the Windows
Installer or silently by using a batch file. The following sections describe how to perform both
methods.
Once you perform a managed or unmanaged installation, refer to the following sections in
this chapter to complete the Automatic Updates installation:

 NTFS File System Security Requirements

 Modifying the Internal Tables of the MSI Installation

Installing Using Windows Installer

To perform an unmanaged installation on a single PC:


1. Double-click Personify.msi located at <Local Media Path>\AutoUpdates\MSI.
The InstallShield Wizard Welcome screen displays.

PROPRIETARY AND CONFIDENTIAL

212
7.7.0 INSTALLATION GUIDE

2. Click Next.
The Destination Folder screen displays.

3. Select the folder where you want to install Personify360 Automatic Updates and click
Next.

NOTE: If you are using Vista, you cannot install Automatic Updates into the C:\Program
Files folder. When you modify files, the system displays the User Account Control
questionnaire, which causes Automatic Updates to not automatically update itself. Instead,
create a new folder such as C:\Personify Automatic Updates.

The Check for Network Updates screen displays.

PROPRIETARY AND CONFIDENTIAL

213
7.7.0 INSTALLATION GUIDE

4. If you would like Personify360 Automatic Updates to check for updates, then check
the checkbox and proceed to step 5.
If you do not want Personify360 Automatic Updates to check for updates, then
deselect the checkbox and skip to step 8.
5. Click Next.
The Network Updates screen displays.

6. Enter the network location where Personify360 Automatic Updates will check for
updates. This location can be specified in any of the following formats:
7. An http URI – http://yourserver.yourorganization.org/automaticupdates
8. A UNC path – \\yourserver\yoursharename\yourfoldername
9. A Drive Letter – P:\yourfolder\
10. Click Next.
11. Click Install to begin the installation.
12. Start Personify360 Automatic Updates by clicking Start > Programs > TMA
Resources > Personify.

Active Directory Deployment via Group Policy

To deploy your application to your end users via active directory:

1. Perform an unmanaged installation on your own PC as described above.


2. Configure Personify360 Automatic Updates for your organization.
3. Perform an administrative installation.

PROPRIETARY AND CONFIDENTIAL

214
7.7.0 INSTALLATION GUIDE

4. Open Active Directory Group Policy Editor and create a new Group Policy named
“Personify.”
5. Edit the Personify Group Policy.
6. Navigate to the user configuration node within Group Policy, expand the Software
Settings node, right-click Software Installation, and select New/Package as shown
in the following graphic.

7. Navigate to your file system, locate the administrative installation path, and select the
Personify.msi file.
8. Choose whether you want to “Assign” or “Publish” the package as shown in the
following graphic.

NOTE: We recommend that you choose to “Assign” your packages. By choosing assign,
your end users do not need to perform any further actions. The software is installed for them
the next time they log on once you make the Group Policy active.

PROPRIETARY AND CONFIDENTIAL

215
7.7.0 INSTALLATION GUIDE

9. When you have completed the package setup, you should see a screen similar to the
following:

10. You can optionally configure the level of interaction your end users can have with the
package installation by navigating to the User Configuration > Windows Settings

PROPRIETARY AND CONFIDENTIAL

216
7.7.0 INSTALLATION GUIDE

> Remote Installation Services node within Group Policy.

11. Right-click the Remote Installation Services node and select Properties.
The Choice Options Properties screen displays.

PROPRIETARY AND CONFIDENTIAL

217
7.7.0 INSTALLATION GUIDE

12. Select the options available to users during the client installation.
These options include:
13. Automatic Setup
14. Custom Setup
15. Restart Setup
16. Tools
17. Click OK.

NOTE: Refer to the “Active Directory” section in the Security section of the 7.7.0 Online Help
for additional setup considerations.

Modifying the Internal Tables of the MSI Installation

By using third-party tools available from various vendors, you can modify the contents of the
internal tables of the MSI installation and provide information for various configuration items.
The steps that follow have been completed using the Orca toolkit produced by Microsoft and
were valid as of the time of this document’s release. For additional information on installing
and using Orca, visit http://support.microsoft.com/kb/255905.
To modify the internal tables of the MSI installation:
1. Make a copy of the Personify.msi file.
2. Run Orca.
3. Open the copy of the MSI file.
4. Select the Property table, as shown in the following graphic.

5. Select Tables > Add Row or press Ctrl+R.

PROPRIETARY AND CONFIDENTIAL

218
7.7.0 INSTALLATION GUIDE

6. Enter the name of the property: NETWORK_UPDATE_PATH.

7. Click Value and enter the update path.

8. Click OK.

PROPRIETARY AND CONFIDENTIAL

219
7.7.0 INSTALLATION GUIDE

9. Click File > Save.


10. Install the MSI file.
The value that you entered above displays by default when you access the Network
Updates screen of the installation, as shown in the following graphic.

Setting a Default Server

Setting a default server can save time in the future. If you set up multiple servers in the
Application Servers tab, then launch Personify360, you will see a dialog with a list of servers
to choose from. If you set one of those servers as the default, the default server displays
and you press Enter or click OK to continue. If you do not set a default server, you must
select a server from the list and then click OK.

NOTE: If you only set up one application server in the Application Servers tab, you will not
be prompted to choose an application server when starting the Automatic Updates.

You can set a server as a default in two ways:

 On the Personify360 Middle Tier Server Definition screen, select the Default
Server checkbox.

 On the Application Servers tab, highlight the appropriate server and right-click,
selecting Set as Default Server.

PROPRIETARY AND CONFIDENTIAL

220
7.7.0 INSTALLATION GUIDE

Using the Command Prompt

You can use command line parameters to start the Automatic Updates.
To access the Configure Personify360 Automatic Updates screen:
1. From your desktop, select Start > Run.
2. Type cmd and click OK.
The Command Prompt screen displays.
3. Type the appropriate drive and location.
The default Automatic Updates installation path is C:\Program Files\TMA Resources
Inc\Personify Automatic Updates.
4. Type personify.exe /configure.
Note there is a space between “personify.exe” and the “/”. The following graphic is an
example:

The Configure Personify Automatic Updates screen displays.


To access other command line options:
1. In the Command Prompt, type the appropriate drive and location.
2. Type personify /?.
Note there is a space between “personify” and the “/”.

PROPRIETARY AND CONFIDENTIAL

221
7.7.0 INSTALLATION GUIDE

The Command Line Options screen displays.

NOTE: If your command line parameter contains a space, you must enclose the parameter
in double quotation marks. For example: personify.exe
/applicationserver=tcp://someserver:39081 /association=“TMA
Resources”/applicationtype=“Back Office”

Personify360 Automatic Updates Command Line Options

Command Line Option Description

/help or /? Displays the Command Line Options help screen.


/configure Displays the Configure Personify Automatic Updates screen.
/generatemanifest Generates a manifest file that is used to determine when new
Personify360 Automatic Updates files should be downloaded to
client PCs. See Manifest Generation for more information.
/setnetworkupdatelocation Displays a screen allowing you to configure a network or Internet
location where your Personify360 Automatic Updates application
checks for updates.
/applicationserver= Allows you to specify an application server URI on the command
line without having to explicitly define one using the /configure
switch.

NOTE: When this parameter is used, the /association and


/applicationtype parameters are mandatory.

PROPRIETARY AND CONFIDENTIAL

222
7.7.0 INSTALLATION GUIDE

Command Line Option Description

/association= Allows you to pass an association name when you supply the
/applicationserver= parameter.
/applicationtype= Allows you to pass an applicationtype name when you supply the
/applicationserver= parameter.

NOTE: When this parameter is passed, you must also pass the
/applicationserver= and /association= parameters.

/Clean Get Forces a re-download of all of the files that comprise the
Personify360 application to a local workstation.

Manifest Generation

Personify360 system administrators who have employed the Personify360 Automatic


Updates can install/upgrade and modify their local installations. Then they can copy their
installation source files to their predefined network updates location.
Personify360 Automatic Updates checks for a manifest file at the defined network location
when it starts and if it finds a manifest file, it processes each file in the manifest and
downloads updated files as necessary. If a file date/time in the manifest file is greater than
the file date/time on the local user’s PC, then that file is copied to the user’s Personify360
Automatic Updates installation folder.
Some examples of why you would want to generate a manifest file and deploy updates to
your designated network location include:

 You want to change an application server URI.

 A new version of Personify360 Automatic Updates is released and you want to


roll it out to your end users.

 You want to change configuration options for the Personify360 Automatic


Updates application on a user’s machine.

Setting/Changing the Network Update Path

You can change the network location where Personify360 Automatic Updates checks for
updates by executing the following command line: Personify.exe /setnetworkupdatelocation.

PROPRIETARY AND CONFIDENTIAL

223
7.7.0 INSTALLATION GUIDE

This will open a screen where you choose whether you want to download updates from a
Web server or a file server. Based on your choice, you can enter the appropriate URI and
click OK.
To deploy this change to your organization:

1. Ensure that the new network update location exists and that users have “Read”
permissions to the location. For http URI values, you must ensure that anonymous
access is turned on for the specific folder where updates are located.
2. Follow the directions from Manifest Generation to generate a new manifest file with
the changes you made to your network update location.
3. Copy the following file(s) to your original network update path:
4. PersonifyConfiguration.xml
5. Personify.manifest.xml
The next time your users run the Personify360 Automatic Updates application, your
configuration changes are recognized and the application checks that location for updates.
See the screen shots below for additional information.

Personify360 Automatic Updates Configuration Location: HTTP URL

Personify360 Automatic Update Configuration Location: File Server URI

PROPRIETARY AND CONFIDENTIAL

224
7.7.0 INSTALLATION GUIDE

Appendix E: Online Store and App Data Cache Pre-Setup


Checklist

Before you can install and configure Online Store and App Data Cache on the system,
please ensure the following steps have been completed on the Personify360 database
server:
1. Upgrade SQL 2008 or SQL 2008R2 to Service Pack 1 (SP1) if using Enterprise
edition of SQL Server.
2. Configure SQL Server service to run using a Domain User Account
3. Start SQL Server Agent Service on SQL Server

Upgrading SQL 2008 or SQL 2008R2 to Service Pack 1 (SP1) if using


Enterprise Edition of SQL Server

A requirement for using App Data Cache functionality for Personify360 installations on
Enterprise edition of SQL Server (SQL 2008 or SQL 2008 R2) is the availability of Service
Pack 1 (SP1) for SQL 2008/ SQL 2008 R2. Change Data Capture (CDC) is enabled on SQL
servers with Enterprise edition as part of App Data Cache implementation. Enabling this
feature on RTM (Release To Manufacturing) version of SQL server will throw errors for any
Maintenance Jobs on SQL server that involve re-indexing tables. This is a bug in RTM
version of SQL server and has been resolved by applying SP1 to SQL server.

 When using RTM version of SQL server, a Re-Index SQL Maintenance job will
fail with an error similar to the following message:
Msg 22983, Level 16, State 1, Procedure sp_cdc_ddl_event_internal, Line 77
The unique index ‘INDEX_NAME’ on source table 'TABLE_NAME' is used by
Change Data Capture. To alter or drop the index, you must first disable Change
Data Capture on the table.
Msg 3609, Level 16, State 2, Line 1
The transaction ended in the trigger. The batch has been aborted.
The error above has been recognized by Microsoft as a bug in RTM version of SQL 2008/
SQL 2008 R2 server. Please refer to this document for more information –
http://support.microsoft.com/kb/977076
Resolution – To resolve this issue, Microsoft recommends applying Service Pack 1 for SQL
2008. Service Pack 1 can be obtained at the following location –
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=20302

PROPRIETARY AND CONFIDENTIAL

225
7.7.0 INSTALLATION GUIDE

NOTE: You may encounter the following situation after applying Service Pack 1 (SP1) for
SQL 2008/ SQL 2008 R2.

Error connecting to 'SQL Server Name'


ADDITIONAL INFORMATION:
Login failed for user USER ID'. Reason: Server is in script upgrade mode. Only
administrator can connect at this time. (Microsoft SQL Server, Error: 18401)
For
help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSS
QLServer&EvtID=18401&LinkId=20476
This error is returned after applying SP1 and then restarting SQL server service – SQL
service starts up and then stops in this scenario. This has been confirmed by Microsoft as a
bug in SP1 for SQL 2008/ SQL 2008 R2 server.
Resolution – To resolve this issue, perform the following actions:
1. Stop SQL Service
2. Execute in Command prompt –
>cd “C:\Program Files\Microsoft SQL
Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\” (location of Binn
directory)
>sqlservr.exe -c -m -s SQLinstance_Name

3. Let it run for 30 minutes. Once this is completed, close command prompt.
4. Start SQL service – if it stays on and does not stop, then your upgrade process is
done. If not, repeat step 2 and 3.
We can confirm issue resolution by successfully running of Re-Index SQL Maintenance job.

Configuring SQL Server Service to Run using a Domain User Account

A critical step in normal processing of Online Store and App Data Cache SQL job is
generating HTML files that are consumed by Google Mini search appliance. This step
involves selecting data from the database and exporting it as an external HTML file. For this,
the user that runs the SQL Job needs to have read and wrote permission on the file
destination location.

 This can be done with a domain user that has access to the database and has
above mentioned permissions on file server. This account can be any user

PROPRIETARY AND CONFIDENTIAL

226
7.7.0 INSTALLATION GUIDE

account on the domain of can be the same account that runs SQL Server
service.

 The recommended approach is to set SQL Server service to run under a


Windows service account and assign Read and Write permission for this
account on file server location that will host Online Store and App Data Cache
related files.

Starting SQL Server Agent Service on SQL Server

The SQL Server Agent Service needs to be started on SQL server instance where the SQL
job will be located. Not having the SQL Server Agent service running will return errors when
creating the job.
You may receive an error like this if you attempt to create the SQL Job on a server
that has SQL Server Agent Service turned off.
SQLServerAgent is not runningso it cannot be notified of this
action.

Verifying CDC SQL Jobs (if applicable)

This option is applicable for Personify360 installations on Enterprise edition of SQL server.
For clients using the Enterprise Edition of SQL Server, the following SQL jobs are created
once script CHANGE_DATA_CAPTURE_ENABLE_ON_ONLINE_STORE_TABLES.SQL is
executed as part of database upgrade process:

 cdc .<DatabaseName>_capture – This SQL job runs continuously and adds


change data to system tables mentioned above

 cdc

 .<DatabaseName>_cleanup – This SQL Job runs daily at 2:00 AM and deletes


data from change data capture related system tables that is more than 3 days
old
Please verify the existence of these SQL Jobs on Personify360 database server.
When restoring a backup of Personify360 database for clients using Enterprise
edition of SQL Server:
When restoring a backup of Personify360 database after the database has been upgraded
to 7.7.0, the above Change Data Capture related SQL jobs are not automatically created on

PROPRIETARY AND CONFIDENTIAL

227
7.7.0 INSTALLATION GUIDE

the database server. In this case, SQL script mentioned below must be executed on the
Personify360 database.
...\ Change Data
Capture\CHANGE_DATA_CAPTURE_ENABLE_ON_ONLINE_STORE_TABLES.SQL

NOTE: When performing a backup of Personify360 database that will restored on a non-
Enterprise edition of SQL Server:

For Personify360 implementations, where Personify360 database is installed on Enterprise


version of SQL server, we recommend maintaining the same edition on other environments
as well. These environments may include Development, QA/ Testing, Performance Testing,
Bug Fix, etc.-maintaining the same edition enables easy backup and restore of Personify360
database from Production on to other environments. The Developer edition of SQL server
can be used in lieu of Enterprise edition. This edition is free and can be used in all non-
production environments without incurring licensing fee from Microsoft for SQL server
installation. Please check your Microsoft Software License Agreement for pricing details
related to SQL Server editions. More information can be found at the following website:
http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx
In the unlikely event of making a backup of Personify360 database that will be restored on
an instance of SQL server that is not Enterprise, we must disable Change Data Capture on
Personify360 database prior to making the database backup. This can be done by executing
the following script: DISABLE_CHANGE_DATA_CAPTURE_ON_DATABASE.SQL that can
be found at the following location:
…\Release.XX\Package\Databases\Post_Deployment_Scripts\DISABLE_CHANGE_DATA_
CAPTURE_ON_DATABASE.SQL
Failure to do so will throw errors similar to the messages displayed here during the restore
process:
Msg 22831, Level 16, State 1, Procedure sp_cdc_disable_db_internal,
Line 231
Could not update the metadata that indicates database DATABASE_NAME
is not enabled for Change Data Capture. The failure occurred when
executing the command '[sys].[sp_MScdc_ddl_database triggers]
'drop''. The error returned was 15517: 'Cannot execute as the
database principal because the principal "dbo" does not exist, this
type of principal cannot be impersonated, or you do not have
permission.'. Use the action and error to determine the cause of the
failure and resubmit the request.

PROPRIETARY AND CONFIDENTIAL

228
7.7.0 INSTALLATION GUIDE

Msg 266, Level 16, State 2, Procedure sp_cdc_disable_db_internal,


Line 0
Transaction count after EXECUTE indicates a mismatching number of
BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Msg 266, Level 16, State 2, Procedure sp_cdc_restoredb_internal,
Line 0
Transaction count after EXECUTE indicates a mismatching number of
BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Msg 266, Level 16, State 2, Procedure sp_cdc_restoredb, Line 0
Transaction count after EXECUTE indicates a mismatching number of
BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Msg 266, Level 16, State 2, Line 1
Transaction count after EXECUTE indicates a mismatching number of
BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Location: execsql.cpp:344
Expression: exception != se_OK
SPID: 54
Process ID: 3204
Msg 3165, Level 16, State 1, Line 1
Database 'DATABASE_NAME' was restored, however an error was
encountered while replication was being restored/removed. The
database has been left offline. See the topic MSSQL_ENG003165 in SQL
Server Books Online.
Msg 3167, Level 16, State 1, Line 1
RESTORE could not start database 'DATABASE_NAME'.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Msg 3624, Level 20, State 1, Line 1
A system assertion check has failed. Check the SQL Server error log
for details. Typically, an assertion failure is caused by a software
bug or data corruption. To check for database corruption, consider
running DBCC CHECKDB. If you agreed to send dumps to Microsoft

PROPRIETARY AND CONFIDENTIAL

229
7.7.0 INSTALLATION GUIDE

during setup, a mini dump will be sent to Microsoft. An update might


be available from Microsoft in the latest Service Pack or in a QFE
from Technical Support.

Change Data Capture must be enabled again once the database backup process has been
completed. This can be enabled by executing the SQL script below:
…\Release.XX\Package\Databases\Post_Deployment_Scripts
\CHANGE_DATA_CAPTURE_ENABLE_ON_ONLINE_STORE_TABLES.SQL

NOTE: All data stored in CDC related tables will be lost when it is disabled on Personify360
database and there will be no change tracking for the duration of the database backup when
until CDC is enabled again.

NOTE: Personify, Inc. does not recommend using the above approach and strongly
suggests maintaining similar editions of SQL server (mix of Enterprise and Developer)
across the entire organization as previously mentioned. Please check your Microsoft
Software License Agreement for pricing details related to SQL Server editions. More
information can be found at the following website:
http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx

PROPRIETARY AND CONFIDENTIAL

230
7.7.0 INSTALLATION GUIDE

Appendix F: Back Office WinClient

Installing Silently Using a Batch File

Create a batch file to install the application with parameters predefined for your end users
and either execute that batch file as part of a network logon script or ask your users to
navigate to a designated location and double-click the batch file to start the installation
process.

The parameters that can be set for the MSI installation include:

 NETWORK_UPDATE_PATH

 INSTALLDIR
Refer to the following table for examples of command lines that can be placed within a batch
file to define values for the MSI.

Command Line Purpose

MSIEXEC /i “C:\Temp\Personify Automatic To launch the MSI with all


Updates” NETWORK_UPDATE_PATH=\\yourserver\yourshare user interface dialogs and
INSTALLDIR=D:\Temp values predefined.
MSIEXEC /passive /i “C:\Temp\Personify Automatic To launch the MSI with
Updates” NETWORK_UPDATE_PATH=\\yourserver\yourshare only a progress bar to
INSTALLDIR=D:\Temp indicate the status of the
installation.
MSIEXEC /quiet /i “C:\Temp\Personify Automatic To launch the MSI with no
Updates” NETWORK_UPDATE_PATH=\\yourserver\yourshare user interface.
INSTALLDIR=D:\Temp
MSIEXEC /? For additional information
on installation options
using Windows installer,
enter this line in a
command prompt.

NOTE: These are all one single command on a single line, no carriage returns. You must
enclose parameters that contain spaces within double quotes.

PROPRIETARY AND CONFIDENTIAL

231
7.7.0 INSTALLATION GUIDE

Performing a Managed Network Installation

You can perform a managed installation by performing an administrative installation to a


network UNC path or by performing an active directory deployment via group policy. These
methods are deployed to multiple PCs and not a single PC like the unmanaged installation.
The following sections describe how to perform both methods.
Once you perform a managed or unmanaged installation, refer to the following sections in
this chapter to complete the Automatic Updates installation:

 NTFS File System Security Requirements

 Optional Modifying the Internal Tables of the MSI Installation. See Appendix D.

Administrative Installation to a Network UNC Path

As a network administrator, you can perform an administrative installation to a network


share and request your users execute the MSI installation from that network location. By
performing an installation in this manner, you can pre-configure the application with all of the
settings and your users will experience a single-click installation. This allows users to utilize
the full functionality of Personify360 Automatic Updates.
To perform an administrative installation to a network UNC path:
1. Perform an unmanaged installation on your own PC as described in Installing Silently
Using a Batch File.
2. Configure all options for your installation. Refer to Personify360 Automatic Updates
Configuration for more information on completing the configuration.
3. Select Start > Run and type cmd to open the Command Prompt. Change directories
to the folder where your copy of Personify Automatic Updates.msi is located and
execute the following command line: Msiexec /a “Personify Automatic Updates.msi”.

NOTE: There is a space between “Msiexec and the “/”.

The InstallShield Wizard Welcome screen displays.

PROPRIETARY AND CONFIDENTIAL

232
7.7.0 INSTALLATION GUIDE

4. Click Next.
The Network Location screen displays.

5. Enter the network location where you want to deploy your administrative installation.

NOTE: This network share must have its NTFS permissions set correctly to allow end users
to read and execute files from this location.

PROPRIETARY AND CONFIDENTIAL

233
7.7.0 INSTALLATION GUIDE

6. Click Install to complete the administrative installation process.


7. Copy the following files from your local unmanaged installation to the network
location you chose for your administrative installation. You can copy the files by
using either Windows Explorer or the DOS command prompt.
8. Personify.exe
9. PersonifyApplicationServers.xml
10. Personify.ConfigurationLocation.xml
11. You are now ready to deploy Personify360 Automatic Updates to your end users.
You can create a batch command file to deliver a no-touch installation to your users
with the following command line:
MSIExec /quiet /i <Path to Network Location>\“Personify
Automatic Updates.msi”
MSIExec /passive /i <Path to Network Location>\“Personify
Automatic Updates.msi”

NOTE: You must verify that you reference the MSI file found within your network installation
path. When you perform an administrative install, the Windows Installer application creates a
new MSI file that contains the correct information to instruct your application as to where to
find its installation files. There is a file size difference between the original MSI file delivered
by Personify, Inc. and the size of the MSI file in your administrative network installation path.

NTFS File System Security Requirements

The following NTFS file system security permissions are required for Personify360
Automatic Updates to work correctly:

 Modify

 Read & Execute

 List Folder Contents

 Read

 Write
Additionally, the end user will require that the same permission set in the location where
Personify360 is downloaded. By default, this location is C:\Documents and Settings\<User
ID>\Application Data\TMA Resources\Personify.

Example Installation

To deploy Personify360 on a typical network:


PROPRIETARY AND CONFIDENTIAL

234
7.7.0 INSTALLATION GUIDE

1. Double-click the Personify.msi file to begin the installation.


2. Leave the installation path as the default.
3. Enter a UNC or URL where you deploy updates to Personify360.
4. Complete the installation.
5. Open a Command Prompt and navigate to the folder where you installed
Personify360 (see Step 2 above).
6. Enter Personify.exe /configure.
7. Set up one or more Personify360 Application Server URIs and click Save.
8. Select the Configure Automatic Updates tab.
9. Enter the remaining configuration information (i.e., Email Server, From Address, To
Address, CC Address) and click Save.
10. Enter Personify.exe /setnetworkupdatelocation.
11. Enter the UNC path to a file server or URL to a Web server where you will place
updates to Personify360 and click OK.
12. Enter Personify.exe /generatemanifest.
13. Open Windows Explorer and navigate to where you installed Personify360 (see Step
2 above).
14. Select all files (Edit/Select All) and then copy all files (Edit/Copy).
15. Navigate to the path you specified for the network update location (see Step 11
above). Delete the file named Personify.exe from the network update location. This
file will not be deployed as part of the automatic update process.
16. Open a Command Prompt and navigate to the location where Personify.msi is
located.
17. Enter the following command:
Msiexec /i “Personify.msi” NETWORK_UPDATE_PATH=<Path you specified in Step
11 above>

NOTE: The above command is one command line with no returns in it. If your
NETWORK_UPDATE_PATH contains any spaces, you must enclose the parameter value in
double quotes. “Personify.msi” must be enclosed in double quotes.

18. Set the network path for the location of the administrative installation. This path can
be the same as the path you specified in Step 11 above.
19. Click Next.
20. To allow installation of this package with no user interface or with only a progress bar
to indicate the status of the installation, create a batch file with the following
command:
Msiexec /passive /I “personify.msi” NETWORK_UPDATE_PATH=<Path you
specified in step 11 above>

PROPRIETARY AND CONFIDENTIAL

235
7.7.0 INSTALLATION GUIDE

NOTE: The above command is one command line with no returns in it. If your
NETWORK_UPDATE_PATH contains any spaces, you must enclose the parameter value in
double quotes. “Personify.msi” must be enclosed in double quotes.

21. From an end user’s workstation, navigate to the installation point where you ran the
administrative installation and double-click the batch file.
22. If everything installed correctly, you should be able to click Start > Programs > TMA
Resources > Personify and the application should immediately check for updates
and begin operation.
23. If the application does not start, then perform the following:
24. Check that you completed all of the steps outlined above.
25. Verify that the end user has access permissions to the network update path you
specified.
26. If the path is an http URL, then that URL must allow anonymous access. You can
verify this by opening the following URL in your browser: http://<your network update
location>/Personify.Manifest.xml. If you are able to open this file in a web browser
without entering any credentials, then you have anonymous access setup correctly. If
you cannot open this file, you need to check your Web server setup.
27. If the path is a UNC path, you can perform the steps above using Windows Explorer
and substituting the UNC path in place of the http URL.
28. If you are still having problems, please contact Personify, Inc. technical support.

PROPRIETARY AND CONFIDENTIAL

236
7.7.0 INSTALLATION GUIDE

Appendix G: Notification Services

Email Notification stored procedures are not installed by default with Personify360. This is
done because if a Personify360 customer chooses not to use the Email Notification Service,
they will not be penalized with any overhead the procedures, triggers, etc. can cause.
This section includes:

 Required Security Permissions for Notifications

 Windows NTFS Permissions for NTS

 Service Installation Permissions for NTS

 Service Configuration for Notifications

 Service Installation for Notifications

 Command Line Options for Notifications

Required Security Permissions for Notifications

Windows NTFS Permissions for NTS

The Personify360 E-Mail Notification Service requires a set of Windows permissions to


operate within the Windows Operating System. By default, the notification service is
installed to run as the “Network Service” account within a Windows Server 2003 or Windows
XP environment. System administrators can change the account that the notification service
runs under by using the Windows Service Control Manager.
The following is a description of the Network Service account in Windows Server 2003:
On computers running Windows Server 2003, services can be configured to log on under
the Network Service account. Like Local System, this account does not require a password.
The password is an empty password.
The Network Service account is a built-in system account that has the privileges of an
authenticated user; therefore, it provides an alternative to running services under the Local
System account. There is no lockout policy for the Network Service account because it is not
password-protected. The protection mechanism is that only a process running under the
Local System account can perform a Network Service (or Local Service) logon and it must
be a service-type logon.
The Network Service account is intended for services that have no need for extensive local
privileges, but do need authenticated network access. Services running as the Network

PROPRIETARY AND CONFIDENTIAL

237
7.7.0 INSTALLATION GUIDE

Service account access local resources as ordinary users. When they access network
resources, they do so using the credentials of the computer. A service running as Network
Service has the same network access as a service running as Local System, but it has
significantly reduced local access. The following security privileges are available to services
running in the Network Service account:

 SeShutdownPrivilege

 SeAuditPrivilege

 SeChangeNotifyPrivilege

 SeUndockPrivilege

 SeImpersonatePrivilege
Minimum Service Account Security Permissions for Personify360 Email Notifications

Permission Reason

Modify, Read & Folder where Notification Service is installed.


Execute, List
Folder Contents,
Read, Write
Log on as a Required by Windows to allow a user account to operate as a Windows
Service Service.

The local service and network service accounts have this privilege
assigned to them by default.

Active directory user accounts do not have this privilege assigned by


default, but this privilege can be assigned using the Local Security Policy
editor found under Start/Programs/Administrative Tools/Local Security
Policy. For additional assistance in establishing these permissions
contact your local network administrator.
Write to machine The Personify360 E-Mail Notification Service writes informational
application event messages to the windows application event log to inform administrators
log of specific process events as they occur within the service. The logging
level configured for the service determines how much data is written to
the application event log.

Service Installation Permissions for NTS

The account being used to install the notification service application must have local
administrator permissions in order to successfully install the service. During installation the
service needs to make modifications to the HKEY_LOCAL_MACHINE registry in order to
PROPRIETARY AND CONFIDENTIAL

238
7.7.0 INSTALLATION GUIDE

register the service with the service control manager. It also needs to register an event
source with the application event log in the Windows Event Viewer.
Once the service is installed on the machine successfully administrative permissions are not
required to configure or run the service application.

Command Line Options for Notifications

Open a command prompt at the folder location where you have copied the Personify360
Email Notification Service executable and execute the command:
Personify.Server.Notification.exe/?

-Or-
Personify.Server.Notification.exe/help

This opens a dialog as shown below:

Required Deployment Files

The table below lists the files that you must deploy for the Personify360 Email Notification
Service.

File Name Description

Personify.Server.Notification.exe The service executable.

PROPRIETARY AND CONFIDENTIAL

239
7.7.0 INSTALLATION GUIDE

File Name Description

Personify.HTML.Parser.dll This assembly contains the necessary


logic to parse HTML documents into a
format that can be used by the service to
personalize outgoing HTML messages.
Settings.dat This file contains the runtime settings
configured for the service using the
/configure command line.
This file cannot be manually edited. You
must use the /configure command line to
modify the service configuration.
ConfigureNotificationService.cmd This batch file launches the service
executable in configuration mode allowing
you to configure the runtime settings of the
service.
InstallNotificationService.cmd This batch file installs the service
executable to run as a windows service.
Before running this batch file, ensure that
you have configured the service correctly
as identified in the sections below.
RunNotificationServiceConsoleApplication.cmd This batch file allows you to run the
notification service application as a
windows application. This is useful for
debugging purposes, but should not be
used within production environments.
UnInstallNotificationService.cmd This batch file removes the application
from the Windows Service control
manager.

PROPRIETARY AND CONFIDENTIAL

240
7.7.0 INSTALLATION GUIDE

Appendix H: SSO Installation

Suggested Configuration for IMS 1

PROPRIETARY AND CONFIDENTIAL

241
7.7.0 INSTALLATION GUIDE

Suggested Configuration for IMS 2

SSO Installation Hardware Requirements

The web server should have:

 Processor

 1 GHz (or Faster) intel-based CPU

 Dual 1 GHz (or faster) CPU suggested

 Memory

 1 GB minimum

 2 GB suggested

 Hard Disk Space

 10 GB of free space

 RAID control suggested

 RAID 1 or 5 configuration suggested

PROPRIETARY AND CONFIDENTIAL

242
7.7.0 INSTALLATION GUIDE

 Network Adaptor

 1 x 100 MBPS adapter

 1 x 1 GBps adapter suggested

SSO Software Requirements

The following software must be installed on the web server:

 Windows 2012 R2 or 2016 server

 Microsoft .NET Framework 4.52

 Microsoft IIS 8.x (for Windows Server 2012 R2) or 10.0 (for Windows Server
2016)

 e-Business site already installed

 SQL Server 2016

NOTE: The new changes as of 7.4.2 are NOT backward compatible.

SSO Web User Migration

NOTE: These utility scripts have to be executed for clients upgrading from an earlier version
of Personify360 to 7.4.1 and later or for a fresh installation of 7.7.0.

The purpose of these scripts is to integrate web user customer existing in Personify360 into
SSO Database. This is required as we have now fully integrated SSO/IMS with Personify360
from 7.4.2 release onwards. These scripts are one time execution, need not be run for every
release going forward.
The scripts are available in the following location:
..\7.7.0\Package\Web\SSO\SSOWebUserMigrationScripts
Pre-Integration Checklist
Before we can continue with SSO Web User integration process, the following pre-requisite
conditions must be met.
1. SSO needs to be installed before for this integration to be successful.
2. Data from the following tables in SSO database needs to be cleared out (deleted) -
Customer, VendorCustomer.

PROPRIETARY AND CONFIDENTIAL

243
7.7.0 INSTALLATION GUIDE

There is a script provided that can be used as template to clear out data from these
tables. This script is called "Extra Script - Clear out data from SSO tables.SQL"
3. Determine values for the following 2 parameters required for SSO Integration
process.
Parameters - Hashing Algorithm, Hash SALT.
Values for these parameters can be found in file Web.Config of SSO site. Search for
following section
<Cipher>
<HashSalt>HashSALT value</HashSalt>
<InitializationVector>12211A2B212A877987ABC5B3E212EEA3</
InitializationVector>
<PrivateKey>D39121236E22A2A3EB1B3A23669721B1</PrivateKey
>
<DefaultSymmetricAlgorithm>Rijndael</DefaultSymmetricAlg
orithm>
<DefaultHashingAlgorithm>Hashing Algorithm
Value</DefaultHashingAlgorithm>
</Cipher>

SSO Web User Integration Process - Business Rules


The following business rules govern SSO Web User Integration process:
One record will be created in SSO database tables for each of the following conditions:

 Scenario 1 - Record exists in Personify360 database table WEB_USER and the


Customer record has a Primary Email Address

 Scenario 2 - Record exists in Personify360 database table WEB_USER and the


Customer does not have a Primary Email Address but has a Secondary Email
Address

 Scenario 3 - Record does not exist in Personify360 database table WEB_USER


but the Customer type is I (Individual) and has a Primary Email Address or a
Secondary Email Address

NOTE: If you do not want to create a new Web User record in above Scenario 3, then
please comment out following code snippet in SQL file:
----- Create new Web User record for missing
data
----- Comment out this INSERT statment if you do not want to create a new

PROPRIETARY AND CONFIDENTIAL

244
7.7.0 INSTALLATION GUIDE

Web User record


INSERT INTO #WebUserInfo(MASTER_CUSTOMER_ID, SUB_CUSTOMER_ID, [USER_ID],
PersonifyPassword, DecryptedPassword, SSOEncryptedPassword, NewWebUser)
CI.MASTER_CUSTOMER_ID
, CI.SUB_CUSTOMER_ID
, COALESCE(CI.PRIMARY_EMAIL_ADDRESS, CI.SECONDARY_EMAIL_ADDRESS) AS [USER_ID]
, '' AS PersonifyPassword
, LEFT(NEWID(), 8) AS DecryptedPassword
, '' AS SSOEncryptedPassword
, 1 AS NewWebUser
FROM
#CustomerInfo AS CI
WHERE
CI.WebUserExists = 0
AND ISNULL(COALESCE(CI.PRIMARY_EMAIL_ADDRESS, CI.SECONDARY_EMAIL_ADDRESS), '') <>
''
AND CI.RECORD_TYPE = 'I'

SSO Web User Integration Process


There are 4 SQL scripts that will be used for SSO Web User Integration process.
The four SQL files will be executed in the following order:
1. Script 1 - Create Linked Server connection to Personify database
2. Script 2 - Install SQL CLR Assembly on SSO Database
3. Script 3 - Script 3 - SSO Web User Integration
4. Script 4 - Drop Linked Server connection to SSO database
Each SQL file contains pre-execution instructions that must be completed before executing
the SQL code in the file.
The objective of each SQL file is listed here.
------------------------------------------------------------------------------------------------------
Script 1 - Create Linked Server connection to Personify database
The SQL code in this file is used to create a linked server to customer Personify360
database.
This script should be executed on the database server instance that hosts the SSO
database.
Output - None
------------------------------------------------------------------------------------------------------
Script 2 - Install SQL CLR Assembly on SSO Database

PROPRIETARY AND CONFIDENTIAL

245
7.7.0 INSTALLATION GUIDE

The SQL code in this file creates the necessary SQL CLR procedures that are needed for
the SSO Integration procedure.
This script must be executed by user that has sysAdmin privileges on SQL Server.
Output - None
------------------------------------------------------------------------------------------------------
Script 3 - SSO Web User Integration
This is the main file that performs the SSO login integration from Personify360 database to
SSO database.
This script must be executed in the SSO database.
Output - The output of this script is a set of log records that are stored in table
SSOIntegration_Log.
All log records related to the execution of this script are returned to query window at the end
of the script execution.
This script may have to be run multiple times depending on the error encountered when
executing the script.
In such a situation, the error log record will indicate the error and will suggest possible fixes
to resolve the error.
------------------------------------------------------------------------------------------------------
Script 4 - Drop Linked Server connection to SSO database
This script will drop the Linked server created in Script 1.
This script should be executed only after the SSO Integration has been successfully
completed.
Output - None
------------------------------------------------------------------------------------------------------
SSO customer record is required for CRM360 screen to display icons for IMS roles.

PROPRIETARY AND CONFIDENTIAL

246
7.7.0 INSTALLATION GUIDE

Appendix I: Enabling FTP for your IIS hosted site

1. Run IIS manager.


2. Right-click on your Web Site (e.g Default Web Site), choose Add FTP Publishing.

NOTE: If you do not find Add FTP publishing you need to add the FTP server role services.

3. Go to Administrative Tools > Server Manager > Roles > Web Server (IIS).
4. Go to Role Services and check whether FTP Server is installed or not.
5. If FTP Server is not installed then click on Add Role Services button and it will open
the Add Role Services wizard.
6. Select all FTP Server check boxes
7. Click Next
8. Click on Install button in next page.
9. Configure your binding and SSL settings. Recommended settings are as below:

10. Click Next.


Then configure your authentication and authorization information. Recommended
setting is using basic authentication with both read/write permission. You can specify

PROPRIETARY AND CONFIDENTIAL

247
7.7.0 INSTALLATION GUIDE

authorization to specific groups, or users of your choice. An example is below:

11. Click Finish.


12. Right-click on the web site, and hit Refresh.
You can start ftp to your website with this FTP URI: ftp://<YOUR SERVER
NAME>/<YOUR SITE NAME>/ , and the credentials of the specified users on your
server.

PROPRIETARY AND CONFIDENTIAL

248

Potrebbero piacerti anche