Software Development Kit

The SDK provides documentation on available API's, best practice development infrastructure, ready to use examples for customizing and integration as well as ready to use JUnit test projects

SDK Package

The SDK zip package has the following structure

Folder

Description

eclipse

Third-party eclipse plugins and external development tools

example

Example projects (customizing template projects, testing examples, PDE build examples, export templates, web access, etc)

preferences

Eclipse IDE preferences

projects

Example Eclipse project with configuration files required to start HPM server and client in development environment

targets

Product 360 runtime, javadoc, development tools and frameworks

Prerequisites

Database

An available database server with the corresponding Product 360 schemas needs to be installed and configured to be accessible from the development machine. Refer to the installation manual for details

Java Development Kit

A Java Development Kit Version 1.8 in 64bit must be available on the machine to run the eclipse distribution. Due to licensing limitations the SDK package is delivered without a JDK. However, usually it's enough to just use the most recent 1.8 JDK available.
https://www.azul.com/downloads/zulu-community/?version=java-8-lts&os=windows&architecture=x86-64-bit&package=jdk

Eclipse

You need to have Eclipse as your IDE, others will not work. The minimum required version is the Eclipse IDE 4.4 (Luna). The versions up to Eclipse 2020-06 are also supported.
In all cases, we recommend to use the "Eclipse for RCP and RAP Developers" edition.

Eclipse 2020-06
https://www.eclipse.org/downloads/packages/release/2020-06/r/eclipse-ide-rcp-and-rap-developers

Installation of the SDK Online Help

The SDK online help contains the javadoc for the API, the list of available extension points as well as the general knowledge base and technical development articles. After installation it is accessible within Eclipse via Help -> Help Contents.

  • Unzip the SDK distribution to an arbitrary place on your hard drive. In this example we use, C:\Informatica\PIM-SDK.

  • Copy all plugins from the C:\Informatica\PIM-SDK\eclipse\sdkdoc\plugins folder to the dropins\plugins folder of your eclipse installation (you may have to create the plugins subfolder before)

  • Restart Eclipse

If you now open Help Contents inside of eclipse, you should see two sections named "Informatica Product 360" and "Informatica Product 360 API" as shown on this picture.

images/download/attachments/294518116/image2020-10-7_18-29-51.png

Installation of the SDK

  • Run eclipse and choose an arbitrary workspace for the project you want to build.
    For convenience the SDK has a built-in project structure which you might find useful. We use C:\Informatica\PIM-SDK\projects\HENRI\workspace as the development workspace location for our "HENRI" project.

    A good advice is to use workspace paths as short as possible.
    Otherwise this may lead to Data Quality related problems during server start or during Data Quality execution that some plugins or other objects cannot be found.

  • (optional) Install 3rd party plugins from C:\Informatica\PIM-SDK\eclipse\3rdparty.

  • Go to File > Import > Preferences and import the Eclipse_4.4_Preferences.epf preferences into your workspace. This preference file is located in the C:\Informatica\PIM-SDK\preferences folder. Preferences contain Java formatter settings which satisfy the Informatica standard coding conventions.

We suggest to use the provided development preferences, but you can also use your own conventions. In any case, we strongly recommend that the whole team uses the same conventions unless that you will have lots of "merge conflicts" with your source code management system.

  • Add the 1.8 JDK 64bit to the workspace, if not already done.

    • Open Window > Preferences > Java > Installed JREs

    • Add the JDK 1.8 to the list of available JREs and set the JRE instance name, for example jdk8.
      Make sure to use a JDK. By this means you have the Java source code available.

    • Set the installed JRE to "default" (check the checkbox).

  • Check the Java compiler settings. Open Window > Preferences > Java > Compiler and make sure that the default compliance level is 1.8.

Install target definition

  • Open Window > Preferences > Plug-in Development > Target Platform.

images/download/attachments/294518116/image2020-10-7_17-26-50.png

  • Create new target definition: Add > Start with empty target definition. Set name to "Product 360 Target 64Bit"

  • Open environment tab and set Target Environment.

    • Operating System: win32, Windowing System: win32, Architecture: x86_64.

images/download/attachments/294518116/image2020-11-5_10-58-22.png

  • Add new Software Site location: Locations > Add > Software Site

  • Add new local software site: Add > Local... Select C:\Informatica\PIM-SDK\targets\10.1.0.00.00\ folder and click ok.

images/download/attachments/294518116/image2020-10-7_17-33-10.png

  • Now you will see a list of available features in the SDK including all 3rd Party and Eclipse features:

    images/download/attachments/294518116/image2020-11-4_15-7-35.png

SDK Feature

SDK Feature

Description

Eclipse Bundle Source

Sources of important Eclipse Bundles (e.g. org.eclipse.runtime.core)

Informatica PIM Repository Editor Win64

Repository editor (Windows 64bit platform)

Informatica PIM Database Setup Win64

Database Setup (Windows 64bit platform)

Informatica PIM Server Runtime

Server runtime

Informatica PIM Server Win64 Support

Windows 64 platform server specific bundles (GraphicsMagick, eclipse launcher, etc)

Informatica PIM Rich Client

Runtime of Product 360 Desktop Client

Informatica PIM Client Win64

Windows 64 platform Desktop client specific bundles

Informatica PIM Web Client

Web Access components that are needed when starting the Product 360 Desktop Client (Web Action Rights)

Informatica PIM Web Server

Web Access runtime for the Product 360 Server.

Informatica PIM 2-Level PP Client

Add-On to Desktop Client for 2-tier Product Paradigm.

Informatica PIM 2-Level PP Server

Add-On to Product 360 Server for 2-tier Product Paradigm.

Informatica PIM Web 2-Level PP Server

Web Access runtime for the Product 360 Server for 2-tier Product Paradigm.

Informatica PIM Variant Client

Add-On to Desktop Client for 3-tier Product Paradigm.

Informatica PIM Variant Server

Add-On to Product 360 Server for 3-tier Product Paradigm.

Informatica PIM Web Variant Server

Web Access runtime for the Product 360 Server for 3-tier Product Paradigm.

Informatica PIM GDSN Client

Add-On to Desktop Client for the GDSN Accelerator

Informatica PIM GDSN Server

Add-On to Product 360 Serverfor the GDSN Accelerator

Informatica PIM Web GDSN

Web Access runtime for the GDSN Accelerator

Informatica PIM Digital Asset Management Server

This feature contains the plugin(s) that are needed to use Digital Asset Management system

Informatica PIM Supplier Exchange REST Interface

This feature contains the plugin(s) for the use of PIM Supplier Portal system

Informatica PIM Supplier Exchange Client

This feature contains the plugin(s) for the use of PIM Supplier Portal system specific actions in the rich client

Informatica PIM Websphere Client

This feature contains the plugin(s) for the use of IBM Websphere specific actions in the Product 360 Desktop Client

Informatica PIM Websphere Client I18N

This feature contains the language plugin(s) for the use of IBM Websphere specific actions in the Product 360 Desktop Client

Informatica PIM Websphere Server

This feature contains the plugin(s) that are needed to use IBM Websphere integration in the Product 360 Server

Informatica PIM Websphere Server I18N

This feature contains the language plugin(s) that are needed to use IBM Websphere integration in the Product 360 Server

Informatica PIM SDK Javadoc

Contains the javadoc for the server and client binaries.

Informatica PIM Web SDK Javadoc

Contains the javadoc for the Web Access binaries.

Informatica PIM Testing Framework

Testing framework including junit, mockito and eclipse testing framework

Informatica PIM Tooling Client/Server

Runtime Tools (Command Inspector, Eclipse Plugin Spy and others)

Informatica PIM ECCnet Client

Add-On to Desktop Client for the ECCnet Accelerator. (Not a standard feature)

Informatica PIM ECCnet Server

Add-On to Product 360 Server for the ECCnet Accelerator. (Not a standard feature)

Informatica PIM Web ECCnet

Web Access runtime for the ECCnet Accelerator (Not a standard feature)

Informatica PIM AI Client

Add-On to Desktop Client for the CLAIRE Accelerator. (Not a standard feature)

Informatica PIM AI Server

Add-On to Product 360 Server for the CLAIRE Accelerator. (Not a standard feature)

Informatica PIM Web AI

Web Access runtime for the CLAIRE Accelerator (Not a standard feature)

Select at least

  • 'Informatica PIM Rich Client',

  • 'Informatica PIM Client Win64',

  • 'Informatica PIM Repository Editor Win64',

  • 'Informatica PIM Server Runtime',

  • Informatica PIM Server Win64 Support'.

For full-fledged development you will need all features.

  • Click next. Eclipse will now unpack target platform bundles and features into its internal folders. Click finish and select 'Product 360 Target 64Bit' as default target platform.

  • Add target platform bundles to java search. Window > Show View > Plug-in development > Plug-ins.

    • In the Plug-ins view toolbar click on 'Add All Plug-ins to Java Search'.

    • Your can also check the preference 'Include all plug-ins from target in Java workspace scope' (resp. 'Include all plug-ins from target in Java search' in older Eclipse versions)

      images/download/attachments/294518116/image2020-10-7_18-3-2.png

Install launches and configuration

  • Import the launch and configuration projects into your workspace.

  • Open File > Import > Existing Projects into Workspace.

  • Select the C:\Informatica\PIM-SDK\projects\HENRI directory for the root directory.

  • Check the configuration and the launches project and press finish
    images/download/attachments/294518116/image2020-10-7_18-4-10.png

  • Configure the configuration settings of your project. In the configuration project in your workspace you will find two sub folders, client and server. The client folder holds all configuration files for the client start, usually you do not need to modify anything here. The server folder contains all required configuration files for the server start. At least the server.properties file needs to be configured. In the server folder you will find several server.properties templates (one per supported database). There are a few properties that must be set in order to start the server: See the corresponding section in the PIM Core Installation Manual for details on this configuration.

Example: server properties
filestorage.dir.shared = C:/Informatica/PIM-SDK/projects/HENRI/runtime
license.customer.file.local = ${filestorage.dir.shared}/license/<YourLicenseFile.license>
license.customer.key = <CustomerKey>
db.default.server = localhost
db.default.dir = C:/Informatica/PIM-SDK/projects/HENRI/runtime/database
db.default.schema.suffix = _SDK101

Before setting up your SDK environment you can set up a standalone Product 360 runtime system for your project, you will need the development database anyway. After this you can use the configuration files from this working system and copy them to the configuration/client and configuration/server directory.

For setting up your SDK environment you need a "Informatica Product 360 v10.1" license. Consulting and external implementation partners can request this license from the support department.

  • Copy your license file to the directory C:/Informatica/PIM-SDK/projects/HENRI/runtime/license

Launch Product 360 Server

  • Go to Run > Run Configurations > Eclipse Application > Informatica MDM - Product 360 Server.

  • (Optional) To run P360 with Informatica Media Manager, select 'com.heiler.ppm.feature.opasg.server' as feature to launch with, too.

  • Press run.

Launch Product 360 Client

  • Go to Run > Run Configurations > Eclipse Application > Informatica MDM - Product 360 Desktop Client.

  • Press run.

  • Enter default credentials in the authentication dialog (Username: Administrator, Password: Administrator).

  • Launch Web Access

    • Open your browser and enter the following url: http://localhost:1512/pim (replace localhost with the dest.host from server.properties if configured)

  • Congratulations, you're ready to start developing with Informatica MDM - Product 360!

Launch Product 360 Repository Manager

  • Go to Run > Run Configurations > Eclipse Application > Informatica MDM - Product 360 Repository Manager.

  • Press run.

Launch PIM Database Setup

  • Go to Run > Run Configurations > Eclipse Application > Informatica MDM - Product 360 Database Setup.

  • Press run.

  • For further steps to work with Database setup see: Server Database

Install examples

  • Open File > Import > Existing Projects into Workspace.

  • Select the C:\Informatica\PIM-SDK\examples directory for the root directory.

  • Check all example projects, but the customizing.build and press finish

Examples at a glance

Project

Description

com.heiler.ppm.custom.rest

Examples for own rest based services. Contains a running example for a rest service which is able to return some item data based on EAN numbers

com.heiler.ppm.customizing.activities

Examples how to disable UI contributions (like views, menu items etc.) using "Eclipse activities"

com.heiler.ppm.customizing.article.ui.contributionclass

Example how to replace a standard view (like "Items #1") with a custom view using the extension point contributionClassProviders

com.heiler.ppm.customizing.article.ui.searchView

Example how to customize the standard "Search view" using the extension pont searchViewAdditions

com.heiler.ppm.customizing.ckeditor

Examples how to customize the standard RichText-Editor using extension ponts ckeditorConfiguration, richTextValidators and richTextMarkupConversionExtensions

om.heiler.ppm.customizing.core

Core functionality of your own customizing, is empty by default. Use it as a template for your own customizing code

com.heiler.ppm.customizing.core_test

Test bundle for unit and integration tests. Contains an example for a unit test (CustomizingUnitTest) as well as for an integration test (CustomizingIntegrationTest). Additionally to that it contains working launch configurations for the given test suites. One for integration and one for unit tests. Use this bundle to implement your own tests for your customizing business code.

com.heiler.ppm.customizing.export.core

Examples for implementation of own export data providers, data types and export functions

com.heiler.ppm.customizing.export.core.test

Examples for writing tests for own export functionality

com.heiler.ppm.customizing.server

Server functionality of your own customizing, is empty by default. Use it as a template for your own customizing code

com.heiler.ppm.customizing.spelling.ui

Example how to use the SpellCheckingAPI to spellcheck the whole catalog in a mass-operation

com.heiler.ppm.customizing.ui

UI functionality of your own customizing, is empty by default. Use it as a template for your own customizing code

com.heiler.ppm.feature.customizing.*

Features for the client, server and tests (junit), used for the launch configurations and automatic builds. Add your own customizing plugins to these features

com.heiler.ppm.web.custom.theme

Sample project that demonstrates how to contribute a custom theme for WebAccess. Put your additional style defintions into the styles.css file.

com.heiler.ppm.web.custom.app

Sample project with some basic programmatic extensions of the PIM Web UI.

com.heiler.ppm.web.vaadinsample

Sample web project that shows how to integrate a all new web interface by leveraging the PIM stack and the Vaadin framework.

customizing.build

Ready to use ant targets to build your customizing bundles and tests in an integrated and automated build system. Based on Eclipse p2 build infrastructure.