SDL WorldServer 11.2
SDL WorldServer 11.2
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.
WorldServer 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 trade-
marks 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 Acknowledgments link in the Online documentation.
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, (c) 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 Web site 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.
Advanced configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Delta configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Delta localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Configuring multiple log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Upgrading WorldServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5 Updating WorldServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Installing an update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Platform notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Welcome to SDL Language Technologies and WorldServer™. SDL WorldServer is a translation manage-
ment system that provides advanced linguistic technology, process automation, content repository
integration and management services. Aligned with SDL Trados Studio™, WorldServer provides consis-
tent analysis and reporting of translation projects for localization managers, project managers, translators
and reviewers.
Scope
The SDL WorldServer Installation and Upgrade Guide provides step-by-step instructions for IT administra-
tors who install and upgrade WorldServer.
There are multiple ways in which you can install WorldServer, depending on the environment on which
you plan to install it. After the installation, you must also make various configurations to ensure that
WorldServer is running properly.
• Make sure that you are familiar with the information in the "Before installing WorldServer" section
and that the environment on which you want to install WorldServer meets the requirements outlined
there.
• Set up the WorldServer database and populate the schema. You can create either a Microsoft SQL
Server database or an Oracle database.
Tip: To create one or more dedicated WorldServer application machines in a clustered mode, first install
WorldServer on each of the machines using the standard WorldServer installation instructions, but do
not create a separate WorldServer database for each installation. Clustered systems use a shared
database.
Procedure
1. Install WorldServer on the WorldServer application server machine.
You can install WorldServer either on Windows or on Linux.
Note: If you also plan to use the WorldServer Report Center, make sure you install WorldServer on
an application server machine whose hostname does not contain _ (underscore). Due to a known
issue, Internet Explorer will not work in conjunction with Report Center if the machine's hostname
contains an underscore. Alternatively, you can use another browser.
Moreover, after installing WorldServer with the installer, you can find details about the status of the
installation in the wsInstallation. log file, which is available at C:\Program Files\Idiom
\WorldServer\IdiomLogs. This is particularly useful in the case of unsuccessful installations.
Note: If you are installing WorldServer on Windows by using the WorldServer installer, this step is
performed automatically during the installation.
3. Configure the WorldServer .properties files to finish setting up your application server
deployment.
Before using WorldServer, you must configure the following properties:
• ws.api.url (in the WS_CONFIG\ws folder, in the ui.properties file)
Important: Make sure that you configure these properties to fully qualified domain names (not to
localhost) and access WorldServer only using these domain names. For further information about
other configurations and properties, see “Configurations in WorldServer”, especially
“Delta configuration” on page 43.
Important: For maximum security, configure these settings so that external users always access
WorldServer via HTTPS.
Note: As of version 11.1, WorldServer supports the AlwaysOn failover feature in SQL Server, which
allows you to store a database on multiple servers simultaneously. Thus, if the primary server experiences
issues, one of the secondary servers becomes primary and you can continue to work without losing
information.
Important: Specify the name of the WorldServer database in ASCII characters only. Do not, for example,
specify a database name in Kanji or Katakana characters. Also, do not include hyphens in the database
name, as this may cause issues during the database population process.
If you want to use the System Monitor tool, make sure that the user also has READ rights on the following
tables:
• sys.dm_tran_locks
• sys.dm_os_waiting_tasks
• sys.partitions
• sys.dm_exec_requests
• sys.dm_exec_sessions
• sys.databases
• sys.dm_exec_connections
Important: When you log in, select SQL Server Authentication from the Authentication list.
2. In Object Explorer, right-click the Database tree, and then click New Database.
3. In the New Database window, type a name for the new database and make other configurations, if
necessary.
4. Click OK. The new database has been created and added to the Databases tree.
Note: Optionally, you can control the location of the default data file and transaction log for this
database. For the best performance, these two files should be on different physical disks (for example,
D: and E:) connected to different I/O controllers.
• create_sp.ms.sql
• create_tr.ms.sql
• setup.ms.sql
2. In SQL Server Management Studio, right-click the database you have just created, and then, on the
shortcut menu, click New Query.
3. Run the following queries:
• create.ms.sql
• create_sp.ms.sql
• create_tr.ms.sql
• setup.ms.sql
Note: Ignore any "MAX row size exceeded" messages that you might see in the output, because they
are expected.
At this point, your database schema has been populated and can be used by WorldServer. You can now
install WorldServer on the supported operating system of your choice.
optimizer_mode=FIRST_ROWS
optimizer_index_cost_adj=10
optimizer_index_caching=90
Adjusting these settings will eliminate nearly all Oracle performance problems. In the rare case that you
need to perform additional tuning, contact SDL support.
When the connection pool is exhausted, WorldServer threads will just block for a free connection,
however long it takes for another WorldServer thread to finish what it is doing and return the connection
to the pool. You might see a lot of blocking (when threads are waiting for connections to become
available) at times of heavy load, if the connection pool is configured too low, or if you already have the
maximum connections to the connection pool. There is a sql.ConnectionPool logging category that
can be turned on to show information about how WorldServer is using connections. This logging
category shows when connections are taken, when they are returned to the pool, how many free
connections there are at any point, when connections are exhausted, and which threads are holding
connections when the pool is exhausted.
You can turn the logging category on and off using a URL like the following:
http://host:8080/ws-legacy/ws_gate?&token=<token>&action=log&level=debug
&category=sql.ConnectionPool
http://host:8080/ws-legacy/ws_gate?&token=<token>&action=log&level=warn
&category=sql.ConnectionPool
Number of cursors
The recommended number of cursors should be:
10 * database_statement_cache_size
Note: WorldServer result sets are automatically closed after the result set is processed.
Important: For Oracle to work with WorldServer, make sure that your LD_LIBRARY_PATH variable
contains the location of the Oracle relational database management system libraries.
Restriction: The name of the WorldServer database must be specified in ASCII characters only. For
example, do not specify a database name in Kanji or Katakana.
1. Create an Oracle database instance using the Oracle Database Configuration Assistant.
• The Database Character Set must be a Unicode-based character set. Set the Database Character
Set to AL32UTF8.
• The National Character Set can be set to either UTF8 or AL16UTF16 based on the characteristics
of the data you will be storing. See the Oracle documentation for recommendations about
which encoding to use.
2. Start sqlplus and log on as a DBA user (for example, system or sys) to create the Oracle instance in
which the WorldServer schema will reside.
3. Recommended: Create a tablespace and a temporary tablespace to hold the WorldServer schema
data.
Tip: The data files for these two tablespaces should be on different hard disk spindles, ideally
hooked up to different I/O controllers, for the best performance.
4. To create a user and the schema associated with that user, enter the following:
If you created the tablespace and temporary tablespace above, use the following syntax:
connect
resource
Create synonym
Create view
Create table
7. Optional: If you want to use the System Monitor tool, run the following commands:
This ensures that the user has READ rights on the following tables:
• SYS.V_$SESSION
• SYS.V_$LOCKED_OBJECT
• SYS.V_$SQLTEXT_WITH_NEWLINES
• SYS.V_$SQL
• SYS.DBA_OBJECTS
8. Exit sqlplus.
create.ora.sql
setup.ora.sql
create_sp.ora.sql
create_tr.ora.sql
2. Log on via sqlplus to the WorldServer database using the WorldServer database user.
3. Run each of the scripts as follows:
@ create.ora.sql
@ setup.ora.sql
@ create_sp.ora.sql
@ create_tr.ora.sql
commit;
4. Exit sqlplus.
At this point, your database schema has been populated and can be used by WorldServer. You can now
install WorldServer on the supported operating system of your choice.
Tip: Make sure that you back up and maintain your database regularly.
Tip: After installing WorldServer with the installer, you can find details about the status of the instal-
lation in the wsInstallation. log file, which is available at: C:\Program Files\Idiom
\WorldServer\IdiomLogs. This is particularly useful in the case of unsuccessful installations.
• You need to create and populate the WorldServer database before installing WorldServer. At the
moment, the WorldServer installer cannot create new databases during the installation process.
• If you are installing on an SQL Server database, you must have an SQL Server client installed on the
WorldServer machine.
• If you are installing on an Oracle database, you must set the NLS_LANG environment variable to
American_America. UTF8 in the System Properties Environment tab.
Procedure
1. If you have a previous instance of WorldServer on your machine, uninstall that instance (Control
Panel > Add or Remove Programs > SDL WorldServer).
Note: You can choose whether you also want to delete the WorldServer database and the RCS
files. Deleting the database of a previous version will cause you to lose all the data for that version,
including your users, workflows, translation memories, and translation databases. You should only
delete the previous database if you are performing a new installation and want to delete all the
old work.
2. If you are installing from a downloaded distribution kit, extract the kit in a temporary folder.
3. Use Windows Explorer to navigate to the newly created WorldServer folder and double-click the
setup_64.exe file.
4. On the Welcome screen, click Next, and then click Yes to accept the License Agreement.
5. On the Setup Configuration Folder Path screen, you can change the folder where you want to store
the configuration files by clicking Change. If the folder already exits, the new files will be added
within the folder and the installer will not overwrite any existing files. The WS_CONFIG system
property is created or updated.
6. Type your user name and company name, and then click Next.
7. Choose a location to install the WorldServer program files, and then click Next.
8. Choose an installation type, and then click Next.
Note: By using the custom option, you can choose a location for the WorldServer log files, the RCS
root, and the WorldServer temp directory. For performance reasons, SDL recommends that you place
the log files and temporary directory on a different physical disk drive than the application server
or the database files. This will reduce I/O contention as WorldServer is running.
Note: If you choose Tomcat, the installer installs Tomcat and sets up WorldServer to work with this
deployment. The WorldServer installer deploys the WorldServer Web application to <WS_HOME>\
tomcat\ webapps\ ws (where <WS_HOME> is the WorldServer home directory, by default
C:\Program Files\Idiom\WorldServer). The installer also creates a service called Idiom Process
Monitor which you can use to start and stop Tomcat.
If you choose Other, you have to browse to the directory where you want to place the WorldServer
WAR (Web archive) files, which you can then deploy under your application server. Choose Other
only if you want to deploy Tomcat manually.
Note: You also need to clear Create DB if you are upgrading from a previous version. Selecting
Create DB with an existing database causes the installation to fail.
d. Specify the username and password that you want WorldServer to use when connecting to the
database.
Note: The WorldServer installer only handles letters, numbers, and underscores in the pass-
word string. Do not specify a password that contains other characters.
• If you cleared the Create DB option in the previous step, you must specify a user that has
the db_owner role for the specified database.
e. Click Next.
For Oracle:
a. The installation requires that you have already created the physical database and that you have
created an Oracle user with the appropriate permissions.
b. To populate the schema, specify the TNSNAME of the database. The TNSNAME can be found in
tnsnames.ora in <ORACLE_HOME>\network\admin.
Note: For a WorldServer installation, do not use the Create DB option for either a new or an
upgrade Oracle installation.
c. Specify the username and password that you want WorldServer to use when connecting to the
database. This user must have runtime access to the database.
Note: The WorldServer installer only handles letters, numbers, and underscores in the pass-
word string. Do not specify a password that contains other characters than these.
d. Click Next.
Note: If at this point, you get a failure message that the system account does not have
sufficient privileges to create the database, the problem is not about the system account's
privileges—it is more likely to be that you did not create the Oracle database user. You should
create the Oracle database user, and then start the WorldServer installation again.
12. Select the program group where you would like the WorldServer shortcuts to be placed, and then
click Next.
13. Review your installation choices, and then click Next.
14. After the files have been copied, click Finish.
15. Deploy WorldServer on your environment.
If you chose to have Tomcat deployed automatically in step 9, you have already finished the
deployment process and you can move on to the next step.
16. Restart your machine.
17. Configure the WorldServer .properties files.
Note: If you want to configure the WorldServer application server to use SSL, consult the SSL setup
instructions for the application server that they are using.
Results
You have now finished installing the components needed for WorldServer to function at a basic level.
What to do next
At this point, you can make various other configurations or you can proceed to installing the Report
Center and the File Type Support (FTS) Server.
Procedure
1. Download the apache-tomcat-8. 0.36.zip file from the internet or copy it from the WorldServer
distribution kit.
2. Extract the contents of the apache-tomcat-8. 0.36.zip file to your <WS_HOME> folder (where
<WS_HOME> is the WorldServer installation folder – by default, C:\Program Files\Idiom
\WorldServer).
3. If you haven't already done so, set the CATALINA_HOME environment variable:
4. Copy the WorldServer WAR files from the WorldServer installation folder to the Tomcat webapps
folder:
5. Start Tomcat.
Note: The startup.bat command requires that you have the JAVA_HOME variable configured to
point to the required Java SDK (that is, 1.8). To set it to the JRE supplied by the SDL installer, use the
following command:
The contents of the ws.war, ws-legacy.war, and ws-api.war files are extracted and the Tomcat
console displays a log such as the following:
Results
You have now finished deploying WorldServer on Windows.
What to do next
At this point, you must configure the .properties files. After that, you can also install the Report
Center and the File Type Support (FTS) Server.
Tip: Make sure you stop Tomcat (> shutdown.bat) before you configure the .properties files and
start it again after you finish.
• Make sure that you have downloaded and installed Java 8, which you can find it in the UNIX folder
of the WorldServer distribution kit. Tomcat requires javac and jdb to run. Therefore, you must have
the full Java SDK installed, not just the JRE.
• Make sure the $JAVA_HOME environment variable is set and points to the Java SDK installation root.
• If you are installing on an SQL Server database, but you want to separate the database creation
process from the installation process, you must create and populate the WorldServer database
before installing WorldServer.
• If you are installing on an Oracle database, you must create and populate the WorldServer database
before installing WorldServer.
• Depending on your installation, you may need root access. Specifically:
• If you want the application server to listen on a port lower than 1024, you have to run the
application server as root.
• If you want to install to a standard location (for example, /user/local), you need permissions
to create the folder.
• We recommend creating a separate Linux user to own and manage the WorldServer processes.
Creating this user may require root permissions.
• If you want to configure WorldServer to start automatically on reboot, you need root access to
install the necessary startup scripts.
Procedure
1. Log in to the target machine as root.
If your system is set up to allow sudo, you may be able to perform these instructions by prepending
sudo to each command.
2. Create a folder for the WorldServer installation, which will be referred to as <WS_HOME>:
3. Create a user to own the installation and set the user’s home folder to the folder you created earlier.
This is a convenient way to collect all the WorldServer assets in a single place and to manage them.
Depending on how you have set up your network, you may want to create either a local user or a NIS
user. To create a local user, run the following command as root:
4. Set the permissions on the folder so that the new user is its owner.
ws11.x.<build number>_unix.tar.gz
Tip: You not need to download the ws.war, ws-api.war, and ws-legacy.war files at the top
level of the FTP website, because they are included in the .zip distribution kit.
8. To enable the rcs (revision control system) application used by WorldServer, as well as various
other executables (for example, wstool and diff), perform the following from the linux/bin
folder:
9. To ensure that your environment is set correctly every time you log in, SDL provides a sample set of
login scripts. Do one of the following:
• If your default shell is in the sh family, copy the .profile file from the unix folder.
• If your default shell is in the csh family, copy the .login file from the unix folder.
You can then use a text editor to modify the contents of this file and provide the correct values for
the WS_HOME, JAVA_HOME, and, if applicable, the ORACLE_HOME, XHIVE_HOME, and TZ environ-
ment variables. These scripts also define the path to the WorldServer binaries.
10. Test that the new scripts are working:
a. Log out of the wrldsrvr account.
b. Log back in to the wrldsrvr account.
c. Run the following command:
The WorldServer installation folder should be displayed. You can now start the WorldServer
deployment process.
11. If you are installing from the network, download the apache-tomcat-8. 0.36.tar.gz file and
copy it to your <WS_HOME> folder.
12. Extract the contents of the file to the <WS_HOME> folder:
> cd $WS_HOME
> gunzip apache-tomcat-8.0.36.tar.gz
> tar -xvf apache-tomcat-8.0.36.tar
The ws.war, ws-api.war, and ws-legacy.war files are placed in the <WS_HOME> folder.
14. Make sure that your environment is set correctly every time you log in by modifying your login
scripts.
• If your default shell is in the sh family, add the following lines to the /usr/ local/ idiom/
worldserver/ .profile file:
CATALINA_HOME=${WS_HOME}/apache-tomcat-8.0.36
PATH=${CATALINA_HOME}/bin:${PATH}
• If your default shell is in the csh family, add the following lines to the /usr/ local/ idiom/
worldserver/ .login file:
Log out, and then log back in for the setting to take effect.
15. Go to apache-tomcat-8.0.36/ bin and start Tomcat to extract the contents of the ws.war,
ws-api.war, and ws-legacy.war files. On the first run, you may need to set execute permissions
on the .sh files.
> cd $CATALINA_HOME/bin
> chmod 777 *.sh
> ./startup.sh
Tomcat automatically unpacks the contents of the ws.war, ws-api.war, and ws-legacy.war
files.
16. Stop Tomcat.
> ./shutdown.sh
Note: If you want to configure the WorldServer application server to use SSL, consult the SSL setup
instructions for the application server that they are using.
Results
You have now finished installing the components needed for WorldServer to function at a basic level.
What to do next
At this point, you can make various other configurations or you can proceed to installing the Report
Center and the File Type Support (FTS) Server.
Prior to WorldServer 11.0, the configuration files were loaded from classpath: config. Starting with
version 11.0, the system checks the WS_CONFIG folder first, looking for the subfolder with the application
name (ws-legacy, ws-api, or ws). In case it does not find it there, it goes to classpath: config.
Important: Make sure that you configure the ws.legacy.url and navigation.panel.url proper-
ties to the publicly available address of the application server and use the same address to access
WorldServer. For example, do not use localhost to access WorldServer if you specified an IP address as
the value for ws.legacy.url and navigation.panel.url.
In the ui.properties file, located in the WS_CONFIG\ws folder, set the value of the ws.api.url
property to the publicly available address of the application server.
The following properties must have the same values across all WorldServer components:
• session_timeout
• use_secure_urls
• temp_file_path
Note: If you use registries, make sure that the value of the temp_file_path property is the same both
in the general.properties file and in the registries.
Also, if you installed WorldServer through Tomcat, you should set the session_client_check
property in the general.properties file as follows:
• to on in the %WS_CONFIG% and ws-legacy folders
• to off in the ws-api folder When you set it to on, the session_client_check property ensures
that a session can only be used by the same browser that created it. If the same URL is used from another
browser, the session is considered invalid and the user has to log in again. This applies to the legacy
and TransPort components of WorldServer. As a security measure, in WorldServer 11.x, users always have
to log in again if they copy the same valid URL into another browser. To enable the session_cli-
ent_check property, your browser must accept cookies.
When installing WorldServer using the Windows installer in a Tomcat environment, all configurations
specified during the WorldServer installation process are written to the registry (in
HKEY_LOCAL_MACHINE/ SOFTWARE/ Idiom/ WorldServer/ Config).Therefore, if you installedWorld-
Server with the Windows installer, you do not have to make these mandatory changes in general.
properties. However, general.properties contains other settings you might want to configure,
which are described in the "Configuring other settings in general.properties" topic.
Tip: Configurations in the registry take precedence over any configurations in the general.
properties file. If you want to use the general.properties file instead of the registry entries, you
will need to clear out the registry settings first.
Procedure
1. On the WorldServer machine, go to the configuration folder of the Web application to find the
general.properties file. Below are some possible locations of this file:
%WS_CONFIG%\<application name>
c:\Program Files\Idiom\WorldServer\tomcat\webapps\<application
name>\WEB-INF\classes\config
$WS_CONFIG/<application name>
/usr/local/idiom/worldserver/tomcat/webapps/<application name>/WEB-
INF/classes/config
2. In Linux environments, WorldServer looks for the general.properties in the following folder
(listed in preferential order):
a. $WS_CONFIG/<application name>.
b. ~user/etc (the home folder of the user that the application server is running as).
c. /usr/local/idiom
d. /etc/idiom
e. classpath:config (for example, <TOMCAT_HOME>/webapps/ws-legacy/WEB-INF/
classes/config )
Note: SDL strongly recommends that you copy the general.properties file from its original
location under the application server into one of these other locations. In particular, each time you
deploy a new version of the WAR file, the contents of the application server folder will be overwritten
and you will lose any changes to your general.properties file.
database_username=worldserver
This will return an encrypted password. For example, a password of transl8 results in the string
4YmA6aCE4aS47buB67qc67uB4YiM.
Copy this string into the general.properties file. For example:
database_password=4YmA6aCE4aS47buB67qc67uB4YiM
7. Change temp_file_path entry to specify the appropriate path for the WorldServer temporary
folder. This should be on a separate physical drive from the rest of the WorldServer installation, for
I/O performance.
For example:
# Temp directory
temp_file_path=c:/temp
or
# Temp directory
temp_file_path=/tmp
Note: When specifying the path, a forward slash (/) must be used, even in a Windows environment.
Make sure you have not accidentally added a tab symbol at the end of the parameter. This symbol
is invisible in the editor, but it may cause WorldServer to read the parameter incorrectly. This note
applies to steps 10 and 11 as well.
Important: The temp_file_path property should have the same value across all WorldServer
components. If you use registries, make sure that the value of the temp_file_path property is the
same both in the general.properties file and in the registries.
8. In addition to the temp_file_path entry, search for other entries related to storage and shared
folders to make sure you have adequate space to operate WorldServer.
These entries include file_attribute_storage, background_file_storage, and ftsserver_
shared_directory. Unless you specify a different location for these entries, they default to a
sub-folder of temp_file_path.
Note: If you are using the FTS server, be especially aware of the ftsserver_shared_directory
entry. Typically, FTS Server copies the source assets of file types to this working directory for
processing. Therefore, it needs the same amount of disk space as the original source assets.
9. If you are using RCS Version Control, change the following entry to specify the appropriate path for
the root RCS folder:
or
10. Specify a different log file path for each WorldServer component by uncommenting and modifying
the following entry in the general.properties file of each component folder (WS_CONFIG,
ws-api, ws-legacy):
1. Uncomment the last two lines by removing the # sign before the word database.
2. In the last line, insert the appropriate URL connection string. The generic URL connection string for
an SQL Server database instance is:
jdbc:idiom:sqlserver://<dbservername>\\<instance if any>:<port if
any>;DatabaseName=<dbname>
Note: The double backslash is required in the general.properties file, but not in the registry.
For example, if the name of the SQL Server database server is wsdata and the name of the database is
worldserver, the entire section will look like this:
# Oracle
#database_driver=com.idiominc.jdbc.oracle.OracleDriver
#database=jdbc:idiom:oracle://host:1521;SID=database
1. Uncomment the last two lines by removing the # sign before the word database.
2. In the last line, insert the appropriate URL connection string. The generic URL connection string for
an Oracle database instance is:
jdbc:idiom:oracle://<dbservername>:<port if any>;SID=<dbname>
For example, if the name of the Oracle database server is wsdata and the name of the database is
worldserver, the entire section will look like this:
Connection parameters
QueryTimeout
By using this parameter, you can set the default query timeout interval (in seconds) for all the
statements created by a connection.
The values you can specify for this parameter are -1, 0, or x, where x is a number of seconds.
• If you specify -1, the query timeout functionality is disabled.
• If you specify 0, the default query timeout is infinite, which means that the query is never timed
out. This is the default value.
• If you specify x, the data driver uses that value as the default timeout for any statement that is
created by the connection. The default value is 0.
You can configure the QueryTimeout parameter in the general.properties file by modifying the
database configuration value. For example:
• Oracle: database=jdbc:idiom:oracle://wsdata:1521;SID=worldserver;
QueryTimeout=300
Property Description
url_of_origin Find this property and modify its value to include
the URL to the root of the WorldServer application
under the application server. For example:
url_of_origin=http://worldserver.company.
com:8080/ws
Property Description
session_client_check When you set it to on, the session_cli-
ent_check property ensures that a session can
only be used by the same browser that created it.
If the same URL is used from another browser, the
session is considered invalid and the user has to
log in again. This applies to the classic and
TransPort components of WorldServer.
As a security measure, in WorldServer 11.x, users
always have to log in again if they copy the same
valid URL into another browser. To enable the
session_client_check property, your browser
must accept cookies.
calculate_segment_length_in_bytes This property determines whether WorldServer
measures segment length in bytes or in
characters. By default, the length is measured in
characters.
To enable length calculation in bytes, set the value
of the property to true. The property only applies
to the maximum segment length limit
functionality. That is, it works in combination with
the property setting for the maximum_target_
length_penalty property, which you can set in
tm.properties.
Property Description
absolute_session_timeout This property manages the timeout of any login
session.
Property Description
prefer_shallow_soap_objects The prefer_shallow_soap_objects property
was added in WorldServer 10.4.5. When you add it
and enable it (prefer_shallow_soap_objects=
true), it addresses an issue related to bad
performance and high memory usage caused by
webservices deep copies for heavy duty resources.
This property will use shallow copies (which do
not expand embedded resources) for the
following resources: WSGroup, WSClient, WSRole,
WSLocale, WSWorkgroup, WSProject. It is
recommended for systems that integrate with SDL
Web and Live Content Architect.
By default, this property is disabled (=false). You
need to add it if you want to enable it. It is not set
to true by default because some integrations
may rely on webservices deep copies.
Read the comments in the general.properties file to see the entire range of available properties.
Enabling entity historyYou can enable the entity history logging category, which adds
information related to changes between users and groups to the task history log, by adding the
following lines to the general.properties file in the ws-legacy folder:
log4j.appender.history.File=<path-to-log-folder>\history.log
log4j.appender.history=org.apache.log4j.RollingFileAppender
log4j.appender.history.MaxFileSize=100000KB
log4j.appender.history.MaxBackupIndex=5
log4j.appender.history.layout=com.idiominc.ws.log.entityhistory.pattern.
EntityEventPatternLayout
log4j.appender.history.layout.ConversionPattern=[%d] %E %O %u: %m%n
log4j.category.com.idiominc.ws.log.entityhistory.EntityHistoryLogger=debug,
history
log4j.additivity.com.idiominc.ws.log.entityhistory=false
, where E is the changed entity, O is the operation performed on the entity, and u is the user who
performed the operation.
Example of history log entries:
Attention: If you add the lines to a general.properties file that is common to all applications instead
of adding them to the one in ws-legacy, the following exception will be displayed:
EntityEventPatternLayout
This exception is caused by the fact that the ws application cannot access the legacy code base.
log4j.appender.stats.File=<path-to-log-folder>\stats.log
log4j.category.STATENG.EVENTS=debug, stats
log4j.additivity.STATENG.EVENTS=false
log4j.appender.stats=org.apache.log4j.RollingFileAppender
log4j.appender.stats.MaxFileSize=100000KB
log4j.appender.stats.MaxBackupIndex=5
log4j.appender.stats.layout=org.apache.log4j.PatternLayout
log4j.appender.stats.layout.ConversionPattern=[%d] %p %t %c: %m%n
where d stands for the date, p stands for the priority (such as debug, warning, error, info), t stands for
the thread on which the login is performed, c stands for the category, m stands for the message displayed,
and n stands for new line.
Further configurations
In addition to the properties presented earlier, you can also configure the following in the general.
properties file:
The values of these properties determine the level of concurrency for either engine:
• A value of 0 means that the engine is disabled on this machine.
For example, the following settings indicate that the background_daemon is disabled on this
machine, and that there is one workflow engine on this machine.
workflow_daemon=1
background_daemon=0
• A value of 1 (the default) means that there is a single engine of that type running on this machine.
Each engine can handle one task or one job at a time.
• A value of 2 means that there are two engines of that type running on this machine and that two
tasks or jobs can run in parallel.
The best performance is achieved by assigning approximately the same number of engines as the
number of CPUs. In dual-CPU application servers, set the number of engines to 2 or 3.
To create one or more dedicated WorldServer application machines, first install WorldServer on each
machine using the standard installation instructions, but do not create a new WorldServer database for
each installation. Make sure that each server points to the same WorldServer database. Then, set the
workflow_daemon and background_daemon properties in general.properties to 0 on each of these
machines. This will disable the workflow engine and background engine on these machines and ensure
that the machines can be dedicated to the WorldServer application.
Whether you have multiple engines on a single machine or multiple engines on separate machines, the
scaling works the same way. Each engine looks for a task or job that it can execute. If it finds one, it
claims it, executes it, and then moves on to the next one. At any given time, each engine is capable of
handling only a single task or job, and a single task or job cannot be shared across multiple engines. If
there was one very large task or job, you would see a single engine processing it and all other engines
would be idle. On the other hand, for a large number of tasks or jobs and multiple engines, you would see
each of the engines claiming tasks to process one at a time.
host-name:[clone-name:]engine-number
where:
• host-name is the name of the server.
• clone-name indicates the instance of WorldServer. If you are running in a cluster, that is,
cluster_environment= true. Otherwise, clone-name is not displayed. The instances can run on a
single server or multiple servers. If you do not provide a clone name, WorldServer displays a unique
hash-code to identify the clone.
• engine-number is a number assigned to each running workflow engine in each WorldServer instance.
To provide a human-readable name for a clone-name, change these properties in the general.
properties file:
clone_name=juliet
Then, on the other machine, you might specify the name as follows:
clone_name=romeo
The Assigned To column will now display the names you have specified instead of the internally-
generated codes.
background_file_storage = c:\WorldServer\background-jobs
Note: You must stop WorldServer before you change the background_file_storage property and
you must copy all the contents of the previously configured folder to the newly configured folder before
you restart WorldServer. Otherwise, WorldServer will not be able to locate the data files or log files of
already existing background processes (and will attempt to recreate log files for them).
You can configure date formats used for background process logging. Change the background.
process.log.dateTimeFormat in WEB-INF/ classes/ config/ strings.properties.The default
configuration is as follows:
# This determines how dates are formatted in background process log files.
background.process.log.dateTimeFormat=yyyy-MM-dd hh:mm:ss,SSS
background_file_storage=//hosting_machine/background_share
Drive letters on different nodes in the cluster do not have to match, but they must all point to the same
fileshare location.
Note: Forward slashes are extremely important if you use UNC paths.
A local file path may be used only for the machine hosting the background file storage, if the machine
is a member node in the cluster. Also, ensure that necessary read/write permissions are granted so that all
background processes on each node in the cluster can read and write both from and to the background
file storage location.
recurrence_engine=on
notification_engine=on
These daemons are required by workflows for time scheduled processing and automatic notifications.
You can turn off the Recurrence and Notification engines by setting the properties to off. Note that
turning off the Recurrence engine also disables the garbage collection process.
Unlike the WorldServer application or the workflow engine, the Recurrence and Notification engines do
not process requests in parallel; there is only one active Recurrence Engine or Notification Engine at
any given time. If you have multiple installations with these engines enabled, the engines simply share
the work among the different instances in a serial manner. Hence, there is no benefit to having a large
cluster of machines in which these are turned on. However, you can enable these engines on multiple
machines to get automatic failover: if one of the machines needs to be brought down, the other machine
will take over the tasks. Thus, it is a good idea to have at least two machines with these engines enabled.
Procedure
1. Open the general.properties file with a text editor.
2. To enable logging connections, add this property to general.properties:
log4j.category.com.idiominc.ws.sql.ConnectionPool.CONNECTIONS=debug
3. To configure the maximum number of statements that you can log for an active connection, add
this property to general.properties:
database_connection_log_max_statements=1
database_connection_idle_time=604800
With this property, you enable the connection pool monitor. You can configure the value, expressed
in seconds, according to your needs. If set to 0 (zero), this option is ignored.
and
database_connection_leak_idle_time=1800
With this property, you can close idle leaked connections. An active connection is considered to be
leaked when no query has been executed within the specified interval and the originating thread is
blocked for some reason.
You can configure the webservices. properties file to restrict user access or grant permissions to
WorldServer Web services of your choice.
Procedure
1. On the WorldServer machine, navigate to the configuration directory of the Web application to find
the webservices. properties file. Here are some possible locations of this file:
•
c:\Program Files\Idiom\WorldServer\tomcat\webapps\<application
name>\WEB-INF\classes\config
• If WorldServer is running on Linux under Tomcat, the webservices. properties file is typically
located in:
•
$WS_CONFIG/<application name>
•
/usr/local/idiom/worldserver/tomcat/webapps/<application name>/
WEB-INF/classes/config
2. Open webservices. properties with a text editor and configure which Web services and
methods are available to your users.
Note: The name of the services or operations are the same as the ones from server-config.
wsdd. The following examples are services and operations from the integration with Studio. Once
defined, only the specified services will be allowed. Also, if no operations are specified for a service,
all its operations are allowed.
allowed_services=WSContext(loginUser);
UserWSUserManager(getUsers,getUser);
ExchangeWSExportImportManager(importKit);
TmWSTmManager(isLiveTmMode,getTm,getAllTms,getAllTms2);
TmWSTm(getSourceTargetLanguages,lookup2,lookupConcordance);
WorkflowWSWorkflowManager(getTask,getProject);
AssetWSAssetManager(getSegment
Rolls back the import of any asset for which a placeholder mismatch error is detected.
false (default)
Imports all valid segments except those for which a placeholder mismatch is detected.
catasset.failOnError.MaxSegmentLength
true
Rolls back the import of any asset that contains a segment that violates the maximum segment
constraint.
false (default)
Imports all valid segments except those for which a maximum segment constraint violation is
detected.
tmSegmentExportLevel
Note: This property applies to XLIFF and XLZ formats only. The settings described here also apply to
the studioTmSegmentExportLevel property.
1 (default)
WorldServer provides translation memory and terminology database entries for any segment that
has fuzzy matches only.
For these segments, WorldServer exports all TD entries, and it exports TM entries in accordance with
the user's minimum score preference. WorldServer does not export TM or TD entries for any segment
that has 100%, multiple 100%, or ICE matches.
This is the default behavior and reflects the way WorldServer currently operates.
2
WorldServer provides translation memory and terminology database entries for any segment that
has fuzzy matches or multiple 100% matches.
For segments with multiple 100% matches, all of the 100% matches and TD entries are exported (but
fuzzy matches are not exported). For segments with no 100% matches, WorldServer exports all TD
entries, and it exports TM entries in accordance with the user's minimum score preference.
WorldServer does not export TM or TD entries for any segment that has exactly one 100% match or
one or more ICE matches.
WorldServer provides translation memory and terminology database entries for any segment that
has fuzzy matches or that has one or more 100% matches.
For segments with one or more 100% matches, all of the 100% matches and TD entries are exported
(but fuzzy matches are not exported). For segments with no 100% matches, WorldServer exports all TD
entries, and it exports TM entries in accordance with the user's minimum score preference.
WorldServer does not export TM or TD entries for any segment that has one or more ICE matches.
4
WorldServer provides translation memory and terminology database entries for any segment that
has a match.
For segments with one or more 100% matches or ICE matches, all of the 100% matches and TD
entries are exported (but any fuzzy matches are not exported). For segments with no 100% matches,
WorldServer exports all TD entries, and it exports TM entries in accordance with the user's minimum
score preference.
studioTmSegmentExportLevel
Note: This property applies to WSXZ (Studio) formats only. The settings for this property are the
same as for the tmSegmentExportLevel property.
4 (default)
The 4 default setting enables Studio to deliver the same leverage for the package as WorldServer. If
you select another value (to reduce the TM/TD content in the package) Studio will have different
leverage reports than WorldServer.
termdb.import.preventDuplicates
true (default)
The values of term and term entry attributes are significant in determining whether two term entries
are duplicates.
false
WorldServer compares the terms only, and does not consider the attributes.
termdb.import.overwriteAttributes
true (default)
WorldServer replaces the term and term entry attributes of the term entry in the DB with the attributes
of a duplicate import term entry, if any.
false
Allows segments to be imported if they are marked as TRADOS XTranslated Units and they have
target changes.
displayXtranslatedWarning
true (default)
Displays a warning message when a segment marked as a TRADOS XTranslated Unit is found and it
has been translated.
false
XlzFormat
true (default)
Displays the Bilingual DOCX format as a choice when exporting translation kits.
false (default)
Displays the Regulator Bundle format as a choice if the selected tasks are in review.
false (default)
Private-use characters are converted to question marks on output and are dropped on input.
false
IdiomTmxVersion
1.4 (default)
Write out a TMX header for Version 1.2. Used rarely when a third-party tool does not accept TMX
Version 1.4.
determineFilterUsingDatatype
true
When performing segment alignment, use the file type that maps to the datatype of the segment in
the TMX file.
false (default)
Note: We recommend that you use the default value for this property. TMX often does not provide
the correct data type. If you set the value of this property to true, an incorrect file type might be used
for your content.
xliff.markICEMatchesAsTranslated
true
When exporting assets in XLIFF format, mark ICE matches as translate=no in the translation-unit
element. This causes smart XLIFF editors to ignore the translation unit altogether, so it is not editable
by translators and does not show up in word counts.
false (default)
When exporting assets in XLIFF format, do not mark ICE matches as translate=no in the
translation-unit element.
studioLocaleMapping
WorldServer language name, Studio 2015 locale code
WorldServer and Studio 2015 use different locale codes for some locales. If you encounter an error
opening a project package you need to create a new mapping. Studio uses the locale codes specified
in .NET, which are listed at the following site:
http://msdn.microsoft.com/en-us/library/system.globalization.
cultureinfo%28VS.85%29.aspx
Errors also appear if the package uses a locale code without a region code, such as en instead of
en-US. This mapping fixes that issue:
Remember that studioLocaleMappingN entries must be unique. Add more locales to the list as
necessary, as long as you adhere to the given format.
bdx.segment.layout
SideBySide (default)
Compare source and target segments vertically in a bilingual DOCX review document.
TopDown
Compare source and target segments horizontally in a bilingual DOCX review document.
Background colors for bilingual DOCX review documents
Determine the background colors of the segments in each TM match status in a Bilingual DOCX file.
Any color names that are defined in a .NET System.Drawing.Colorclass can be used.
The following colors are configured by default:
bdx.IceMatchColor=LightGray
bdx.ExactMatchColor=PaleGreen
bdx.FuzzyMatchColor=Wheat
bdx.NoMatchColor=White
export_backward_compatible_package
Controls if the translation kit can be opened in versions of Studio prior to SDL Trados Studio 2015.
The backward compatible version will contain the previously available single Project TM (the Idiom.
tmx file) in addition to the multiple TMX files respecting the TM Group definition in WorldServer.
Using the backward compatible option can affect the export performance since two TM lookup
operations need to be performed. Select this option only if you know that you or your translation
team are not using SDL Trados Studio 2014 or later.
true
Exports both the link and the content of the WSXZ package.
• You can activate the slide-out navigation pane and make it available throughout all the
WorldServer UI screens. To do so, set ws.enforce.navigation.panel= true and hide the
old menu of the legacy UI by setting navigation.panel.url= <new-UI-link> in general.
properties.
• If your WorldServer session ever becomes desynchronized with the HTTP session, causing the
browser to enter an infinite request loop, set session.synchnorization. rate= 1 in
ui.properties.
Important: There are two types of user sessions in WorldServer: a backend session (the WorldServer
legacy session) and a UI session (managed by Spring). The two sessions are synchronized through
calls to the REST API and the session.synchronization. rate parameter in ui.properties
determines when those calls are made.
For example, let's assume that both the backend session and the UI session are set to 600 seconds.
If it is not absolute, the backend session can be extended by 600 seconds when a user performs an
action. The UI session uses a different logic, hence the need to synchronize the two sessions. If
session.synchronization. rate= 4, then a call is made to the REST API when there are
600/4=150 seconds left of the initial UI session, to see if the backend session has been extended
and to synchronize the UI session with it. If the response is that the backend session has been
extended, then the UI session is extended as well, but only after the call. If a UI session has expired,
but the backend hasn't expired, the login page is displayed and the user will still have to log in again.
The default value of the session.synchronization. rate parameter is 4 and you can specify
values between 1 and 5. If you specify a value lower than 1 or higher than 5, the default minimum
(1) or default maximum (5) value will be used instead. Keep in mind the benefits and drawbacks of
each possibility when configuring this parameter. For example, if you set it to 1, many unnecessary
calls will be made to the REST API, which might affect performance. On the other hand, if you set it
to 5, the UI session might expire before the backend session, which means that the user will have
to log in again, even though the backend session might still be valid.
• The scoping_mode property allows customers who have upgraded from a pre-10.0 version of
WorldServer to specify whether legacy WorldServer 9.x or Studio-aligned scoping mode and
leverage implementation is used for translation projects or ad-hoc translation jobs. Allowed
values are worldserver9x or studio.
Note: For version 10.0 or later, the legacy worldserver9x option will not be available.
• Translation memory (TM) mode mechanisms let you specify date and time replacements, as
well as number and measurement replacement options. To find the settings that apply to the
Studio-aligned TM mode introduced in version 10.0, search for entries that start with STUDIO_.
• The enable_preserve_tm_entry_identifiers property should be set to True to preserve
the translation memory (TM) entry identifiers whenever the TM entry is updated. By default,
TM entry identifiers are mutable; they change whenever the TM entry is updated.
• SentenceBreaker. properties and WordBreaker. properties – see WorldServer Translation
Memory Administration Guide.
• exchange.properties – A Java properties file that allows you to configure behaviors of the
WorldServer import and export functions. See the File Properties appendix in the WorldServer
Administrator Guide.
Advanced configurations
This section presents advanced administrative information about the locations in which the system
searches for configurations and localization strings, as well as the priority of each location. It also includes
information about how to configure multiple log files.
Delta configuration
As of version 11.0.1, WorldServer consists of three components: the new web interface (ws), the new
REST API (ws-api) and the legacy application (ws-legacy). In previous 10.x versions, you could specify
a certain configuration value only in one place (i.e. classpath). However, starting from version 11.0.1,
you can customize configuration files in different locations and you no longer need to have a copy of the
entire configuration file. The wsconfig folder should contain only the properties configured for that
specific environment. Moreover, configuration properties can now be shared between components (ws,
ws-api, and ws-legacy), because WorldServer uses three layers of configuration with given priori-
ties, as explained below. This mechanism makes the upgrade process easier and it separates out-of-
the-box configuration values from custom configuration values.
If you set WS_CONFIG as a system variable, three layers of configuration will be merged when searching
for a configuration key:
1. %WS_CONFIG%/<application-part-name> (where<application-part-name> is one of: ws, ws-api,
or ws-legacy). This layer should contain configuration values specific to each component.
2. %WS_CONFIG%. This layer should contain configuration values shared between components.
3. classpath. This layer contains out-of-the-box configuration values and should not be modified.
When trying to get a configuration value, the framework will search in the configuration files in the
above order, returning the most specific value and ignoring the others.
Recommended configuration
• The Tomcat application folder— the values are configured by default for all files.
• %WS_CONFIG%/ ws/ ui.properties — UI configurations. You must provide values for configura-
tions: ws.legacy.url, ws.api.url, ws.api.version.
We do not recommend having specific general.properties for ws. Being decoupled from ws-
legacy code, only the following configurations from general.properties will be read:
• session_client_check
• use_http_only_cookies
• use_secure_urls
• temp_file_path
• password_autocomplete.
This is the minimal configuration that you need in order to run WorldServer. The other configuration
values are set by default. If you want to customize other configuration files, we recommend putting them
in %WS_CONFIG% so that ws-legacy and ws-api will be able to access them. However, we do NOT
recommend changing the configuration files in the classpath (the expanded war in Tomcat).
Note: If you use registries, the configuration set will have priority over the file configuration.
If you encounter any issues related to configurations, please refer to the “Troubleshooting configuration
issues” section in the online documentation.
Delta localization
The main principle that governs the priority of a message key is: the more specific its location is, the
higher its priority. In other words, the changes you make to localization strings in WorldServer are now
processed according to a hierarchy that is similar to the one used by configurations. Therefore, to have
your changes displayed on the interface, you must save them in high priority locations.
When searching for a localization string, the system searches in the following locations and in the
following order:
1. %WS_CONFIG%/<component-part-name>
2. %WS_CONFIG%
3. classpath
If you want to change localization strings from the standard WorldServer interface or if you have
customizations in WorldServer and want to add new strings, you can do so either by overwriting the
existing strings in the localization files or by adding new strings in the files in the WS_CONFIG folder (#1
or #2). The files in the WS_CONFIG folder should contain only new or changed strings.
WorldServer has two localization services: one on the frontend (UI), which loads only the ui_strings.
properties file, and one on the backend, which loads both ui_strings and strings bundles. A
resource bundle is a set of files of the same type (such as ui_strings.properties, plus all its specific
localized versions).
ui_strings.properties files are only for the labels on the WorldServer user interface. They can be
generic (the ones displayed if no languages are configured) or they can be specific (per locale –
ui_strings_en. properties – or per locale and country code – ui.strings_en_US. properties).
The more specific a file is, the higher its priority. For example, within a resource bundle,
ui_strings_en_US. properties has priority over ui_strings_en. properties and over ui_
strings.properties.
Moreover, if a certain string has not been localized in a language, the system will use the value it finds in
the generic ui_strings.properties file. If a string is not found in the first bundle, the system will
try to find it in the second, and then in the third, based on their priority.
Important: In WorldServer 11.1, localization files are located by default in classpath. Do not change
them. If you intend to modify existing strings or add new strings, create a new file with the same name in
a higher priority location (#1 or #2) and include only the strings that you want to add or to change. If
you have localization files in %WS_CONFIG% (as artifacts from previous installations), but you do not intend
to make changes, delete them from locations #1 and #2.
The localization bundles in WorldServer are reloadable, which means that you should see the changes
you make in the localization files without having to restart the server. However, localization content is
cached on the backend. Therefore, some strings may not be available immediately after refreshing
the page. To see the updated values without restarting the server, we have created an endpoint through
which you can clear cache: http://<host>/ ws/ localizations/ refresh.
Procedure
1. In the WS_CONFIG folder, open the general.properties file with a text editor and configure the
common properties related to logging.
2. Go to the WS_CONFIG/ws-legacy folder and open the general.properties file with a text
editor.
3. Search for the log4j.appender.logfile.File property. If it is not already there, add it.
Specify the name and the path of the log file that you want to use for ws-legacy as its value.
Example: For example:
log4j.appender.logfile.File=<drive>:/<file path>/ws_legacy.log
, where <drive> and <file path> are the drive and the exact path where you want the log file to be
stored.
4. Go to the WS_CONFIG/ws-api folder and open the general.properties file with a text editor.
5. Search for the log4j.appender.logfile.File property. If it is not already there, add it.
Specify the name and the path of the log file that you want to use for ws-api as its value.
Example: For example:
log4j.appender.logfile.File=<drive>:/<file path>/ws_api.log
, where <drive> and <file path> are the drive and the exact path where you want the log file to be
stored.
6. Go to the WS_CONFIG/ws folder and open the general.properties file with a text editor.
7. Search for the log4j.appender.logfile.File property. If it is not already there, add it.
Specify the name and the path of the log file that you want to use for ws as its value.
Example: For example:
log4j.appender.logfile.File=<drive>:/<file path>/ws.log
, where <drive> and <file path> are the drive and the exact path where you want the log file to be
stored.
Important: Make sure that logging is not configured from the Windows Registry. Otherwise, these
properties are ignored.
8. Restart WorldServer.
9. Optional: Roll back the log files that you have just configured.
• For ws-legacy: In WorldServer, go to Management > Administration > System Logs and
click the roll log icon next to the ws-legacy log file.
• For ws-api: Obtain an admin token and enter the following in your browser's address bar:
http://<ws-host>:<port>/ws-api/v1/wsgate/rollLogFile?appenderName=
logfile&token= <admin token>.
Your ws-api log file is rolled back successfully if true is displayed.
• For ws: Obtain an admin token and enter the following in your browser's address bar:
http://<ws-host>:<port>/ws/wsgate/rollLogFile?appenderName=logfile&token
= <admin token>.
Your ws log file is rolled back successfully if true is displayed.
Live TM mode
WorldServer translation memories (TMs) can be configured to operate in live mode. In live TM mode,
entries are added to the translation memory constantly during the translation process, and the status is
tracked to distinguish various types of entries. Translation memories are updated whenever the seg-
mented asset cache is updated. Any operation that updates the segmented asset cache will update the
translation memory (for example, saves to the Asset Interface System, uploads from desktop translation
tools, and so on).
Note: Live TM mode is enabled by default. To check this, open the tm.properties file and make sure
that the value of the enable_live_translation_memory property is true.
In addition to enabling real-time sharing of translation memory, live translation memory mode makes
it possible to effectively update projects by restarting tasks without losing work.
The combination of live translation memory mode and segment status makes it possible for translations
to go into translation memory as soon as possible for the benefit of all translators. At the same time,
translators can distinguish between translations that have been through a review process and those that
might have just been added.
As translators work, the source and target text are copied from the segment cache to the translation
memory. The segment translation status (Pending Review, Reviewed, Rejected, or no status) deter-
mines if a segment is added to or updated in the translation memory and what translation status the
corresponding entry should have.
Procedure
1. Install WorldServer with the installer.
2. Test the installation and make sure that you can log in to WorldServer.
3. If the Idiom service is started, stop it.
4. Go to <ws-home>/tomcat/ webapps, and then delete the ws folder, along with the WAR files
associated with it.
5. Rename the ws-legacy folder and WAR file from <ws-home>/tomcat/ webapps.
Tip: In the WS_CONFIG folder, make sure that no other folders related to ws are left from the initial
installation. The only folders that you should keep are the ones related to ws-legacy and ws-api.
Do not forget to rename these folders to match the name of the WAR files from tomcat/webapps.
6. In the transportconfig. properties file, uncomment the appropriate line and change the
value of the enable_new_create_project_wizard property to false.
7. Start (or restart) the Idiom service.
8. In your browser's address bar, type: http://<ws-ip>:<port>/<war-name>/login, where
<ws-ip> and <port> are the IP address and port of the server on which WorldServer is installed,
whereas <war-name> is the name you gave to the ws-legacy WAR file when you renamed it.
Tip: If you want modify the shortcut created during the installation to access WorldServer, you can
only do so if the ws-legacy folder and the WAR file are renamed as ws. Otherwise, you need to
create a new shortcut.
Procedure
1. Install Tomcat as a service.
You can use the installer provided in the WorldServer distribution kit.
2. If the Tomcat service is started, stop it.
3. Copy the ws-legacy.war and ws-api.war files to <tomcat-home>/webapps, and then rename
the ws-legacy file.
4. Create a folder named WS_CONFIG.
5. Copy the necessary configuration files in the WS_CONFIG folder from another instance of World-
Server or from classpath and configure them.
Tip: The WS_CONFIG folder is created and populated automatically when installing WorldServer
with the installer. You have to re-create the same structure of the folder when you copy the
configuration files. To see the exact structure and the files you need to copy, go to a WorldServer
instance installed with the installer.
6. Add WS_CONFIG as an environment variable and specify the location of the WS_CONFIG folder as its
value.
7. In the transportconfig. properties file, uncomment the appropriate line and change the
value of the enable_new_create_project_wizard property to false.
8. Start the Tomcat service.
9. In your browser's address bar, type: http://<ws-ip>:<port>/<war-name>/login, where
<ws-ip> and <port> are the IP address and port of the server on which WorldServer is installed,
whereas <war-name> is the name you gave to the ws-legacy WAR file when you renamed it.
Before you decide to remove the 11.x interface and use only the legacy part of WorldServer, you should
take into consideration the following points about machine translation adapters:
• You can add the Language Cloud adapter as a custom component in legacy, but you can create
new configurations only through the WorldServer 11.x interface. Therefore, if you remove the 11.x
sections of the interface, you cannot create or view Language Cloud adapter configurations.
• If you add the Language Cloud adapter and create configurations before removing the 11.x sections
of the interface, you can still use these configurations in legacy by going to Tools > Machine
Translations > Language Cloud Adapter, and then selecting the appropriate configuration from
the MT Adapter Configuration list.
• You can create configurations for the BeGlobal adapter both in WorldServer 11.x and in WorldServer
legacy and you can also view or modify existing ones.
Important: For maximum security, configure these settings so that external users always access
WorldServer via HTTPS.
Procedure
1. Make machine1:8080 your normal Tomcat instance. All the internal WorldServer users should go
to http://machine1:8080/ws/login.
Note: For instructions about setting up Tomcat for SSL, see <WS_home>\ tomcat\ conf\ server.
xml.orig. You will be instructed to “Uncomment the SSL HTTP/1.1 Connector entry in
$CATALINA_HOME/ conf/ server.xml and tweak as necessary.” Then, find and uncomment the
following:
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
2. Set up a front end Web server listening on a different IP address or port, such as machine2:443.
Configure this machine as a proxy server, forwarding requests to machine1.
Note: Apache Tomcat has out-of-the-box features that allow Web servers to be set up this way.
3. After you have set up your infrastructure like this, set up your firewall to only allow access to
machine2 via SSL and block any external access to machine1. This allows you to force any external
user to go through the secure connection to WorldServer.
Results
The following figure illustrates this setup. Figure: Secure WorldServer Connection Setup
Procedure
1. Go to the WEB-INF/ classes/ config folder of the installed Web application to find the general.
properties file.
2. Open the file in a text editor.
3. Change the use_secure_urls setting to true.
4. Save the file.
5. Restart WorldServer. (All properties changes take effect after a restart.)
What to do next
You should enable the session_client_check property. When you set it to on, the session_
client_check property ensures that a session can only be used by the same browser that created it. If
the same URL is used from another browser, the session is considered invalid and the user has to log in
again. This applies to the legacy and TransPort components of WorldServer. As a security measure, in
WorldServer 11.x, users always have to log in again if they copy the same valid URL into another browser.
To enable the session_client_check property, your browser must accept cookies.
You should make this change when WorldServer is not in active use. Users who are logged in when you
enable this setting will receive an Access Denied message when they click on links. They will need to close
their browser session and log in again.
For a full list and description of the available samples, see the SDL WorldServer Software Development Kit
(SDK) User Guide.
All the samples are included in the wssdk_<version.build>.zip file in your WorldServer distribution
kit (for example, in WorldServer 9, the package was named wssdk_9.0.0.276.zip where 9.0.0 is the
release version and 276 is the build).
Results
You will now see the SDK samples you uploaded both in the list on the Management > Administration
> Customization page and in the page corresponding to that type of object. For example, if you
uploaded the SDK sample automatic actions, you will see them in the list of available actions in the
workflow editor when you add an automatic action. All components defined in the uploaded archive
will be added to WorldServer even if they are not of the type you selected from the list. For example, if
your component archive file has auto actions and triggers and you load it from the auto action view, both
the automatic actions and the triggers will be loaded. You will only see the automatic actions listed,
because you are on the auto action page. If you go to the triggers page, you will see the components
that were also added in that area.
In the uploaded components list, the components that have been uploaded as samples have a check
box next to them, so that you can delete them. Core out-of-the-box objects do not have check boxes next
to them.
Note: In addition to these SDK samples that you can upload to WorldServer, SDL provides sample
objects that are installed with WorldServer and which you can import into WorldServer by going to
Management > Administration > Import Objects. Some of the sample objects that you can import
have dependencies on already uploaded SDK sample objects. For example, the “Advanced Quote
Approval Process Workflow” depends on the SDK sample “Set Quote Status” automatic action that has
already been uploaded. If you try to import the “Advanced Quote Approval Process Workflow” object
before you upload the “Set Quote Status” automatic action sample, the import will fail and it will tell you
which object is required.
Procedure
1. Go to Management > Administration > Import Objects - Step 1 of 2, browse to the
XML file of the sample you want, and click Upload File.
The samples are located in the samples\ deployment directory of your WorldServer installation.
For example, if your installation is in C:\Program Files and you want to import the Quote
Approval Process workflows, you would browse to C:\Program Files\Idiom\WorldServer
\samples\deployment, and then to \ workflows\ quote_processing_workflows. xml.
2. Select the primary objects that you want to import, and then click Next.
3. Confirm the objects that you want to import by clicking Import.
Note: Some of the sample objects that you can import have dependencies on already uploaded
SDK sample objects. For example, the "Advanced Quote Approval Process Workflow" depends on the
SDK sample "Set Quote Status " automatic action sample that has already been uploaded. If you
try to import the "Advanced Quote Approval Process Workflow" object before you upload the "Set
Quote Status " automatic action sample, the import will fail and it will tell you which object is
required.
Before you can use SDL Online Editor on your environment, you need to deploy it, to configure World-
Server to connect to it, to grant the appropriate permissions to your user types, and to add two new
automatic actions to your workflows. SDL Online Editor is usually deployed through Chef Solo on a
different machine than WorldServer.
Note: You have to install SDL Online Editor on a different machine than the one on which you
installed WorldServer or the File Type Support (FTS) Server. Install SDL Online Editor only after you
have installed WorldServer and the FTS Server.
• Prior knowledge about Chef Solo and about deployments performed through Chef Solo.
Minimum requirements for the SDL Online Editor machine: 2 CPU cores at 2.40 GHz each and 4 GB of
RAM.
Recommended configuration for the SDL Online Editor machine: at least 4 CPU cores at 2.40 GHz each
and 8 GB of RAM.
Tip: Always take into consideration your specific use cases when planning for your deployment. When
multiple users are using SDL Online Editor at the same time, each user requires at least 100 MB of RAM. For
example, if 100 users will be using SDL Online Editor on your environment at the same time, your
machine needs to have at least 10 GB of RAM.
Load testing results suggest that on a WorldServer machine with 10 workflow engines where 4 of the
16 GB of RAM are allocated to Apache Tomcat, you can successfully upload ten 90000-word assets at the
same time. In this case, uploading refers to the Enable Online Editing step in your workflow.
Note: If you encounter errors or other issues during the installation, delete the C:\Chef and C:\chef_
solo_ue folders and start over from the beginning.
Procedure
1. Deploy SDL Online Editor through Chef Solo.
2. Configure WorldServer to connect to SDL Online Editor.
3. Optional: Change the location of the SDL Online Editor log files.
4. Grant the appropriate SDL Online Editor permissions to your user types.
5. Modify your workflows to include the automatic actions that are specific to SDL Online Editor.
Note: You have to install SDL Online Editor on a different machine than the one on which you
installed WorldServer or the File Type Support (FTS) Server. Install SDL Online Editor only after you
have installed WorldServer and the FTS Server.
• Prior knowledge about Chef Solo and about deployments performed through Chef Solo.
Minimum requirements for the SDL Online Editor machine: 2 CPU cores at 2.40 GHz each and 4 GB of
RAM.
Recommended configuration for the SDL Online Editor machine: at least 4 CPU cores at 2.40 GHz each
and 8 GB of RAM.
Tip: Always take into consideration your specific use cases when planning for your deployment. When
multiple users are using SDL Online Editor at the same time, each user requires at least 100 MB of RAM. For
example, if 100 users will be using SDL Online Editor on your environment at the same time, your
machine needs to have at least 10 GB of RAM.
Load testing results suggest that on a WorldServer machine with 10 workflow engines where 4 of the
16 GB of RAM are allocated to Apache Tomcat, you can successfully upload ten 90000-word assets at the
same time. In this case, uploading refers to the Enable Online Editing step in your workflow.
Note: If you encounter errors or other issues during the installation, delete the C:\Chef and C:\chef_
solo_ue folders and start over from the beginning.
Procedure
1. Copy the SDL Online Editor deployment kit to the machine where you want to deploy SDL Online
Editor.
2. On the same machine, start a Windows PowerShell session as an administrator.
3. Run the following commands:
, where <kit location> is the location where you copied the SDL Online Editor deployment kit (for
example, E:\chef_solo_ue).
The contents of the kit are copied and deployed and the following Windows services are installed:
• SDL BCM Service
• SDL Editor Service
• SDL Editor Service Router
• SDL Semantic Logging Service
Important: Do not modify the commands or the location where the contents are extracted
(C:\chef_solo_ue).
Important: Throughout the entire topic, <ws-host> is the name or IP address of the machine
where WorldServer is installed and <port> is the number of the port on which WorldServer is
installed.
Example:
Forexample, http://11.234.56.78:8080/ws-api/v1/onlineAssets/{0}.
6. Change the value of the UserDetailsServiceUrl property to
http://<ws-host>:<port>/ws-api/v1/users/me/details.
Example:
Forexample, http://11.234.56.78:8080/ws-api/v1/users/me/details.
7. Change the value of the ProfileProviderUrl property to
http://<ws-host>:<port>/ws-api/v1/lp/ue/profile.
Example:
Forexample, http://11.234.56.78:8080/ws-api/v1/lp/ue/profile.
8. Change the value of the TqaProfileProviderUrl property to
http://<ws-host>:<port>/ws-api/v1/lp/ue/tqa/profile.
Example:
Forexample, http://11.234.56.78.8080/ws-api/v1/lp/ue/tqa/profile.
9. Change the value of the ProfileProvider, TqaProfileProvider, AuthenticationProvider,
and TranslationSettingsProvider properties to WS.
Example:
For example, add key="ProfileProvider" value="WS", add key="TqaProfileProvider"
value="WS", and so on.
10. Change the value of the WsServiceRoot property to http://<ws-host>:<port>/ws-api/v1.
Example:
For example, http://11.234.56.78:8080/ ws-api/ v1.
11. Save and close the SDL.EditorService. Host.exe.config file.
12. Go to C:\Program Files\SDL\Editor Service Router\bin and open the
Sdl.EditorServiceRouter. Host.exe.config file with a text editor.
13. Change the value of the EsPoolUrl to <oe-host>:80, where <oe-host> is the name or IP address
of the machine on which SDL Online Editor is installed.
Example:
For example, 87.654.32.11: 80.
14. Change the value of the AuthenticationServiceUrl property to
http://<ws-host>:<port>/ws-api/v1/onlineAssets/{0}.
Example:
Forexample, http://11.234.56.78:8080/ws-api/v1/onlineAssets/{0}.
15. Change the value of the UserDetailsServiceUrl property to
http://<ws-host>:<port>/ws-api/v1/users/me/details.
Example:
Forexample, http://11.234.56.78:8080/ws-api/v1/users/me/details.
16. Change the value of the AuthenticationProvider property to WS.
Example:
For example, AuthenticationProvider= WS.
17. Save and close the Sdl.EditorServiceRouter. Host.exe.config file.
18. Go to C:\Program Files\SDL\BCM Service and open the Sdl.BcmService.Host.exe.
config file with a text editor.
19. Change the value of the PoolAddress property to <oe-host>:80, where <oe-host> is the name
or IP address of the machine on which SDL Online Editor is installed.
Example:
For example, 87.654.32.11: 80.
20. Go to C:\Deployment\ ES\ Dev and copy the DLL files from that folder to C:\Program Files\SDL
\Editor Service\bin.
21. Restart the SDL Editor Service Router service.
22. Restart the SDL Editor Service.
23. Restart the SDL BCM Service.
24. Verify that the SDL BCM Service is working properly by typing <oe-host>:8080/ bcms/ health in
your browser's address bar, and then pressing Enter:
What to do next
Configure WorldServer to connect to SDL Online Editor.
Procedure
1. On the WorldServer host machine, go to the WS_CONFIG directory and open the general.
properties file with a text editor.
2. Add the following properties:
• sdl_online_editor_enabled=true
What to do next
If you want the SDL Online Editor log files to be saved to a different location that the default one, change
the location of your log files. If not, grant the appropriate SDL Online Editor permissions to your user
types.
Procedure
1. Go to <service-location>\bin, where <service-location> is the path to the folder corresponding
to the service for which you want to change the location of the log file.
Example:
For example, C:\Program Files\SDL\Editor Service Router\bin.
2. Open the Sdl.<service-name>.Host.exe.config file with a text editor.
In this case, <service-name> is the name of the service for which you want to change the location of
the log file.
Example:
For example, open the Sdl.EditorServiceRouter. Host.exe.config file with Notepad++.
3. Search for the fileName attribute.
You can find this attribute on a line that starts with the following:
4. If the section that contains the fileName attribute is commented out, uncomment it.
5. Change the value of the attribute from "${basedir}\logs\<service-name>.log" to the
location where you want the log file to be stored.
Example:
For example, fileName="C:\My Logs\EditorServiceRouter.log".
6. Save the file.
7. Restart the service for which you changed the location of the log file.
8. If necessary, change the locations where the log files of other services are stored.
Procedure
1. In WorldServer, go to Management > User Setup > User Types.
2. Click the user type to which you want to grant permissions.
3. On the User Type: <name> page, under "Edit/Translate" button, select SDL Online Editor.
The users in the current user type can now open assets in SDL Online Editor.
the legacy interface, users can see the button, but a message informing them that they need
to configure SDL Online Editor is displayed when they click it.
• If sdl_online_editor_enabled= true and the SDL Online Editor permission is not granted,
The SDL Online Editor button is not displayed at all, regardless of the user interface.
Moreover, even if sdl_online_editor_enabled is true and the SDL Online Editor permission is
granted, you still need to add the appropriate automatic actions to your workflows for users to be
able to open the asset in SDL Online Editor.
4. At the bottom of the same page, under SDL Online Editor, grant some or all of the following permis-
sions, according to your needs:
• SDL Online Editor – Use this option to select or clear all the check boxes under this one.
• Track Changes – Select this check box to allow the users in the current user type to track
changes.
• Translation Memory – Select this check box to allow the users in the current user type to
search and update the translation memory. The Lookups pane is displayed by default when a
user with this permission opens an asset in SDL Online Editor.
• Comments – Select this check box to allow users in the current user type to view, add, or
modify comments.
• Edit Source – Select this check box to allow users in the current user type to split and merge
segments.
• Review Tab – Select this check box to give users access to the Review tab on the SDL Online
Editor user interface.
• Filter Segments – Select this check box to allow users to filter segments.
• Quality Assessment – Select this check box to allow users to assess the quality of a translation.
5. Do one of the following:
• Click Save to change the changes you made to the current user type.
• Modify the name of the user type and click Save As New to save your changes as a different
user type.
What to do next
Modify your workflows to include the automatic actions that are specific to SDL Online Editor.
Add the Enable Online Editing automatic action before each human step that you want users to perform
in SDL Online Editor and the Save Online Asset automatic action after each such human step.
There are two human steps (Translate and Review), but only one of them (Translate) has Enable Online
Editing before it and Save Online Asset after it. This means that users will be able to use SDL Online Editor
only if the task they are working on is in the Translate step. This also means that they will use another
tool to review the asset.
Important: Always make sure that the Enable Online Editing automatic action comes after the Segment
Asset automatic action in your workflow.
Also, make sure that each human step that you want users to perform in SDL Online Editor has either
the Translate or the Review step type in the step's advanced options. To check this, double-click the step
on the workflow, and then, in the Human Step Properties dialog box, click Advanced. In the
Advanced Options dialog box, the value selected in the Step Type list should be either Translate or
Review.
Note: With this configuration, segments with ICE matches have the Reviewed status in WorldServer
and the Translation Approved status in SDL Online Editor or in SDL Trados Studio. Also, segments
with 100% matches have the Pending Review status in WorldServer and the Translated status in SDL
Online Editor or in SDL Trados Studio.
Upgrading WorldServer
4 Upgrading WorldServer
When you upgrade to a newer version of WorldServer, your users will not have access to the program
for a certain period of time. You need to plan that period in advance and inform users before you upgrade.
Important: If you are upgrading from a 10.x version of WorldServer and you use web services, you
need to change the endpoint to which you connect to <ws host>:<port>/ws-legacy/ services,
where <ws-host> is the name or IP address of the machine on which WorldServer is installed and <port>
is the number of the port on which WorldServer is installed.
Procedure
1. Install the supported version of the Java JDK.
Note: For information about the supported JDK version, see the "Before installing WorldServer"
section. Apache Tomcat is included in the WorldServer installation kit.
2. Download the version of WorldServer that you want to upgrade to from the WorldServer distribution
site.
3. Stop WorldServer.
You can stop and start WorldServer from the application server on which it is deployed.
4. Back up the appropriate files and components, including the WS_CONFIG folder.
Tip: Make sure that all the custom properties you have set are in the WS_CONFIG folder.
5. Set the appropriate environment variables, including JAVA_HOME, WS_HOME, WS_CONFIG, as well
as variables specific to the application server.
6. Test the current database schema, and then upgrade the WorldServer database schema.
7. If you are not using the WorldServer installer to install Apache Tomcat and the Java Runtime Environ-
ment, make sure you have the supported Tomcat and Java Runtime Environment versions installed.
8. Upgrade the WorldServer software.
Perform this step only once, regardless of the version you are starting from.
9. Validate your upgrade.
Results
You have finished upgrading WorldServer. You can now start WorldServer and verify that the program
works as expected.
Note: You must clear your browser's cache before running an upgraded version of WorldServer for the
first time.
Procedure
1. Make a backup copy of the entire folder tree of your installation (<WS_HOME>).
Note: In the locations given below, <WS_HOME> is the top-level directory where WorldServer is
installed. By default, this is:
For Windows:
c:\Program Files\Idiom\WorldServer
For Linux:
/usr/local/idiom/worldserver
2. If you are using Apache Tomcat on Linux and you have an existing Output and Artwork framework,
also back up $TOMCAT_HOME/ conf/ server.xml.
3. Back up your WorldServer database.
4. Back up all filesystem mounts to which WorldServer connects.
5. Save any reports you have created.
• SYS.V_$LOCKED_OBJECT
• SYS.V_$SQLTEXT_WITH_NEWLINES
• SYS.V_$SQL
• SYS.DBA_OBJECTS You can achieve this if you connect as sysdba and run the following commands:
where <USERNAME> is the name of the database user and is provided as an argument to Oracle SQL
Developer.
• sys.dm_os_waiting_tasks
• sys.partitions
• sys.dm_exec_requests
• sys.dm_exec_sessions
• sys.databases
• sys.dm_exec_connections
After you upgrade your database, you must upgrade the WorldServer software and the database objects
and validate your database objects.
Note: This topic includes instructions for upgrading from WorldServer 9.4.0 onwards. If you are using
an earlier version of WorldServer, please contact SDL Technical Support.
In most cases, the database schema upgrade will be performed by a database administrator. You should
inform this administrator that the files required for the schema upgrade are in the upgrade folder of
the WorldServer distribution kit.
The following steps provide general, high-level guidelines for upgrading a WorldServer database. If your
company does not have its own database strategy, consider using this one.
1. Inform all users prior to upgrading that the WorldServer program and database instance will be
down (specify the exact time period).
2. Disable all access to the production WorldServer database at the planned time.
3. Back up your WorldServer system — both the files and database(s).
4. Follow the documented steps to upgrade the WorldServer database, keeping these notes in mind:
• It may take a while for the main upgrade script to finish running; the time depends on the size
and tuning of the database, as well as on the configuration of the database server.
• Read all log files carefully before proceeding to another step and be patient.
• If you run into problems, send the log files to SDL Technical Support.
5. Run the correct upgrade scripts for your Oracle or SQL Server database, and then verify that the
upgrade script was executed successfully.
The upgrade scripts are in the upgrade folder of the WorldServer distribution kit. The upgrade
\1000 folder contains scripts to test your database before upgrading. The upgrade\1010 folder
contains the scripts for performing and then testing the upgrade: testschema.sh (Linux) or
testschema.bat (Windows).
Note: See the release notes for any additional information about upgrades. Cumulative updates and
hotfixes may also require database upgrades.
• Make sure you have a user with the required roles and system privileges granted in Oracle SQL
Developer. If you do not have such a user, create one.
• Required roles: connect and resource
• Required privileges: Create synonym, Create view, and Create table
Tip: To assign these roles and privileges, you can commit a grant statement that includes the
following:
• Make sure you have a database connection for the WorldServer version you want to upgrade from.
For example, if you want to upgrade from version 10.4.3, make sure you have a 10.4.3 database
connection.
Procedure
1. Associate the database connection with the user:
a. In Oracle SQL Developer, under Connections, right-click the appropriate database connection,
and then, on the shortcut menu, click Properties.
b. In the Username box, type the name of the user with all the roles and system privileges.
c. In the Password box, type the password of that user.
d. Select the SID option and change its value to wsdb.
e. Click Test, and then, if the result is successful, click Connect.
2. Copy the appropriate upgrade scripts to a local folder.
You can find these scripts in the upgrade folder of the WorldServer distribution kit.
Example: For example, if you want to upgrade from version 10.4.3 to version 11.0.1, go to the
upgrade folder of the WorldServer 11.0.1 distribution kit and copy the following upgrade scripts:
• WS-Upgrade-10.4.3-to-10.4.4.ora.sql
• WS-Upgrade-10.4.4-to-11.0.ora.sql
• WS-Upgrade-11.0.0-to-11.0.1.ora.sql
Important: Make sure that you run each script on the database connection associated with the
user. Click Commit after running each script.
Results
You have now upgraded your Oracle database schema.
What to do next
At this point, you have to validate your upgrade. Make sure you have finished running all the database
upgrade scripts before you test your upgrade with the testschema script.
• Make sure you have selected Mixed Mode Authentication when installing SQL Server.
• Perform the following procedure with the "sa" user and select SQL Server Authentication from the
Authentication list when you log in to Microsoft SQL Server Management Studio.
• Make sure you have a database for the WorldServer version you want to upgrade from. For example,
if you want to upgrade from version 10.4.3, make sure you have a 10.4.3 database.
Note: The name of the database must not start with a number.
Procedure
1. Copy the appropriate upgrade scripts to a local folder.
You can find these scripts in the upgrade folder of the WorldServer distribution kit.
Example: For example, if you want to upgrade from version 10.4.3 to version 11.0.1, go to the
upgrade folder of the WorldServer 11.0.1 distribution kit, and copy the following upgrade scripts:
• WS-Upgrade-10.4.3-to-10.4.4.ms.sql
• WS-Upgrade-10.4.4-to-11.0.ms.sql
• WS-Upgrade-11.0.0-to-11.0.1.ms.sql
2. Run the upgrade scripts.
Results
You have now upgraded your SQL Server database schema.
What to do next
At this point, you have to validate your upgrade. Make sure you have finished running all the database
upgrade scripts before you test your upgrade with the testschema script.
Procedure
1. Uninstall your previous WorldServer instance (for Windows, use Add or Remove Programs to
select SDL WorldServer).
This is particularly important if you are upgrading from a WorldServer 10.0 32-bit installation to a
later version on a 64-bit environment.
2. Do one of the following:
• For Windows: Run setup_64.exe for 64-bit systems and extract the WS11<build number>_
win.zip distribution file.
The installer installs new versions of WorldServer, Tomcat, and Java Runtime Environment. You do
not need to download or install the ws.war, ws-legacy.war, and ws-api.war files. These files are
included in the distribution kit of the operating system.
• For Linux: Extract the WS11<build number>_unix.tar.gz distribution kit.
3. Make sure that WorldServer is stopped.
You can stop and start WorldServer via the application server onto which it is deployed.
4. Deploy your WorldServer upgrade.
5. Optional: Install the WorldServer Report Center.
6. Optional: If you implemented additional custom code in an earlier version of WorldServer, recompile
the code against the new version of WorldServer and upload it again.
Note: If you need help with this upgrade, please contact SDL Professional Services.
7. Optional: If you keep an exchange.properties file with custom properties in the WS_CONFIG
folder, do the following:
a. Open the file and search for a line called studioLocaleMapping51 = Norwegian, no.
b. If the studioLocaleMapping51 = Norwegian, no line is in the file, comment it out or
delete it.
c. Save and close the exchange.properties file.
8. Restart WorldServer.
9. Optional: If you are upgrading from a version earlier than 11.1 to WorldServer 11.1 or later and you
want to use the Convert PDF to Word 2007-2010 automatic action, upgrade all of your automatic
actions by doing the following:
a. Extract the contents of the WorldServer SDK archive to a location on your machine.
You can find the SDK archive in the WorldServer distribution kit.
b. In WorldServer, go to Management > Administration > Customization.
c. In the Custom component type list, select Automatic Actions.
d. Click Add.
e. In the new window, click Browse, and then select the autoaction_libraries. zip file from
the extracted SDK archive.
You can find this file in the libraries\dist folder of the WorldServer SDK.
f. Click OK.
Procedure
1. Copy the SDL Online Editor deployment kit to the machine where you want to deploy SDL Online
Editor.
2. Go to the chef_solo_ue\ utils\ nuggets folder of the updated SDL Online Editor kit.
3. Copy the NUPKG files from that folder to C:\chef\ nuggets.
4. Back up the Sdl.EditorService. Host.exe.config file (you can find it in C:\Program Files
\SDL\Editor Service\bin) and the Sdl.EditorServiceRouter. Host.exe.config file (you
can find it in C:\Program Files\SDL\Editor Service Router\bin) to a secure location of
your choice.
5. Go to C:\chef_solo_ue\ environments and open the chef_solo_env. json file with a text
editor.
6. In the section corresponding to each service, change the value of the nugetSource property to
reflect the latest versions that you copied from the SDL Online Editor kit to C:\chef\ nuggets.
These sections are:
• cc_bcm for the SDL BCM Service
• cc_ue
Example: For example, "C:\\ Chef\\ nuggets\\ Sdl.BcmService-4. 0.0-b197.nupkg" for the
SDL BCM Service, "C:\\ Chef\\ nuggets\\ Sdl.EditorService-1. 11.0-b1021.nupkg" for
the SDL Editor Service, and so on.
7. In the section corresponding to each service, change the value of the version property to reflect
the latest versions that you copied from the SDL Online Editor kit to C:\chef\ nuggets.
Example: For example, "4.0.0-b197" for the SDL BCM Service, "1.11.0-b1021" for the SDL
Editor Service, and so on.
Important: For each section, the version must be the same both under nugetSource and under
version.
cd \chef_solo_ue\utils
.\script.ps1
Note: Do not open the Services window while you run the command. Also, if the command is
unsuccessful and certain services appear as disabled, you need to restart your machine and run the
command again.
11. Restore the backed up configuration files to their initial locations (C:\Program Files\SDL
\Editor Service\bin for Sdl.EditorService. Host.exe.config and C:\Program Files
\SDL\Editor Service Router\bin for Sdl.EditorServiceRouter. Host.exe.config).
12. Go to C:\Deployment\ ES\ Dev and copy the DLL files from that folder to C:\Program Files\SDL
\Editor Service\bin. Replace the existing files.
13. Restart the SDL Editor Service Router service.
14. Restart the SDL Editor Service.
15. Restart the SDL BCM Service.
16. Verify that the SDL BCM Service is working properly by typing <oe-host>:8080/ bcms/ health in
your browser's address bar, and then pressing Enter:
• If the service is working properly, the status is UP (<Status>UP</Status>).
• If the service is not working properly, the page is not displayed.
Throughout this topic, <oe-host> indicates the name or IP address of the machine on which you
Results
You have upgraded your version of SDL Online Editor successfully.
Procedure
1. Make sure that the WS_HOME environment variable points to your WorldServer installation.
Note: If you set WS_HOME to a location that has spaces in the name, you cannot use quotes around
your path when you define it. Use a path like this:
• WS_HOME=c:\program files\idiom\worldserver\tomcat\webapps\ws-legacy If you
surround the path in quotes, the batch files will fail with the following error:
set WS_HOME=<TOMCAT_HOME>\webapps\ws-legacy
set CATALINA_HOME=<TOMCAT_HOME>
• For Linux:
export WS_HOME=<TOMCAT_HOME>/webapps/ws-legacy
export WS_CATALINA=<TOMCAT_HOME>
For Linux:
The testschema script verifies all the steps of the incremental upgrade process and that the entire
schema complies with the latest version of WorldServer.
What to do next
Once you have validated your upgrade, you have to start WorldServer, verify that the program works as
expected, and notify your users that WorldServer is online again.
Procedure
1. Download the latest version of the distribution kit on a central WorldServer node.
2. Back up the WS_CONFIG folder from each node.
Thus, you will be able to restore your configurations if your data ever becomes corrupted. Also,
make sure that all the custom properties you have set are in the WS_CONFIG folder.
3. Run testschema.sh (Linux) or testschema.bat (Windows).
4. Upgrade the database from the first server.
This is the only schema upgrade you need to perform.
5. On the first server application, install the new WorldServer software and, if WorldServer requires a
new version, install new versions of Java and Apache Tomcat.
6. If relevant, run wsupgrade.sh (Linux) or wsupgrade.bat (Windows) from the first server to
complete Java-based upgrades of WorldServer objects.
7. Run the testschema.sh (Linux) or testschema.bat (Windows) testing script to verify the
database schema upgrade.
8. Start WorldServer on the first application server and check that it is working properly.
9. On each subsequent machine, install the new WorldServer software and, if WorldServer requires a
new version, install versions of Java and Apache Tomcat.
10. Check if any new configuration properties have been introduced in the current release and specify
values for them in the WS_CONFIG folder.
11. Start all instances and test the newly upgraded installation.
Updating WorldServer
5 Updating WorldServer
SDL sometimes releases updates to existing versions of WorldServer to address various issues. When
installing an update, you replace your existing ws.war file with new ws-legacy.war, ws-api.war, and
ws.war files, and expand them by restarting the application server. You do not have to upgrade the
WorldServer binaries or database schema.
Installing an update
Procedure
1. Back up your WorldServer installation and configuration files, including the WS_CONFIG folder.
Make sure that all the custom properties you have set are in the WS_CONFIG folder.
2. Obtain the ws.war, ws-api.war, and the ws-legacy.war files for the Service Pack from SDL
Technical Support.
3. Stop the application server (Tomcat).
You stop and start WorldServer via the application server on which it is deployed.
4. Move your ws, ws-api, and ws-legacy folders to a place from which you can recover them if the
Service Pack installation fails.
5. Put the new ws.war, ws-api.war, and ws-legacy.war files in the folders where the old ones
were.
6. Restart the application server (Tomcat) to unpack the WAR files.
7. Stop the application server again.
8. Run the testschema.sh (Linux) or testschema.bat (Windows) test script to verify the database
schema upgrade.
9. Start the application server again.
Note: Contact SDL Technical Support for any changes to files that are not included in the World-
Server WAR files.
Results
The update is now installed. To test it, start WorldServer and verify that the program works as expected.
To deploy the new ws.war, ws-legacy.war, and ws-api.war files, just place them in the location
where the previous WAR file was and restart Tomcat. Make sure that you have backed up your World-
Server configuration files before you execute these instructions, including the WS_CONFIG folder, and
make sure that all the custom properties you have set are in the WS_CONFIG folder.
These instructions assume you have obtained the new WAR files from SDL Technical Support.
Procedure
1. Copy the new ws.war, ws-legacy.war, and ws-api.war files to <TOMCAT_HOME>\webapps (for
Windows) or ${WS_HOME}/apache-tomcat-8.0.36/ webapps (for Linux).
2. Restart Tomcat and wait for the ws.war, ws-legacy.war, and ws-api.war files to be expanded
completely.
When finished, the .complete file appears in the <TOMCAT_HOME>\webapps\ws,
<TOMCAT_HOME>\ webapps\ ws-legacy, or <TOMCAT_HOME>\ webapps\ ws-api folders forWin-
dows or in the corresponding folders for Linux.
a. On Windows, start the Tomcat service (called Idiom Process Monitor).
Note: If you deployed WorldServer onto Tomcat manually, instead of deploying it with the
installer, there will not be an Idiom Process Monitor service and you must use a startup script
instead.
Results
The update is now in place and the WorldServer login screen indicates the update number right after
the version number.
Important: Should you need to roll back, stop Tomcat, back up the new ws.war, ws-legacy.war, and
ws-api.war folders (by renaming them), revert the original ws.war, ws-legacy.war, and ws-api.war
folders to their original names and restart Tomcat.
The WorldServer Report Center ( Tools > Report Center ) is based on a reporting engine called Jasper-
Reports Server Enterprise. This engine is also used for the reports you see on the WorldServer Home page
right after you log in. To use the Report Center in WorldServer, you have to install JasperReports Server
and configure it appropriately.
This section describes the requirements and the installation procedures for the JasperReports Server
(JRS), as well as the process of uploading the reports repository. Starting with WorldServer 10.4.4, there
are two reports repositories available: one to use with SQL, namely <distribution archive>\
integrations\ JasperSoft_6.3.0\ jrs_repository_sql. zip, and the other to use with Oracle,
namely <distribution archive>\ integrations\ JasperSoft_6.3.0\ jrs_repository_ora.
zip. You must upload and deploy the correct reports repository to use this reporting option.
For more information about JasperReports, extract the reports repository in the WorldServer distribution
and see the documents folder available there.
Licensing
The JasperReports Server Enterprise license included in WorldServer may ONLY be used with
WorldServer. Any other use of JasperReports is in violation of the Terms and Conditions of your World-
Server license agreement with SDL plc.
When you install the JasperReports Server (JRS), note the following points about a WorldServer-specific
installation:
• WorldServer has been tested against a JRS installation which resides on the same application server
as WorldServer, and which uses the same database server as WorldServer.
Note: WorldServer does not use a bundled MySQL (or PostgreSQL) server to store the JRS
repository.
• Know the location and login credentials for the WorldServer database server.
Note: Starting with WorldServer 11.0, JasperReports Server is no longer installed on the same
instance as WorldServer. The JRS data resides in a separate database instance on the same database
server as WorldServer.
• You can find the JasperReports Server installation kit in the <distribution archive>\
integrations\ JasperSoft_6. 3.0 folder, which is included in the WorldServer ZIP file (for
Windows) and TAR file (for Linux).
• Also, make sure the JAVA_HOME and CATALINA_HOME properties point to the same recommended
prerequisites.
Make sure you have installed Microsoft SQL Management Studio (MSSQL DB) or Oracle SQL Developer
(Oracle DB) on your local machine. You also need a working version of WorldServer 11.x (with Java
Development Kit 8 and Tomcat 8) on the same machine. JRS 6.3.0 works with Java Development Kit
(JDK) 8 and Tomcat 8, so you can use the same Tomcat and JDK versions you used when you installed
other WorldServer 11.x components (ws-api, ws, ws-legacy).
Important: If possible, place WorldServer and JRS on different Java virtual machines. If you already
have an instance of Tomcat on your computer, make sure that it is stopped before you start to install
JRS.
Important: If you encounter any issues while performing one of the steps, stop the installation process
and start over from the very beginning. This also includes deleting the jasperserver database that was
created automatically on your local machine.
Procedure
1. Go to the JasperReports Server installation kit and extract the jasperreports-server-6.
3.0-bin.zip package to a path of your choice, such as C:\Jasper.
Note: Throughout the entire procedure, this path will be referred to as <js-install>. Always
remember to replace <js-install> with the actual path.
• If you installed WorldServer 11.x by using the installer, copy the Reports folder to C:\Program
Files\Idiom.
• If you installed WorldServer 11.x by using Tomcat 8, copy the Reports folder to C:\Program
Files\Apache Software Foundation.
Note: Throughout the entire procedure, this path will be referred to as <tomcat8-home>. Always
remember to replace <tomcat8-home> with the actual path.
3. Open the command prompt (CMD) as an administrator and enter the following commands in the
order in which they are presented:
Command Notes
set JAVA_HOME=<tomcat8- Make sure you replace <tomcat8-home> with the actual path
home>\Reports\jre (such as C:\Program Files\...).
set Path=%JAVA_HOME%\bin This is to set the Path variable.
;%Path%
java -version This is to check that the system is now running on Java 8.
cd C:\<js-install> Make sure you replace <js-install> with the path where you
\jasperreports-server-6. extracted the jasperreports-server-6.3.0-bin.zip
3.0-bin\buildomatic package.
js-install-service.bat Make sure you replace <tomcat8-home> with the actual path
"<tomcat8-home>\Reports" (such as C:\Program Files\...) and <user-home> with the
"<user-home>" path of the user's home folder (such as C:\Users\jsmith).
Important: Do not close the command prompt until you have finished installing JasperReports
Server.
You have now installed Tomcat 8 as a service. This service is named SDL WorldServer Reports.
4. Go to <tomcat8-home>\tomcat\conf, open the server.xml file, and then make sure that the
Tomcat ports in the following entries are different from the ports used by WorldServer:
Property Description
name
appServerTypeThis should always be tomcat8.
dbType If you copied and renamed the correct file in the previous step, do not change the
value of this property.
dbHost The name of the database server or its IP address.
dbUsername The username that will be used to log in to the database.
dbPassword The password that will be used to log in to the database. Do not encrypt it.
js.dbName Optional: If you want to change the name of the database, uncomment this
property and specify a new name.
webAppNameProOptional: If you want to change the folder name (thus, making it part of the URL),
uncomment this property and specify a new name.
encrypt Set this property to true for database passwords to be encrypted in
configuration files. During the installation, this property creates certain
encryption keys in the user's home folder. Pass this folder to js-install-
service.bat as a second argument or set the following Java option:-Duser.
home=<user-home>
Note: Make sure the information you provide is correct, especially the Tomcat path and the
database access credentials.
• -Djs.license.directory=C:\Jasper\jasperreports-server-6.3.0-bin
• -Xms512m
• -Xmx1024m
• -XX:MaxPermSize=512m
• -XX:ReservedCodeCacheSize=64m
• -XX:+UseCodeCacheFlushing
• -XX:+UseConcMarkSweepGC
• -Duser.home=<user-home>
Note: Some of these properties may already have been added. In this case, make sure that the
correct values are specified.
Tip: Make sure that the path does not contain white spaces. Otherwise, issues may occur.
report_center_url=http://<jasper-IP>:<port>/jasperserver-pro/flow.html?_
flowId=searchFlow&mode=search&filterId=resourceTypeFilter
&filterOption=resourceTypeFilter-reports
where <jasper-IP> is the IP address of the machine where JasperReports Server is installed and
<port> is the Tomcat 8 port where JasperReports Server is installed (by default, 8081).
ws_dashboard_url=http://<jasper-IP>:<port>/jasperserver-pro/flow.html?_
flowId=dashboardRuntimeFlow&dashboardResource=/Dashboards/WSDashboard
&viewAsDashboardFrame=true
where <jasper-IP> is the IP address of the machine where JasperReports Server is installed and
<port> is the Tomcat 8 port where JasperReports Server is installed (by default, 8081).
14. Goto <tomcat8-home>\ Reports\ tomcat\ webapps\ jasperserver-pro\ WEB-INF andopen
the applicationContext-worldserver. xml file.
15. Configure the wsLoginUrl and wsSoapUrl properties as follows:
<property name="wsLoginUrl">
<value>http://<WS-IP>:<port>/ws-legacy/login</value>
</property>
<property name="wsSoapUrl">
<value>http://<WS-IP>:<port>/ws-legacy/servlet/rpcrouter</value>
</property>
where <WS-IP> is the name or IP address of the machine where WorldServer 11.x is installed and
<port> is the port number where WorldServer is installed.
16. Start the SDL WorldServer Reports service.
17. Depending on how you installed WorldServer 11.x, do one of the following:
• If you installed WorldServer 11.x by using the installer, restart the Idiom Process Monitor
service.
• If you installed WorldServer 11.x by using Tomcat 8, restart the Apache Tomcat 8 service.
18. In your browser, log in to ws-legacy (http://<WS-IP>:<ws-port>/ws-legacy/ login), and then
log in to JasperReports (http://<WS-IP>:<jasper-port>/jasperserver-pro/ login.html).
Use the superuser/superuser credentials to log in to JasperReports.
Tip: If the page is not displayed, reduce the -Xmx memory from 1024m to 512m. You may have
assigned more memory that the VM can sustain. If reducing memory does not work, take a close
look at the Jasper logs. You can find the logs at: <tomcat8-home>\ Reports\ tomcat\ webapps\
jasperserver-pro\WEB-INF\logs\jasperserver.log.
19. In the WorldServer Report Center, click View > Repository, and then, in the Folders tree, go to
<root> > Organizations > WorldServer > DataSources.
Field Value
JDBC Other
Driver
JDBC
Driver • For Microsoft SQL: tibcosoftware.jdbc.sqlserver.SQLServerDriver
(required) • For Oracle: tibcosoftware.jdbc.OracleDriver
URL
(required) • For Microsoft SQL: jdbc:tibcosoftware:sqlserver://<db-host-name>:<
port>;DatabaseName=<ws-database-name>
• For Oracle: jdbc:tibcosoftware:oracle:@<db-host-name>:<
port>:<SID>
User Name The user name that will be used to log in to the database.
(required)
Password The password that will be used to log in to the database.
Results
At this point, you should be able to see the reports from Tools > Report Center in WorldServer 11.x.
Make sure you have installed Microsoft SQL Management Studio (MSSQL DB) or Oracle SQL Developer
(Oracle DB) on your local machine. You also need a working version of WorldServer 11.x (with Java
Development Kit 8 and Tomcat 8) on the same machine. JasperReports Server only works with Java
Development Kit (JDK) 7 and Tomcat 7, so you cannot use the same Tomcat and JDK versions you used
when you installed other WorldServer 11.x components (ws-api, ws, ws-legacy).
Procedure
1. Go to <js-install>\ buildomatic.
Note: Throughout the entire procedure, the path where JRS 4.2.1 is installed and where you will
install JRS 5.2 will be referred to as <js-install>. Always remember to replace <js-install>
with the actual path.
2. Open the command prompt (CMD) as an administrator and enter the following command:
js-export.bat --everything --output-zip js-421-export.zip
Note: Do not close the command prompt until you have finished installing JasperReports Server.
Note: Make sure the information you provide is correct, especially the Tomcat path and the
database access credentials.
report_center_url=http://<jasper-IP>:<port>/jasperserver-pro/flow.html?_
flowId=searchFlow&mode=search&filderId=resourceTypeFilter
&filterOption=respirceTypeFilter-reports
where <jasper-IP> is the IP address of the machine where JasperReports Server is installed and
<port> is the Tomcat 7 port where JasperReports Server is installed (by default, 8081). If it does not
contain this line, add it yourself.
12. Restart the SDL WorldServer Reports service.
13. Depending on how you installed WorldServer 11.x, do one of the following:
• If you installed WorldServer 11.x by using the installer, restart the Idiom Process Monitor
service.
• If you installed WorldServer 11.x by using Tomcat 8, restart the Apache Tomcat 8 service.
14. Open JasperReports in your browser: http://<localhost>:<port>/ jasperserver-pro/
login.html.
Use the superuser/superuser credentials to log in.
15. In the WorldServer Report Center, clickView > Repository, and then, in the Folders tree, go to
<root> > Organizations > WorldServer > DataSources.
16. Right-click WorldServerDB, and then click Edit.
17. In the Set Data Source Type and Properties page, specify the following information:
Field Value
JDBC Driver Other
Field Value
URL (required)
• For Microsoft SQL: jdbc:sqlserver:
//<host name>:<port>;DatabaseName
=<databasename>
• For Oracle: jdbc:oracle:thin:@<host
name>:<port>:<SID>
Results
At this point, you should be able to see the reports from Tools > Report Center with JasperReports
Server 5.2.
Platform notes
The installation of the JasperReports Server (JRS) with WorldServer implies certain differences from the
standard procedures described in the JRS documentation. Note the following:
• When you run the js-install.bat or js-install.sh script, install only the minimal configura-
tion in all cases. This avoids installing sample data that does not apply to WorldServer. For example,
on Windows, the command would be js-install.bat minimal
• The JasperSoft documentation refers to changing JVM parameters to run JRS (section 6.2.1 in the
JRS installation guide). Though the installation guide states this is required, existing Tomcat
deployments may already have specific settings that should not be changed.
Linux permissions
On Linux installations, after you extract the jasperreports-server-6. 3.0-bin.zip archive, make
sure the files in the following folders are executable:
buildomatic
If necessary, run chmod u+x <js-install>/buildomatic/*.
buildomatic/bin
If necessary, run chmod u+x <js-install>/buildomatic/ bin/ *.
apache-ant/bin
If necessary, run chmod u+x <js-install>/apache-ant/ bin/ *.
Oracle
Note the following about the Chapter 5 of the JasperReports Server Installation Guide instructions for
Oracle.
• There is no mention of the Oracle SID parameter in the JRS installation guide, but the property sid
does appear in the oracle_master. properties. If you are using a non-default SID on your
target Oracle database (default is orcl), adjust the sid property as required.
• In practice we have found that you do not have to define the sysUsername and sysPassword
properties in the default_master. properties file for Oracle. They can be removed completely
from the file. As described in the JasperReports Server Installation Guide, you can separate the creation
of the Oracle database schema from the rest of the server installation. This eliminates any need to
enter the SYSDBA username and password into the default_master. properties file.
The JRS installation creates a jasperserver schema instance by default, with the password password.
Procedure
1. Make sure your application server is configured for HTTPS access.
For more information, see the Security settings and connections topic.
2. Modify the WSSingleSignOnFilter Java bean in the applicationContext-worldserver. xml
file to use HTTPS URLs.
3. Configure the report_center_url property in the WorldServer general.properties file to use
an HTTPS URL.
Log file
Enable single sign-on debug logging with an entry in the following file: <tomcat-home>/webapps/
jasperserver-pro/ WEB-INF/ log4j.properties. For example you might have the following entry:
log4j.logger.com.idiominc.ws.integration.reporting.jaspersoft.
WSSingleSignOnFilter=debug.
Output for the server will appear in the file: <tomcat-home>/webapps/ jasperserver-pro/ WEB-INF/
logs/ jasperserver. log and the Tomcat console window.
Note: For more information, see the JasperReports Administrator Guide included in the distribution
kit.
• Administrators can use the JRS Manage > Users page to assign permissions to users and roles, or
to delete users and roles.
• You should not change the predefined ROLE_Administrator and admin users in the WorldServer
organization. System users and roles (outside the WorldServer organization) should not be
altered either.
• Roles and users which are added automatically from WorldServer are marked as "User/Role is
externally defined". You can delete these objects, but they will be recreated automatically the
next time the user goes to Report Center.
• Users and roles are not deleted automatically from the JRS user repository if they are deleted or
changed in WorldServer. Delete them manually, if necessary. Externally defined users have no
passwords, so no password management is usually required. WorldServer does not communicate
passwords to JRS.
Note: JRS admin users may see reports or other objects in the Public folder of the repository or in the
search results view. These automatically-generated folders have no relevance for WorldServer and you
can ignore them or delete them.
WorldServer handles and segments assets through the file types used by the File Type Support (FTS)
Server. You can run this separate, Windows-only server either as a Windows service (recommended) or
through a Windows console.
WorldServer identifies translatable text based on the file type of the asset. Because the exact makeup of
translatable text versus other content varies greatly across different file formats, this process is very
file-format specific, but it also has some common features across multiple file types.
Note: Starting with WorldServer 2011 (WorldServer version 10.0), WorldServer only supports SDL file
types for new installations which require the FTS Server. If you are upgrading your WorldServer instal-
lation to version 10.0 and later, you can use both the SDL file types and WorldServer legacy filters.
Important: The shared folder must be the same as the one specified as the value of the ftsserver
_shared_directory property in the general.properties file.
Moreover, the number of processes must match the number of processors on the FTS Server
machine.
6. On the FTS Server Windows Service Configuration page, specify a user account that runs the FTS
Server service and its corresponding password. If you do not specify them, the local system
account will be used to run the service.
7. On the Database Connection page, specify the database type, the name of the SQL Server or
Oracle server, the name of the WorldServer database, as well as the username and password of the
SQL Server or Oracle user.
Note: All the information you specify on this page must match the information you specified when
you installed WorldServer.
Note: All potential warnings or errors are written to the Windows Application Event Viewer.
What to do next
You must now configure the WorldServer instance to communicate with the FTS server.
To make WorldServer instances installed on Windows work with the FTS Server, you need to do the
following:
• Make sure that the WorldServer service (IdiomRun) is running under a Windows domain account.
• Make sure that the FTS Server service (ftsserver) is running under a Windows domain account.
• Make sure the Windows domain account has the appropriate permissions for the folder where AIS
file system mounts are stored.
• Configure the ftsserver_shared_directory property in the general.properties file under
WS_CONFIG.
When deploying WorldServer and the FTS Server in a mixed Linux/Windows environment and using
NFS, you must configure Windows Active Directory with Identity Management for Linux. By doing so, you
can map Windows usernames to Linux usernames.
All WorldServer and FTS Server service 'run-as' users must have read/write access to:
• The folder paths in Universal Naming Convention (UNC) format for AIS filesystem mounts in
WorldServer.
• The UNC path defined in the ftsserver_shared_directory property of the general.
properties file. For example, //<server name>/<path name>.
Note: The UNC paths for NFS-mounted folders are not accessible from Windows Explorer on
Windows 2008 R2/2012 R2 (this is a limitation in Windows); they are only accessible via Explorer
using the mounted drive letter for the folder (for example "N:").
• The UNC path defined in the temp_file_path property of the general.properties file. For
example, //<server name>/<path name>).
User permissions
The users that run both WorldServer and the FTS Server must have identical domain permissions. This
includes full control permissions on sharing and security for the following: FTS shared directory, temp file
path, and AIS mounts.
• FTS shared directory
1. From Windows Explorer, navigate to the same UNC \\<server name>\<path name> folder
you specified in the FTS Server configuration.
2. Right-click the folder and select Sharing and Security.
The <folder name> Properties dialog box is displayed.
3. Click the Sharing tab.
4. Click Share this folder.
5. Click Permissions.
The Permissions for <folder name> dialog box is displayed.
6. Click Add.
7. In the Select Users, Computers, or Groups dialog box, enter the user names both for
WorldServer and for the FTS Server.
8. Click OK.
9. On the <folder name> Properties dialog box, click the Security tab.
10. Click Add.
11. In the Select Users, Computers, or Groups dialog box, enter the user names both for
WorldServer and for the FTS Server.
12. Click OK and return to the Windows Explorer window.
• Temp file path
In the WorldServer general.properties file, you need to set the value of the temp_file_path
property to a shared location when the FTS Server is installed on a separate machine than World-
Server (recommended installation).
1. From Windows Explorer, navigate to the folder specified as the WorldServer temp_file_path.
2. Follow the steps mentioned earlier for the Sharing and Security tabs of the folder.
The same user names must have permissions for all WorldServer and FTS Server resources.
• AIS mounts
1. From Windows Explorer, navigate to the folder that serves as the AIS mount for both servers.
If you don't know the location of the AIS mount for your WorldServer installation, do the follow-
ing:
a. In WorldServer, go to Management > Asset Interface System > AIS Mounts.
b. Double-click the AIS mount you want to use with the FTS Server.
c. Note the folder path in the File System Connector Configuration area. Use that path to
complete this step.
AIS mounts used with the FTS Server must use UNC pathnames within WorldServer.
2. Follow the steps mentioned earlier for the Sharing and Security tabs of the folder.
The same users must have permissions for all WorldServer and FTS Server resources.
The FTS Server can use more than one AIS mount. Make the changes described earlier for each
mount in your environment.
WorldServer properties
WorldServer uses a configuration entry in the general.properties file to specify the shared FTS
Server directory.
1. Open the general.properties file with a text editor.
2. Search for the ftsserver_shared_directory property.
3. Change its value to the same UNC path you used for the shared folder when installing the FTS
Server.
You can also find this path in the Sdl.WorldServer. FileTypeSupport. Server.HostProcess.
exe.config file of the FTS Server.
4. Open the Log.Launcher.config file with a text editor.
You can find this file in the folder where you installed the FTS Server. For example, C:\Program
Files (x86)\SDL\FileTypeSupportServer.
5. Search for SDLrollingFileAppender and change the value of the File parameter to
<ftsshareddirectory>\ logs\ engine.log, where <ftsshareddirectory> is the UNC path you
used for the shared folder when installing the FTS Server.
For example:
Important: WorldServer and the FTS Server must not record information in the same log file.
Make sure that you configure them to use separate log files.
To make WorldServer instances installed on Linux work with the FTS Server, you need to take the
following into consideration:
When deploying WorldServer and FTS in a mixed Linux/Windows environment using NFS, you must
configure Windows Active Directory with Identity Management for Linux. By doing so, you can map
Windows usernames to Linux usernames.
All exported filesystems must appear to the FTS Server as Windows shares. It is important to remember
the following points:
• The WorldServer user and FTS Server connection user should be the same, to ensure that the same
permissions apply in both cases. In the documentation examples, WorldServer and FTS Server
are running as the worldserver user.
• For the non-Windows filesystem to work as a Windows mount, the filesystem name must match the
machine name.
Note: The share name must be defined using forward slashes. Otherwise, Linux will not recognize the
pathname and the creation of the AIS mount will fail.
security = share
username map = </path/to/smb/users/file>
guest ok = yes
guest account = worldserver
Note: For example, the username map could be /etc/ samba/ smbusers.
Samba examples
The Samba user mapping file (map = </path/to/smb/users/file>) associates incoming Windows
usernames to local Linux user accounts. To allow FTS access to the files in the Samba shares, the FTS
connection must use the same username as the account that WorldServer is running under.
• Windows users administrator and admin are mapped to the local Linux root user.
• Every other Windows user is mapped to the local Linux worldserver user.
Note: In this scenario, the FTS Server Windows user account fts is mapped to the Linux user worldserver,
allowing the same access to the filesystem that the WorldServer application instances have.
The Samba Share Definition holds the required definition for each folder on the host Linux system
that is to be accessed by FTS Server. This example shows the following [sharename] sections:
[mount1]
path = /mnt/ftsAisAssetDir
public = yes
browseable = yes
guest ok = yes
guest only = yes
writable = yes
[mount1] Identifies the Samba share that will be visible from a Windows system.
path The actual (local) filesystem folder that contains the assets to be processed.
browseable = yes Allows the share to be seen in a list of available shares.
guest ok = yes Allows connection to the share with no password.
guest account = Specifies the username used for access to the share.
nobody
guest only = yes Allows only guest connections to the share (restricts privileges to the
defined guest account).
writable = yes Allows the creation of files and folders under the share.
• The NFS client machine (linuxhost, in this example) must mount the remote filesystem on the NFS
server machine to a local folder. For example:
mount secondlinuxhost:/export/ftsAssets /mnt/ftsAssets
With this configuration, the remote filesystem appears to the local host as a local filesystem. The local
filesystem configuration applies, as above, with the following exceptions:
• A top-level folder with the same name as the remote host name must be created, such as:
mkdir /secondlinuxhost
• A soft link to each Samba share exported by the remote host must be created within this top-level
folder that maps that Samba share to the local NFS mount corresponding to that share, such as:
ln -s /mnt/ftsAssets /secondlinuxhost/mount2
This configuration requires support for the Server Message Block File System (SMBFS) or its newer
replacement, the Common Internet File System (CIFS).
The following configuration is required to mount a remote Windows filesystem on a Linux host:
• A folder must be created to be used as the mount point for the remote Windows share, such as:
mkdir /path/to/winshare
• The remote Windows share must be mounted to this folder, such as:
mount –t cifs –o username=<WinUser>,password=<WinPassword> //winhostfiles/
mount3 /path/to/winshare
• A top-level folder must be created with the same name as the remote Windows machine, such as:
mkdir /winhostfiles
• A soft link to each Windows share exported by the Windows host must be created within this
top-level, host-named folder that points to the CIFS-mounted assets folder, such as:
ln -s /path/to/winshare /winhostfiles/mount3
Note: The relationships between the servers must be maintained as shown in the example. The example
generally uses the configuration steps for the Services for Unix (SFU) utility on Windows Server 2012
R2 or 2016.
When deploying WorldServer and FTS in a mixed Linux/Windows environment and using NFS, you
must configure Windows Active Directory with Identity Management for Linux. By doing so, you can
map Windows usernames to Linux usernames.
Procedure
1. Configure the NFS Server (linux-nfs-server1).
a. Create a folder to share: mkdir /export/nfsmnt
This example uses a subfolder under nfsmnt called NFSTesting for WorldServer/FTS resource
files. That subfolder also has an AISmount folder that contains the filesystem AIS assets.
b. Change the ownership of the folder to that of the user ID with which the NFS client will run:
• chkconfig nfs on
• chkconfig portmap on
2. Install and configure Windows Tools for supporting NFS. In this case, use Windows Services for UNIX
on the FTS Server machine (windows-fts-server2).
a. Install Windows Services for UNIX on your server.
b. Configure user name mapping according to your environment.
c. Validate that the FTS Server machine can now see the folders in Windows Explorer by navigating
to \\linux-nfs-server1.global.sdl.corp\export\nfsmnt.
The FTS Server machine can now see the folders using a UNC-style syntax.
d. With Windows Explorer opened to \\ linux-nfs-server1.global.sdl.corp\ export\
nfsmnt, validate that you can create files and folders on the NFS share from the Windows OS
and that the correct file permissions are applied.
e. Install the SDL File Type Support Server using \\ linux-nfs-server1.global.sdl.corp\
export\ nfsmnt\ ftsShared as the FTS Shared folder.
f. Configure the FTS Server service to depend on Windows Services for Unix service:
a. Edit /etc/fstab.
b. Add the following line: linux-nfs-server1:linux-nfs-server1:/export/nfsmnt
/mnt/linux-nfs-server1.global.sdl.corp nfs defaults 0 0.
c. Save and exit /etc/fstab.
d. Configure a symbolic link from the NFS Server's shared folder that you mounted. You have to
mirror the local folder structure that you're going to create to mimic a UNC-style path.
a. mkdir /linux-nfs-server1.global.sdl.corp
b. mkdir /linux-nfs-server1.global.sdl.corp/export
c. mkdir /linux-nfs-server1.global.sdl.corp/export/nfsmnt
d. cd /linux-nfs-server1.global.sdl.corp/export/nfsmnt
e. ln -s /linux-nfs-server1.global.sdl.corp/NFStesting
e. Validate that your WorldServer machine can see the folders using a UNC-style: ls /linux-
nfs-server1.global.sdl.corp
The WorldServer machine can now see the folders using a UNC-style syntax.
4. Install and configure WorldServer (linux-worldserver-server3)
a. Deploy the wa.war, ws-legacy.war and ws-api.war files.
b. Modify the standard variables in the general.properties file (database_username,
database_password, etc).
c. In the general.properties file, also configure:
• temp_file_path=//linux-nfs-server1.global.sdl.corp/export/nfsmnt/
NFStesting/wstemp
• rcs_root=//linux-nfs-server1.global.sdl.corp/export/nfsmnt/NFStesting
/wsrcsroot
• ftsserver_shared_directory=//linux-nfs-server1.global.sdl.corp/export
/nfsmnt/NFStesting/ftsshared
• log4j.appender.logfile.File=//linux-nfs-server1.global.sdl.corp/
export/nfsmnt/NFStesting/ws.log
d. Restart WorldServer to use the variables updated in the general.properties file.
5. Configure your file system AIS mount in WorldServer.
a. Log in to WorldServer as admin .
b. Go to Management > Asset Interface System > AIS Mounts > Add.
c. Add the mount using the *Directory path: *//linux-nfs-server1.global.sdl.corp/
export/nfsmnt/NFStesting/AISMount
d. Save the mount.
Note: You must back up the server configuration (.properties) files before the upgrade, so that
you can restore them afterwards. If, for any reason, the installation fails during the upgrade, the
previous installation will be restored.
Note: You can perform upgrades on FTS Server 10.0.0 and newer. FTS Server instances installed under
the early evaluation plan (WorldServer 9.4.0) must be uninstalled manually from the Windows Add or
Remove Programs dialog before running the installer.
Important: If your WorldServer environment uses multiple instances of the FTS Server, you need to
synchronize and duplicate the mappings between language resource templates and file type
configurations.
Procedure
1. Create the appropriate language resource templates in SDL Trados Studio and copy them to the
machine where the FTS Server is installed.
2. Stop the FTS Server.
3. Go to the folder where the FTS Server is installed and open the Sdl.WorldServer.
FileTypeSupport. Server.HostProcess. exe.config file with a text editor.
4. Inside the configSections element, make sure that there is a custom section called
languageResourceTemplates.
Example: You can define this section as in the following example:
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler
, Spring.Core, Version=1.1.0.2, Culture=neutral,
PublicKeyToken=c28cdb26c445c888"/>
</sectionGroup>
<section name="languageResourceTemplates" type="Sdl.WorldServer.
FileTypeSupport.Server.Util.Configuration.LanguageResourceTemplates,
Sdl.WorldServer.FileTypeSupport.Server.Util" />
</configSections>
<languageResourceTemplates defaultLanguageResourceTemplate="C:\New
folder\Segmentation Rules\Default_Language_Resource_Template.sdltm.
resource">
</languageResourceTemplates>
6. In the languageResourceTemplates section, under templates, map each LRT to its correspond-
ing file type configuration.
Example: For example:
<languageResourceTemplates defaultLanguageResourceTemplate="C:\New
folder\Segmentation Rules\Default_Language_Resource_Template.sdltm.
resource">
<templates>
<add name="Docx Default segments using * separator" filterIn-
foId="70" languageResourceTemplate="C:\New folder\Segmentation
Rules\TXT_Language_Resource_Template.sdltm.resource" />
<add name="Docx D2 segments using # separator" filterInfoId="70"
filterConfigId="1057" languageResourceTemplate="C:\New folder
\Segmentation Rules\Docx_Language_Resource_Template.sdltm.resource"
/>
<add name="Txt segments using * separator" filterInfoId="43"
filterConfigId="1045" languageResourceTemplate="C:\New folder
\Segmentation Rules\TXT_Language_Resource_Template.sdltm.resource"
/>
</templates>
</languageResourceTemplates>
In this example, each template mapping entry has the following attributes:
Note: In a test environment, the FTS Server can also be run in the system console from the
Sdl.WorldServer. FileTypeSupport. Server.Launcher.exe file. This is not recommended for
production environments.
To uninstall the service, use the standard Windows Add/Remove Programs option.