Version: 2019.4.2

Plugins File Structure

In the following folders the plugins, which are downloaded to each client, are stored on the server:
C:\Program Files (x86)\H&S Heilig und Schubert Software AG\Pam.Storage\Web\Plugin

Until inPoint server 2016.4.x

The folder Client/Core is always created during the installation of the inPoint Server.

Since version 2016.1.4.1, the plugins for the same client version are also created. So depending on which version is installed there is an additional Client_x.x.x/Core folder.
Example: The setup inPoint Server-noSQL_2016.4.1.1 is installed. Therefore a folder Client_2016.4.1.1/Core will be created.

If another client version is installed, the content of the respective Plugins_x.x.x.zip must be unpacked into the Client_x.x.x/Core folder.

Sample structure:
Sample Plugin Structure 2016.4

From inPoint server 2016.5.x

During the installation of the inPoint Server, the following folders are always created:

  • Client/Core
    Version-dependent Core files (DLL Files)
  • Client/Customer
    Version-dependent Customer files (DLL Files)
  • ClientCommon/Core
    Version-independent Core files (Images, text, templates, ...)
  • ClientCommon/Customer
    Version-independent Customer files (Images, text, templates, ...)

No changes may be made in the Core folders!
Customer specific DLL's have to be copied into the respective Client/Customer (Client_x.x.x/Customer) folder in the future. Other customer specific files in the ClientCommon/Customer folder.

The server setup also installs the plugins for the same client version. So depending on the server version an additional Client_x.x.x/Core and a Client_x.x.x/Customer folder will be created.

Example: The setup "inPoint Server-noSQL_2016.5.1.1" is installed. Then the following folders are created after a new installation:

  • Client/Core
  • Client/Customer
  • Client_2016.5.1.1/Core
  • Client_2016.5.1.1/Customer
  • ClientCommon/Core
  • ClientCommon/Customer

When updating from an older server version, everything that was in the plugin folder before will be taken and a new Client_x.x.x/Core and Client_x.x.x/Customer folder will be created. All customer specific files have to be copied manually into the correct folders as described above. All DLL's in the respective Client_x.x.x/Customer folder and all other files in the ClientCommon/Customer folder.

If another client version is installed, the corresponding Plugins_x.x.x.zip must be unpacked. This already contains a Client_x.x.x.x folder with the correct structure. Simply copy this folder into the Plugin folder and then copy any customer specific DLL's into the Customer folder as described above.

Sample structure (new installation of inPoint Server 2016.5.1):
Sample Plugin Structure 2016.5

When a client requests its plugins from the server, the folders are read in the following order:

  • ClientCommon/Core
  • ClientCommon/Customer
  • Client_x.x.x/Core
  • Client_x.x.x/Customer

This makes the following scenarios possible:

  • File ClientCommon/Customer/ja.jpg exists.
  • But for the client in version 2016.5.1 this should be a different one.
  • Then it is sufficient to copy the ja.jpg into the Client_x.x.x/Customer folder.
  • The order in which the files are read overwrites the ClientCommon/Customer/ja.jpg with Client_x.x.x/Customer/ja.jpg.

The folder structure on the client does not change, as the files are still all merged into one folder (Core).

From inPoint server 2018.2.x

Starting with this version, it is possible to manage version-dependent and version-independent customer files separately per tenant.

For each tenant an additional Customer_T%TENANTID% folder can be created.
If several tenants are used per system and certain customer files should only be made available to one specific tenant, this new folder can be used.

The example from above:

  • Client/Core
  • Client/Customer
  • Client/Customer_T2
  • Client_2016.5.1.1/Core
  • Client_2016.5.1.1/Customer
  • ClientCommon/Core
  • ClientCommon/Customer
  • ClientCommon/Customer_T3

When a client requests its plugins from the server, the folders are read in the following order:

  • ClientCommon/Core
  • If available ClientCommon/Customer_T%TenantID from user%, if not ClientCommon/Customer
  • Client_x.x.x/Core
  • If available Client_x.x.x/Customer_T%TenantID from user%, if not: Client_x.x.x/Customer