Skip to content

IFS Provider for Primavera Gateway (PROOPG)

This document describes the Integration Solution for synchronizing data between IFS Application and Primavera.

Solution

This is a new integration solution for customers to integrate between IFS Application and Primavera P6 EPPM. This solution employes Oracle Primavera Gateway application which facilitates sharing and synchronizing projects, resources, and other data between Primavera application and enterprise applications.

Architecture and Deployment View

Installation Sequence

Prerequisites

Install Primavera P6 EPPM

Primavera P6 EPPM can be installed as described by the Oracle Documentation.

Install Primavera Gateway

Oracle Primavera Gateway can be installed as described in the Oracle Documentation

Configuration - IFS

Configure Projection Access

IFS have developed set of rest services(projections) to support the Primavera Gateway Solution. These services are intended only for this solution only.

  • ActivityClassAssignmentIntegration
  • ActivityClassIntegration
  • ActivityClassValIntegration
  • ActivityDependencyIntegration
  • ActivityIntegration
  • ActivityResourceAssignmentIntegration
  • ProjectIntegration
  • ResourceCostIntegration
  • ResourceIntegration
  • SubProjectIntegration
  • WorkTimeCalendarBasicDataService

You may view the detail documentation of the web services by browsing to the IFS environment as below:

<IFS Environment URL>:<port>/main/ifsapplications/web/page/ProjectionExplorer/ProjExplorerPage

To access these services, ensure that the permission set "OPG_SYNCHRONIZER" is granted to the integration user.

Instructions

  • Login to the IFS Application with an App Owner account.
  • Navigate to the Solution Manager -> Users and Permissions -> Permission Sets -> Permission Set and search the permission set "OPG_SYNCHRONIZER".
  • Go to PROJECTIONS tab, there should be above mentioned projections.

    OPG_SYNCHRONIZER in Permission Sets

NOTE: This permission set grants the necessary projections for the user. If the permission set does not exist after installation, it should be created manually. (Run proopg\source\proopg\database\POST_Proopg_PermissionSet.sql)

  • Navigate to the Solution Manager -> Users and Permissions -> Users -> User and search the user.
  • Go to User Permissions and Click Grant Permission Sets in Direct Grants tab.
  • Search and select the permission set "OPG_SYNCHRONIZER".

    Granting OPG_SYNCHRONIZER to the user

Now your user can access to IFS REST Services for Privmavera Gateway.

Configure IFS IAM Client

In order to access IFS Projections through a third party application such as Oracle Primavera Gateway, an Identity & Access Management(IAM) client is needed.

Instructions

  • Login to the IFS Application with an App Owner account
  • Navigate to the Solution Manager -> Users and Permissions -> Identity and Access Manager -> IAM Client Details
  • Add a new client and provide details as shown below:
    • Client Id: IFS_Projects_Integration
    • Set Enabled: ON; Direct Access Grant: ON; Public Client: OFF; Service Account: OFF
  • You can regenerate client secret as required.

    IAM Client Details

Configuration - Primavera P6 EPPM

It is a mandatory to setup User Defined Fields and Global Preferences for successfull integration.

User Defined Data Setup

Some of the infomation that are exclusive to IFS was important to be visible in Primavera for ease of planning. User Defined Fields (UDF) in P6 were utilized to make such info available in Primavera P6. “IFS Activity Status” & “IFS Activity Responsible Id” are such two UDFs created in P6 in this integration for Activity object.

Global Preference Setup

This integration facilitates sharing master data and project info between Primavera P6 & IFS applications. But it was not designed to be same. There are many schematic & logic differences such as ID length differences in these applications that might cause errors in the process of exchange. To avoid such situations, some global preferences need to be changed in P6 EPPM.

Setting Up User Defined Data and Globbal Preferences

Instructions

To setup User Defined Data and Globbal Preferences using a script, follow the standard documentation for Primavera Gateway. During the setup, you may point out the following file IfsProjectP6DataSetup.xml in <PrimaveraGatewayInstallationDir>\providers\IFSProjectProvider\data\p6data

Configuration - Primavera Gateway Deployment

Deploy IFS Provider

When you start this step, it is assumed that, Primavera P6 EPPM, Oracle Primavera Gateway and IFS Application have been installed.

  • Download 'IFS Provider for Primavera Gateway' from the Add-on page.

  • Extract and copy content into Primavera Gateway Server

  • Copy the content of ifsprojectprovider188 into <PrimaveraGatewayInstallationDir>\providers\IFSProjectProvider
  • Then deploy that provider to Primavera Gateway. Detail instruction on deployment instructions are described in the Oracle Primavera Gateway documentation.

    You may follow below instructions:

    • Go to <PrimaveraGatewayInstallationDir>\gateway\app\utilities and run Gateway-Configuration
    • Select Manage Providers.
    • Add the new provider.
    • Enter required data.
    • Finish the wizard and installation done.

Configure IFS Provider

  • Using a browser, enter the Primavera Gateway URL. <hostname>:<port number>/gateway/login Where, the <hostname> and <port number> should match those of your Primavera Gateway domain.
  • Log into Primavera Gateway with Gateway Administration credentials.

    Note: You must be assigned the PrimaveraGatewayAdmin role.

  • In Primavera Gateway, Go to the Configuration -> Deployments.

  • In the Provider Name column, select the IFS Project Provider and select the Edit button.
  • In the Edit Deployment General and Edit Deployment Configuration pages, complete the applicable fields as below:

    • User Name - IFS User that has granted the role OPG_SYNCHRONIZER in Configure Projection Access
    • Password - Password of the above user
    • Endpoint IFS Web Service - In the format <hostname>:<port number>
    • Client ID - IFS_Projects_Integration
    • Client Secret - Client Secret that you generated in Configure IFS IAM Client. (One time operation)

      Edit Provider Deployment

  • Select Test Connection to see if a successful connection can be made.

  • Select Save.

To configure P6 Provider deployment please follow the Configuring the P6 deployment target section in the Primavera Installation and Configuration Guide.

Activity Class Configuration

Configuration

To synchronize Activity-Class-Assignments between IFS and Primavera, you need to create relevent metadata and data mapping.

There are two ways to do this.

  • Using Configuration files
  • Using Primavera Gateway

Example

If Activity Class Id is IFS COLOR:

  • The field name: IFS_COLOR
  • The field topic: IFS COLOR
Using Configuration files

To synchronize Activity-Class-Assignments between IFS and Primavera, you need to create ExtraMetaData.xml and FieldMapTemplate.xml files and import them in to Primavera Gateway.

ExtraMetaData.xml file

<?xml version="1.0" encoding="utf-8"?> 
<ExtraMetaData xmlns="http://xmlns.oracle.com/Primavera/PDI/MetaData/V1" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xsi:schemaLocation="http://xmlns.oracle.com/Primavera/PDI/MetaData/V1 MetaData.xsd"> 
    <App> 
        <Name>IFS</Name> 
        <BusinessObject> 
            <Name>IFS_Activity</Name> 
            <Field category="IFS_Class" topic="IFS COLOR"> 
                <Description>A Activity Class field to define the Class of the Activity.</Description> 
                <Name>IFS_COLOR</Name> 
                <Type>String</Type> 
            </Field> 
        </BusinessObject> 
    </App> 
    <App> 
        <Name>P6</Name> 
        <BusinessObject> 
            <Name>Activity</Name> 
            <Field category="Code" topic="IFS COLOR"> 
                <Description>A Activity Code field to define the Class of the Activity.</Description> 
                <Name>IFS_COLOR</Name> 
                <Type>String</Type> 
            </Field> 
        </BusinessObject> 
    </App> 
    <App> 
        <Name>PDI</Name> 
        <BusinessObject> 
            <Name>Activity</Name> 
            <Field> 
                <Description>A Activity Code field to define the Class of the Activity.</Description> 
                <Name>IFS_COLOR</Name> 
                <Type>String</Type> 
            </Field> 
        </BusinessObject> 
    </App> 
</ExtraMetaData>

If you want to add more than one Activity-Class, then repeat the 3 App block again for the new Activity Class Id in the same file.

FieldMapTemplate.xml

<?xml version="1.0" encoding="utf-8"?> 
<FieldMapTemplates xmlns="http://xmlns.oracle.com/Primavera/PDI/FieldMapTemplate/V1" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://xmlns.oracle.com/Primavera/PDI/FieldMapTemplate/V1  FieldMapTemplate.xsd"> 
    <App1Name>IFS</App1Name> 
    <App2Name>P6</App2Name> 
    <!--Activity--> 
    <FieldMapTemplate> 
        <Description>Create or update activity code info from and to IFS and P6</Description> 
        <App1BusinessObjectName>IFS_Activity</App1BusinessObjectName> 
        <App2BusinessObjectName>Activity</App2BusinessObjectName> 
        <Name>IFS: Import/Export activity code fields</Name> 
        <PDIBusinessObjectName>Activity</PDIBusinessObjectName> 
        <FieldMap> 
            <App1>IFS_COLOR</App1> 
            <App2>IFS_COLOR</App2> 
            <PDI>IFS_COLOR</PDI> 
        </FieldMap> 
    </FieldMapTemplate> 
</FieldMapTemplates>

If it is necessary to add more than one Activity-Class, then repeat FieldMap block for the new filed.

Above example files can be found in <PrimaveraGatewayInstallationDir>\providers\IFSProjectProvider\data\demo_activitycodedata. If you want import them, please copy content in <PrimaveraGatewayInstallationDir>\providers\IFSProjectProvider\data\demo_activitycodedata to <PrimaveraGatewayInstallationDir>\providers\IFSProjectProvider\data folder and redeploy the IFSProjectProvider.

Using Primavera Gateway
  • Login to Primavera Gateway using an admin account and go to Configuration page.
  • Go to Customization Tab and Select Activity Business Object from Field Mapping Templates.
  • From Field Mapping list, select IFS: Import/Export activity code fields and press Edit.
  • In Edit Template Dialog go to Mappings step by clicking next button.
  • From the drop-downs under IFS: IFS_Activity, Gateway: Activity and P6: Activity select Add New Field.

    Activity Class Assignement - Add New Field

  • Enter Following information for each field type.

    • IFS: IFS Activity
      • Name: <IFS Activity Class Id>
      • Field Type: String
      • Field Category: IFS_Class
      • Field Name in P6: <Activity Class Id>
    • Gateway: Activity
      • Name: <Activity Class Id>
      • Field Type: String
    • P6: Activity
      • Name: <P6 Activity Code>
      • Field Type: String
      • Field Category: Code
      • Field Name in P6: <P6 Activity Code>

    Activity Class Assignement - Add New Field Info

    NOTE: Make sure to click Add button after entering field information.

  • Click Save.

Enable Field-Map in Synchronization

After creating the data mapping, it needs to be connected to the following business flows.

  • IFS: Import All Project Data
  • IFS: Import All Project Data with Activity Filters
  • IFS: Export All Project Data
  • IFS: Export All Project Data with Activity Filters

Instructions

  • Login to Primavera Gateway using an admin account.
  • In left sidebar, Expand Flow Type and select Project Data.
  • Select any of above mentioned Buiness Flow and click Edit.
  • Go to 2nd step Mappings by clicking Next.
  • Enable IFS: Import/Export activity code fields and press Save.

    Activity Class Assignement - Enable Field Mapping

  • Repeat above steps for the remaining business flows.

Cloud Support

For this particular release, IFS has not tested any cloud scenarios and only the On-Premise configuration has been tested.

FAQ

  • What version of IFS Applications, Primavera and Gateway are supported?

    IFS Application 10 UPD8 onwards. P6 EPPM 18.8 and OPG 18.8.

  • What happened to previous integration to primavera?

    It was deprecated from IFS Cloud.