Primavera Integration (PROJX)
This document describes how to install the IFS-Primavera Project integration.
Use this document when an integration is installed or configured.
Deployment Overview
Step 1: Install Primavera Software
Prerequisite
Prior to running the setup, Oracle Web Logic Server and Database (Oracle or SQL Server) should be setup. Please refer relevant Primavera documentation for additional information (Web logic and database versions should be supported by Primavera)
Primavera Installation
Relative location of the installation is "Primavera P6 Enterprise Project Portfolio Management (18.8 or 17.9) for Microsoft Windows x64 (64-bit)\(P6_R179)\Disk1\install\setup.exe". Start the setup and proceed. Make sure (P6 17.9/18.8 and P6 Integration API 17.9.0.0/18.8) is checked. The integration API will be installed in Remote Mode by default.
Primavera Integration API Installer will invoke the Database Configuration window and permission to use the database will be requested.
- Select one of the two options, Oracle or Microsoft SQL Server or SQL Express.
- If Microsoft SQL Server or SQL Server Express is selected, the SQL Server should be installed using Mixed Mode Authentication instead of Windows Authentication.
Note that for any of the above options, the Integration API requires pubuser access to the database.
Once the setup is finished, the configuration wizard will open.
Install Primavera Database
From the P6 EPPM configurations wizard, Primavera can be deployed in the database which was created in earlier step.
Both Oracle and Microsoft SQL server are supported as databases. Refer the Primavera documentation for further details on Primavera installation.
Configure Web Logic for Primavera
Configure the web logic server for Primavera deployment. Refer Primavera documentation for further detail.
Setup Business Rule Engine (Deploy Integration War)
Deploy the PrimaveraAPI.war file to the Web logic server. You may find the WAR file in <Primavera Home>\api\applications
Verify Primavera User
Log on to the Primavera database using the Primavera Project Management web client (http://<server>:<port>/p6/action/login). Please use the default Primavera user admin with password admin. For further information, please refer the Primavera documentation.
Verify that the Primavera user to be used for exporting/importing to/from Primavera is licensed to access the Primavera Integration API. This can be set in the Primavera Project Management client under Admin\Users Access. In the examples used, Primavera user Admin is configured for this purpose. Following image shows how it is done in P6 V17.9.
Step 2: Installing the Primavera Integration API Client-Side Packages
The Integration API is a set of Java classes provided by Primavera. Please refer to Primavera Integration API Administrator's Guide for more information.
- Primavera Integration API and IFS Middleware Server should be installed on the same machine. The installation path of Integration API is called
PrimaveraBootstraphome
and this path should not contain spaces. - Make sure you have the required Java version available on the machine where you want to set up the Integration API. The required Java version can be found in the Primavera Integration API Administrator's Guide. Please follow the Primavera Integration API Installer.
- Primavera Integration API Installer will request the installation type, please select the Client Side Package Only option.
- The Demo Applications and Integration API Javadoc components are not required to be selected. These components are not mandatory for the integration.
Step 3: Configure Middleware Server for IFS Integration API (PROJX)
It is assumed that IFS Middleware Server is installed and IFS home is ready. A few JVM parameters should be updated for IFS Ingeneration API to function.
Update JVM Parameters
Open IFS Admin Console and log in.
Go to Managed servers and set the Primavera bootstrap home under Argument section. See the picture below for more information.
- If the IFS Middleware server is installed on a Windows operating system:
-Dprimavera.bootstrap.home=C:\P6IntegrationAPI
- If the IFS Middleware server is installed on a Linux operating system
-Dprimavera.bootstrap.home=/opt/P6IntegrationAPI
Note that spaces are not allowed in
primavera.bootstrap.home
path.
Installing Primavera Integration Libraries
Before the first use of Primavera Integration,
- <PrimaveraBootstraphome>\clientlib intgclient.jar should be copied to <IFS_HOME>/wls_domain/<instance>/lib.
- Restart IFS Middleware server.
Step 4: Configuration in IFS Applications
Setting Runtime Parameters
To finalize the installation, start an IFS Enterprise Explorer and go to Project Management\Integration to External Planning Tools\Integration Setup\Integration Database Setup. Enter basic date as described below.
Column | Description |
---|---|
Setup ID | The identity of the setup used to access the external planning tool. The value in this field is an alphanumerical value that can be manually entered. If it is left empty, a value will be entered by the system. |
External Planning Tool | The external planning tool for which the integration setup is valid. The List of Values shows the possible values for this field. |
External Planning Tool Database | The name of the oracle or SQL server database. This database was used in the initial database configuration using Primavera database configuration tool. Alternatively, this can be found in the BREBootStrap.xml file. |
External Planning Tool User Id | The user identity that is used to access the external planning tool. |
External Planning Tool User Password | The password of the user that is used to log into the external planning tool when executing the integration. The value entered in this field will be encrypted. |
External Planning Tool Host | Name of the web logic server where the Business Rule Engine is deployed. |
External Planning Tool Port | RMI Port of the above host. Default is 9099 |
External Planning Tool Time Zone | Time Zone of the Primavera server. (Ex. If Primavera server is in Stockholm and IFS Middleware server installed in London, then Time Zone should be set as "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"). If both IFS middleware server and Primavera server in same time zone, then this column can be left blank. |
You may connect to multiple Primavera Databases of the same version. To facilitate this, add multiple records through above interface.
Security
In the IFS Solution Manager, ensure that the "OperationManager" and "ProjxManageExtProjects" permissions are granted to the "PRIMAVERA_INTEGRATION" role that will run the Primavera Integration. These two permissions are created by default for the permission set "PRIMAVERA_INTEGRATION". If the permission set does not exist after installation it should be created manually (Run projx\database\projx\Security_Primavera_Integration.ins).
To grant this permission set, only add the new Permission Set to the users that should be allowed access.
Upgrade consideration
It is important to note that there are significant changes in the Primavera deployment when compared to Application 7, 7.5 and 8. In those versions, Primavera Integration was installed in Local Mode, but Application 9 onward, Remote Mode is used. If you already have Primavera installed and upgrade from App 7.5 or 8, following changes need to be done. (Customers upgrade from App9 does not need to fallow instructions below as they are already installed Primavera in "Remote Mode")
Primavera Integration API-Client Side Packages
During installation of Primavera Integration API, it is required to select "Client Side Package Only" (previously "Local Mode Package Only"). You may uninstall existing installation and re-install with the suggested option. It is mandatory to install this API in the same host where IFS Middleware server is installed.
Setup Business Rule Engine
Primavera Integration API should be installed in the machine where the web logic server has been installed for Primavera. Here the Integration API should be installed in Remote Mode (Refer Primavera Documentation on how Integration is installed in Remote Mode). In addition, PrimaveraAPI.war should be deployed in the web logic server. For detailed information, click here.
Middleware Server Configurations
Primavera libraries in the middleware server lib should be deleted and follow the Step3.
Basic Data Setup
You may notice that there are two new columns in the Integration Database Setup window. External Planning Tool Host and Port should be setup. For additional detail, refer Step 4.
Upgrade to UPD 4 Onward
In Update 4, IFS Applications is released with updated WebLogic and Java versions due to latest critical security patches released by Oracle. This has caused an incompatibility with the Primavera integration API, and as a result the Primavera integration will not work with Update 4 as is. Oracle has provided a solution for this issue with a filter setting in Weblogic server. This suggested solution from Oracle will relax the security settings introduced with latest patches related to RMI calls. More information on the filter setting can be found at Oracle Doc ID 2421487.1. The instructions on how to implement the solution is given below.
Please add the following properties to the argument section the startup Parameters of the IFS Middleware Server Admin Console
-Dweblogic.oif.serialFilterMode=combine -Dweblogic.oif.serialFilterScope=weblogic -Dweblogic.oif.serialFilter=maxdepth=10000
Limitations
- IFS-Primavera Integration support only Primavera (on premise version). Primavera cloud version is not supported.
FAQ
- What Primavera versions are supported?
P6 EPPM 18.8 and P6 EPPM 17.9 .
- When there is no corresponding field in Primavera to an existing field in IFS, a User Defined Field (UDF) is created. This may, at times, cause problems and will render the error saying an element of an array cannot be null.
Solution: Restarting the Server will solve this issue.
Common errors and solutions | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|