Manually installing Editor Extension and Viewer Extension

Connections is supported on a larger set of operating systems than what officially supports. HCL Docs and File Viewer extensions are required to be installed on the Connections server. If the operating system does not support the scripts provided or does not support the required level of Python, you might need to install the extensions using a manual process.

Procedure

  1. Log in to the Connections Deployment Manager system with the user who runs the Deployment Manager process.
  2. Extract the extension installation packages to temporary directories.
  3. Open a command prompt and then go to the directory containing ViewerLCCustomizeApp_2.0.0.zip.
  4. Extract ViewerLCCustomizeApp.zip to ViewerExtension.
  5. Extract Viewer_LC35_OSGIExtension.zip to ViewerExtension.
  6. Go to the directory containing DocsLCExtension_2.0.0.zip.
  7. Extract DocsLCExtension_2.0.0.zip to DocsExtension.
  8. Extract Concord_LC35_OSGIExtension.zip to DocsExtension.
  9. Locate the path for Connections provisions. From the WebSphere Application Server console, click Environment > WebSphere variables and search for CONNECTIONS_PROVISION_PATH.
  10. Copy ViewerExtension/com.ibm.concord.viewer.lcfiles.extension.provision_build_number.jar to <CONNECTIONS_PROVISION_PATH>/webresources.
  11. Copy DocsExtension/com.ibm.concord.lcfiles.extension.provision_build-number.jar to <CONNECTIONS_PROVISION_PATH>/webresources.
  12. Locate the WebSphere install root for the Connections cells. From the WebSphere Application Server console, click Environment > WebSphere variables and search for the WAS_INSTALL_ROOT directory for the Deployment Manager.
  13. Update the events-config.xml file in <WAS_INSTALL_ROOT>/profiles/Dmgr01/config/cells/<cellName>/LotusConnections-config/events-config.xml:
    <postHandler enabled='true' class='com.ibm.concord.viewer.lcfiles.daemon.ViewerUploadHandler' invoke='ASYNC' name='ViewerUploadHandler'>
        <subscriptions>
            <subscription eventName='files.file.created' source='FILES' type='CREATE'/>
            <subscription eventName='files.file.updated' source='FILES' type='UPDATE'/>
            <subscription eventName='files.command.createthumbnail' source='FILES' type='COMMAND'/>
            <subscription eventName='files.file.deleted' source='FILES' type='DELETE'/>
            <subscription eventName='files.file.undeleted' source='FILES' type='RESTORE'/>
        </subscriptions>
    </postHandler>
    <postHandler enabled='true' class='com.ibm.docs.lcfiles.daemon.handlers.DocsEventHandler' invoke='ASYNC' name='DocsEventHandler'>
        <subscriptions>
            <subscription eventName='files.file.created' source='FILES' type='CREATE'/>
            <subscription eventName='files.file.updated' source='FILES' type='UPDATE'/>
        </subscriptions>
    </postHandler>      
    Note: If CCM integration is supported, update the events-config.xml file as follows:
    <postHandler class="com.ibm.docs.lcfiles.daemon.handlers.DocsEventHandler" enabled="true" invoke="ASYNC" name="DocsEventHandler">
    <subscriptions>
    <subscription eventName="files.file.created" source="FILES" type="CREATE"/>
    <subscription eventName="files.file.updated" source="FILES" type="UPDATE"/>
    <subscription eventName="ecm_files.approve.file.ecm.review.document.approved" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.post.file.ecm.file.checkin" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.delete.file.ecm.file.deleted" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.delete.file.ecm.version.deleted" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.update.file.ecm.file.checkout" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.add.file.ecm.draft.created" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.follow.file.ecm.follow.created" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.add.file.ecm.file.added.to.teamspace" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.post.file.ecm.draft.updated" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.update.file.ecm.file.restore" source="EXTERNAL" type="*"/>
    </subscriptions>
    </postHandler>
    <postHandler class="com.ibm.concord.viewer.lcfiles.daemon.ViewerUploadHandler" enabled="true" invoke="ASYNC" name="ViewerUploadHandler">
    <subscriptions>
    <subscription eventName="files.file.created" source="FILES" type="CREATE"/>
    <subscription eventName="files.file.updated" source="FILES" type="UPDATE"/>
    <subscription eventName="files.command.createthumbnail" source="FILES" type="COMMAND"/>
    <subscription eventName="files.file.deleted" source="FILES" type="DELETE"/>
    <subscription eventName="files.file.undeleted" source="FILES" type="RESTORE"/>
    <subscription eventName="ecm_files.generate.file.ccm.tool" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.post.file.ecm.file.checkin" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.update.file.ecm.file.checkout" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.delete.file.ecm.file.deleted" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.delete.file.ecm.version.deleted" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.add.file.ecm.file.added.to.teamspace" source="EXTERNAL" type="*"/>
    <subscription eventName="&quot;ecm_files.post.file.ecm.draft.updated" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.update.file.ecm.file.restore" source="EXTERNAL" type="*"/>
    <subscription eventName="ecm_files.approve.file.ecm.review.document.approved" source="EXTERNAL" type="*"/>
    </subscriptions>
    </postHandler>
  14. Create the shared libraries for the daemons as follows:
    1. From the WebSphere Application Server console, click Environment > Shared libraries.
    2. Select a scope for the cell used for Connections.
    3. Click New.
    4. Enter a name for the HCL Docs daemon (DocsDaemonLib).
    5. Specify a classpath to the shared library location where you want to install the daemons. For example, /cs/IBMDocs/docs.daemon/library (if /cs is shared storage accessible by the Connections News nodes).
    6. Click OK. Click Save.
    7. Click New again.
    8. Enter a name for the File Viewer daemon (ViewerDaemonLib).
    9. Specify a classpath to the shared library location where you want to install the daemons. For example, /cs/IBMDocs/viewer.daemon/library (if /cs is shared storage accessible by the Connections News nodes).
    10. Click OK. Click Save.
  15. Associate the shared libraries with the News application.
    1. From the WebSphere Application Server console, click Applications > Application Types > WebSphere enterprise applications.
    2. Find and click the News application.
    3. Under References, click Shared library references.
    4. From the Shared Library Mapping for Modules window, select the News application and click Reference shared libraries button.
    5. Select the HCL Docs and File Viewer shared libraries and move them to the other side.
    6. Click OK. Click Save.
  16. Copy DocsExtension/com.ibm.docs.lcfiles.daemon.jar to the DocsDaemonLib previously created.
  17. Copy ViewerExtension/com.ibm.concord.viewer.lcfiles.daemon.jar to the ViewerDaemonLib previously created.
  18. Edit the JSON files: <cellName>/IBMDocs-config/<cellName>/IBMDocs-config/docs-daemon-config.json and viewer-daemon-config.json to set the URL used to reach HCL Docs or File Viewer (the load balancer, IHS hostname, and so on).
    docs-daemon-config.json:
    {
      "server_url" : "http://renovations.com/docs",
      "auth_type": "BASIC",
      "s2s_token" : "fallseason2011", 
      "ignore_event" : "false"
    }
    
    viewer-daemon-config.json:
    {
      "server_url" : "http://renovations.com/viewer",
      "auth_type": "BASIC",
      "s2s_token" : "fallseason2011",
      "ignore_event" : "false"
    }
  19. Make sure you perform the manual updates to the Connections configuration as described in next topic.