+

Search Tips   |   Advanced Search


Container Staging

This section describes how to move from an existing HCL Portal environment to a containerized Digital Experience environment.


Prerequisite

The target environment, should exist in a customer-owned Kubernetes environment, requires HCL Portal 9.5 and IBM WebSphere Application Server 9.0.5.15. The HCL Portal and IBM WebSphere Application Server product versions for the source and target environment should be the same level, though it will be sufficient to be on IBM WebSphere Application Server 8.5.5.x with JDK 8.


Export the source HCL Portal server

Follow these steps to export the source HCL Portal server.

  1. Upgrade the source environment.

    Use the IBM Installation Manager, upgrade the HCL Portal product to CF213 or above and HCL Portal 9.5.

  2. Log in to the machine where the source environment is located and set the ulimit -n to 24000.

    For example, ulimit - n 24000.

  3. Verify that the HCL Portal server is started.

  4. Navigate to the PortalServer/bin directory to export the base server.

      /opt/HCL/wp_profile/PortalServer/bin/./xmlaccess.sh -url http://mysource.machine.fqdn:10039/wps/config -user <your DX admin user> -password <your DX admin user password> -in /opt/HCL/PortalServer/doc/xml-samples/ExportRelease.xml -out /tmp/ExportReleaseResults.xml

  5. Save the output XML file (ExportReleaseResults.xml) to an external or shared drive, for use later when importing to the target environment.

  6. Export the content for each Virtual Portal that exists in the source environment, renaming each file uniquely for easy identification.

      opt/HCL/wp_profile/PortalServer/bin/./xmlaccess.sh -url http://mysource.machine.fqdn:10039/wps/config/vpcontecxtroot -user <your DX admin user> -password <your DX admin user password> -in /opt/HCL/PortalServer/doc/xml-samples/ExportUniqueRelease.xml -out /tmp/ExportVP1Results.xml

  7. Save the Virtual Portal output files to an external or shared drive, for use later when importing to the target environment.

  8. Save the /opt/HCL/wp_profile/PortalServer/deployed/archive directory files to an external or shared drive, for use later when importing to the target environment.

  9. If we are using PZN rules, export the PZN rules using the Personalization Administration Portlet functions and save the generated Workspace.nodes file to an external or shared drive, for use later when importing to the target environment.

    1. Log in to the HCL Portal Home Page.
    2. Navigate to Personalization > Business Rules > Extra Actions > Export.

    3. Save the output file.

  10. When applicable, save all custom files (application and theme ear files, war files) to an external or shared drive, for use later when importing to the target environment.


Import the source HCL Portal server

Log in to the machine from where we will access the HCL Portal Container.

  1. Log in to the machine from where we will access the HCL Portal Container.

  2. Download, install, and log in to the command line client for your Kubernetes environment according to the client instructions. For OpenShift, that is Red Hat OpenShift Command Line Client. For EKS, that is the Kubectl command line tool.
  3. With only a single instance of an HCL Portal container running, exec in, and ensure the ulimit -n value is at least 24000.
  4. Empty the base HCL Portal server.

    1. OpenShift:

        oc exec -it dx-deployment-nnnnn /bin/bash
      EKS:

        kubectl exec -it dx-deployment-nnnnn /bin/bash

      • /opt/HCL/wp_profile/ConfigEngine/./ConfigEngine.sh empty-portal -DWasPassword=<your WAS admin user password> -DPortalAdminPwd=<your DX admin user password>
    The output should display a BUILD SUCCESSFUL message. If not, check the /opt/HCL/wp_profile/ConfigEngine/log/ConfigTrace.log for errors.
  5. Clean up the remaining content in the target server using XML Access:

      /opt/HCL/wp_profile/PortalServer/bin/./xmlaccess.sh -url http://my.target.fqdn/wps/config -user <your DX admin user> -password <your DX admin user password> -in /opt/HCL/PortalServer/doc/xml-samples/Task.xml -out /tmp/task_result.xml

    The output should display a BUILD SUCCESSFUL message. If not, check the /opt/HCL/wp_profile/logs/HCL Portal and HCL Web Content Manager/SystemOut.log for errors.

  6. Copy the output XML files, custom ear and war files, Workspace.nodes file, and the ../deployed/archive directory files to a location on this local machine, making sure to preserve the file names and structure from the external or shared drive and then into the DX container.

      • cp /drive/* /tmp/
    1. OpenShift:

        oc cp /tmp/* dx-deployment-nnnnn:/tmp/
      EKS:

        kubectl cp /tmp/* dx-deployment-nnnnn:/tmp/

  7. Create a directory under /opt/HCL/wp_profile to house any custom code or shared libraries.

      • mkdir -p /opt/HCL/wp_profile/customApps

    Note: In any containerized environment, all custom code and shared libraries need to exist under the persisted profile volume.

  8. Move the copied files to the appropriate locations in the container.

      • mv /tmp/custom.ear /opt/HCL/wp_profile/customApps/

      • mv /tmp/deployed/archive/* /opt/HCL/wp_profile/PortalServer/deployed/archive/
  9. Deploy custom applications, predeployed portlets, or themes.
  10. Configure any required syndication properties in the WCM ConfigService. For example, enabling memberfixer to run during syndication.

  11. Create any required configuration items. For example, URLs, namespace bindings, etc.
  12. Import the source server base content into the HCL Portal server in the container.

    1. OpenShift:

        oc exec -it dx-deployment-nnnnn /bin/bash
      EKS:

        kubectl exec -it dx-deployment-nnnnn /bin/bash

      • /opt/HCL/wp_profile/PortalServer/bin/./xmlaccess.sh -url http://my.target.fqdn/wps/config -user <your DX admin user> -password <your DX admin user password> -in /tmp/ExportReleaseResults.xml -out /tmp/ExportReleaseResults_ImportResult.xml
    The output should display a successful execution. If not, check /tmp/ExportReleaseResults_ImportResult.xml for errors.
  13. Update the WCM content in the HCL Portal server instance:

      /opt/HCL/wp_profile/ConfigEngine/./ConfigEngine.sh update-wcm -DWasPassword=<your WAS admin user password> -DPortalAdminPwd=<your DX admin user password>

    The output should display a BUILD SUCCESSFUL message. If not, check the /opt/HCL/wp_profile/ConfigEngine/log/ConfigTrace.log for errors.

  14. If we are using PZN rules, import the PZN rules using the Personalization Administration Portlet functions.

    1. Log in to the HCL Portal Home Page.
    2. Navigate to Personalization > Business Rules > Extra Actions > Import.

    3. Browse to the /tmp/Workspace.nodes file and click Import.
  15. Log in to the HCL Portal home page and verify that the base server is functioning correctly:

    Check the /opt/HCL/wp_profile/logs/HCL Portal and HCL Web Content Manager/SystemOut.log to ensure there are no startup errors.

  16. Create all of your Virtual Portals.

      /opt/HCL/wp_profile/ConfigEngine/./ConfigEngine.sh create-virtual-portal -DWasPassword=<your WAS admin user password> -DPortalAdminPwd=<your DX admin user password> -DVirtualPortalTitle=VirtualPortal1 -DVirtualPortalRealm=VirtualPortal1Realm -DVirtualPortalContext=VirtualPortal1

  17. For each Virtual Portal, import the content using XML Access. Make sure that the context root and the Virtual Portal name both match in the XML Access command.

      /opt/HCL/wp_profile/PortalServer/bin/./xmlaccess.sh -url http://my.target.fqdn/wps/config/VirtualPortal1 -user <your DX admin user> -password <your DX admin user password> -in /tmp/ExportVP1Results.xml -out /tmp/ExportVP1Results_ImportResults.xml

  18. Restart the HCL Portal server and check /opt/HCL/wp_profile/logs/HCL Portal and HCL Web Content Manager/SystemOut.log to ensure no startup errors.


Syndicate the source and target environments

Follow these steps to syndicate the source and target environments. Note that if we have larger libraries, the database must be transferred from Apache Derby to Oracle.

  1. Log in to HCL Portal instance to configure syndication: http://my.target.fqdn/wps/portal

    Navigate to Administration > Security > Credential Vault > Add a Vault Slot.

  2. On the Credential Vault page, select New and provide the following:

    1. Name - enter the name for the vault slot.
    2. Vault resource associated with vault slot - select new and enter the vault resource name.
    3. Vault slot is shared check box - tick this check box and provide the credentials for a user that has appropriate access on the source/syndication system: Shared userid, Shared password, and Confirm password.

    4. Click OK to save the changes.
  3. Navigate to Portal Content > Subscribers. Click Subscribe Now.

  4. In the Subscribe to a syndicator pop-up, provide the following:

    1. Syndicator URL
    2. Syndicator Name
    3. Subscriber Name
    4. Credential Vault Slot created in step 2.

    5. Click Next.

  5. Select the libraries to syndicate and the Scope of the syndication.

  6. Click Finish.

  7. If we have Virtual Portals, we must repeat the syndication steps for each Virtual Portal.

  8. If needed, configure library permissions when syndication is completed.
Additional information: