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:
<?
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 |
|
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. 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. |
|
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
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
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
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
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
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
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
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)