SDL Contenta Server Upgrade Guide for Windows

SDL Contenta 5.8

January 2020 Legal notice

Copyright and trademark information relating to this product release.

Copyright © 2009–2020 SDL Group.

SDL Group means SDL PLC. and its subsidiaries and affiliates. All intellectual property rights contained herein are the sole and exclusive rights of SDL Group. All references to SDL or SDL Group shall mean SDL PLC. and its subsidiaries and affiliates details of which can be obtained upon written request.

All rights reserved. Unless explicitly stated otherwise, all intellectual property rights including those in copyright in the content of this website and documentation are owned by or controlled for these purposes by SDL Group. Except as otherwise expressly permitted hereunder or in accordance with copyright legislation, the content of this site, and/or the documentation may not be copied, reproduced, republished, downloaded, posted, broadcast or transmitted in any way without the express written permission of SDL.

Contenta is a registered trademark of SDL Group. All other trademarks are the property of their respective owners. The names of other companies and products mentioned herein may be the trademarks of their respective owners. Unless stated to the contrary, no association with any other company or product is intended or should be inferred.

This product may include open source or similar third-party software, details of which can be found by clicking the following link: “Acknowledgments” on page 13.

Although SDL Group takes all reasonable measures to provide accurate and comprehensive information about the product, this information is provided as-is and all warranties, conditions or other terms concerning the documentation whether express or implied by statute, common law or otherwise (including those relating to satisfactory quality and fitness for purposes) are excluded to the extent permitted by law.

To the maximum extent permitted by law, SDL Group shall not be liable in contract, tort (including negligence or breach of statutory duty) or otherwise for any loss, injury, claim liability or damage of any kind or arising out of, or in connection with, the use or performance of the Software Documentation even if such losses and/or damages were foreseen, foreseeable or known, for: (a) loss of, damage to or corruption of data, (b) economic loss, () loss of actual or anticipated profits, (d) loss of business revenue, (e) loss of anticipated savings, (f) loss of business, (g) loss of opportunity, (h) loss of goodwill, or (i) any indirect, special, incidental or consequential loss or damage howsoever caused.

All Third Party Software is licensed "as is." Licensor makes no warranties, express, implied, statutory or otherwise with respect to the Third Party Software, and expressly disclaims all implied warranties of non-infringement, merchantability and fitness for a particular purpose. In no event will Licensor be liable for any damages, including loss of data, lost profits, cost of cover or other special, incidental, consequential, direct, actual, general or indirect damages arising from the use of the Third Party Software or accompanying materials, however caused and on any theory of liability. This limitation will apply even if Licensor has been advised of the possibility of such damage. The parties acknowledge that this is a reasonable allocation of risk.

Information in this documentation, including any URL and other Internet website references, is subject to change without notice. Without limiting the rights under copyright, no part of this may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of SDL Group.

ii SDL Contenta Server Upgrade Guide for Windows Contents

1 Preparing for your upgrade ...... 1

Requesting the Contenta license file ...... 3

2 Upgrading Contenta Server ...... 5

Running the installer ...... 6

Upgrading Contenta client workstations and the Contenta database ...... 8

Preventing password expiration for Oracle databases ...... 8

Verifying Oracle character set definitions ...... 9

Removing FlexLM ...... 10

Changing the PcmPortal version ...... 10

Upgrading customized files ...... 11

A Acknowledgments ...... 13

SDL Contenta Server Upgrade Guide for Windows iii iv SDL Contenta Server Upgrade Guide for Windows 1

Preparing for your upgrade 1 Preparing for your upgrade

A number of preparatory steps are required before you can upgrade.

Procedure 1. Check in all objects. 2. Use the SDL Contenta Server Platform Requirements to verify the hardware and software system requirements and to determine the version of Perl for the Contenta version to which you are upgrading. If this Contenta version requires a newer version of Perl than your current version, remove any older versions of Perl before you upgrade.

Note: Contenta 5.8 installs Strawberry Perl in its own install location and does not support Ac- tiveState Perl. Before removing ActiveState Perl, make sure no other Software is dependent on it, for example, SDL XPP.

3. Upgrade and configure your database software to the required version and patch set level. Refer to your database vendor documentation for more information on how to upgrade. 4. Perform the following backup operations: • When not in use, back up the Contenta database using your database backup utility. • Back up your site's custom Contenta tools and scripts. • From the setup/ subdirectory of your Contenta home directory, back up your current custom- ized pdm_setup.sql file. 5. Check and note down the name of the ODBC DBS by opening your Windows Control Panel, then selecting Administrative Tools > Data Sources (ODBC) > System DSN. 6. If you are upgrading from a Contenta release older than 5.5, obtain a license file. 7. Stop the PcmPortal service by opening your Windows Control Panel and selecting Administrative Tools > Services. Find the Windows service called XyEnterprise Contenta Server and stop it. 8. If you are upgrading from Contenta 5.4 or earlier, uninstall the MKS Toolkit as follows. a. Open Windows Control Panel and select Add/Remove Programs > MKS Platform compo- nents 9.x. b. Check any remaining directories and files that were not deleted, and remove them. c. Using the Registry Editor, check the following registry entry to verify that the Nutcracker registry key is not present: HKEY_LOCAL_MACHINE > Software > Data Focus. You should not find an entry called NutCRACKER OE in this location. 9. If you want to configure your system for use in a Citrix environment, refer to the three files in the distr/citrix/ subdirectory of your Contenta home directory, specifically the file CitrixX11Startup. pdf (titled Configuring Citrix server to run XPP/Contenta via a Citrix client using published applications). This document explains how to run SDL Contenta using a Citrix client workstation. 10. If you intend to use the dbimport.pl tool to create your database instance before importing the Oracle .dmp file, the Oracle database administrator must set the deferred_segment_creation property to false to ensure the import of any empty tables in that file. To do so, run the following SQL commands to dynamically alter the Oracle database instance:

2 SDL Contenta Server Upgrade Guide for Windows Preparing for your upgrade 1

alter system set deferred_segment_creation=false scope=both;

Important: The Oracle database administrator must set deferred_segment_creation= false before the database is exported using dbexport.pl.

11. Reboot your system and make sure there are no applications running. The upgrade may raise an error if files are in use by an application.

Requesting the Contenta license file

As of SDL Contenta 5.0, you require a license to use Contenta. Submit a request to SDL Dispatch to obtain a license. Special instructions apply if your are upgrading from a version of Contenta earlier than 4.2.

Procedure 1. Send a request for a license file to dispatch@sdl. com. If you are upgrading from a version of Contenta earlier than 4.2, and if you are installing XPP 8.3 or later followed by a Contenta Server install or vice versa, you must obtain a new combined SDL Product license file. 2. Include the following information in your request: • The site code. You can find this code as your customer number on SDL invoices. • The host name of the designated License Server. • The host ID/Ethernet address for the license server. If you already installed Contenta, the server information about host ID is stored in the file c:\Windows\ hostid.txt. If you are using SDL Contenta on a Windows system that may sometimes be disconnected from the network, include the disk volume serial number instead of the host ID/Ethernet address. 3. When you receive the license file (within 24 hours) as an attachment to the response to your e-mail, save the attachment to c:\Program Files (x86)\XyEnterprise\SDL_License on your license server to a name of your choice, with the .lic extension. The directory must contain only one .lic file. 4. Run the rlmread tool. Refer to the Reprise documentation installed on your license server at the URL http://LICENSESERVERNAME: 5054, where LICENSESERVERNAME is the host name of your license server. Also refer to the file FAQ about Reprise license on your documentation CD. 5. If you are upgrading from a version of Contenta earlier than 4.2, and if you are installing XPP 8.3 or higher followed by a Contenta Server install or vice versa, force the to read the new license file by running the lmreread tool from the license directory or by using the Web interface at the URL http://LICENSESERVERNAME: 5054, where LICENSESERVERNAME is the host name of your license server.

SDL Contenta Server Upgrade Guide for Windows 3 1 Preparing for your upgrade

4 SDL Contenta Server Upgrade Guide for Windows 2

Upgrading Contenta Server 2 Upgrading Contenta Server

To upgrade Contenta Server, run the installer and perform a number of verification tasks. Running the installer

Run the installer to upgrade Contenta Server. After your upgrade is complete, you must reboot your machine.

Procedure 1. Log in as a user with administrative privileges. 2. Back up your system. SDL recommends that you back up your system before installing SDL Contenta or any software. 3. Remove earlier versions of Perl. Refer to the platform requirements document to determine the version of Perl required for the version of Contenta that you are installing.

Note: Contenta 5.8 installs Strawberry Perl in its own install location and does not support Ac- tiveState Perl. Before removing ActiveState Perl, make sure no other Software is dependent on it, for example, SDL XPP.

4. Use pcmsessions for any Contenta Explorer sessions to ensure that all users are logged out of the Contenta system. 5. To prevent the installer from complaining that another install is going on, before beginning the installation, stop the Windows Installer service, reboot, and restart this service as follows: a. Display the services: Control Panel > Administrative Tools > Services. b. Right click on the Windows Installer service then click Properties. Stop. c. Click Manual in the Startup type field, and then click d. Click OK in the services window, and then reboot the system. e. After rebooting, login as a user with administrator privileges and display the services from the Control Panel again. f. Right click on the Windows Installer service, and then click Properties. g. Click Automatic in the Startup type field, and then click Start. 6. Check the directory into which you are installing to be certain that ownership and permissions settings allow you to install into that directory. To check: a. Right click the installation directory, for example, C:\Program Files, then click Propertiesˉ . b. On the Security tab, click Advanced. c. Ensure that your user account has read and execute permission for this directory. d. Ensure that Include inheritable permissions from this objects parent is selected and that the permission applies to this folder, subfolders, and files. e. Click OK to exit the various dialog boxes.

6 SDL Contenta Server Upgrade Guide for Windows Upgrading Contenta Server 2

7. Use Windows to mount the ISO installation file or use a third-party tool to mount the ISO as a disk. If prompted to verify that you want to run the file, click Run.

Note: If the installer does not automatically start, right click the setup.exe file from the ISO file and Run as Administrator. ˉ

8. Click Next in the Welcome window to begin the installation. The installer displays a prompt asking if you want to install Contenta Crawler. 9. Click Yes to install Contenta Crawler. 10. Select the type of database your are using for Contenta and click Next. 11. In the Oracle Home Directory window, edit the Oracle home directory path (if necessary) and click OK. 12. Review the default Contenta database settings (read from the system registry), make any necessary changes, and click Next:

Setting Description Server Socket The PcmPortal number on which the server is to communicate for the Contenta application. ODBC DSN You confirmed this DSN when preparing for the upgrade. Oracle SID Your Oracle service identifier (This settings only appears if you use Oracle.)

13. If you chose to install Contenta Crawler, the system displays the JAVA Home window, prompting you to enter the installation location for Java. Enter the path to the directory where Java is installed, and click Next. 14. If you chose to install Contenta Crawler, the installation program displays the following prompt. Please enter a comma separated list of databases to index. If you have other Crawlers running on other systems, be certain NOT to include database names here that are found in DATABASES_TO_INDEX value of the registry on those other Crawler systems. Enter the comma-separated list of databases to index or leave this field blank if you want to specify the databases to index later and click Next. The installer displays a prompt asking if you have a license file. 15. Do one of the following. • If you have a license file and if this machine is also the license server, click Yes and provide the location of the license, such as C:\Program Files\XyEnterprise\SDL_License and click Next. • Alternatively, if you do not have a license or if this machine is not the license server, click No and click Next. Then enter the license server host name and port number in the next screen, Contenta License Settings. The default port number is 5053. 16. If the error message The following files did not self-register or unregister: NAME.dll. Access denied appears, where NAME.dll is the name of a .NET assembly other than ATL71.dll, do one of the following.

SDL Contenta Server Upgrade Guide for Windows 7 2 Upgrading Contenta Server

• Stop the installation, make sure no running process is accessing the .NET file(s) mentioned, and restart the installer. • Note the full path and file name of each .NET assembly mentioned so these files can be registered manually. 17. Click OK to continue the installation. The installer displays the Update Complete window, prompting you to specify whether you want to restart the computer. 18. At the prompt to restart, do one of the following. • If you noted one or more .NET assemblies in step 16, select No, I will restart my computer later. • If you did not note any .NET assemblies, select Yes, I want to restart my computer now. 19. Click Finish.

What to do next Register the .NET assembly file(s) you noted in step 16 (if any) by doing the following. 1. From the Windows Start menu, select Run. 2. In the dialog that opens, enter the following for each of the .NET assemblies you noted:

regsvr32 "PATH/TO/FILE.DLL" where PATH/ TO/ FILE.DLL is the full path and file name of the .NET assembly. Windows registers the .NET assembly or assemblies. Upgrading Contenta client workstations and the Contenta database

Use the SDL Contenta Client Upgrade Guide for Windows to upgrade at least one Contenta client with Contenta Administration tools. Doing so ensures that you upgrade the existing Contenta database(s) and enables you to verify that Contenta has been upgraded successfully. Preventing password expiration for Oracle databases

Oracle passwords expire by default. This can result in Contenta system failures due to the expiration of the sys, system and xyadmin passwords.

8 SDL Contenta Server Upgrade Guide for Windows Upgrading Contenta Server 2

About this task

CAUTION: Setting the Oracle database password to not expire may violate your organization's security policy.

Procedure 1. To prevent passwords from expiring on your Oracle database server, as the SYS user enter the following.

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED PASSWORD_LIFE_TIME UNLIMITED; NOAUDIT ALL; DELETE FROM SYS_AUD$;

Verifying Oracle character set definitions

Run an SQL command and check the registry to very that the Oracle character set definitions are set correctly and consistently.

Procedure 1. Run the following commands while logged in as user oracle, entering your password if required:

sqlplus /nolog connect /as sysdba

2. From the SQL Plus prompt, enter the following:

select name, value$ value from props$ where name like 'NLS_CHARACTERSET' or name like 'NLS_NCHAR_CHARACTERSET';

3. Verify the following in the results: a. Verify that NLS_CHARACTERSET is set to AL32UTF8. b. Verify that NLS_NCHAR_CHARACTERSET is set to AL16UTF16. 4. From your Windows registry editor, navigate to HKEY_LOCAL_MACHINE > SOFTWARE > ORACLE > KEY_ORACLEHOMENAME, where ORACLEHOMENAME is the name of your Oracle home. 5. Verify that NLS_LANG in this location has a value that corresponds to the value for NLS_CHARAC- TERSET, that is, AMERICAN_AMERICA. AL32UTF8.

SDL Contenta Server Upgrade Guide for Windows 9 2 Upgrading Contenta Server

Removing FlexLM

Only if you are upgrading from a Contenta version earlier than 4.2, remove the FlexLM software, registry entries, and license, unless you use FlexLM for XPP or other programs.

Procedure 1. Access your Windows registry editor. 2. Navigate to HKEY_LOCAL_MACHINE > Flexlm License Manager > XyEnterprise License Manager > License. The value of this key is the FlexLM license file. Remove this file. 3. Remove the following registry entries: • HKEY_LOCAL_MACHINE > Flexlm License Manager > XYMGR_LICENSE_FILE • HKEY_LOCAL_MACHINE > Software > Flexlm License Manager > XyEnterprise License Manager 4. Remove the license service called XyEnterprise License Manager. 5. Remove the following files in the Contenta home directory: • lmgrd.exe • lmgr9a.dll • lmhostid.exe • lmstat.exe • lmtools.exe • xymgr.exe • xymgr.log Changing the PcmPortal version

By default, the upgrade installs one version of PcmPortal (OCI or ODBC) as the default PcmPortal execut- able, based on the database type and version you selected, and the other version as a non-default executable. If you upgrade or change your database, rename the executables to change which PcmPortal is used.

About this task

10 SDL Contenta Server Upgrade Guide for Windows Upgrading Contenta Server 2

The installer installs the OCI and ODBC versions of PcmPortal as follows.

If you selected this database type: This is installed:

Oracle 18c Release The OCI portal is installed as PcmPortal.exe

The ODBC portal is installed as PcmPortal_ ODBC.exe

Oracle 18c Release - ODBC The OCI portal is installed as PcmPortal_ OCI.exe

The ODBC portal is installed as PcmPortal.exe

Microsoft SQL Server The OCI portal is installed as PcmPortal_ OCI.exe

The ODBC portal is installed as PcmPortal.exe

Procedure 1. Open a command prompt. 2. Navigate to the bin\ subdirectory of your Contenta home directory. 3. Rename PcmPortal.exe to the name of the version you do not want to use. For example, to stop using the ODBC version because you have upgraded to the latest supported version of Oracle, rename PcmPortal.exe to PcmPortal_ODBC. exe. 4. Rename the other executable to PcmPortal.exe. 5. Restart PcmPortal.

Upgrading customized files

To prevent the upgrade from overwriting files you may have customized in the working directories, the installer places all new versions of customizable files in the distr subdirectory of your Contenta home directory. Merge these new files with your customized files.

Procedure 1. Access the distr subdirectory of your Contenta home directory to see new versions of customizable files. 2. For each file in this directory, do one of the following: • If you have not customized the file, move it to its destination directory. • Alternatively, if you have customized the file, update your customized file to correspond to the new version.

SDL Contenta Server Upgrade Guide for Windows 11 2 Upgrading Contenta Server

12 SDL Contenta Server Upgrade Guide for Windows A

Acknowledgments A Acknowledgments

SDL Contenta includes open source or similar third-party software.

ActiveState ActivePerl ActivePerl is the industry-standard, commercial-grade Perl distribution used by millions of developers around the world for easy Perl installation and quality-assured code. Adobe FrameMaker Adobe FrameMaker is an XML editor for structured authoring. Apache Commons Codec Apache Commons Codec (TM) software provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs. Apache Commons FileUpload The Commons FileUpload package makes it easy to add robust, high-performance, file upload capability to your servlets and web applications. Apache Commons Logging The Logging package is an ultra-thin bridge between different logging implementations. A library that uses the commons-logging API can be used with any logging implementation at runtime. Commons-logging comes with support for a number of popular logging implementations, and writing adapters for others is a reasonably simple task. Apache HTTP Server Apache HTTP Server is an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. Apache Log4j Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback's architecture. Apache Lucene, SOLR The Apache Lucene™ project develops open-source search software. Arbortext PTC Arbortext is an XML editor for structured authoring. DWR (Direct Web Remoting) DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible. ICU (International Components for Unicode) ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms and between C/C++ and Java software. InstallAnywhere InstallAnywhere is the leading multi-platform development solution for application producers who need to deliver a professional and consistent cross installation experience for physical, virtual and cloud environments. From a single project file and build environment, InstallAnywhere creates reliable installations for on-premises platforms - Windows, , Apple OS X, Solaris, AIX , HP-UX, and IBM

14 SDL Contenta Server Upgrade Guide for Windows Acknowledgments A

iSeries - and enables you to take existing and new software products to a virtual and cloud infrastructure. InstallShield Flexera InstallShield delivers a seamless user install, allowing you to develop MSI and EXE installers, and create Windows Server App and MSIX packages with minimal scripting, coding and rework. jacORB The free Java implementation of the OMG's CORBA standard. JDOM JDOM's mission: to provide a complete, Java-based solution for accessing, manipulating, and outputting XML data from Java code. jQuery jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. jQuery Splitter A splitter plugin for jQuery. jQuery UI jQuery UI is a set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. jQuery.jstree jsTree is a jquery plugin, that provides interactive trees. jsTree is easily extendable, themable and configurable, it supports HTML & JSON data sources, AJAX & async callback loading. JustSystems XMetaL JustSystems XMetaL is an XML editor for structured authoring. LDAP C SDK The C LDAP Application Program Interface Internet Draft defines a set of API functions that you can use to build LDAP-enabled clients. The functionality implemented in this SDK closely follows the interfaces outlined in the Internet Draft, which should become an RFC someday. Using the function- ality provided with this SDK, you can enable your clients to connect to LDAPv3-compliant servers and perform standard LDAP functions. Microsoft Internet Explorer Microsoft Internet Explorer is a series of graphical web browsers developed by Microsoft and included in the line of operating systems, starting in 1995. Microsoft SQL Server Microsoft SQL Server is a SQL-based relational database management system designed for use in corporate applications, both on premises and in the cloud. Visual C++ 2017 Redistributable These are packages which install run-time components required to run C++ applications built in Visual Studio.

SDL Contenta Server Upgrade Guide for Windows 15 A Acknowledgments

Microsoft Visual Studio (C++) Microsoft Visual Studio is a fully featured IDE for Android, iOS, Windows, web, and cloud MKS Toolkit PTC MKS Toolkit for Developers, the award winning and industry-leading Windows / UNIX interoper- ability solution, dramatically improves the compatibility between Windows and UNIX environments. Omnimark OmniMark allows developers to build efficient content conversion pipelines that support the rapid insertion of multiple content filter elements without loss of processing speed. OpenSSL OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. Oracle DB Oracle Database is a multi-model database management system produced and marketed by Oracle Corporation. Oracle Java Java offers developers a contemporary language and platform to create the next generation of rich, scalable, and secure enterprise applications. Purify PurifyPlus™ software is a set of dynamic software analysis tools that help you improve application reliability and performance. PurifyPlus software offers memory debugging, memory leak detection, performance profiling, and code coverage analysis. PurifyPlus helps you locate errors in your code, identify performance bottlenecks as well as untested code, and analyze each component even those without source code. Red Hat Linux Red Hat Enterprise Linux OpenStack Platform delivers an integrated foundation to create, deploy, and scale a secure and reliable public or private OpenStack cloud. Red Hat Enterprise Linux OpenStack Platform combines the world's leading enterprise Linux and the fastest-growing cloud infrastructure platform to give you the agility to scale and quickly meet customer demands without compromising on availability, security, or performance. Reprise License Manager The Reprise License Manager (RLM) is a flexible and easy-to-use license manager with the power to serve enterprise users, and it comes to you from the creators of FLEXlm. Stingray Studio Stingray Studio provides tools for developing complex GUI applications that are easy to build, maintain, and evolve as new technologies improve the look and feel of user interfaces. Strawberry Perl Strawberry Perl is a perl environment for MS Windows containing all you need to run and develop perl applications. It is designed to be as close as possible to perl environment on UNIX systems. Windows Microsoft Windows is a group of several graphical families, all of which are developed, marketed, and sold by Microsoft.

16 SDL Contenta Server Upgrade Guide for Windows Acknowledgments A

Xalan-Java Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements XSL Transformations (XSLT) Version 1.0 and XML Path Language (XPath) Version 1.0 and can be used from the command line, in an applet or a servlet, or as a module in other program. Xerces-C++ Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces Java Parser The Xerces Java Parser 1.4.4 supports the XML 1.0 recommendation and contains advanced parser functionality, such as support for the W3C's XML Schema recommendation version 1.0, DOM Level 2 version 1.0, and SAX Version 2, in addition to supporting the industry-standard DOM Level 1 and SAX version 1 APIs.

SDL Contenta Server Upgrade Guide for Windows 17 A Acknowledgments

18 SDL Contenta Server Upgrade Guide for Windows