/
Install ServiceAnalytics Deploying Crystal Reports Server (CRS) Version

Install ServiceAnalytics Deploying Crystal Reports Server (CRS) Version

The ServiceManager release bundle is supplemented by the ServiceAnalytics CRS version module disk image. For the CRS version, the MSI installer is serviceanalytics_CRS.msi, the ZIP installation bundle is serviceanalytics-CRS-release.zip.

Installers and Licensing 

ServiceAnalytics can only be installed into an existing ServiceManager installation.

For this version of ServiceAnalytics it will also be necessary to separately install and license Crystal Reports ServerTM.

 You are expected to have knowledge of Crystal Reports Server Administration in order to integrate ServiceAnalytics.

Windows MSI Deployment

Target Location

The ServiceAnalytics module must be placed in ServiceManager’s modules directory.  This will have been configured with ServiceManager’s installer.  If not then ServiceManager’s installer must be re-run first to establish the module directory.

Installation Process

The configuration of ServiceAnalytics is read from the existing ServiceManager, these values are displayed to the user after the installation welcome screen.

OR

Selection of the “Next >” button will ask for confirmation before starting the installation of the necessary files.

In order for the new files to be properly detected by ServiceManager the application will need to be redeployed and restarted twice as described in Section 5.3.

ZIP-Based Manual Deployment

The manual deployment process can be used where MSI deployment is not suitable, e.g. non windows based platforms.  The ServiceAnalytics release comprises a compressed (ZIP format) file containing the files that are needed to activate the ServiceAnalytics functionality of ServiceManager. For the standard (standalone) version of ServiceAnalytics the required zip archive is serviceanalytics-release.zip. Whilst the software will require a degree of manual configuration the steps are straightforward - simply extract the contents of the required ZIP file into ServiceManager’s modules directory.

 

In order for the new files to be properly detected by ServiceManager the application will need to be redeployed and restarted twice as described in Section 5.3.

Integrating to CRS

The following steps are required to configure ServiceAnalytics to work with a Crystal Report Server (CRS). The items in italics are examples  

you will need to note the actual values you use as they will be required to configure ServiceAnalytics (see ServiceAnalytics Administration)

 

Publish the ServiceAnalytics reports on the Crystal Report Server 

Copy the ServiceAnalytics reports onto the Report Server.

  1. Create a new user or pick an existing user account to manage the reports. For example we could create a new user called ServiceAnalytics. N.B. Usually new accounts can only be created by the System Administrator. Subsequent operations must be performed by logging on as the account user who will be responsible for the reports.
  2. Create a folder on the CRS for this user, for example in the users Favorites folder create a unique folder, for example Analytics.
  3. Using the CRS Publishing Wizard applications publish all the ServiceAnalytics reports from <install-dir>\<tomcat>\webapps\SERVICEManager\coreReports\reports to the folder created above.

If you have any Custom Reports, you will also need to install these. Using the same user as above, the following further steps are required

1. Create a folder on CRS to hold the reports; the name of the folder will be the name of the custom reports menu, the folder description (if any) will appear as a message on the status bar.
2. 

Each custom report will need to have its data source redefined; some experience of Crystal Report Developer would be advantageous. The following example assumes changing to a JDBC data source.

 a)

This step is optional, but makes future steps easier. Edit your CRConfig.xml file (normally located in C:\Program Files\Business Objects\Common\3.5\java) updating the follow values in red:

<JDBC>
        <CacheRowSetSize>100</CacheRowSetSize>
        <JDBCURL>jdbc:oracle:thin:@<server>:<port>:<instance></JDBCURL>
        <JDBCClassName>oracle.jdbc.driver.OracleDriver</JDBCClassName>
        <JDBCUserName>xyz</JDBCUserName>
        ...
</JDBC>

The actual values used should match the values defined in your hibernate.cfg.xml file. If may be necessary to restart CRS after any change to the CRConfig.xml file.

 b)Open a custom report using the Crystal Report Developer
 c)Select the custom report.
 d)Select Database -> Set Datasource location
e) 

Select the ‘real’ location of the data source:

  • In the ‘Set Datasource Location’ dialog box select the plus sign beside the ‘Create New Connection’
  • Under this select the plus sign beside the ‘JDBC (JNDI)’, the JDBC (JNDI) dialog box should appear.
  • The correct details will have been filled in from the detailed entered in step (a), if not fill in the Connection URL and Database Classname edit boxes. These details can be retrieved from your hibernate.cfg.xml file located in the sm_properties directory of the SERVICManager installation.
  • Select next.
  • Specify the User ID and the password for the database.
  • Select finish.
  • Highlight the Current Data Source’s JDBC connection details (from the ‘Current Date Source’ list) and the new JDBC connection (from the ‘Replace with:’ list) and select update.
  • Close the ‘Set Datasource Location’ dialog box.
  • Save the report to CRS. N.B. You may get an error at this stage, see Trouble Shooting Guide below.
  • Repeat from step (b) for each custom report.
f)You should be able to test each custom report (from withinCrystalReports Developer) at this stage
3.Load the reports using the CRS Publishing Wizard. You can create sub folders to store reports and these will be shown as sub menu items.
4.

Any report which use Dynamic Cascading parameters needs further details updating prior to been available for running.

a)

Start the Business View Manager (a CRS Client application), this doesn’t necessarily need to be installed on the CRS Server, but must reference the CS Server on login.

 
b)

Login in as the user who is managing the reports as per the value set for sm_rpt_CRS_Username (see [5] section 2).

 
c)

View the ‘Repository Explorer’ via the View menu, if not already visible.

 
d)

Expand the ‘Dynamic Cascading Prompts) item.

 
e)

For each prompt, the item below circled in red is a parameter prompt.

f)

Right click in the prompt string (e.g. CATEGORY), and select ‘schedule list of values’, select OK on the ‘Schedule’ dialog box.

 
g)

In the next dialog box (Schedule), select the frequency of how often the Dynamic parameters should be updated from the ‘Run report:’ option.

 
h)

Select ‘Database Logon’

 
i)Enter the username and password for your database, and then select Update and then Close 
j)Select OK on the Schedule dialog box 
k)To confirm the operation has been successful, right click on the prompt string and select ‘Edit list of values…' 
l)

Check the Schedule Status

m)

The Dynamic parameters have now been updated. These steps need to be repeated for each parameter set.

 

 

Make ServiceAnalytics libraries available to Crystal Reports Server

For the reports to run the Crystal Reports Server needs to access various .jar files belonging to the ServiceAnalytics product.  The location of these files needs to be defined in the CRConfig.xml file belonging to the Crystal Reports Server. 

Assuming that ServiceManager is installed on the same server, the following changes are required:

<DataDriverCommon>
        <Classpath>
               <inst-dir>\webapps\SERVICEManager\WEB-INF\classes;
               <inst-dir>\common\lib\jtds-1.2.jar;
               <inst-dir>\common\lib\ojdbc14.jar;
               <inst-dir>\common\lib\orai18n.jar;
               <inst-dir>\webapps\SERVICEManager\WEB-INF\lib\sp-common.jar;
               <inst-dir>\webapps\SERVICEManager\WEB-INF\lib\sp-util.jar;
               <inst-dir>\webapps\SERVICEManager\WEB-INF\lib\sp-logging.jar;
               <inst-dir>\webapps\SERVICEManager\WEB-INF\lib\hibernate3.jar;
               <inst-dir>\webapps\SERVICEManager\WEB-INF\lib\dom4j-1.6.1.jar;
...
               ${CLASSPATH}
        </Classpath>
        ...
</DataDriverCommon>

 

The CRConfig.xml file must be further updated to specify the location of the Crystal Report Java Bean

<JavaBeans>
<JavaBeansClassPath>
	<inst-dir>\webapps\SERVICEManager\WEB-INF\lib\sp-reports.jar
</JavaBeansClassPath>
</JavaBeans>

where <inst-dir> refers to the ServiceAnalytics installation directory, for example: C:\Program Files\SERVICEPower\SERVICEManager\Tomcat

These values can be adjusted according to the location of the CRS and ServiceManager. If CRS is installed on another server from ServiceManager then the .jar files above will need to be copied to the CRS server machine and located and referenced in the CRS CRConfig.xml

Database connectivity

When using Crystal Reports Server, the ServiceScheduling database(s) that CRS connects to in order to retrieve data for the reports must be specified in an additional properties file called sp_reports.properties. This file must be created by the user as defined below and the directory in which it is located must be added to the CLASSPATH defined in the CRConfig.xml file.

sp_reports.properties
#example
#<prefix>.DriverClass=<database driver class>
#<prefix>.DatabaseURL=<database URL>
#<prefix>.UserName=<username>
#<prefix>.Password=<password>
 
# sqlServer connection details JTDS
database1.DriverClass=net.sourceforge.jtds.jdbc.Driver
database1.DatabaseURL=jdbc:jtds:sqlserver://host1:1433;databaseName=SqlDatabase
database1.UserName=user1
database1.Password=user1


# ORACLE connection details
database2.DriverClass=oracle.jdbc.driver.OracleDriver
database2.DatabaseURL=jdbc:oracle:thin:@host2:1521:sid
database2.UserName=user2
database2.Password=user2

servicemanager.log4j.config.file=<location of logging.properties file>

 The prefix (e.g. database1, datebase2 etc) must be defined in the service_manager.properties as follows:

service_manager.properties
core.reports.connectivity=<prefix>