Desktop Client Configuration

OSGI Configuration Area

The OSGI Configuration area is a directory used by OSGI to store bundle-related files at runtime (f.e. the swt-win32-...dll). Per default for Product 360 Desktop it is configured to the directory "%USERPROFILE%/AppData/Roaming/Informatica PIM Desktop". The current windows user should always have write access to this directory. If in any case the windows user does not have write access to this directory, it should be changed to a writable directory by changing the value of the VM-Argument -Dosgi.configuration.area in the file pim-desktop.cmd and pim-desktop-debug.cmd.

Server Connection Configuration

The ServerConnection.xml file in the client's configuration folder can be used for specifying low-level communication protocol settings as well as the initial server's connection info (host + port). This guarantees that Product 360 Desktop instances are able to connect automatically to the correct server when deployed and started for the first time. After the start of the client, the client remembers all available servers and those will be used to connect if the configured initial server is not available. This list of servers can also be configured manually in the ServerConnection.xml if required. Each time a client connects successfully to a Product 360 server, the connection info of this server is updated in the ServerConnection.xml file, so when manually choosing a different server, next time the new settings are used.

The file looks like the following:

ServerConnection.xml Example
<?xml version="1.0" encoding="UTF-8"?>
<communication connectTimeout="0" tcpNoDelay="true"
keepAlive="true" defaultRequestTimeout="300000">
<thread-pool maxCoreThreads="5" />
<initial-server host="localhost" port="1712" />
<servers host="localhost" port="1712" connectTimeout="0" tcpNoDelay="true" keepAlive="true"/>
<servers host="localhost" port="1713" connectTimeout="0" tcpNoDelay="true" keepAlive="true"/>
</communication>

The ServerConnection.xml file can contain the following XML elements and attributes:

Element/Attribute

Description

Example/Default

communication

Root element of the server connection.

defaultRequestTimeout

Timeout in milliseconds for requests in communication framework

300000

connectTimeout

The timeout in milliseconds when connecting to the host. A value of 0 is interpreted as an infinite timeout. The connection will then block until established or an error occurs.

0

tcpNoDelay

Disables (= true!) resp enables (= false) the so-called Nagle's algorithm

true

keepAlive

Causes a packet (called a "keepalive probe") to be sent to the connected system if a long time (by default, more than 2 hours) passes with no other data being sent or received. This packet is designed to provoke an ACK response from the peer.

true

useTLS

true in case the communication between desktop client and server should be encrypted. In case the server uses a self-signed certificate, the trust-store element must be defined!

false

thread-pool

Settings for communication framework's thread pool

maxQueueSize

Maximum size of the request/event processing queue. New processing threads will be created only when the queue is full

maxCoreThreads

The maximum number of core threads that are processing request/events. Roughly speaking this is a hint for the thread scheduling strategy which denotes expected number of requests/events to be concurrently processed in a 'normal' operation mode. Scheduling strategy will tend to keep this number of threads in a ready-to-run state. Consider maxQueueSize together with this parameter. For more details concerning scheduling algorithm consult Java SDK ThreadPoolExecutor

maxThreads

The maximum number of threads that are processing request/events. This is a hard limit (in comparison with maxCoreThreads). If this value is reached, server will start rejecting requests

keepAliveTime

Time in milliseconds that the thread scheduling strategy will wait, before reducing number of idle threads down to maxCoreThreads. This value protects from the situations when average number of required threads is higher than
maxCoreThreads and scheduling strategy is constantly recreating threads, because it tries to reduce number of threads down to maxCoreThreads

doPrestartAllCoreThreads

Flag value which instructs node to start all core threads on initialization. Usually this value should not be changed from its defaults (which is false). The reason to set this value to true could be the situation when all clients connect to the server together during a short period of time.

initial-server

Connection settings to the initial application server

host

Hostname of any application server. In case of multi-server deployment this can be just any server of the cluster. The actual server the client connects to will be determined from this server.

port

The port of the Product 360 application on the host

1712

trust-store

file

Path to the file which contains the certificates for the SSL/TLS encrypted communication. The path might be relative to the configuration directory of the server.
For example: In case the server application is installed here: C:/Informatica/Product360/server the configuration folder would beC:/Informatica/Product360/server/configuration/HPM. In case you set the file element to certificates\keystore.jks it is expected to be atC:/Informatica/Product360/server/configuration/HPM/certificates/keystore.jks.
Alternatively you can define an absolute path.

Please note that this file is a keystore file, but it is used as trust store. That means, any certificate in this file will be trusted just like any regular, official certificate. This also means that the trust store element is only needed in case self-signed certificates are used for the communication. Certificates from a trust authority are trusted by default.
It is always recommended to use trusted certificates and not self-signed ones.

password

The password for the keystore file

General Preferences

The Product 360 Desktop preferences dialog contains several settings, which affect the common appearance and layout of the Product 360 Desktop application. The most of this preferences have default values, which can be maintain in the plugin_customization.ini file (on the client). In the following are listed the most important general preferences with the corresponding preference keys which can be used to customize the default values of these preferences.

If you don't know the preference key and the according possible values, you can find your current client settings in <PathToClientWorkspace>client\.metadata\.plugins\org.eclipse.core.runtime\.settings\<plugin_name>.prefs

Load Balancing

Disable Load Balancing

The load balancing of the desktop client can be disabled. This might be required in some customer scenarios in which the also the desktop client load balancing should be handled by an external load balancer.

To disable the desktop client load balancing add the following line to the plugin_customization.ini of the client: com.heiler.ppm.communication.ui/clientLoadBalancingEnabled = false

In this case the client will think that there is only the server which is configured in the ServerConnection.xml file of the client.

Always open Server Selection Dialog

In case the com.heiler.ppm.communication.ui/alwaysOpenServerSelectionDialog preference in the plugin_customization.ini of the client is set to true, the server selection dialog during startup of the desktop client will always open. In case this preference is missing or set to false, the dialog only opens in case the user presses ctrl or shift during startup.

Form settings

images/download/attachments/509533754/pref_form_settings.png

The form settings affects the layout of the form views. On this preference page the user can specify the height of the text boxes.

Number of lines in a multiline text box

Specifies the height of a multiline text box in a form view (e.g. the "Group name" field of the Article entity).

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/form.rows.multiline (the default value is 5)

Number of lines in a multiline rich text box

Specifies the height of a rich text box in a form view (e.g. the "Long description" field of the Article entity).

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/form.rows.multiline.richtext (the default value is 15)

General

images/download/thumbnails/509533754/pref_general.png

Always run in background

Determines if the showing of the progress dialog should be suppressed during a long running operation or an eclipse job is running.

The preference key for the plugin_customization.ini: org.eclipse.ui/RUN_IN_BACKGROUND (the default value is false)

Spellcheck

images/download/thumbnails/509533754/pref_spellcheck.png

Activate spellcheck

Determines if the spellchecking is enabled

The preference key for the plugin_customization.ini: com.heiler.ppm.spelling.ui/spellingEnabled (the default value is true)

Installed dictionaries

In this list all dictionaries are showing which are currently installed on the server. This is for displaying only and has no function.

Object colors

images/download/thumbnails/509533754/pref_object_colors.png

Product

Specifies the object color for the entity Product used for the toolbar background for all views which are showing product-specifc data.

The preference key for the plugin_customization.ini (on the server!): com.heiler.ppm.std.ui/header.background.color.Product2G (the default value is 235,251,210)

Variant

Specifies the object color for the entity Variant used for the toolbar background for all views which are showing variant-specifc data.

The preference key for the plugin_customization.ini (on the server!): com.heiler.ppm.std.ui/header.background.color.Variant (the default value is 255,244,229)

Item

Specifies the object color for the entity Article used for the toolbar background for all views which are showing item-specifc data.

The preference key for the plugin_customization.ini (on the server!): com.heiler.ppm.std.ui/header.background.color.Article (the default value is 215,225,237)

Query

images/download/thumbnails/509533754/pref_query.png

Do not show dialog box for editing queries

Determines if the showing of the "edit query" dialog should be suppressed if the user executes a report query (e.g. using the catalog popup menu)

The preference key for the plugin_customization.ini: com.heiler.ppm.entity.ui/edit.query.dialog.hide (the default value is false)

Structure editor

images/download/attachments/509533754/image2017-5-8_10_40_5.png

The structure editor settings specify the general behavior of the structure editor.

Transfer feature of the parent group when creating structure groups

The preference key for the plugin_customization.ini: com.heiler.ppm.structure.ui/feature_transfer with the options

  • feature_transfer_mode_always

  • feature_transfer_mode_ask

  • feature_transfer_mode_never (default)

Update subgroups when features have been changed

The preference key for the plugin_customization.ini: com.heiler.ppm.structure.ui/feature_update with the options

  • feature_update_mode_always

  • feature_update_mode_ask

  • feature_update_mode_never (default)

Include objects and their attribute assignments when copying structures and structure groups

The preference key for the plugin_customization.ini: com.heiler.ppm.structure.ui/structuregroup_copy_with_mapping with the options 'true' (default) and 'false'.

Table settings

images/download/thumbnails/509533754/pref_table_settings.png

The table settings affects the layout of the table views. On this preference page the user can specify several setting for the tables.

Max. number of rows

Specifies the maximum amount of rows to be displayed in tables. This value is also the threshold to provide so-called "virtual table" with optimized, server-based sorting, filtering etc.

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/table.max-rows (the default value is 10,000)

Max. number of grouping nodes per level

Specifies the maximum amount of table grouping nodes per level.

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/table.max-grouping-nodes (the default value is 500)

Group date/time fields by

Specifies the pattern which is used for the grouping of date-/time-fields.

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/table.date-fields-group-by (the default value is yyyy-MM-dd HH:mm - grouping by minutes).
Other possible values: yyyy-MM-dd HH - grouping by hours, yyyy-MM-dd - grouping by days, yyyy-MM - grouping by months and yyyy - grouping by years.

Region specific sorting of texts

Specifies whether to use locale-sensitive (= "true") resp. locale-insensitive (= "false") string comparison in table sorting.

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/table.sort.locale-sensitive (the default value is false)

Case sensitive sorting

Specifies whether to use case-sensitive (= "true") resp. case-insensitive (= "false") string comparison in table sorting.

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/table.sort.case-sensitive (the default value is false)

Execute "Find and Replace" on server side from

Specifies the minimum amount of rows which are needed for performing a server-side job for a "Find&Replace" operation

The preference key for the plugin_customization.ini: com.heiler.ppm.std.ui/findreplace.serversidejob-rows (the default value is 50)