Advanced Infinity Connect customization

Most customization requirements for the Infinity Connect clients can be implemented by using the Pexip branding portal to generate a package of branding files and then applying that branding by uploading the branding package to the Management Node (see Creating and uploading a branding package).

However, for advanced customization requirements you may need to make manual changes to the branding files, or you may want to host the customized web app files on a reverse proxy or external web server instead of on the Pexip Infinity Conferencing Nodes.

This topic covers the alternative methods for hosting the customized web app, and how to manually customize the application.

Note that manual configuration requires knowledge of core web-design technologies such as HTML, JavaScript and CSS.

Hosting the customized web app

There are two methods for hosting the customized Infinity Connect web app, either:

  • on the Conferencing Nodes (via an upload on the Management Node), or
  • on an external web server or reverse proxy.

Hosting on the Conferencing Nodes

This is the standard method for applying branding to the Pexip Infinity platform — it applies a generic customization for all web app users. It involves uploading a branding package to the Management Node which then automatically pushes those changes out to all Conferencing Nodes, from where those customizations are served to all web app users.

Branding customizations that are applied via the Management Node will persist over upgrades to subsequent versions of Pexip Infinity software (although you may need to adapt the customization to cater for any new features when upgrading to a new major release).

For this hosting method, we recommend using the Pexip branding portal to configure the branding requirements for the Infinity Connect web app and to generate a ZIP file suitable for uploading to the Management Node.

Hosting on an external web server or reverse proxy

This hosting method involves copying the entire web app onto an external web server or reverse proxy (e.g. the Pexip Reverse Proxy) and serving it from that server. This method allows you, for example, to host multiple different branding customizations under different URLs on those external web servers or reverse proxies.

Note that files can be copied to or from the Conferencing Nodes using the SCP protocol, for example with a tool such as WinSCP.

Locating the Infinity Connect web app files

The Infinity Connect web app is stored in /opt/pexip/share/web/static/dist/web on the Pexip Conferencing Nodes. If you are hosting the web app on an external web server or reverse proxy, this whole directory tree should be copied over to the other server. (See below for the legacy web app.)

The configuration subdirectory contains the default configuration files:

As you cannot use the Management Node to upload your customized client files when hosting on an external web server or reverse proxy, you must manually place them in a custom_configuration directory (creating it if necessary), at the same level as the configuration subdirectory:

See Manually customizing the application files below for details of the files that you can include in the custom_configuration directory.

Note that:

  • There is not a settings.json file in the original configuration subdirectory as the default settings are built into the app itself, but if you want to customize the settings you must place your settings.json file in the custom_configuration directory along with your other customized files.
  • When hosting the web app on an external web server, you must supply a settings.json file and change the serverAddress variable to point to a Conferencing Node e.g. "serverAddress": "conferencingnode1.example.com". You can only specify one Conferencing Node. This modification is not required if you are hosting the web app on a reverse proxy as it will typically already be configured to forward requests to your Conferencing Nodes.

Locating the legacy Infinity Connect web app files

The legacy Infinity Connect web app is stored in /opt/pexip/share/web/static/app on the Pexip Conferencing Nodes. If you are hosting the legacy web app on an external web server or reverse proxy, this whole directory tree should be copied over to the other server.

The configuration subdirectory contains the files that can be customized (see Manually customizing the legacy web app application files below for details):

When hosting the web app on an external web server, you must edit the configuration/settings.js file and change the serverAddress variable to point to a Conferencing Node e.g. serverAddress: "conferencingnode1.example.com" (by default this variable points to the domain serving the site). You can only specify one Conferencing Node. This modification is not required if you are hosting the web app on a reverse proxy as it will typically already be configured to forward requests to your Conferencing Nodes.

Maintaining customizations when upgrading Pexip Infinity

If the web app is being hosted on an external web server or reverse proxy, the copy of the web app must be upgraded manually whenever the Pexip Infinity installation is upgraded. You should migrate the existing customized custom_configuration directory (or configuration directory if using the legacy web app) on the external web server or reverse proxy onto the new version:

  1. Backup the custom_configuration (or configuration for the legacy web app) directory on the external web server or reverse proxy containing your current customizations.
  2. Upgrade your Pexip Infinity Conferencing Node.
  3. Copy the upgraded /opt/pexip/share/web/static/dist/web (or /opt/pexip/share/web/static/app for the legacy web app) directory tree from the Conferencing Node to the external web server or reverse proxy.
  4. Replace the contents of the custom_configuration (or configuration for the legacy web app) directory with your previously customized contents.
  5. Check if you need to add any more customizations to support any new features.

    When a new version of Pexip Infinity adds more features to the web app, any new customizable elements are added to the default versions of the files in the custom_configuration directory that are shipped with the new software. Therefore, after an upgrade you should compare your customized versions of these files with the new default versions, to see if any text, styles, colors or resource files should be adjusted.

More information

Participant avatars cannot be branded via the web app, but they can be controlled by using external policy or by configuring user records. For full details about how to integrate Pexip Infinity with an external policy server, see Using external and local policy to control Pexip Infinity behavior.

In addition to customizing the appearance of the Infinity Connect web app, you can also use themes to change the voice prompts and images provided to participants when they are accessing a Virtual Meeting Room, Virtual Auditorium or Virtual Reception.

If any further information on customizing Pexip Infinity is required, please contact your Pexip authorized support representative.