Integrating with Connections

You can configure IBM Verse On-Premises to work with IBM Connections 6 or 5.5 CR2.

Before you begin

Complete the procedure Installing and configuring.

About this task

Integrating with Connections is optional. This integration leverages Connections profiles to enable business cards, photos, and electronic email signatures in Verse. It also enables Verse users to attach and download Connections files when composing and reading messages.

Requirements:
  • IBM Connections 6 (or 5.5 CR2). For Verse On-Premises system requirement details, see the technote IBM Verse On-Premises 1.0.5 System Requirements.
  • The user email address in the Domino Person document Internet Address field must match the email address in the Connections profile. To retrieve information such as a photo, the Domino user address is encoded and a call is made to Connections. The Domino encoded address must match the Connections encoded address to retrieve the information.

This procedure describes the Connections 6 steps to install and configure Connections in your environment and then to enable it to work with IBM Verse On-Premises. For clarity, only Connections 6 procedures are referenced. If you have Connections 6 or 5.5, you do not have to set up a new environment.

Procedure

  1. Install IBM Connections6. See the Installing section of IBM Connections 6 documentation.
    Note: If you upgraded from a Connections release that is earlier than 5.5, complete the procedure Upgrading older profiles.
  2. Configure the IBM HTTP Server that is used to access Connections. See Configuring IBM HTTP Server.
  3. Enable SSL on the IBM HTTP Server. See Configuring IBM HTTP Server for an encrypted connection .
  4. Enable single sign-on for Domino. See Enabling single sign-on for Domino.
  5. Edit the IBM HTTP Server httpd.conf file as follows. This file is typically in the <IHS_ROOT>/conf directory. This step enables cross-origin resource sharing (CORS) so that Verse can access IBM Connections APIs.
    1. Make a backup copy of httpd.conf.
    2. Remove any comment symbols (#) from the following lines:
      LoadModule headers_module modules/mod_headers.so
      LoadModule rewrite_module modules/mod_rewrite.so
    3. Locate an appropriate <VirtualHost> block for your global configuration. This may be a broad virtual server for all requests accessing this host, it may be for SSL traffic only, or it may be mapped for the particular applications you would like to allow. It is often convenient to use <VirtualHost *:443> for this purpose. It must be active for traffic to the Connections APIs that Verse calls.
      Copy the following lines and paste them at the end of the <VirtualHost> block:
      RewriteEngine on
      
      # Minor change to adjust for Cloud vs On-Premises API variation of parameter name
      RewriteCond %{REQUEST_METHOD} PUT
      RewriteCond %{QUERY_STRING} ^(.*)uid=(.*)
      RewriteRule ^/profiles/photo.do /profiles/photo.do?%1userid=%2 [L]
      
      # Added necessary CORS headers when Origin header present
      Header unset Access-Control-Allow-Origin
      SetEnvIf Origin "^https://(vop_server_hostname\.)?(domain_name)$" origin_is=$0
      Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is
      Header always set Access-Control-Allow-Credentials "true" env=origin_is
      Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, slug" env=origin_is
      Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" env=origin_is
      
      Header always set Access-Control-Max-Age "1000" env=origin_is
      Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" env=origin_is
      # Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding, slug" env=origin_is
      Header always set Access-Control-Allow-Headers "X-Requested-With, Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma, slug, X-Update-Nonce" env=origin_is
      Header always set Access-Control-Expose-Headers "Content-Disposition, Content-Encoding, Content-Length, Date, Transfer-Encoding, Vary, ETag, Set-Cookie, Location, Connection, X-UA-Compatible, X-LConn-Auth, X-LConn-UserId" env=origin_is
      
      # Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
      RewriteCond %{REQUEST_METHOD} OPTIONS
      RewriteRule .* - [R=200,L]
      
      # Remove the Origin header if it exists for other requests (POST, GET, DELETE, PUT). Causes problems with Connections returning 403 response.
      RequestHeader unset Origin env=origin_is
      
    4. Find the following line in the pasted text:
      SetEnvIf Origin "^https://(vop_server_hostname\.)?(domain_name)$" origin_is=$0
      Edit this line:
      • Replace vop_server_hostname with the host name portion of the Verse On-Premises mail server name.
      • Replace domain_name with the domain of the Verse On Premises mail server.

      Escape with a backslash (\) any periods in the names.

      For example, assume that your Connections server is https://connections.renovations.com and that your mail servers are:
      https://mail1.uk.renovations.com
      https://mail2.us.renovations.com
      https://mail3.jp.renovations.com

      In this case, specify the following lines:

      SetEnvIf Origin "^https://(mail1\.)?(uk\.renovations\.com)$" origin_is=$0
      SetEnvIf Origin "^https://(mail2\.)?(us\.renovations\.com)$" origin_is=$0
      SetEnvIf Origin "^https://(mail3\.)?(jp\.renovations\.com)$" origin_is=$0 
      Or, specify the following line to represent all the servers, to avoid the need to add a line for each one:
      SetEnvIf Origin "^https://(mail.*\.)?(.*\.renovations\.com)$" origin_is=$0
  6. To enable Verse users to connect to the Connections server, add the following line to the notes.ini file in the Domino data directory:
    VOP_LLN2_BSSUIServer_URL=https://ibm_http_server_hostname
    Note: If the setting is the last line in the notes.ini file, press ENTER after the line.
  7. Restart the Domino® server:
    Restart server