Toon Boom
Harmony V15.0

Installation Guide

TOON BOOM ANIMATION INC.

+1 514 278 8666

4200 Saint-Laurent, Suite 1020
Montreal, Quebec, Canada
H2W 2R2

contact@toonboom.com
toonboom.com

Harmony 15.0 Installation Guide

Legal Notices
Toon Boom Animation Inc.
4200 Saint-Laurent, Suite 1020
Montreal, Quebec, Canada
H2W 2R2
Tel: +1 514 278 8666
Fax: +1 514 278 2666
toonboom.com
Disclaimer
The content of this guide is covered by a specific limited warranty and exclusions and limit of liability under theapplicable License Agreement as supplemented by the special terms and conditions for Adobe®Flash ® File
Format (SWF). For details, refer to the License Agreement and to those special terms and conditions.
The content of this guide is the property of Toon Boom Animation Inc. and is copyrighted.
Any reproduction in whole or in part is strictly prohibited.
Trademarks
Harmony is a trademark of Toon Boom Animation Inc.
Publication Date
01-15-2020
Copyright © 2018 Toon Boom Animation Inc., a Corus Entertainment Inc. company. All rights reserved.

1

Table of Contents

Table of Contents
Table of Contents

2

Harmony Installation Guide

10

Chapter 1: Basic Installation

12

About Windows Installation

13

Installing Harmony Dependencies on Windows

14

Installing Harmony on Windows

16

Adding Harmony Executables to the %PATH% Environment Variable on Windows

18

About macOS Installation

19

Installing Harmony on macOS

20

Authorizing Harmony Applications on macOS

21

Adding Harmony Binaries to the $PATH Environment Variable on macOS

23

About GNU/Linux Installation

24

About GNU/Linux Installation

25

Installing Harmony Dependencies on GNU/Linux

26

Installing Proprietary Video Drivers on GNU/Linux

27

Installing Harmony on GNU/Linux

31

Adding Harmony Binaries to the $PATH Environment Variable on GNU/Linux

39

About Audio Transcoding on GNU/Linux

40

Preventing the Alt Key Keyboard Shortcut Conflict Between Harmony and the GNU/Linux Desktop

41

Troubleshooting Problems with Harmony on GNU/Linux

42

Troubleshooting a Crash When Loading Harmony on GNU/Linux

43

Troubleshooting Desktop Shortcuts Launching the Wrong Version of Harmony

45

Chapter 2: Harmony Server

46

About the Harmony Server Structure50

About Database Server Installation

52

Database Server Installation on Windows

53

Disabling the Firewall for a Harmony Database Server on Windows

54

Setting up the Database Server on Windows

55

2

Harmony 15.0 Installation Guide

Removing the Scene Data Storage from the Database Server on Windows

57

Running the Database Server Service on Log-In on Windows

58

Configuring Scene Resolution Presets for a New Harmony Database on Windows

60

Opening the Firewall Ports for a Harmony Database Server on Windows

62

Creating a Scene Data Storage Space on Windows

64

Configuring a Windows Database Server to have a Static IP Address

70

Looking Up the Database Server Log on Windows

74

Launching the Database Server Manually on Windows

75

How to Stop and Restart the Database Server on Windows

76

Pausing and Resuming the Database Server on Windows

78

Uninstalling the Database Server on Windows

79

Database Server Installation on macOS

81

Setting the Server Hostname on macOS

82

Creating a Harmony Database on macOS

83

Installing the Database Server Daemon on macOS

84

Running the Database Server on Log-In on macOS86

Configuring Scene Resolution Presets for a New Harmony Database on macOS

88

Sharing the Harmony Database Files Using NFS on macOS90

About Supporting Windows Clients for macOS Servers

92

Installing the Link Server Daemon on macOS

93

Running the Link Server on Log-In on macOS

94

Sharing the Harmony Database Files Using Samba on macOS

96

Configuring a macOS Database Server for Windows Clients

100

Creating a Scene Data Storage Server on macOS

102

Configuring a macOS Database Server to have a Static IP Address

106

Looking Up the Database Server Log on macOS109

Launching the Database Server Manually in macOS111

Stopping and Restarting the Database Server on macOS112

Pausing and Resuming the Database Server on macOS

114

3

Table of Contents

Uninstalling the Database Server on macOS

115

Database Server Installation on GNU/Linux

117

Disabling Security for a Harmony Database Server on GNU/Linux

118

Creating a Harmony Database on GNU/Linux120

Installing the Database Server Daemon on GNU/Linux

121

Running the Database Server on Log-In on GNU/Linux

123

Expanding the File Descriptor Limit for a Database Server on GNU/Linux

125

Configuring Scene Resolution Presets for a New Harmony Database on GNU/Linux

126

Opening the Firewall Ports for a Harmony Database Server on GNU/Linux

128

Sharing the Harmony Database Files Using NFS on GNU/Linux

129

About Supporting Windows Clients for GNU/Linux Servers

132

Installing the Link Server Daemon on GNU/Linux

133

Running the Link Server on Log-In on GNU/Linux

135

Opening the Firewall Ports for the Link Server on GNU/Linux137

Sharing the Harmony Database Files Using Samba on GNU/Linux

138

Opening the Firewall Ports and Configuring SELinux for a Samba Server on GNU/Linux

140

Configuring a GNU/Linux Database Server for Windows Clients

142

Creating a Scene Data Storage Server on GNU/Linux

144

Setting Up Static IPs for WebCC on GNU/Linux147

Checking the Database Server Log on GNU/Linux152

Launching the Database Server Manually in GNU/Linux

153

Stopping and Restarting the Database Server on GNU/Linux

154

Pausing and Resuming the Database Server on GNU/Linux

156

Uninstalling the Database Server on GNU/Linux

157

Connecting Client Workstations to a Harmony Database Server

159

Configuring Harmony Server Clients on Windows

160

Connecting a Windows Client to a Database Server Using Configuration Wizard

161

Manually Configuring a Windows Client to Connect to a Harmony Database

162

Configuring the Hosts File for a Windows Client

165

4Harmony 15.0 Installation Guide

About Connecting to a Harmony Database Without Using Shortcut Files on Windows

166

Configuring the Shortcuts File on Windows

167

Setting a Custom Location for the Shortcuts Configuration File on Windows

169

Troubleshooting Client Connections on Windows

171

Configuring Harmony Server Clients on macOS

175

Connecting a macOS Client to a Database Server

176

Setting the User File Creation Permission Mask on macOS

178

Configuring the Hosts File for a macOS Client

179

About the Location of Mount Points on macOS180

Configuring the Shortcuts File on macOS

181

Setting a Custom Location for the Shortcuts Configuration File on macOS

182

Configuring Harmony Server Clients on GNU/Linux

183

Connecting a GNU/Linux Client to a Database Server

184

Setting the User File Creation Permission Mask on macOS

186

Configuring the Hosts File for a GNU/Linux Client

188

About the Location of Mount Points on GNU/Linux

189

Configuring the Shortcuts File on GNU/Linux

190

Setting a Custom Location for the Shortcuts Configuration File on GNU/Linux

191

Chapter 3: WebCC

194

WebCC Server Installation

196

Installing WebCC on Windows

197

Disabling the Firewall for a WebCC Server on Windows

198

Installing the WebCC Service on Windows

199

Running the Database Server Service on Log-In on Windows

200

Configuring WebCC with Custom Parameters on Windows

202

About SSL, HTTPS and WebCC on Windows

207

Configuring WebCC to Use SSL on Windows

208

Setting Up Static IPs for WebCC on Windows

212

Opening the Firewall Ports for a Harmony WebCC Server on Windows

216

5

Table of Contents

Checking the WebCC Server Log on Windows

218

Launching the WebCC Server Manually on Windows

219

Stopping and Restarting the WebCC Server on Windows

220

Uninstalling the WebCC Server on Windows

222

Installing WebCC on macOS224

Installing the WebCC Server Daemon on macOS

225

Running the WebCC Server on Log-In on macOS

227

Configuring WebCC with Custom Parameters on macOS

229

About SSL, HTTPS and WebCC on macOS

234

Configuring WebCC for SSL Support on macOS

235

Configuring a macOS WebCC Server to have a Static IP Address

239

Looking Up the WebCCServer Log on macOS

242

Launching the WebCC Server Manually on macOS

243

Stopping and Restarting the WebCC Server on macOS

244

Uninstalling the WebCC Server on macOS

245

Installing WebCC on GNU/Linux

246

Disabling Security for a WebCC Server on GNU/Linux

247

Installing WebCC on GNU/Linux

249

Running the WebCC Server on Log-In on GNU/Linux251

Configuring WebCC with Custom Parameters on GNU/Linux

253

About SSL, HTTPS and WebCC on GNU/Linux

258

Configuring WebCC for SSL Support on GNU/Linux

259

Setting Up Static IPs for WebCC on GNU/Linux

263

Opening the Firewall Ports for a WebCC Server on GNU/Linux

268

Checking the WebCC Server Log on GNU/Linux269

Launching the WebCC Server Manually on GNU/Linux

270

Stopping and Restarting the WebCC Server on GNU/Linux

271

Uninstalling the WebCC Server on GNU/Linux

272

Configuring Render Nodes for WebCC Servers

273

6

Harmony 15.0 Installation Guide

Installing the Cisco OpenH264 Codec for WebCC on Windows

274

Installing the Cisco OpenH264 Codec for WebCC on macOS275

Installing the Cisco OpenH264 Codec for WebCC on GNU/Linux

276

Configuring Local WebCC Clients

278

Configuring a macOS Workstation to Open Harmony Scenes from WebCC

279

Configuring a GNU/Linux Workstation to Open Harmony Scenes from WebCC

280

Configuring Remote WebCC Clients

281

Disabling SSL Certificate Validation for WebCC in Harmony

282

Chapter 4: Batch Processing

284

Creating machine-list Files

288

Batch Processing Installation

289

Installing the Batch Processing Service on Windows

290

Installing the Batch Processing Service on Windows

291

Running the Batch Processing Service on Log-In on Windows

292

Looking Up the Batch Processing Log on Windows

294

Launching Batch Processing Manually on Windows

295

Stopping and Restarting the Batch Processing Service on Windows

296

Interrupting a Batch Processing Task on Windows

298

Uninstalling the Batch Processing Service on Windows

299

Installing the Batch Processing Service on macOS

301

Installing the Batch Processing Daemon on macOS

302

Running the Batch Processing Service on Log-In on macOS

304

Looking Up the Batch Processing Log on macOS306

Launching Batch Processing Manually on macOS

307

Stopping and Restarting the Batch Processing Daemon on macOS

308

Interrupting a Batch Processing Task on macOS

309

Uninstalling the Batch Processing Daemon on macOS

311

Installing the Batch Processing Service on GNU/Linux

312

Installing the Batch Processing Daemon on GNU/Linux

313

7

Table of Contents

Running the Batch Processing Service on Log-In on GNU/Linux315

Checking the Batch Processing Log on GNU/Linux

317

Launching Batch Processing Manually on GNU/Linux

318

Stopping and Restarting the Batch Processing Daemon on GNU/Linux

319

Interrupting a Batch Processing Task on GNU/Linux320

Uninstalling the Batch Processing Daemon on GNU/Linux

321

Setting Up Default Schedules

322

Testing Batch Processing

324

Vectorization of Scanned Drawings

325

Manually Vectorizing Scenes or Elements

326

Viewing Drawing Vectorization Lists

327

Modifying Vectorize Queue Entries

329

Rendering Scenes

330

Viewing Render Queues

331

Modifying Render Queue Entries

333

Batch Processing Schedules

334

Displaying the Schedule Status

336

Reading the Schedule Status List

338

About Default Schedules

340

Displaying Default Schedules

341

Reading Default Schedule Status Lists

343

Modifying Default Schedules

345

About Periodic Schedules

348

Displaying Periodic Schedules

349

Setting Periodic Schedules

351

Clearing Periodic Schedules

355

About Supervisory Schedules

356

Displaying Supervisory Schedules

357

Setting Supervisory Schedules

359

8Harmony 15.0 Installation Guide

Clearing Supervisory Schedules

363

About Environment Shut Down

364

Shutting Down Environments

365

Starting Up Environments

367

Harmony Scheduling Utilities

369

Chapter 5: Service Launcher

370

Service Launcher Top Menu

371

Service Launcher Preferences Tab

372

Service Launcher ToonBoom Process Tab

373

Service Launcher Database Server Tab

375

Service Launcher WebCC Tab

377

Service Launcher Link Tab

379

Chapter 6: Unicode382

Enabling Unicode Characters in Environment, Job and Scene Names

383

Enabling Unicode in Layer/Node Names

384

9Harmony Installation Guide

Harmony Installation Guide
Harmony is a complex and full-featured animation suite that is designed for both small and large scale
productions. In order to respond to the different needs of studios, Harmony is not only able to run as a standalone application, but also as a production server, a web server and a render farm. This guide goes through all
the required steps to install and configure Harmony for all usage scenarios and on all supported platforms.

10Harmony 15.0 Installation Guide

11

Chapter 1: Basic Installation

Chapter 1: Basic Installation
The following section explains how to install Toon Boom Harmony on a workstation. If you intend to use
Harmony as a stand-alone application, this is the only section of the installation guide that you need. If you
intend to use Harmony with a database server, you will need to refer to this section for installing the application
package on your Harmony database server and its client workstations.
About Windows Installation

13

Installing Harmony Dependencies on Windows

14

Installing Harmony on Windows

16

Adding Harmony Executables to the %PATH% Environment Variable on Windows

18

About macOS Installation

19

Installing Harmony on macOS

20

Authorizing Harmony Applications on macOS

21

Adding Harmony Binaries to the $PATH Environment Variable on macOS

23

About GNU/Linux Installation

24

About GNU/Linux Installation

25

Installing Harmony Dependencies on GNU/Linux

26

Installing Proprietary Video Drivers on GNU/Linux

27

Installing Harmony on GNU/Linux

31

Adding Harmony Binaries to the $PATH Environment Variable on GNU/Linux

39

About Audio Transcoding on GNU/Linux

40

Preventing the Alt Key Keyboard Shortcut Conflict Between Harmony and the GNU/Linux Desktop

41

Troubleshooting Problems with Harmony on GNU/Linux

42

Troubleshooting a Crash When Loading Harmony on GNU/Linux

43

Troubleshooting Desktop Shortcuts Launching the Wrong Version of Harmony

45

12Harmony 15.0 Installation Guide

About Windows Installation
Installing Harmony on Windows is a straightforward process consisting mostly of running the installation
wizard, then activating the product.

13

Chapter 1: Basic Installation

Installing Harmony Dependencies on Windows
On Windows, some features of Harmony rely on the following software:lWindows Media Player must be installed to enable Harmony's audio and video transcoding capabilities.
On most consumer versions of Windows, it is installed by default.

lQuickTime Player is required if you want to export or import movie files in QuickTime Movie (.mov)format. Otherwise, Harmony will only be able to export movie files in Windows Media Video (.wmv)
format and will not be able to import movie files at all. However, the application does not need
QuickTime Player to launch and can be used without it.

lAdobe Reader is required on Windows 7 and Windows 8.1 in order to read PDF documents. It can also
be installed on Windows 10, but Windows 10 is bundled with Microsoft Edge, which can be used toread PDF files.
NOTE
Windows Media Player is not supported on Windows 7 Starter and Windows 7 Home Basic.

How to install Adobe Reader
1. To install Adobe Reader, follow the instructions are the following address:
adobe.com/support/downloads/pc

How to install QuickTime Player
1. To install QuickTime Player, download and run the installer from the following address:
apple.com/quicktime/download/pc

How to install Windows Media Player
1. Windows Media Player is pre-installed on most versions of Windows, but may be disabled. Follow
these steps to make sure it is enabled.
a. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

14Harmony 15.0 Installation Guidel

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list,
select Windows System > Control Panel.

b. From the Control Panel, go to Programs > Turn Windows features on or off.
c. In the list of Windows features, find and expand the Media Features option. Windows Media
Player should listed under Media Features. If either of these options are not listed, see below.
d. Ensure both the Media Features and Windows Media Player check boxes are checked.
e. Click OK.
f. Wait for the installation to finish.
g. Restart Windows.
2. If Media Features or Windows Media Player is not listed in the available features, make sure youredition of Windows supports it. If it does, it may be added by installing the Media Feature Pack for
Windows. To do this, click on the link corresponding to your version of Windows and follow the
instructions:lMedia Feature Pack for Windows 7:
https://www.microsoft.com/download/details.aspx?id=16546

lMedia Feature Pack for Windows 8:
https://www.microsoft.com/download/details.aspx?id=30685

lMedia Feature Pack for Windows 10:
https://www.microsoft.com/download/details.aspx?id=48231

15

Chapter 1: Basic Installation

Installing Harmony on Windows
You can install Harmony on Windows by running the installation wizard. Once the installation process isfinished, you will need to activate Harmony before you can use it.
NOTE
You need an account with administrator privileges to launch the installer.

How to install Harmony on Windows
1. In a file browser, double-click on the installer package you have downloaded.
2. When prompted by Windows, give the permission to the installer to make changes to your device.
NOTE
If you are not currently logged in with an administrator account, you will need to provide
the username and password of an account with administrator privileges.
3. In the Choose Setup Language prompt, select the preferred language for the installation process
and for reading the end-user license agreement.
4. Wait for the installer to prepare the installation.
5. In the welcome screen, click on Next.
6. If you accept the license agreement presented in the installation wizard, select I accept the terms in
the license agreement, then click on Next. Otherwise, click on Cancel.
7. If you want to install Harmony in the default installation directory, select Next. Otherwise, click on
Change and select a preferred installation directory.
8. In the Installation Type dialog, select the appropriate package type:l

If you intend to work in a Harmony Server environment, whether as server or as a client
workstation, select Complete.

l

If you only intend to work in a fully standalone environment or if you only intend to connect toa Harmony database using WebCC only, select Standalone.

9. Click on Install.
10. Wait for the installation process to finish. Once the process is finished, you are ready to launch theapplication.
11. Open the Windows Start menu.
12. In the Programs list, select Harmony 15.0 [Edition] > Harmony [Edition]

16

Harmony 15.0 Installation Guide

13. If your product is not activated, the Toon Boom Activation Wizard will launch. For information on
how to activate Harmony, see the Toon Boom License Activation Documentation at the following
address:
https://docs.toonboom.com/help/activation

17

Chapter 1: Basic Installation

Adding Harmony Executables to the %PATH% Environment
Variable on Windows
You can add the path to the Harmony executable files to the %PATH% environment variable. This will allow you
to run Harmony and its applications and utilities from the command line by typing the name of the executable
files, without having to type their full path.
NOTE
You need an account with administrator privileges to do this.

How to add Harmony executables to the %PATH% environment variable on Windows
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools> Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
3. In the Toon Boom Harmony Configuration dialog, select the ... button right of Add Harmony toPath.
4. If you only want to add the Harmony executables to the %PATH% variable for your own user, selectSingle User. If you want the Harmony executables to be in the %PATH% variable regardless of who islogged in, select All Users.
5. Select Next.
6. Click on Finish.
7. To verify that the change has been applied, open a new Command Prompt window and type thefollowing command:> echo %PATH%
The path to the Harmony bin folder should be included in the output, separated by other paths
with a semi-colon.

18Harmony 15.0 Installation Guide

About macOS Installation
On macOS, Harmony is provided in an Apple Disk Image (.dmg) file, which contains the software package. The
installation procedure mostly consists of copying its content to the Applications directory.
Copying the package's files does not require administrator privileges. However, since the package cannot be
verified by macOS, launching each of the applications inside it for the first time will require authorization by anadministrator. After launching an application for the first time, it will be authorized permanently and regularusers will be able to launch it. Since the Harmony package contains several applications, this process must be
done once for each application to unlock them all.
NOTE
On macOS, QuickTime Player must be installed to enable Harmony's audio and video transcoding
capabilities. It is typically installed by default.

19

Chapter 1: Basic Installation

Installing Harmony on macOSTo install Harmony on macOS, you must open the Apple Disk Image (.img) file, copy its content to theApplications folder, then have an administrator authorize each application inside it for launch. After that,
regular users will be able to launch its applications without administrator authorization.

How to install Harmony on macOS
1. In a file browser, double-click on the application package you have downloaded.
The License Agreement prompt appears.
2. If you accept the license agreement presented by the application package, click on the Agreebutton. Otherwise, click on Disagree.
TIP
If you want to see the license agreement in another language, select a language in thelanguage drop-down above the license agreement.
3. Wait for macOS to verify the content of the package.
4. In the Finder window that opens, do one of the following:l

If you intend to work in a Harmony Server environment, whether as server or as a client
workstation, select Toon Boom Harmony 15.0 [edition]Network.

l

If you only intend to work in a fully standalone environment or if you only intend to connect toa Harmony database using WebCC, select Toon Boom Harmony 15.0 [edition].

5. Drag and drop the selected folder in Applications.
6. Wait for the package to finish copying.
Once the package is done copying, Harmony is installed. However, you must use an administrator
account to authorize its applications before regular users can start using Harmony—see Authorizing
Harmony Applications on macOS on page 21.

20

Harmony 15.0 Installation Guide

Authorizing Harmony Applications on macOS
After installing Harmony, macOS will, by default, stop users from running Harmony applications because it
cannot verify their developer. To allow users to launch Harmony applications, each application must be
authorized for launch by an administrator account.

How to authorize Harmony applications for launch by non-administrator users on
macOS
1. Log in with an account with administrator privileges.
2. Open a Finder window.
3. In Finder, navigate to Applications > Toon Boom Harmony 15.0 [edition] or Toon Boom Harmony
15.0 [edition]Network.
4. Select all the applications in this directory: Harmony [Edition], Play and, if you installed Harmony
Server, Controlcenter, Paint and Scan.
5. Right-click on the selection and select Open.
For each application, a prompt appears stating that the application cannot be launched because theidentity of the developer cannot be confirmed.
6. In each of these prompts, click on the Open button.
NOTE
You need an account with administrator privileges to authorize the applications.
Once you have confirmed that you want to launch an application, it will be authorized permanently
and users will be able to launch it by double-clicking on it from now on.
7. Since you are only launching these applications to authorize them, you can now close all theapplications you just launched.
8. Double-click on the Tools folder to open it.
9. Select all the applications in this folder: Configuration Assistant, Configuration Editor, License
Wizard and, if you installed Harmony Server, Service Launcher.
10. Right-click on the selection and select Open.
11. For each application, a prompt will appear stating that the application cannot be launched because
the identity of the developer cannot be confirmed. For each of these prompt, click on Open.
12. Since you are only launching these applications to authorize them, you can now close all theapplications you just launched.

21

Chapter 1: Basic Installation

13. Harmony is now installed on your machine, and all its applications are authorized for launch by any
user.

22

Harmony 15.0 Installation Guide

Adding Harmony Binaries to the $PATH Environment Variable onmacOS
You can add the path to the Harmony binary files to the $PATH environment variable. This will allow you to run
Harmony and its applications and utilities from a terminal by typing the name of the executable files, without
having to type their full path.

How to add Harmony binaries to the $PATH environment variable on macOS
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon Boom Harmony 15.0 [edition] > Tools or
Applications > Toon Boom Harmony 15.0 [edition]Network > Tools.
1. Double-click on Configuration Assistant.
2. In the Welcome screen, check the Register console applications in the path option and uncheck allother options.
3. Click on Continue.
4. If you only want to add the Harmony binaries to the $PATH variable for your own user, selectRegister Path for my user only. If you want the Harmony binaries to be in the $PATH variable
regardless of who is logged in, select Register Path for all users.
NOTE
You need an account with administrator privileges to register the path for all users.
5. Click on Create.
If you selected Register Path for all users, you will be prompted to enter an administrator's username
and password to authorize the change.
6. To verify that the change has been applied, open a new Terminal window and type the following
command:$ echo $PATH
The path to the Harmony bin folder should be included in the output, separated by other paths
with a colon.

23Chapter 1: Basic Installation

About GNU/Linux Installation
On GNU/Linux, Harmony is distributed as an application package in a compressed archive and is bundled withan installation script. Just like a regular installer, the installation script can install the package and add shortcuts
to the applications to your desktop environment, but it is also able to perform the basic configuration routines if
you want to install a database or WebCC server or to set-up a batch processing node.
Harmony is built to support the following operating systems:l

CentOS 6 / Red Hat Entreprise Linux 6lCentOS 7 / Red Hat Entreprise Linux 7 (up to 7.3).

The installation instructions will presume you are working on a fresh installation of one of these operating
systems.
If you attempt to install Harmony on another GNU/Linux-based operating system, keep in mind that:lThis is not a supported scenario.

lHarmony may crash when proceeding to the Welcome screen or main application window. This issue isknown to occur on later versions of CentOS 7 (starting with 7.4) as well as of Fedora 23 and later. It may
be possible to work around this issue—see Troubleshooting a Crash When Loading Harmony
on GNU/Linux on page 43.

lHarmony may fail to launch and it may be impossible to work around the issue.

lHarmony's daemons may not be compatible with the daemon system on your operating system, whichmeans the use of Service Launcher or the creation of custom-made launch scripts may be required to set
up a database server, a WebCC server or a batch processing node.

24Harmony 15.0 Installation Guide

About GNU/Linux Installation
When you install GNU/Linux, you have several options as to the software packages that come pre-installedwith it. To avoid dependency issues, you should install GNU/Linux with a desktop environment and a full suiteof desktop software. More specifically:lWhen installing CentOS 6 or Red Hat Entreprise Linux 6, you should install the Desktop or Software
Development Workstation software set.

l

When installing CentOS 7 or Red Hat Entreprise Linux 7, you should install the GNOME Desktop or
Development and Creative Workstation base environment.
IMPORTANT
It is highly recommended to install the desktop software suite for your GNU/Linux distribution even
if you are installing GNU/Linux for a Harmony database server or a license server, as none of theapplications bundled with Harmony have been tested to work in a minimal environment on
GNU/Linux.

25

Chapter 1: Basic Installation

Installing Harmony Dependencies on GNU/LinuxOn GNU/Linux, Harmony requires the following packages to be installed:
l

SDL

l

libX11llibXextllibXrandrlalsa-libllibvorbis

l

libSM

l

fontconfigllibGLUllibjpegllibpng

l

libXi

l

tcsh

l

redhat-lsb

If you have a GNOME Desktop-type installation, most of these will be already installed, but at least some ofthese will usually need to be installed manually. If you have a minimal installation, all of these packages will need
to be installed manually.

How to install the Harmony dependencies on GNU/Linux
1. Open a terminal and type in the following command.
$ sudo yum install SDL libX11 libXext libXrandr alsa-lib libvorbis
libSM fontconfig libGLU libjpeg libpng libXi tcsh redhat-lsb
2. When prompted, confirm that you want to proceed with the installation.

26

Harmony 15.0 Installation Guide

Installing Proprietary Video Drivers on GNU/Linux
Harmony requires that the official (proprietary) drivers for your video card are installed in order to properly use
OpenGL to preview your artwork and animation. However, CentOS and Red Hat Entreprise Linux come with afree and open source adaptation of the driver for your graphic card, with which Harmony is likely to encounter
issues.
Some video drivers come as application packages that are already made to install on your system without ahassle. In this case, all you need to do is obtain the driver from your video card chipset manufacturer and follow
the installation instructions. Some other video drivers are distributed as scripts that build the drivers into kernel
modules. These are more complicated to install and this topic will break down the process, which consists of thefive following steps:
1. Obtain the official video driver from your video card chipset manufacturer's website.
2. Install the utilities required to build the video driver as a kernel module.
3. Disable the default video driver bundled with your operating system.
4. Launch GNU/Linux in terminal mode.
5. Run the official video driver's installation script.

How to know the model of your video card
1. Open a terminal and type in the following command:$ lspci | grep 'VGA compatible controller'
The utility will output a line in this format:
01:00.0 VGA compatible controller: <video card model>With this information, you can search for the website of the chipset manufacturer on the Internet,
and obtain the proper drivers from it.

How to install the utilities required to build the video driver as a kernel module
1. Open a terminal and type in the following command:$ sudo yum install "kernel-devel-uname-r == $(uname -r)" || sudo yum
install kernel-devel
This command will install the headers for your Linux kernel, which are required to build a kernel
module such as a video card driver. It tries the command for installing kernel headers for an oldkernel and, if that fails, the command for installing kernel headers for the latest version of the kernel,
to cover both cases.
2. Enter the following command to install the remaining dependencies:

27

Chapter 1: Basic Installation$ sudo yum install kernel-headers gcc make dkms acpid

How to disable the default drivers on GNU/Linux
1. First, we must obtain the name of the kernel module used by your video card. To do that, start bygetting the address used by your video card with this command:$ lspci | grep 'VGA compatible controller'
The output will be in this format:
01:00.0 VGA compatible controller: <video card model>
The numbers before VGA compatible controller are the address of the video card. They
should be in the ##:##.# format. Make note of them.
2. Search the for module associated with this address by entering the following command. Replace##:##.# with the address used by your video card.
$ find /sys/bus/pci/drivers -name "????:##:##.#"The output will look like this:/sys/bus/pci/drivers/nouveau/0000:01:00.0
The name of the folder just under drivers is the name of the kernel module. In this example, it isnouveau, which is typically used for NVIDIA graphic cards.
3. Open the list of blacklisted kernel modules in a text editor:$ sudo vi /etc/modprobe.d/blacklist.conf
4. Add the name of the kernel module for your video card to the list of blacklisted modules:
blacklist <name of kernel module>

For example, if the kernel module for your video card is nouveau, you would add the following line:
blacklist nouveau

5. Rebuild initramfs. With the default video driver added to the blacklist, initramfs will be
configured to exclude these drivers from the list of modules it loads on boot, and load the basic video
driver instead:$ sudo mv /boot/initramfs-$(uname -r).img{,~}$ sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
6. Reboot the machine.

28

Harmony 15.0 Installation Guide

NOTE
After rebooting, it is possible that your display resolution will no longer be optimal. Thisis a sign that you successfully disabled the default video driver. Your display resolution
will be optimal again after you install the proprietary video driver.
7. After logging in, you can verify that the default video drivers are no longer loaded by running thefollowing command.
$ lsmod | grep "<name of kernel module>"
For example, if the kernel module for your video card was nouveau, you could use the following
command:$ lsmod | grep "nouveau"
If it returns nothing, GNU/Linux is now running on basic video drivers that will not interfere with the
installation of proprietary drivers.

How to launch GNU/Linux in terminal mode and run the driver installation utility
1. Reboot your machine.
2. At the GNU GRUB boot menu, use the Up and Down arrow to move the cursor to the boot menu
entry that you usually use to boot GNU/Linux.
3. Press the E key.
GRUB opens the selected entry in a text editor, allowing you to temporarily modify its parameters
for this boot cycle only.
NOTE
The changes you make to the boot menu entry will only affect this launch and will not bepreserved next time you boot the machine.
4. Using the Up and Down key, move the cursor to the line that starts with kernel or linux16.
5. Use the End key to move the cursor to the end of that line.
6. Add a space at the end of the line, followed by 3. This is a boot parameter that will instruct
GNU/Linux to boot at run level 3, which means it will load a simple terminal with networking
capabilities.
7. Press Ctrl + X.

29

Chapter 1: Basic Installation

GNU/Linux will begin booting. At the end of the process, you will be presented with a simple
terminal and prompted to log in by typing your username and password.
8. Log in with the username and password of a user with administrative privileges.
9. Navigate to the directory in which you downloaded the driver installation utility.
$ cd ~/Downloads
10. Add execute permissions to the utility.
$ chmod +x ./path_to_driver_installer.run
11. Run the utility.
$ sudo ./path_to_driver_installer.run
12. Follow the instruction to install the driver. If the installation is successful, the driver will be loaded
next time you boot GNU/Linux.

30Harmony 15.0 Installation Guide

Installing Harmony on GNU/LinuxTo install Harmony on GNU/Linux, you must extract the package from the .tar.gz archive you downloaded, thenrun the installation script it contains.
You can choose to run the installation script interactively or with command line parameters to automate most of
the process.
NOTESl

If you want to run the installation script interactively, your operating system must have thewhiptail command line tool, which is provided with the newt application package.

l

Even if you install Harmony non-interactively, you must still interactively review and agree tothe license agreement on each installation.

How to install Harmony on GNU/Linux interactively
1. Verify that whiptail is present on your system, to allow the installer to use interactive mode:$ sudo yum install newt
2. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
3. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
4. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package
5. Run the install script.
$ sudo ./install
The interactive setup launches in the terminal.
6. Do one of the following:l

If you are working in a Harmony Server environment, whether your machine is going to be aclient workstation or a server, select SERVER and press Enter.

l

If you are working in a fully standalone environment or if you only intend to connect to a
Harmony database using WebCC, select STANDALONE and press Enter.

7. In the components dialog, for each component you want to install, use the Up and Down keys tohighlight the component, and the Spacebar key to check or uncheck the component:

31

Chapter 1: Basic Installationl

APPLICATION: Installs the application files: binaries, libraries, resources, configuration files,
etc. This is required to be able to launch Harmony. You should only omit this option if you areusing the installer to add components to an existing installation. .

l

DESKTOP: Creates a directory in the Applications menu of your desktop environment andadds a shortcut for each Harmony application inside it. This option also allows you to open ascene in Harmony by double-clicking on an .xstage file in a file browser.

l

PATH: Adds the path to the Harmony binaries to your $PATH environment variable,
allowing you to launch Harmony applications from a terminal by typing their name instead of
their full path.

l

URL: Registers the harmony:// URL scheme so that such URLs launch Harmony. This allows
WebCC clients to launch Harmony directly from the web browser.

If you selected to install Harmony Server, these options will also be available:l

PROCESS: Enables the batch processing daemon and adds the current machine to the
database's list of machines available for batch processing.
NOTE
Further configuration is required to make this machine a working batchprocessing node.

l

DATABASE: Enables the database server daemon and, if no database is present on themachine, creates an empty database file system on the local machine.

l

LINK: Enables and configures the link server daemon. This is required if the current machineis meant to be a database server for Windows clients.

l

WEBCC: Enables and configures the WebCC daemon. This will make this machine a WebCC
server.

l

OPENH264: Downloads and installs the Cisco OpenH264 library. This allows a WebCC
server to create preview videos for the database scenes which can be played in a web
browser. An Internet connection is required.

l

UPDATEDB: Replaces the dictionary (.dict) files in this machine's database with thispackage's dictionary files. This is useful if your machine is a database server, and you are
currently upgrading its version of Harmony.

8. Press the Tab key to switch to the Ok button at the bottom, then press Enter.
9. In the Installation Directory dialog, you can choose to type a custom installation path, or to use thedefault one. Then, press Enter.

32

Harmony 15.0 Installation Guide

10. In the License Agreement dialog, take the time to carefully review the license agreement. Use theUp and Down keys to scroll through the text in the agreement and read it until the end.
11. Press Tab to switch to the AGREE and DISAGREE buttons. You can use the Left and Right keys toswitch between selecting the AGREE or the DISAGREE button:l

If you agree with the license agreement, select the AGREE button and press Enter.

l

If you disagree with the license agreement, select the DISAGREE button and press Enter.

12. A dialog will prompt you to confirm each component that you elected to install. If a lot of components
are listed, you can use the Up and Down keys to scroll through the list. You can use the Left andRight keys to select Yes or No. If you want to proceed, select Yes and press Enter.
13. The installation begins. Each step of the installation is explained in detail until the installation isover.
14. If your product is not activated, do one of the following to launch the License Wizard:l

In the terminal, type the following command:$ sudo /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/LicenseWizardl

In the GNOME top menu, select Applications > Harmony 15.0 [Edition] > License Wizard.
A terminal will open, prompting you to enter your user password. This terminal is attempting
to launch License Wizard with sudo, as it requires elevated privileges. Type in your password
and press Enter.

For information on how to use the License Wizard to activate Harmony, see the Toon Boom License
Activation Documentation at the following address:
https://docs.toonboom.com/help/activation
15. Once Harmony is installed and activated, you can start using it. However, if you elected to add thepath to Harmony's binaries to your $PATH environment variable, you will need to reboot yourmachine before you can benefit from this feature.

How to install Harmony on GNU/Linux non-interactively
1. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz

33

Chapter 1: Basic Installation

3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package
4. Start typing the command to run the installer with all the parameters you want for your installation:$ sudo ./install <parameters>
NOTE
Each parameter must be specified separately. For example: -a -p will work, but not ap.

Parameter

Description

Installation modes
Installs the application with shortcuts to the server applications and with
daemon files for database servers and clients.
-server

NOTE
If no installation mode is specified, this one is implied by default.

-standalone

Installs the application without the shortcuts to the server applications
and without the daemon files for database servers and clients. Only use
this option if you intend to use Harmony on this machine without relying
on a Harmony Server database.

-uninstall

Uninstalls the specified components instead of installing them. If
specified alone, this launches the uninstaller in interactive mode.

Optional components-a-application-b

Installs the application files: binaries, libraries, resources, configuration
files, etc. This is required to be able to launch Harmony. You should only
omit this option if you are using the installer to add components to an
existing installation. .
For backward compatibility with older versions of the installer, thisinstalls the application files and adds the path to the Harmony binaries to34

Harmony 15.0 Installation Guide

Parameter

Description-binaries

the $PATH environment variable. It is equivalent to -a -e.

-deCreates a directory in the Applications menu of your desktop
environment and adds a shortcut for each Harmony application inside it.
This option also allows you to open a scene in Harmony by doubleclicking on an .xstage file in a file browser.

-desktop-kde-d-dbserver-l-linkserver

Enables the database server daemon and, if no database is present on
the machine, creates an empty database file system on the local machine.

Enables and configures the link server daemon. This is required if thecurrent machine is meant to be a database server for Windows clients.

Enables the batch processing daemon and adds the current machine tothe database's list of machines available for batch processing.
-p-process-w-webccserver-oh-openh264

NOTE
Further configuration is required to make this machine a working
batch processing node.

Enables and configures the WebCC daemon. This will make this machinea WebCC server.

Downloads and installs the Cisco OpenH264 library. This allows a
WebCC server to create preview videos for the database scenes which
can be played in a web browser. An Internet connection is required.

Configuration switches

-e
-env

Adds the path to the Harmony binaries to your $PATH environment
variable, allowing you to launch Harmony applications from a terminal bytyping their name instead of their full path.

35

Chapter 1: Basic Installation

Parameter

Description-sRegisters the harmony:// URL scheme so that such URLs launch
Harmony. This allows WebCC clients to launch Harmony directly fromthe web browser.

-schemeregister-u-updatedict

Replaces the dictionary (.dict) files in this machine's database with thispackage's dictionary files. This is useful if your machine is a databaseserver, and you are currently upgrading its version of Harmony.

Other options
-h
-help

-target <PATH>

Displays information about how to use the install script.

Specifies the directory in which to install the application. If not specified,Harmony will be installed in /usr/local/ToonBoomAnimation/harmony[Edition]_15.0
Specifies the location of the database on this machine's file system. This-dbpath <PATH>-own-own <USER>-own <USER:GROUP>-q-quiet-v

option is only relevant if installing a database server with the -d option,
installing a WebCC server with the -w option or updating dictionary(.dict) files with the -u option. If not specified, the installer will presume
that the database is located in /USA_DB.
Makes the application files owned by the specified user or by the
specified user:group. If no user or user:group is specified, this will makethe application files owned by the user running the script. If this option
is not specified, application files will be owned by the root user.

Do not output information during the installation process.

-verbose

Output detailed information on each step of the installation process,including every file copied.

-output <PATH>

Writes the installation log to the specified file instead of outputting it to36Harmony 15.0 Installation Guide

Parameter

Description

the terminal.
Disables the use of the whiptail utility to display dialogs andinteractive prompts. This mode is compatible with dumb-type terminals,
which do not support scrolling or erasing the screen.
-nodialog

NOTE
This option is automatically enabled if the whiptail utility is
not found on the machine or if the installer detects that theterminal is unable to scroll or erase the screen.

By default, installing over an existing installation will simply overwrites
existing files, except for configuration files in the etc directory of theinstalled application, which the installer preserves. This option will cause
the existing installation to be completely deleted before installing.
-forceIMPORTANT
Enabling this option will cause your Harmony configuration files
to be erased permanently.

-y-assumeyes

Assumes yes on all prompts, except for the license agreement.

5. Press Enter.
The install script launches and, if the parameters are valid, the License Agreement prompt appears.
6. In the License Agreement dialog, take the time to carefully review the license agreement. Use theUp and Down keys to scroll through the text in the agreement and read it until the end.
7. Press Tab to switch to the AGREE and DISAGREE buttons. You can use the Left and Right keys toswitch between selecting the AGREE or the DISAGREE button:l

If you agree with the license agreement, select the AGREE button and press Enter.

l

If you disagree with the license agreement, select the DISAGREE button and press Enter.

8. A dialog will prompt you to confirm each component that you elected to install. If a lot of components
are listed, you can use the Up and Down keys to scroll through the list. You can use the Left and37

Chapter 1: Basic Installation

Right keys to select Yes or No. If you want to proceed, select Yes and press Enter.
9. The installation begins. Each step of the installation is explained in detail until the installation isover.
10. If your product is not activated, do one of the following to launch the License Wizard:l

In the terminal, type the following command:$ sudo /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/LicenseWizardl

In the GNOME top menu, select Applications > Harmony 15.0 [Edition] > License Wizard.
A terminal will open, prompting you to enter your user password. This terminal is attempting
to launch License Wizard with sudo, as it requires elevated privileges. Type in your password
and press Enter.

For information on how to use the License Wizard to activate Harmony, see the Toon Boom License
Activation Documentation at the following address:
https://docs.toonboom.com/help/activation
11. Once Harmony is installed and activated, you can start using it. However, if you elected to add thepath to Harmony's binaries to your $PATH environment variable, you will need to reboot yourmachine before you can benefit from this feature.

38

Harmony 15.0 Installation Guide

Adding Harmony Binaries to the $PATH Environment Variable on
GNU/Linux
You can add the path to the Harmony binary files to the $PATH environment variable. This will allow you to run
Harmony and its applications and utilities from a terminal by typing the name of the executable files, without
having to type their full path.

How to add Harmony binaries to the $PATH environment variable on GNU/Linux
1. In a Terminal, navigate to the location where you previously extracted the Harmony package for
installation—see Installing Harmony on GNU/Linux.
$ cd ~/Downloads/name-of-package
2. Run the installation script with the -e option.
$ sudo ./install -e
The Toon Boom Harmony license agreement prompt appears.
3. In the License Agreement dialog, take the time to carefully review the license agreement. Use theUp and Down keys to scroll through the text in the agreement and read it until the end.
4. Press Tab to switch to the AGREE and DISAGREE buttons. You can use the Left and Right keys toswitch between selecting the AGREE or the DISAGREE button:l

If you agree with the license agreement, select the AGREE button and press Enter.

l

If you disagree with the license agreement, select the DISAGREE button and press Enter.

5. A dialog will prompt you to confirm that you want to add the path to the Harmony binaries to the$PATH environment variable. You can use the Left and Right arrow keys to select Yes or No. SelectYes and press Enter.
The install script will add the path to the Harmony binaries to the $PATH environment variable.
6. To verify that the change has been applied, open a new Terminal window and type the following
command:$ echo $PATH
The path to the Harmony bin folder should be included in the output, separated by other paths
with a colon.

39Chapter 1: Basic Installation

About Audio Transcoding on GNU/LinuxOn GNU/Linux, by default, Harmony can only play audio files with these specifications:lFormat: Waveform Audio File (.wav)lSample rate: 22 050 HzlSample size: 16 bitsl

Channel mode: Stereo

If FFmpeg is installed on your system, Harmony will use it to transcode other audio formats into this format on
the fly. However, FFmpeg comes bundled with patented algorithms such as encoders and decoders, theunlicensed use of which may contravene intellectual property laws in your jurisdiction. Hence, if you use
Harmony on GNU/Linux, it is recommended to transcode your audio in the format specified above using thirdparty software before importing it to your Harmony scene.

40Harmony 15.0 Installation Guide

Preventing the Alt Key Keyboard Shortcut Conflict
Between Harmony and the GNU/Linux Desktop
By default, in GNOME 2 and KDE, clicking anywhere on a window while holding the Alt key down will movethe window. Because the Alt key is used as a modifier for some drawing and animations tools in Harmony, thismay come in conflict with Harmony functionalities. Hence, it is highly recommended to configure your desktop
environment to use the Super (Windows) key for moving windows instead.

How to change the window moving keyboard shortcut in GNOME 2
1. In the GNOME top menu, select System > Preferences > Windows.
The Window Preferences dialog appears.
2. In the Movement Key section, select Super (or "Windows Logo")
3. Click on Close.

How to change the window moving keyboard shortcut in KDE
1. In the KDE menu, select Computer > System Settings.
2. In the System Settings window, select the Windows Behavior icon.
3. Select the Window Actions tab.
4. In the Modifier Key drop-down, select Meta.
5. Click on Apply.

41

Chapter 1: Basic Installation

Troubleshooting Problems with Harmony on GNU/LinuxThe following section explains how to fix common issues with Harmony on GNU/Linux.

42Harmony 15.0 Installation Guide

Troubleshooting a Crash When Loading Harmony on GNU/Linux
If Harmony crashes when opening a scene or proceeding to the offline welcome screen, returning the message"segmentation fault" to the terminal, this may be caused because Harmony is not compatible with later
versions of OpenSSL. You can fix this by setting the OPENSSL_ia32cap environment variable to the value"~0x200000200000000". This can be done in three different ways:lSetting the environment variable in a terminal and launching Harmony from this terminal.
TIP
You should attempt this first to make sure that setting this environment variable actually
solves the problem.

lSetting the environment variable for one user, and launching Harmony when logged in as this user.

l

Setting the environment variable for the entire machine, allowing you to launch Harmony as any user.
This requires an account with administrator privileges.

How to set the OPENSSL_ia32cap environment variable in a terminal andlaunch Harmony
1. Open a terminal and enter the following command:$ export OPENSSL_ia32cap="~0x200000200000000"
2. Launch Harmony from the same terminal:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/Harmony[edition]

How to set the OPENSSL_ia32cap environment variable for the current user
1. Open a terminal and open your Bash shell login file:$ vi ~/.profile
2. Add the following line at the end:
export OPENSSL_ia32cap="~0x200000200000000"
3. Save and quit.
4. Open your C-shell login file:$ vi ~/.login
5. Add the following line at the end:

43

Chapter 1: Basic Installation

setenv OPENSSL_ia32cap "~0x200000200000000"
6. Save and quit.
7. Log out, then log back in.
8. Attempt to launch Harmony.

How to set the OPENSSL_ia32cap environment variable for all users
1. Create a new Bash boot script using the following command:$ sudo vi /etc/profile.d/openssl.sh
2. In the script, type the following command:
export OPENSSL_ia32cap="~0x200000200000000"
3. Save and quit.
4. Create a new C-shell boot script using the following command:$ sudo vi /etc/profile.d/openssl.csh
5. In the script, type in the following command:setenv OPENSSL_ia32cap "~0x200000200000000"
6. Save and quit.
7. Reboot the machine.
8. Attempt to launch Harmony.

44Harmony 15.0 Installation Guide

Troubleshooting Desktop Shortcuts Launching the Wrong Versionof Harmony
If you have several older versions of Harmony installed, it is possible that some of their shortcuts launch thewrong of Harmony. This is because, prior to Harmony 15.0, desktop shortcuts created for Harmony would not
point to the full path of applications, so they launched the version of the application in the $PATH environment
variable.
A script has been made to fix this issue. It will go through every installation of Harmony in the default
installation location and create shortcuts for them with the proper configuration.
You can download the script from the following location:
https://docs.toonboom.com/download/tools/fix_harmony_shortcuts.sh
NOTE
This script will only work for installations of Harmony that are located in the default directory:/usr/local/ToonBoomAnimation.

How to launch the desktop shortcut fixing script
1. In a terminal, go to the directory where you downloaded the script.
$ cd <download directory>
2. Add execution privileges to the script.
$ chmod +x fix_harmony_shortcuts
3. Run the script with elevated privileges:$ sudo ./fix_harmony_shortcuts
4. Read the confirmation prompt, then type yes and press enter.

45

Chapter 2: Harmony Server

Chapter 2: Harmony Server
Harmony Server is a team-based infrastructure for animation production. Its array of cutting-edge features
increases productivity and encourages creativity. Developed in conjunction with leading studios worldwide,
Harmony is specifically designed for long-term episodic and feature length projects, providing a true animation
pipeline. Several animators can work simultaneously on the same scene while the asset library provides users
with easy access to up-to-date media assets.

Harmony Server is truly scalable; more than 100 staging clients can share animation just as easily as a few can.
Whether you are a start-up studio or a large established animation facility, Harmony serves as the animation
backbone ensuring sustainability and growth.
Harmony Server is a powerful solution that brings together multiple teams working on the same project,
whether in-house or remotely. The Harmony Serversolution offers a robust asset management system thatenables users to quickly locate assets, share tasks on complex scenes and centralize all assets in a common
repository. Tremendous gains in efficiency and quality are made by the teams, who enjoy a smooth flow
between each task, and more time dedicated to their creative assignments.
In addition, the server is critical at the end of a production for rendering projects efficiently. The rendering
process, controlled directly by the server, not only renders production scenes but also executes the batch
vectorization of the scanned drawings. You can send an unlimited number of scenes to render and change theirpriorities depending on your deadline. You can also render final frames locally or batch process over a networkin the background or at scheduled times. For more information, see Batch Processing on page 284.
About the Harmony Server Structure50

About Database Server Installation

52

Database Server Installation on Windows

53

Disabling the Firewall for a Harmony Database Server on Windows

54

Setting up the Database Server on Windows

55

46

Harmony 15.0 Installation Guide

Removing the Scene Data Storage from the Database Server on Windows

57

Running the Database Server Service on Log-In on Windows

58

Configuring Scene Resolution Presets for a New Harmony Database on Windows

60

Opening the Firewall Ports for a Harmony Database Server on Windows

62

Creating a Scene Data Storage Space on Windows

64

Configuring a Windows Database Server to have a Static IP Address

70

Looking Up the Database Server Log on Windows

74

Launching the Database Server Manually on Windows

75

How to Stop and Restart the Database Server on Windows

76

Pausing and Resuming the Database Server on Windows

78

Uninstalling the Database Server on Windows

79

Database Server Installation on macOS

81

Setting the Server Hostname on macOS

82

Creating a Harmony Database on macOS

83

Installing the Database Server Daemon on macOS

84

Running the Database Server on Log-In on macOS86

Configuring Scene Resolution Presets for a New Harmony Database on macOS

88

Sharing the Harmony Database Files Using NFS on macOS90

About Supporting Windows Clients for macOS Servers

92

Installing the Link Server Daemon on macOS

93

Running the Link Server on Log-In on macOS

94

Sharing the Harmony Database Files Using Samba on macOS

96

Configuring a macOS Database Server for Windows Clients

100

Creating a Scene Data Storage Server on macOS

102

Configuring a macOS Database Server to have a Static IP Address

106

Looking Up the Database Server Log on macOS109

Launching the Database Server Manually in macOS111

Stopping and Restarting the Database Server on macOS112

Pausing and Resuming the Database Server on macOS

114

Uninstalling the Database Server on macOS

115

47

Chapter 2: Harmony Server

Database Server Installation on GNU/Linux

117

Disabling Security for a Harmony Database Server on GNU/Linux

118

Creating a Harmony Database on GNU/Linux120

Installing the Database Server Daemon on GNU/Linux

121

Running the Database Server on Log-In on GNU/Linux

123

Expanding the File Descriptor Limit for a Database Server on GNU/Linux

125

Configuring Scene Resolution Presets for a New Harmony Database on GNU/Linux

126

Opening the Firewall Ports for a Harmony Database Server on GNU/Linux

128

Sharing the Harmony Database Files Using NFS on GNU/Linux

129

About Supporting Windows Clients for GNU/Linux Servers

132

Installing the Link Server Daemon on GNU/Linux

133

Running the Link Server on Log-In on GNU/Linux

135

Opening the Firewall Ports for the Link Server on GNU/Linux137

Sharing the Harmony Database Files Using Samba on GNU/Linux

138

Opening the Firewall Ports and Configuring SELinux for a Samba Server on GNU/Linux

140

Configuring a GNU/Linux Database Server for Windows Clients

142

Creating a Scene Data Storage Server on GNU/Linux

144

Setting Up Static IPs for WebCC on GNU/Linux147

Checking the Database Server Log on GNU/Linux152

Launching the Database Server Manually in GNU/Linux

153

Stopping and Restarting the Database Server on GNU/Linux

154

Pausing and Resuming the Database Server on GNU/Linux

156

Uninstalling the Database Server on GNU/Linux

157

Connecting Client Workstations to a Harmony Database Server

159

Configuring Harmony Server Clients on Windows

160

Connecting a Windows Client to a Database Server Using Configuration Wizard

161

Manually Configuring a Windows Client to Connect to a Harmony Database

162

Configuring the Hosts File for a Windows Client

165

About Connecting to a Harmony Database Without Using Shortcut Files on Windows

166

Configuring the Shortcuts File on Windows

167

48

Harmony 15.0 Installation Guide

Setting a Custom Location for the Shortcuts Configuration File on Windows

169

Troubleshooting Client Connections on Windows

171

Configuring Harmony Server Clients on macOS

175

Connecting a macOS Client to a Database Server

176

Setting the User File Creation Permission Mask on macOS

178

Configuring the Hosts File for a macOS Client

179

About the Location of Mount Points on macOS180

Configuring the Shortcuts File on macOS

181

Setting a Custom Location for the Shortcuts Configuration File on macOS

182

Configuring Harmony Server Clients on GNU/Linux

183

Connecting a GNU/Linux Client to a Database Server

184

Setting the User File Creation Permission Mask on macOS

186

Configuring the Hosts File for a GNU/Linux Client

188

About the Location of Mount Points on GNU/Linux

189

Configuring the Shortcuts File on GNU/Linux

190

Setting a Custom Location for the Shortcuts Configuration File on GNU/Linux

191

49

Chapter 2: Harmony Server

About the Harmony Server Structure
The primary purpose of the database server is to host and manage the information on its Harmony scenes.
Optionally, it can also host the actual scene data, but other machines on your network can be used for scene
data storage as well, as those are two different components of a Harmony database.
A Harmony database is structured using different network shares:l

The /USA_DB share, which contains the information on all the scenes, environments, jobs as well asshared assets such as palettes and templates stored in environments or jobs. This part of the databasemust be hosted on the machine that runs the database server service/daemon, to which client
workstations will connect directly.

l/usadata shares, which contain the actual scene data: the drawings, animation, 3D models, scene
palettes, etc. Those can be hosted on the database server or on any machine on the local network thatthe client workstations can access. There can be as many as the studio needs, which allows you to
expand the storage capacity of your database server by creating a new /usadata share on a new fileserver.

On client machines, every network share is mounted on the same location as the location of the actual share on
their respective server. Likewise, if other servers are used to store scene data, the shares of these servers aremounted on the database server. The result is that the database file structure is entirely accessible on allmachines in the network.
If you intend to use several /usadata shares, they must be numbered them. The best practice is to name thefirst /usadata share /usadata000, and it is typical, although not mandatory, to store that share on the samemachine as the database server. Then, when you need to expand the storage space for your Harmony
database, you can create a share named /usadata001 on another machine, and another one named/usadata002 on another machine, etc.
In the end, client machines will locate the different shares that compose your database by mounting thoseshare points on the client machine's filesystem root.
On Windows machines, this is done by adding shortcut (.lnk) files in the root of a drive (typically C:) which point
to the network path of the share, for example:l

A USA_DB.lnk shortcut file pointing to \\dbserver\USA_DB.

l

A usadata000.lnk shortcut file pointing to \\dbserver\usadata000.

l

A usadata001.lnk shortcut file pointing to \\newfileserver\usadata001.

This process is automatically done by Configuration Wizard, a Windows-exclusive configuration tool for
Harmony.
On macOS and GNU/Linux machines, this is done by mounting the shares on folders located at the root of thefilesystem. By giving those folders the name of their respective shares, it simulates the presence of the server's
files on the machine's filesystem. For example:

50

Harmony 15.0 Installation Guidel

A directory named /USA_DB is mounted with the NFS share at address dbserver:/USA_DB.

l

A directory named /usadata000 is mounted with the NFS share at address
dbserver:/usadata000.

l

A directory named /usadata001 is mounted with the NFS share at address
newfileserver:/usadata001.

Typically, clients and servers can communicate without any issue if they use the same kind of operating system.
It is possible to set-up a Harmony database that mixes different platforms across the database server, the fileservers and the client workstations, but with some important limitations that must be taken in account:l

By default, the use of non-alphanumerical Unicode characters, with the exception of the dash and theunderscore, in Harmony for naming scenes, layers and drawings is not enabled, but can optionally beenabled. However, you must absolutely keep in mind that macOS and GNU/Linux typically fail tocommunicate filenames containing Unicode characters over the NFS protocol. This means that if
Unicode is enabled on your database, and that a macOS based client tries to open or save a scene
containing Unicode characters which is hosted on a GNU/Linux-based file server, Harmony will fail toopen and save files with Unicode characters in their name, and there might be data loss! Hence, it isimportant to never enable Unicode if your network includesmacOS-based clients and GNU/Linux-based
database servers or file servers, including GNU/Linux-based NAS servers.

l

If you set up your database server on a Windows machine, only Windows clients are supported. It may
be possible to connect a macOS-based or GNU/Linux-based client workstation to a Windows-based
database server, but this may cause unexpected issues and it is not a supported usage scenario.

l

If you intend to set up your database server on a macOS machine and you want Windows workstations
to be able to connect to it, you will need to install a third party software, SMBup, and configure it toshare your database files through the Samba protocol. This is because macOS natively supports the NFS
sharing protocol, but not SMB, and Windows natively supports the SMB file sharing protocol, but not
NFS.

To summarize, here is a table outlining the implications of mixing platforms between servers and clients:↓Client

Windows

macOS

GNU/Linux

Windows

No problem.

Requires SMBup to beinstalled and configuredon the server.

No problem.

macOS

Not supported.

No problem.

Unicode must be
disabled.

GNU/Linux

Not supported.

Unicode must be
disabled.

No problem.

Server →51

Chapter 2: Harmony Server

About Database Server Installation
At the heart of the Harmony Server solution is the server itself, which centralizes all the production assets in a
repository. Loaded with production proven tools to manage administration tasks, the server is completely
flexible and will fit in with your existing infrastructure, whether you're on Windows, Mac or Linux.
The first step to having a Harmony Server network is to set up the database server. The database server
contains the structure of the database and runs a programs that allows client workstations to open and edit
scenes remotely.
Installing a database server can be done on all platforms supported by Harmony: Windows, macOS and
GNU/Linux. Although the installation procedure is substantially different on each platform, they all have thesame basic components:lCreating a database file structure and a scene data storage space.

lSharing the database files using the Samba (Windows) or NFS (macOS or GNU/Linux) file-sharing
protocol, so that other machines can access them.

lConfiguring the database server program, which handles client requests, to run on startup or login.

Because of the differences in the way Windows and UNIX filesystems work, and in the way Windows, macOSand GNU/Linux support filesharing, extra steps are required if you need to allow Windows clients to connect toa macOS or GNU/Linux-based server, mainly:lSharing the database files using the Samba file-sharing protocol.

lConfiguring the link server program, which handles the creation of symbolic links for Windows clients.

Additionally, it may be required to add security exceptions to the server machine's firewall for the databaseserver, the link server and the file sharing services used by the server.
Optionally, a server machine's firewall can be fully disabled to allow open communications between different
machines on the site. However, a dedicated firewall should be set-up at the site level to ensure computers
outside of the site cannot attack machines on the site.
IMPORTANT
Although it may be possible to use macOS or GNU/Linux based client workstations to connect to a
Windows based database server, this is not a supported usage scenario and attempting this may
cause unexpected problems.

52

Harmony 15.0 Installation Guide

Database Server Installation on Windows
On Windows, the basic setup for a database server is done through the Configuration Wizard, which will
create the base structure of the database and automatically configure the database server service.

53

Chapter 2: Harmony Server

Disabling the Firewall for a Harmony Database Server on Windows
By default, the Windows firewall will block incoming connections to a database server. This installation guideprovides instructions on how to add exceptions for the database server to your firewall. However, you may
prefer to disable the firewall completely so as to simplify the installation process or to rule out the firewall as apossible cause when troubleshooting an issue.
IMPORTANT
If you choose to disable the firewall on Windows, it is critical to ensure that your domain has
effective site-wide security measures to prevent unauthorized access to your database server.

How to disable the firewall on Windows
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, select System and Security.
3. Under Windows Defender Firewall, select Check firewall status.
4. In the list to the left, select Turn Windows Defender Firewall on or off.
5. Under Domain network settings, select Turn off Windows Defender Firewall (not recommended).
6. Under Private network settings, select Turn off Windows Defender Firewall (not recommended).
7. Under Public network settings, select Turn off Windows Defender Firewall (not recommended).
8. Click on OK.

54

Harmony 15.0 Installation Guide

Setting up the Database Server on Windows
Using the Toon Boom Harmony Configuration Wizard, you can quickly create the basic structure for a Harmony
database and install the database server as a Windows service, which will run as user usabatch.

How to set up a Harmony database server on Windows
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
3. In the list of tasks, right of Database, click on the ... button.
4. In the Toon Boom Harmony Database Creation dialog, select Server/Standalone and click on Next.
5. Under What drive should be used for the database?, select which drive on this machine should be
used to store the database's files.
NOTE
A USA_DB directory will be created at the root of the selected drive.
6. Under What is the UserName?, type in the username of the user account you want to create for the
database server service. This will create a local user account on your Windows machine, and thisuser will be connecting to the network and running the service. By default, this use is named
usabatch.
TIP
If you already configured a user for a database server or the batch processing service on
this machine before, you can type in the name of that existing user. The
Configuration Wizard will use this existing user account to run the database server
service instead of creating a new one.
7. Under What is the User Password?, type in the password for the user that will run the databaseserver service. If you are creating a new user, use this field to select their password. If you typed in
the user name of an existing user account, type in their actual password.
8. Click on Next.
The Scene Data Location dialog appears. In this dialog, you can create a scene data storage on thismachine. By default, this dialog is already configured to add a single scene data storage to thismachine, on the drive C, named usadata000.

55

Chapter 2: Harmony Server

9. In the User Name and Password fields, make sure the credentials for the scene data location thatwill be created on your machine match the ones entered for the database server, typed in steps 5
and 6.
10. Click on Next.
11. In the Database changes field, verify that that the changes the wizard is about to make are correct,
then click on Finish.
Your database is set-up. At this point, you should already be able to run Control Center from thismachine, log-in with the default user usabatch and create scenes and users.

56

Harmony 15.0 Installation Guide

Removing the Scene Data Storage from the Database Server
on Windows
By default, Configuration Wizard will add a scene data storage space to the server when creating a databaseserver. If you want all of the scene data storage spaces to be on other machines than the database servermachine, you must first remove that storage space from the server, then create a scene data storage space onanother machine.

How to remove the scene data storage space from a Windows database server
1. Open an Explorer window.
2. Navigate to the root of the drive in which the scene data storage space was created. By default, thisdrive is C:.
3. Select the directory usadata000.
4. Delete this directory.
5. Open the Start menu and, in the Programs list, select Windows Accessories.
6. Right-click on Notepad and select Run as Administrator.
7. In the top menu of Notepad, select File > Open.
8. In the Open dialog, select All Files (*.*) in the file type drop-down in the bottom-right corner.
9. Browse to and select the following file:
C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\etc\server.ini
In the file, there are numerous lines starting with FileSystem. The first one of them will most likely
contain information about the scene data storage space the Configuration Wizard created. For
example, if the name of the server is harmonyserver, this line would contain:
FileSystem0=C usadata000 harmonyserver
10. On this line, remove all of the information after the equal sign for FileSystem0:
FileSystem0=
11. In the top menu, select File > Save.
The storage space has now been removed from your database server. To create another storage
space on a different machine, see Creating a Scene Data Storage Space on Windows.

57

Chapter 2: Harmony Server

Running the Database Server Service on Log-In on Windows
When creating a database server with Configuration Wizard, the database service is configured to launch as
an actual Windows service. This means it launches and allows clients to connect as soon as the machine isbooted, without any user being signed-in.
Using Service Launcher, it is possible to configure your database server to only launch its database server
service as the logged-in user, when they log-in. This means the database will only be accessible if the user
configured to run it is logged in.
Although this may seem impractical, it may be preferable for security reasons. Services installed with theConfiguration Wizard are run under the user usabatch, an user with administrator privileges which is createdby Configuration Wizard to launch the services. When using Service Launcher, the logged-in user does notneed to have administrator privileges to run services.
Before configuring Service Launcher to run the database server, the windows service that launches it must be
disabled, so as to avoid launching two instances of the database server.
NOTE
While Windows services run regardless of who is logged in and even when no user is logged-in,
Service Launcher will only run when the user for which it was specifically configured is logged
in. This means that if you want Service Launcher to launch when any user is logged in, you must
configure it for each user that has access to the machine.

How to disable the database server service
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-tbdbserver.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on Remove.
From that point on, the database server service will no longer launch on boot.
6. Close the Control Panel.

58Harmony 15.0 Installation Guide

How to configure the database server to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, open the Start menu and, in the Programs list, selectHarmony 15.0 [Edition] > Tools >lService Launcher.

If Service Launcher is already running, click on its iconin the notification tray.

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the Database Server tab.
5. Click on Launch to verify that the database server launches successfully through Service Launcher.
6. Check the Launch when Service Launcher starts option.
7. In the top menu, select Server > Save All Settings.
From now on, the database server will launch through Service Launcher when you log in.

59

Chapter 2: Harmony Server

Configuring Scene Resolution Presets for a New Harmony
Database on Windows
If you launch Harmony on a newly created database, you are likely to encounter the following error message:

This is because Harmony expects a list of presets for scene resolution and framerate to be present in at least
one of the following locations:l

The database's resolution directory.

l

The scene's environment directory.

l

The scene's job directory.

Without this file, your scene is created in standard resolution at 24 frames per second, and you must configure
the preferred resolution for your scene manually if you wish to change it.
To remedy this quickly, you can copy Harmony's default resolution presets file to the database's resolutions
directory, which contains many commonly used resolution presets, such as 1080p24, 1080p25 and 4K.
If you wish, you can also create resolution preset files for specific jobs or environments, by adding a resolution
presets file to a job or environment's directory in the database file structure.

How to create a default resolution presets file for a Harmony database
1. Open an Command Prompt.
2. Enter the following commands:> MKDIR C:\usa_db\resolution> COPY "C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony
15.0 [Edition]\etc\resolution.conf" C:\USA_
DB\resolution\resolution.conf

How to create a resolution presets file for a specific environment
1. Open a Command Prompt.
2. Enter the following command, replacing <environment> with the name of the environment for
which you want to create a resolution presets list:

60

Harmony 15.0 Installation Guide> COPY "C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony
15.0 [Edition]\etc\resolution.conf" C:\USA_
DB\environments\<environment>\resolution.conf

How to create a resolution presets file for a specific job
1. Open a Command Prompt.
2. Enter the following command, replacing <job> with the name of the job for which you want tocreate a resolution presets list:> COPY "C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony
15.0 [Edition]\etc\resolution.conf" C:\USA_DB\db_jobs\<job>\resolution.conf

61

Chapter 2: Harmony Server

Opening the Firewall Ports for a Harmony Database Server
on Windows
By default, the Windows firewall will block the communication between client workstations attempting toconnect to the Harmony server and the database server service. In order to allow clients to connect to yourserver, you must open the ports used by the database server on the server machine.

How to open the ports for the Harmony database server on Windows
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. Click on System and Security.
3. Click on Windows Defender Firewall.
4. Click on Advanced settings.
The Windows Defender Firewall with Advanced Security window opens.
5. In the list to the left, select Inbound Rules.
6. In the Actions list to the right, select New Rule.
The New Inbound Rule Wizard appears.
7. Under What type of rule would you like to create?, select Port and click on Next.
8. Under Does this rule apply to TCP or UDP?, select TCP.
9. Under Does this rule apply to all local ports or specific local ports?, select Specify local ports.
10. In the text field, type the port number 5680.
NOTE
This is the default port used by the Harmony database server. However, the port
number for the database server can be customized by editing the Dbserver.conf filelocated in /USA_DB.
11. Click on Next.
12. Under What action should be taken [...], select Allow the connection and click on Next.

62

Harmony 15.0 Installation Guide

13. Under When does this rule apply?, check the network types over which clients will attempt toconnect to this server, then click on Next.
14. In the name field, name the rule "Toon Boom Database Server".
15. Click on Finish.
Clients on your network will now be able to communicate with the database server.

63

Chapter 2: Harmony Server

Creating a Scene Data Storage Space on Windows
You can create additional storage spaces for your Harmony database on different Windows machines. The
database server will connect to these machines to transmit scene data to the clients, allowing you to expand
the storage capacity of your database.
The first step is to create a shared folder on the Windows machine that will host the new storage space. Then,
you must configure your database server with the information about this new storage space so that, whenusing Configuration Wizard to set up new Harmony Server clients, this new share will be added to the client
configuration. Lastly, if you want the database server itself to have access to the new storage space, you must
add a shortcut to that storage space's network path on the database server.
If you intend to configure your database server and the scene data storage spaces to require credentials to beaccessed, you should configure all the shares to be accessible with the same user names and password, asHarmony clients will only use one set of credentials to connect to the database and the different scene data
storage spaces. For example, in an open network environment, it is typical to give access to all the Harmonyrelated network shares to the user usabatch.

How to create the user usabatch on a new Windows-based scene data storage server
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, click on System and Security.
3. In the System and Security panel, click on Administrative Tools.
4. Double-click on Computer Management.
5. In the Computer Management dialog, in the navigation tree to the left, select Local Users andGroups > Users.
6. In the Actions panel to the right, select More Actions > New User.
7. In the New User dialog, enter the desired credentials for the user that will be used to access the
network share. For example:lUser name: usabatchlFull name: usabatchl

Password: usabatchl

Uncheck the User must change password at next logon option.

64Harmony 15.0 Installation Guidel

Check the User cannot change password option.

l

Check the Password never expires option.

8. Click on OK.

How to create a scene data storage space on Windows
1. Log-in to the machine that will be used as the new scene data storage space using an account withadministrator privileges.
2. Open an Explorer window.
3. Browse to the root of the drive where you want the scene data to be stored (ie: C:).
4. Create a new directory.
5. Name the directory usadata, followed by a padded, zero-based number indicating its index in thelist of storage spaces used by yourHarmony database. For example, if this is the second storage
space your add to your database, name it usadata001.
6. Right-click on the folder and select Properties.
7. Open the Sharing tab.
8. Click on Advanced Sharing.
9. In the Advanced Sharing dialog, check the Share this folder checkbox.
10. Click on Permissions.
11. In the Group or user names list, select Everyone.
12. Check the checkbox right of Full Control, under the Allow column.
13. Click on OK.
14. In the Advanced Sharing dialog, click on OK.
15. In the Properties dialog, click on Close.

How to add the a new scene data storage space to your server configuration
1. Log in to the database server.
2. Open the Start menu and, in the Programs list, select Windows Accessories.
3. Right-click on Notepad and select Run as Administrator.
4. In the top menu of Notepad, select File > Open.

65

Chapter 2: Harmony Server

5. In the Open dialog, select All Files (*.*) in the file type drop-down in the bottom-right corner.
6. Browse to and select the following file:
C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\etc\server.ini
In the file, there are numerous lines starting with FileSystem followed by a number, an equal sign,and some of them will have information after the equal sign. This is the list of scene data storage
spaces used by your Harmony server. For example, a newly created database with a single storage
space will probably have this scene data storage space configuration:[WizardConfig]
ServerName=SERVERNAME
InstallationDrive=C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony
15.0 [Edition]
UsaShare=usa
UsadbDrive=C
UsadbShare=usa_db
FileSystem0=C usadata000 SERVERNAMEFileSystem1=
FileSystem2=
FileSystem3=
FileSystem4=
[...]

NOTE
The server.ini file generated by Configuration Wizard contains a file system listing
going from 0 to 99. The sample file was shortened here to avoid cluttering the
documentation.
7. In the first one of the FileSystem lines that has nothing after the equal sign, type in theinformation for your scene data server, in the following format:
FileSystem1=<drive letter> <share name> <server name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<drive letter>: The driver letter of the drive on which the scene data storage space islocated, without any colon or backslash. For example, if the scene data storage space wascreated on drive C:, simply type C.

66

Harmony 15.0 Installation Guidel<share name>: The name of the share containing the scene data. Usually, this share iseither named USADATA or usadata, and its name may be followed by a zero-padded, zerobased number indicating the index of the scene data storage space. For example, the firstscene data storage space could be named USADATA or usadata000.

l<server name>: The host name of the scene data server. If the scene data storage space ishosted on the same machine as the database, then this host name is the same as the hostname for the database.

For example, if the new scene data storage space is the second scene data storage space for theserver, and is located in C:\usadata001 of a computer with the hostname newserver, theappropriate configuration for this would be as follows:
FileSystem1=C usadata000 newserver

8. In the top menu, select File > Save.
From now on, the next time you run the Configuration Wizard to set up a Harmony database client
on Windows, the new scene data storage space will be automatically added to the client
configuration. You can use the Configuration Wizard to re-configure existing clients, if needed.

How to connect the database server to a new remote scene data storage space
1. Log in to the database server.
2. Open the Start menu and, in the Programs list, select Harmony 15.0 [Edition] > Tools> Control Panel.
3. When prompted, allow Control Panel to make changes to your device.
4. In the Control Panel, open the Connections tab.
5. In the Sharename field, type in the network (UNC) path of the new scene data storage space. Thislocation should start with two backslashes followed by the hostname of the server on which thisstorage space is hosted, followed by a backslash, then the name of the scene data storage space
itself, like in the following example:\\newserver\usadata001
6. In the Username field, type in the name of a user who has access to this network share.
7. In the Password field, type in this user's password.
8. Click on Create Connection.
9. Click on Close.
10. Right-click on the desktop, then select New > Shortcut.

67

Chapter 2: Harmony Server

The Create Shortcut dialog appears.
11. Under Type the location of the item:, type the network (UNC) path of the new scene data storage
space, as in step 5.
12. Click on Next.
13. Under Type a name for this shortcut:, type in the name of the share and nothing else. For example,
if the shortcut path is \\newserver\usadata001, the name of the shortcut should beusadata001.
14. Click on Finish.
15. Right-click on the shortcut and select Cut.
16. Open an Explorer window.
17. Browse to the root of the drive with the same drive letter as the one on which the new storage
space was added on the scene data server (ie: C:)
18. Right-click on the files list and select Paste.
19. When prompted, grant administrator permission to move the shortcut.
There is now a shortcut pointing to the new scene data storage space on the database server,
allowing it to connect to this storage space and create and manage scenes inside it.

How to add the new storage space to the list of storage spaces used by Harmony andControl Center
1. Open the Start menu and, in the Programs list, select Toon BoomHarmony 15.0 [Edition] > Tools>

Configuration Editor.

2. When prompted, allow Configuration Editor to make changes to your device.
3. Open the Manager.conf tab.
4. Scroll down to the bottom. There should be a line starting with scene_dir_pattern: followed by
the path to the scene data directories used by your server, except for the one you just created. For
example, if the server only had a scene data storage named usadata000, the line would be as
follows:
scene_dir_pattern:/usadata000

5. After the last scene data storage space listed on the scene_dir_pattern line, add a space,followed by a slash and the name of the new scene data storage space. For example, if you areadding a scene data storage space named usadata001 and located at the root of your storage68

Harmony 15.0 Installation Guide

device, you should add it at the end of the line, like so:scene_dir_pattern:/usadata000 /usadata001

IMPORTANT
Even on Windows, the path to a scene data directory in Manager.conf must:l

Use forward slashes (/) as separators, not backward slashes (\).

lStart with a forward slash, not a drive letter. For example, instead of
C:\usadata001, type /usadata001.

l

Not include the .lnk extension of the shortcut file. If you are adding
C:\usadata001.lnk, simply put /usadata001.

TIP
You can also add * wildcards in the folder names. For example, this will include all scene
data directories at the root of your storage device with a name starting with usadata:
scene_dir_pattern:/usadata* /USADATA*

69

Chapter 2: Harmony Server

Configuring a Windows Database Server to have a Static IP
Address
It is common to configure server machines to have a static IP. This avoids having to rely on DNS resolution tofind the server when its IP address changes, and it also allows you to associate the hostname to the server's
static IP address on the machine to skip DNS resolution altogether, increasing network performance.
If your machine is currently connected to a DHCP server that dynamically assigns IP addresses, you canconfigure your machine to permanently use its current IP address. To do this, you can start by making note of
the information for your current network connection, then using these parameters for a permanent IP address.

How to obtain the information about your current connection
1. Open Command Prompt and enter the following command:.
> ipconfig /allThis will output information about your current connection:
Windows IP Configuration
Host Name . . . . . . . . . . . . : <hostname>Primary Dns Suffix . . . . . . . : <domain name>
Node Type . . . . . . . . . . . . : Peer-Peer
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : <domaine names>

Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : <domain name>
Description . . . . . . . . . . . : <adapter name>
Physical Address. . . . . . . . . : <MAC address>
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : <IPv6 address>
IPv4 Address. . . . . . . . . . . : <IPv4 address>
Subnet Mask . . . . . . . . . . . : <subnet mask>
Lease Obtained. . . . . . . . . . : <date of lease>
Lease Expires . . . . . . . . . . : <date of expiration>
Default Gateway . . . . . . . . . : <default gateway>
DHCP Server . . . . . . . . . . . : <DHCP server address>
DHCPv6 IAID . . . . . . . . . . . : <DHCPv6 IAID>
DHCPv6 Client DUID. . . . . . . . : <DHCPv6 Client DUID>
DNS Servers . . . . . . . . . . . : <DNS server addresses>
Primary WINS Server . . . . . . . : <WINS server address>
NetBIOS over Tcpip. . . . . . . . : Enabled70Harmony 15.0 Installation Guide

2. In the output, under Ethernet adapter Ethernet, make note of the following data:l

The domains in the DNS Suffix Search Listl

The IPv4 Addressl

The Subnet Maskl

The Default Gateway addressl

The addresses for the DNS Servers

How to configure a Windows server to use a static IP
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. Click View network status and tasks.
3. On the top-left corner of the Network and Sharing Center, select Change adapter settings.

4. Right-click on the network adapter used by your machine to connect to your local network, thenselect Properties.

71

Chapter 2: Harmony Server

The Local Area Connection Properties dialog appears.

5. In the items list, select Internet Protocol Version 4 (TCP/IPv4)
6. Click on the Properties button under the list.
The Internet Protocol Version 4 (TCP/IPv4) Properties dialog box opens.

7. Select the Use the following IP address option.
8. In the IP Address field, enter the IPv4 Address you obtained in earlier.

72

Harmony 15.0 Installation Guide

9. In the Subnet mask field, enter the Subnet mask you obtained earlier.
10. In the Default gateway field, enter the Default gateway address you obtained earlier.
11. Select the Use the following DNS server addresses option.
12. In the Preferred DNS server field, enter the DNS Servers address obtained earlier.
13. If a second DNS server was listed by ipconfig, type it in the Alternate DNS server field. Otherwise,
leave this field empty.
14. Click on Advanced.
The Advanced TCP/IP Settings dialog opens.
15. Select the DNS tab.

16. Select the Append these DNS suffixes (in order): option.
17. For each DNS Suffix obtained earlier, click on Add, then type in the suffix. Add the suffixes in theorder in which there were listed.
18. Click on OK.
19. Click on OK in the Internet Protocol Version 4 (TCP/IPv4) Properties dialog.
20. Click on OK in the Ethernet Properties dialog.

73

Chapter 2: Harmony Server

Looking Up the Database Server Log on Windows
In order to troubleshoot problems with the Harmony database server, you can look through its log. This is done
differently depending on whether you installed the database server as a Windows service using
Configuration Wizard or using Service Launcher.

How to check the log for the database server service
1. Open an Explorer window.
2. Browse to the following location:
C:\ProgramData\Toon Boom Animation\Toon Boom Harmony
3. Right-click on tbdbserver.log and select Open with > Notepad.

How to check the log for the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

74Harmony 15.0 Installation Guide

Launching the Database Server Manually on Windows
You can start the database server directly from a command line. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems. You can view the output of the server
directly in the command line as it launches and handles requests.

How to start the database server manually on Windows
1. In a command line, enter the following command:> C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\tbdbserver.exe

75Chapter 2: Harmony Server

How to Stop and Restart the Database Server on Windows
If you installed the database server as a Windows service using Configuration Wizard, you can stop it andrestart it using the Harmony Control Panel or the Windows Services control panel. If you installed it using
Service Launcher, you can stop it and restart it manually in Service Launcher.

How to stop and restart the database server service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-tbdbserver.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. When you are ready to start the server again, click on Start.

How to stop and restart the database server service using the Windows Services
control panel
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, navigate to System and Security > Administrative Tools.
3. Double-click on Services.

76Harmony 15.0 Installation Guide

4. Scroll-down to HarmonyStarter0-tbdbserver.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
5. Right-click on the service and select Stop.
6. When you are ready to start the server again, right-click on it and select Start.

How to stop and restart the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

77

Chapter 2: Harmony Server

Pausing and Resuming the Database Server on Windows
If you need to perform maintenance or updates on a Harmony server, you can pause it instead of stopping itcompletely.
Users who attempt to save a scene while the server is paused will receive a warning message. The server willqueue the save and commit the changes when the server is resumed.

How to pause the database server
1. In a command prompt, enter the following command:> C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\dbu -p

How to check pause status of the database server
1. In a command prompt, enter the following command:> C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\dbu -P

How to resume the database server
1. In a command prompt, enter the following command:> C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\dbu -res

78Harmony 15.0 Installation Guide

Uninstalling the Database Server on Windows
If you installed the database server as a Windows service using Configuration Wizard, you can uninstall it using
the Harmony Control Panel or the Windows Services control panel. If you installed it using Service Launcher,
you can uninstall it in Service Launcher.

How to uninstall the database server service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-tbdbserver.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on Remove.
The database server service will stop and will no longer launch on boot.
6. Close the Control Panel.

How to uninstall the database server service using the Windows Services control panel
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, navigate to System and Security > Administrative Tools.
3. Double-click on Services.

79

Chapter 2: Harmony Server

4. Scroll-down to HarmonyStarter0-tbdbserver.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
5. Double-click on the service to open its Properties dialog.
6. In the Startup type drop-down, select Disabled.
7. Click on OK.
From that point on, the database server service will no longer launch on boot.

How to uninstall the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

80

Harmony 15.0 Installation Guide

Database Server Installation on macOSOn macOS, you can create a database server by using the Configuration Assistant. The creation of the server isdone in two separate steps: The creation of the server's file structure, and the installation of the databaseserver daemon.

81

Chapter 2: Harmony Server

Setting the Server Hostname on macOS
By default, unless your macOS server is configured to work with a domain name, macOS will append the suffix.local to its chosen hostname. The configuration tools for Harmony will include this suffix when registering
the machine's hostname in its configuration.
This can cause a problem when working in a mixed platform environment, as only machines running on macOScan communicate with your machine using the hostname with the .local suffix. Machines running Windows
or GNU/Linux will only be able to communicate with your macOS machine using its chosen hostname, without
the .local suffix.
To remedy this, you can manually override the machine's hostname and remove its suffix. This way, theconfiguration tools for Harmony and the machines trying to communicate with your macOS machine will use
the hostname without a suffix.
NOTE
You should only follow this procedure if you do not intend to configure the machines in yournetwork to work with a domain name, as macOS will not append the suffix .local to thehostname of computers connected through a domain.

How to manually override the hostname on macOS and remove its .local suffix
1. In a terminal, obtain your current machine's hostname, as understood by macOS, with the following
command:$ scutil --get HostName
2. If the result is the hostname you chose for your machine followed by the suffix .local, override thisby typing the following command, where <hostname> is the hostname you chose for your machine,
without the suffix .local:$ sudo scutil --set HostName <hostname>
3. Restart your machine.

82Harmony 15.0 Installation Guide

Creating a Harmony Database on macOSThe first step to creating a Harmony database server is to create the database's file structure on the machinethat will be used as the server.

How to create a Harmony database on macOS
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon BoomHarmony 15.0[edition] Network > Tools.
3. Double-click on

Configuration Assistant.

4. In the Welcome screen, check the Create a new Toon Boom Harmony database and uncheck allother options.
5. In the Create Harmony Database dialog, you can configure the options for your database server. It is
recommended to use the default options.
IMPORTANT
If the Hostname field displays a value that ends with .local, it is highly recommended toremove this suffix before proceeding—see Setting the Server Hostname on macOS on
page 82.
6. If you want the database server to also host scene data, leave the Create an empty Harmony File
System (/USADATA) option checked. If you want to only host scene data on other machines,
uncheck this option.
7. Click on Create.
8. When prompted, enter the username and the password of a user with administrator privileges.
The database's base file structure is now created. If you have opted to not create a scene data
storage space, see Creating a Scene Data Storage Server on macOS on page 102 to create astorage space for the scenes on your Harmony database.

83

Chapter 2: Harmony Server

Installing the Database Server Daemon on macOS
Once you have created a database file structure, you must also enable the database server daemon to allow
Harmony to connect to the database. This daemon runs through the user usabatch, so this user must be
created prior to installing the daemon.
NOTE
The following steps indicate how to make the database server daemon launch on boot, via the user
usabatch, who will have administrator privileges. If you prefer, you can make the database serverlaunch on log-in as the logged-in user. For more information, see Running the Database Server on
Log-In on macOS on page 86.

How to create the user usabatch on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Users and Groups.
3. In the bottom-left corner of the Users & Groups dialog, click on the lock icon labeled Click the lock tomake changes to get administrator permissions.
4. Enter the username and password of an account with administrator privileges.
5. Click on the + button at the bottom of the user list.
The user creation panel appears.
6. In the New Account drop-down, select Administrator.
7. In the Full Name and Account Name fields, enter usabatch.
8. Give the user a password.
9. Click on Create User.

How to install the database server daemon on macOS
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon BoomHarmony 15.0[edition] Network > Tools.
3. Double-click on

Configuration Assistant.

4. In the Welcome screen, check the Create the Startup Items option and uncheck all other options.
5. Click on Continue.
6. Check the Create Database Server Startup Item option and uncheck all other options.

84Harmony 15.0 Installation Guide

7. Click on Create.
8. When prompted, enter the username and the password of a user with administrator privileges.
The database server daemon is now installed and will start running. At this point, you should
already be able to run Control Center from this machine, log-in with the default user usabatch andcreate scenes and users.

85

Chapter 2: Harmony Server

Running the Database Server on Log-In on macOSThe traditional way of configuring the database server is by using the Configuration Assistant to install it as a
daemon. This makes the database server launch immediately on boot, as user usabatch.
Using Service Launcher, it is possible to configure your database server to only launch its database server
service as the logged-in user. This means the database will only be accessible if the user configured to run it issigned in. Although this may seem impractical, it may be preferable for security reasons, mainly that thelogged-in user does not need to have administrator privileges to run services through Service Launcher.
If you have already installed the database server daemon using Configuration Assistant, you will need todisable the daemon first to avoid launching two instances of the database server.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the database server daemon
1. In a terminal, type in the following command:$ sudo launchctl unload -w/Library/LaunchDaemons/com.toonboom.DatabaseServer.plist
The database server daemon will stop and will no longer launch on boot.

How to configure the database server to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, open a Finder window, then go to Applications > Toon
BoomHarmony 15.0 [Edition] Network > Tools and double-click onl

If Service Launcher is already running, click on its icon

86

Service Launcher.

in the top menu.

Harmony 15.0 Installation Guide

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the Database Server tab.
5. Click on Launch to verify that the database server launches successfully through Service Launcher.
6. Check the Launch when Service Launcher starts option.
7. In the top menu, select Server > Save All Settings.
From now on, the database server will launch through Service Launcher when you log in.

87

Chapter 2: Harmony Server

Configuring Scene Resolution Presets for a New Harmony
Database on macOSIf you launch Harmony on a newly created database, you are likely to encounter the following error message:

This is because Harmony expects a list of presets for scene resolution and framerate to be present in at least
one of the following locations:l

The database's resolution directory.

l

The scene's environment directory.

l

The scene's job directory.

Without this file, your scene is created in standard resolution at 24 frames per second, and you must configure
the preferred resolution for your scene manually if you wish to change it.
To remedy this quickly, you can copy Harmony's default resolution presets file to the database's resolutions
directory, which contains many commonly used resolution presets, such as 1080p24, 1080p25 and 4K.
If you wish, you can also create resolution preset files for specific jobs or environments, by adding a resolution
presets file to a job or environment's directory in the database file structure.

How to create a default resolution presets file for a Harmony database
1. In a terminal, enter the following commands:$ mkdir -m 777 /USA_DB/resolution$ cp "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/etc/resolution.conf" /USA_DB/resolution/resolution.conf$ chmod 777 /USA_DB/resolution/resolution.conf

How to create a resolution presets file for a specific environment
1. In a terminal, enter the following command, replacing <environment> with the name of theenvironment for which you want to create a resolution presets list:$ cp "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/etc/resolution.conf" /USA_
DB/environments/<environment>/resolution.conf

88

Harmony 15.0 Installation Guide$ chmod 777 /USA_DB/environments/<environment>/resolution.conf

How to create a resolution presets file for a specific job
1. In a terminal, enter the following commands, replacing <job> with the name of the job for which
you want to create a resolution presets list:$ cp "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/etc/resolution.conf" /USA_
DB/environments/<job>/resolution.conf$ chmod 777 /USA_DB/environments/<job>/resolution.conf

89

Chapter 2: Harmony Server

Sharing the Harmony Database Files Using NFS on macOS
Once you have a database file structure and the Harmony database server daemon, you can access the
database from the machine on which it was created. To allow other client machines on your network to accessthe database, you must share its folders using NFS.
NOTEThis procedure will only allow macOS and GNU/Linux based clients to access the database. If you
want Windows clients to be able to connect to your Harmony server, see About Supporting
Windows Clients for macOS Servers on page 92

How to share the database files using the NFS protocol for macOS or GNU/Linuxclients
1. In a terminal, enter the following command:$ sudo vi /etc/exports
2. Add the following line to allow clients to access the database files:/USA_DB -maproot=nobody
3. If your database server also has a scene data storage space, add a line with a similar syntax to shareit. For example, if the scene data storage space is named /USADATA, add the following line:/USADATA -maproot=nobody
4. Save and exit.
5. Verify that the NFS exports are properly configured with the following command:$ sudo nfsd checkexports
The command will not return anything if the exports file is properly configured.
6. Make sure the NFS sharing service is enabled with the following command:$ sudo nfsd enable
7. If the service was already started, terminate it to force it to load your configuration changes.
$ sudo kill -1 `cat /var/run/mountd.pid`
NOTE
The back quote (`) character is located at the top-left of the macOS keyboard on thesame key as the tilde (~) character. Or simply reboot the computer.

90

Harmony 15.0 Installation Guide

8. Verify that the folders are shared:$ showmount -e
The command should output a line for each directory you are sharing using the NFS protocol. For
example:/USA_DB Everyone/USADATA Everyone
You should now be able to mount the shared folders from any macOS or GNU/Linux-based machineon your local network.

91Chapter 2: Harmony Server

About Supporting Windows Clients for macOS Servers
A macOS server can natively handle requests from macOS and GNU/Linux clients. However, in order to allow
Windows based clients to connect to the server, extra steps must be followed:l

The Link Server daemon must be installed. This allows Windows clients to create symbolic links on yourmacOS server.

lYour database files must be shared via the Samba protocol, which is used by Windows clients to accessthe database.

l

The server.ini file must be filled with information on your database server and its scene data storage
spaces. This allows Configuration Wizard to configure Windows clients automatically.

92

Harmony 15.0 Installation Guide

Installing the Link Server Daemon on macOSIf you installed the database server daemon using Configuration Assistant and want your macOS based server
to support Windows clients, you must also install the link server daemon.

How to install the database server daemon on macOS
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon BoomHarmony 15.0[edition] Network > Tools.
3. Double-click on

Configuration Assistant.

1. In the Welcome screen, check the Create the Startup Items option and uncheck all other options.
2. Click on Continue.
3. Check the Create Link Server Startup Item option and uncheck all other options.
4. Click on Create.
5. When prompted, enter the username and the password of a user with administrator privileges.
The link server daemon is now installed and should start immediately.

93Chapter 2: Harmony Server

Running the Link Server on Log-In on macOSIf you configured your database server to launch using Service Launcher, you will also want the Link Server tolaunch using service launcher, so that it launches in the same circumstances and environment. For more
information on running the database server with Service Launcher, see Running the Database Server on LogIn on macOS on page 86.
If you have already installed the link server daemon using Configuration Assistant, you will need to disable thedaemon first to avoid launching two instances of the linkserver.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the link server daemon
1. In a terminal, type in the following command:$ sudo launchctl unload -w/Library/LaunchDaemons/com.toonboom.LinkServer.plist

How to configure the link server to launch on user log-in
1. Make sure you are currently signed-in as the user who will launch the link server.
NOTE
This user will need to be logged in for the link server to be running. The user does notneed to have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, open a Finder window, then go to Applications > Toon
BoomHarmony 15.0 [Edition] Network > Tools and double-click onl

If Service Launcher is already running, click on its icon

Service Launcher.

in the top menu.

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log

94Harmony 15.0 Installation Guide

in to your account.
4. Select the Link tab.
5. Click on Launch to verify that the Link Server launches successfully through Service Launcher.
6. Check the Launch when Service Launcher starts option.
7. In the top menu, select Server > Save All Settings.
From now on, the link server will launch through Service Launcher when you log in.

95

Chapter 2: Harmony Server

Sharing the Harmony Database Files Using Samba on macOS
Installing Samba for a macOS server is only required if you have Windows based client workstations on yournetwork, as they cannot connect to the database server using NFS. Because Samba is no longer supported bymacOS, it must be installed as a third party software on your machine.
Configuring a Harmony database server to share via Samba requires the following steps:lDisabling the SMB file sharing protocol natively supported by macOS. This protocol may interferewith Samba. Since its options are limited and optimized for personal use, it cannot be used for a
Harmony server.

lInstalling SMBup, a third-party implementaton of Samba for macOS.

l

Configuring the shared folders.

lCreating a Sharing type user account. This is required because this implementation of Samba fails toauthenticate users that are part of 15 groups or more, and macOS subscribes all users to more than 15
system groups in the back-end, except for Sharing type users.
IMPORTANT
Since this procedure requires installing and configuring a third party software, consider these
instructions as indicative only. Using Samba to connect to a macOS based Harmony server cannot
be guaranteed to succeed and, even if it succeeds, nothing guarantees it will still work after
updating macOS.

How to disable the native SMB file sharing protocol on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Sharing.
3. In the list to the left, if File Sharing is unchecked, then SMB is implicitly disabled. If File Sharing ischecked, select it.
4. Click on Options.
5. Make sure that Share files and folders using SMB is unchecked.
6. Click on Done.
7. Close the Sharing panel.

96Harmony 15.0 Installation Guide

How to share the database files using the Samba protocol for Windows clients
1. Download the SMBUp package from the following website:
http://eduo.info/apps/smbup
2. In Finder, open your Downloads directory, then drag and drop the SMBup package into theApplications directory.
3. Navigate to the Applications directory.
4. Right-click on SMBup and select Open.
You will be prompted to confirm that you want to launch the application, as it is from an unidentified
developer.
5. Click on Open.
After the donation prompt, a message will appear stating that Samba is not installed.
6. Click on Install Samba for me.
7. In the next prompt, read the advisory.
8. Click on Ok, help me install the software.
9. Click on Download and install package.
10. At the prompt, type in the username and password of an account with administrator privileges toallow SMBup to install Samba.
11. Once the installation is done, click on Configure Shared Disks.
12. Near the top-left corner, click on the Lock icon to obtain administrative privileges.
13. Enter the username and password of an account with administrator privileges.
14. In the Name field, make sure the name of your Samba server matches the name of your servermachine.
15. Click on Save All.
16. Close SMBup. We will configure Samba using the terminal, to make sure it is precisely configured
with the right options.
17. In the confirmation prompt, click on Start Samba for me and Quit Application.
The Samba service is now installed and enabled.

97

Chapter 2: Harmony Server

Configuring Samba shares on macOS
1. In a terminal, open the Samba configuration file to configure Samba and add your database
directories as Samba shares:$ vi /opt/local/etc/samba3/smb.conf
2. Under the [global] section of smb.conf, add the following options:[global]encrypt passwords= yesblocking locks= nooplocks= nolevel2 oplocks= nofollow symlinks= yesunix extensions= nowide links= yes

3. At the bottom of the Samba configuration file, add the following:[USA_DB]
comment= Harmony Databasebrowseable= yesread only= noguest ok= nocreate mask
= 0777
directory mask
= 0777path= /USA_DB[usa]
comment= Harmony Binaries and Configuration
browseable= yesread only= noguest ok= nocreate mask
= 0777
directory mask
= 0777path= /Applications/Toon Boom Harmony 15.0 [Edition] Network/tba[USADATA]
comment= Harmony Scene Data 000
browseable= yesread only= noguest ok= nocreate mask
= 0777
directory mask
= 0777path= /USADATA

4. Verify that Samba understands the parameters in its configuration file with the following command:$ /opt/local/bin/testparm

98

Harmony 15.0 Installation Guide

How to create a user account for Samba on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Users and Groups.
3. In the bottom-left corner of the Users & Groups dialog, click on the lock icon labeled Click the lock tomake changes to get administrator permissions.
4. Enter the username and password of an account with administrator privileges.
5. Click on the + button at the bottom of the user list.
The user creation panel appears.
6. In the New Account drop-down, select Sharing Only.
7. In the Full Name and Account Name fields, enter the desired name for the user who will haveaccess to the Samba share.
8. Give the user a password.
9. Click on Create User.
10. A local user must be added to the list of users with access to the Samba shares. To do this, type in
the following command:$ sudo smbpasswd -a usabatch
You will be prompted to assign a password to the user, then to confirm it. This username andpassword will be used to connect to the Samba shares.
NOTESl

The user you are adding to the list of Samba users must already exist as a regularuser on the machine.

l

On Windows clients, when using the Configuration Wizard to configure Harmony
database clients, you must enter this user's username and password in order to beable to connect to the database shares.

99Chapter 2: Harmony Server

Configuring a macOS Database Server for Windows Clients
In order to allow Windows clients to connect to your server using the Configuration Wizard, you must fill in theserver.ini configuration file, which is located in the etc subfolder of the Harmony installation package. This file
will provide Configuration Wizard with information on the server as well as of each scene data server it isconnected to.

How to configure the server.ini file on macOS
1. In a terminal, type in the following command:$ vi "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/etc/server.ini"
2. In server.ini, type in the information for the database server as well as the directory name andhostname of every scene data server in your network, like in the following example:[WizardConfig]
ServerName=<server name>InstallationDrive=C
UsaShare=<harmony share name>
UsadbDrive=C
UsadbShare=<database share name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<server name>: The host name of the Harmony database server.

l<harmony share name>: The name of the share that gives access to the Harmony binaries
and configuration files. By default, this share is named usa.

l<database share name>: The name of the share that gives access to the database files.
By default, this share is named USA_DB.

For example, if your database server is called harmonyserver, your Harmony installation is sharedunder the share name usa and your Harmony database is shared under the share name USA_DB,
this would be the proper configuration for this server:[WizardConfig]
ServerName=harmonyserver
InstallationDrive=C
UsaShare=usa
UsadbDrive=C
UsadbShare=USA_DB

100

Harmony 15.0 Installation Guide

3. Under the line starting with UsadbShare, enter information about each scene data storage spaceused by your Harmony database, in the following format:
FileSystem<file system number>=C <share name> <server name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<file system number>: The zero-based index of the scene data storage space. For
example, the first scene data storage space for your database should be named
FileSystem0 and the second one, FileSystem1.

l<share name>: The name of the share containing the scene data. Usually, this share iseither named USADATA or usadata, and its name may be followed by a zero-padded, zerobased number indicating the index of the scene data storage space. For example, the firstscene data storage space could be named USADATA, usadata000, usadata001, etc.

l<server name>: The host name of the scene data server. If the scene data storage space ishosted on the same machine as the database, then this host name is the same as the hostname for the database. Otherwise, you must specify the name of the machine on which thescene data storage space is located.

For example, if this is the first scene data storage space for your database, it is hosted on a computer
named dataserver and its name is usadata000, the appropriate configuration for this would be
as follows:
FileSystem0=C usadata000 dataserver

IMPORTANTThe variable names and share names in server.ini are case sensitive.

NOTE
server.ini also specifies the drive letter on which the software, the database files and scene
data files are stored. Since we are configuring a UNIX-based server, there is no actual drive
letter involved. Hence, we are using the drive letter C as a placeholder so as to respect the
expected format of the server.ini configuration file, but the value of these parameters is not
relevant and will not affect your configuration.

101

Chapter 2: Harmony Server

Creating a Scene Data Storage Server on macOSYou can create additional scene data storage spaces for your Harmony database on machines. The databaseserver will connect to these machines to transmit scene data to the clients, allowing you to expand the storage
capacity of your database.
Creating a scene data storage space for your Harmony database requires following these steps:
1. Creating a folder named usadata followed by the index number of the storage space at the root of themachine.
2. Sharing the folder via NFS and, if Windows clients must be supported, via Samba as well.
3. Mounting this folder on the database server.
4. If Windows clients must be supported, adding this storage server to the server.ini configuration file.

How to create a scene data storage space on macOS
1. In a terminal, enter the following command, where ### is the padded, zero-based index of thestorage space you are creating, replace ### with 001:
$ sudo mkdir -m 777 /usadata###
A folder in which scene data will be stored is created at the root of the filesystem.

How to share the scene data storage space on macOS
1. Sharing a scene data storage space is done the exact same way as sharing the server's database filesystem.
l

To share the scene data storage space for macOS and GNU/Linux based clients, see Sharing
the Harmony Database Files Using NFS on macOS on page 90.

l

To share the scene data storage space for Windows clients, see Sharing the Harmony
Database Files Using Samba on macOS on page 96

Once this is done, you should already be able to mount the new scene data storage space on the
database server as well as on clients.

How to mount the new scene data storage space on a macOS database server
1. First, you should set a permissive file permission mask on the server machine. This will make it sofiles created by the database server on the scene data server will have the proper permissions toallow any user to edit them. To do this, see Setting the User File Creation Permission Mask on102

Harmony 15.0 Installation Guide

macOS on page 178.
2. In a terminal, create a folder at the root of the filesystem in which the new scene data storage space
will be mounted with the following command, where <foldername> is the name of the scene data
directory you created on the scene data server:$ sudo mkdir -m 777 /<foldername>
3. open the filesystem table in a text editor by typing the following command:$ sudo vi /etc/fstab
4. In the filesystem table, add the following line, replacing <servername> with the name of the scene
data server and <foldername> with the name of the scene data directory you created on thisscene data server:<servername>:/<foldername>/mnt/<foldername>nfs

rw,soft,intr,resvport 0 0

5. Save and quit.
6. Attempt to mount the entries of the filesystem table:$ sudo mount -a
7. To make sure that it worked, try creating a file in the new scene data storage, and verify that it'svisible from both machines. To do this:l

On one machine, enter the following command:$ touch /<foldername>/testfilel

On the other machine, enter the following command to verify that testfile is present$ ls /<foldername>/

How to add the scene data storage file to the server.ini configuration file
1. In a terminal, type in the following command:$ sudo vi "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/etc/server.ini"
If the file was already configured, it most likely contains configuration in the following format:[WizardConfig]
ServerName=<name of Harmony server>
InstallationDrive=C
UsaShare=usa
UsadbDrive=C103

Chapter 2: Harmony Server

UsadbShare=USA_DB
FileSystem0=C usadata000 <name of first scene data server>

2. Under the last line starting with FileSystem0 which contains information about an existing scene
data storage space, enter the information about your new scene data storage space in the following
format:FileSystem<file system number>=C <share name> <server name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<file system number>: The zero-based index of the scene data storage space. For
example, the first scene data storage space for your database should be named
FileSystem0 and the second one, FileSystem1.

l<share name>: The name of the share containing the scene data. Usually, this share iseither named USADATA or usadata, and its name may be followed by a zero-padded, zerobased number indicating the index of the scene data storage space. For example, the firstscene data storage space could be named USADATA, usadata000, usadata001, etc.

l<server name>: The host name of the scene data server. If the scene data storage space ishosted on the same machine as the database, then this host name is the same as the hostname for the database. Otherwise, you must specify the name of the machine on which thescene data storage space is located.

For example, if this is your second scene data storage space for your database server, it is hosted on
a computer named newdataserver and is named usadata001, its configuration would be as
follows:
FileSystem1=C usadata001 newdataserver

IMPORTANTThe variable names and share names in server.ini are case sensitive.

104

Harmony 15.0 Installation Guide

NOTE
The first information for a scene data storage space, C, is actually the drive letter on which thescene data storage space is located. Since macOS does not use drive letters, there is no drive
letter for this storage space, and we are only specifying a drive letter to respect the format of
the server.ini configuration file. This value does not have an effect your server
configuration.

105

Chapter 2: Harmony Server

Configuring a macOS Database Server to have a Static IP Address
It is common to configure server machines to have a static IP. This avoids having to rely on DNS resolution tofind the server when its IP address changes, and it also allows you to associate the hostname to the server's
static IP address on the machine to skip DNS resolution altogether, increasing network performance.
If your machine is currently connected to a DHCP server that dynamically assigns IP addresses, you canconfigure your machine to permanently use its current IP address. To do this, you can start by making note of
the information for your current network connection, then using these parameters for a permanent IP address.

How to obtain information about your current connection on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Network.
The Network configuration panel appears.

3. In the list to the left, select Ethernet.
4. In the panel to the right, make note of the following information:l

The IP Addressl

The Subnet Maskl

The Router addressl

The DNS Serverl

The Search Domains

106Harmony 15.0 Installation Guide

How to configure a macOS server to use a static IP
1. Open the Apple menu and select System Preferences.
2. Click on Network.
3. In the list to the left, select Ethernet.
4. In the Location drop-down, select Edit Locations.

5. Click on the + button to add a location, then name it Static.

6. Click on Done.

107

Chapter 2: Harmony Server

7. Click on Advanced.
8. In the TCP/IP tab of the Advanced Network panel, enter the following information:l

Set the IPv4 Address to the IP Address obtained earlier.

l

Set the Subnet Mask to the Subnet Mask obtained earlier.

l

Set the Router address to the Router address obtained earlier.

9. Open the DNS tab.
10. Under the DNS Servers list, click on the + button to add a DNS server. Add each of the DNS Server
addresses obtained earlier.
11. Under the Search Domains list, click on the + button to add a search domain. Add each of thesearch domains obtained earlier.
12. Click on OK.
If your configuration works, the Network panel will indicate Status: Connected at the top.

108

Harmony 15.0 Installation Guide

Looking Up the Database Server Log on macOS
In order to troubleshoot problems with the Harmony database server, you can look through its log. This is done
differently depending on whether you installed the database server as a daemon using
Configuration Assistant, or using Service Launcher.
If your server is configured for Windows clients, you can also check the link server log for issues.

How to check the log for the database server daemon
1. In a terminal, enter the following command:$ less /tmp/com.toonboom.DatabaseServer.log

How to check the log for the link server daemon
1. In a terminal, enter the following command:$ less /tmp/com.toonboom.LinkServer.log

How to check the log for the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

How to check the log for the link server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher
The Service Launcher application opens.
3. Select the Link tab.
4. In the bottom half, select the Log tab.

109

icon.

Chapter 2: Harmony Server

5. Click on the View Complete Log button in the bottom-right corner.

110Harmony 15.0 Installation Guide

Launching the Database Server Manually in macOSYou can start the database server directly from a terminal. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems.
If your server needs to handle Windows clients, you can also launch the link server in a different terminal toensure that both services work.
You can view the output of both services directly in the terminal in which you launch them as they start andhandle requests.

How to start the database server manually
1. In a terminal, enter the following command:$ "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/tbdbserver"

How to start the link server manually
1. In another terminal, enter the following command:$ "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/Link_srv"

111

Chapter 2: Harmony Server

Stopping and Restarting the Database Server on macOSIf you installed the database server as a daemon using the Configuration Assistant, you can stop it and restart itusing the launchctl command line tool. If you installed it using Service Launcher, you can stop it and restart it
manually in Service Launcher.
If you have installed the link server so as to be able to handle Windows clients, stopping and restarting it may
also be necessary for the intended purpose.

How to stop and restart the database server daemon
1. In a terminal, enter the following command:$ sudo launchctl unload/Library/LaunchDaemons/com.toonboom.DatabaseServer.plist
2. When you are ready to start the server again, enter the following command:$ sudo launchctl load
/Library/LaunchDaemons/com.toonboom.DatabaseServer.plist

How to stop and restart the link server daemon
1. In a terminal, enter the following command:$ sudo launchctl unload/Library/LaunchDaemons/com.toonboom.LinkServer.plist
2. When you are ready to start the server again, enter the following command:$ sudo launchctl load
/Library/LaunchDaemons/com.toonboom.LinkServer.plist

How to stop and restart the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

112Harmony 15.0 Installation Guide

How to stop and restart the link server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Link Server tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

113

Chapter 2: Harmony Server

Pausing and Resuming the Database Server on macOSIf you need to perform maintenance or updates on a Harmony server, you can pause it instead of stopping itcompletely.
Users who attempt to save a scene while the server is paused will receive a warning message. The server willqueue the save and commit the changes when the server is resumed.

How to pause the database server
1. In a command prompt, enter the following command:$ "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/dbu" -p

How to check pause status of the database server
1. In a command prompt, enter the following command:$ "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/dbu" -P

How to resume the database server
1. In a command prompt, enter the following command:$ "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/dbu" -res

114

Harmony 15.0 Installation Guide

Uninstalling the Database Server on macOSIf you installed the database server as a daemon using the Configuraton Assistant, you can uninstall it using thelaunchctl command line tool. If you installed it using Service Launcher, you can uninstall it in Service
Launcher.

How to uninstall the database server daemon
1. In a terminal, enter the following command:$ sudo launchctl unload -w/Library/LaunchDaemons/com.toonboom.DatabaseServer.plist
The daemon will no longer launch on boot.
2. If you want, you can delete the daemon permanently with the following command:$ sudo rm /Library/LaunchDaemons/com.toonboom.DatabaseServer.plist

How to uninstall the link server daemon
1. In a terminal, enter the following command:$ sudo launchctl unload -w/Library/LaunchDaemons/com.toonboom.LinkServer.plist
The daemon will no longer launch on boot.
2. If you want, you can delete the daemon permanently with the following command:$ sudo rm /Library/LaunchDaemons/com.toonboom.LinkServer.plist

How to uninstall the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

115

Chapter 2: Harmony Server

How to uninstall the link server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Link Server tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

116Harmony 15.0 Installation Guide

Database Server Installation on GNU/LinuxOn GNU/Linux, you can create a database server with the help of a script that creates the basic database filestructure, then enabling the database server daemon which was created during the installation of Harmony.

117

Chapter 2: Harmony Server

Disabling Security for a Harmony Database Server on GNU/Linux
GNU/Linux comes bundled with two core security components:l

A firewall (typically either iptables or firewalld), which will block incoming connections that were notspecifically allowed.

l

SELinux, a kernel security module that enforces access control policies on software, files and network
resources.

The default configuration for these components will prevent clients from connecting to a Harmony databaseserver. This installation guide provides instructions on how to add security exceptions to these components sothat they do not have to be disabled. However, you may prefer to disable them so as to simplify the installation
process or to rule out security components as possible causes when troubleshooting an issue.
IMPORTANT
If you choose to disable the firewall and SELinux, it is critical to ensure that your domain has
effective site-wide security measures to prevent unauthorized access to your database server.

How to disable the firewall on CentOS 6, RedHat Entreprise Linux 6 or other systems
using the iptables service
1. In a terminal, enter the following commands:$ sudo chkconfig iptables off$ sudo service iptables stop

How to disable the firewall on CentOS 7, RedHat Entreprise Linux 7 or other systems
using the firewalld service
1. In a terminal, enter the following commands:$ sudo systemctl disable firewalld$ sudo systemctl stop firewalld

How to disable SELinux
1. In a terminal, enter the following command:$ sudo vi /etc/selinux/config
2. Find the line with the following parameter:

118

Harmony 15.0 Installation Guide

SELINUX=enforcing

3. Replace enforcing with disabled:
SELINUX=disabled

IMPORTANT
Double-check to make sure you did not make any typo. An error in the SELinuxconfiguration file may cause GNU/Linux to fail to boot.
4. Save and quit.
5. Reboot to apply the new configuration.

119

Chapter 2: Harmony Server

Creating a Harmony Database on GNU/LinuxThe first step to creating a Harmony database server is to create the database's file structure on the machinethat will be used as the server. You can accomplish this by running the create_usa_db script from Harmony's
bin directory.
The basic database file structure is in the USA_DB directory. However, this is not where scene data is stored. If
you want the database server to be able to host scene data, you can also create an empty scene data storage
space alongside your database file structure.
NOTE
The following steps only indicate how to create a database file structure using the create_usa_
db script. If you prefer, you can create the database file structure and enable the database server
daemon simultaneously using the Harmony installation script—see Installing the Database Server
Daemon on GNU/Linux on page 121

How to create a database file structure using the create_usa_db script
1. In a terminal, navigate to the directory in which the Harmony binaries were installed:$ cd /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_64/bin
2. Run the database creation script:$ sudo ./create_usa_db
The script will create the basic file structure for a Harmony database in /USA_DB.

How to create a scene data storage space
1. In a terminal, enter the following command:$ sudo mkdir -m 777 /usadata000
A scene data storage directory named usadata000 is now located at the root of your databaseserver's file system.

120

Harmony 15.0 Installation Guide

Installing the Database Server Daemon on GNU/Linux
Once you have created a database file structure, you must also enable the database server daemon to allow
Harmony to connect to the database. This daemon runs through the user usabatch, so this user must be
created prior to installing the daemon.
The Harmony installer for GNU/Linux always installs daemon scripts on your machine, but does not enable
them by default. Hence, there are two approaches to installing the database server daemon:l

By enabling the daemon that was already installed with Harmony using the chkconfig command.

l

By running the Harmony installation script with the -d parameter. This will also create a database filestructure on your machine if none is present.

This daemon runs through the user usabatch, so this user must be created prior to installing the daemon.
NOTE
The following steps indicate how to make the database server daemon launch on boot, via the user
usabatch. If you prefer, you can make the database server launch on log-in as the logged-in user.
For more information, see Running the Database Server on Log-In on GNU/Linux on page 123.

How to create the usabatch user on GNU/Linux
1. In a terminal, enter the following command:$ sudo useradd -m usabatch$ sudo passwd usabatch
2. When prompted, enter the password you want to assign to the user usabatch, then confirm it.
The user usabatch is now created and can be used to run Harmony daemons.

How to enable the database server daemon on GNU/Linux
1. In a terminal, enter the following command to enable the database server daemon:$ sudo chkconfig toonboom_dbserver on
If the command returns nothing, it succeeded. The database server will launch next time you bootthe machine.
2. To launch the database server daemon immediately, run the following command:$ sudo service toonboom_dbserver start
The command will report whether it succeeded or failed.

121Chapter 2: Harmony Server

How to create a database file structure and enable the database server daemon
simultaneously using the Harmony installation script
1. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package
4. Run the installer with the -d parameter:$ sudo ./install -d
5. When prompted, confirm that you want to proceed with the installation.
The installation script will create a database file structure in /USA_DB, enable the database server
daemon and start it.
NOTE
The installation script will not create a database file structure in /USA_DB if this directoryalready exists, whether it is a local database or a remote database mounted on the file system.

122Harmony 15.0 Installation Guide

Running the Database Server on Log-In on GNU/LinuxThe traditional way of running the Harmony database server is by installing it as a daemon. This makes the
database server launch immediately on boot, as user usabatch.
Using Service Launcher, it is possible to configure your database server to only launch its database server
service as the logged-in user. This means the database will only be accessible if the user configured to run it issigned in. Although this may seem impractical, it may be preferable for security reasons, mainly that thelogged-in user does not need to have administrator privileges to run services through Service Launcher.
If you have enabled the database server daemon, you will need to disable and stop it before you can configure it
to launch with Service Launcher, to avoid launching two instances of the database server.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the database server daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_dbserver stop$ sudo chkconfig toonboom_dbserver off
The database server daemon will stop and will no longer launch on boot.

How to configure the database server to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, in the GNOME top menu, select Applications > Harmony
15.0 [edition] >Service Launcher.

123

Chapter 2: Harmony Serverl

If Service Launcher is already running, click on its iconin the system tray.

The Service Launcher application starts.
3. Select the Database Server tab.
4. Click on Launch to verify that the database server launches successfully through Service Launcher.
5. Check the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.
From now on, the database server will launch through Service Launcher when you log in.

124Harmony 15.0 Installation Guide

Expanding the File Descriptor Limit for a Database Server
on GNU/LinuxIf your database server is likely to have a lot of connected clients, you should expand the file descriptor limit for
the user who will run the database server daemon.

How to expand the file descriptor limit for the database server
1. In a terminal, open the limits configuration file in a text editor:$ sudo vi /etc/security/limits.conf
2. At the end of the file, just before the # End of file line, add the following lines, replacing<username> with the name of the user who runs the database server daemon:<username> soft nofile 16384<username> soft nofile 16384

For example, if you installed the database server as a daemon, it will run as user usabatch by default.
Hence you would need to add the following lines before # End of file:usabatch soft nofile 16384
usabatch soft nofile 16384

3. Save and quit.

125Chapter 2: Harmony Server

Configuring Scene Resolution Presets for a New Harmony
Database on GNU/LinuxIf you launch Harmony on a newly created database, you are likely to encounter the following error message:

This is because Harmony expects a list of presets for scene resolution and framerate to be present in at least
one of the following locations:l

The database's resolution directory.

l

The scene's environment directory.

l

The scene's job directory.

Without this file, your scene is created in standard resolution at 24 frames per second, and you must configure
the preferred resolution for your scene manually if you wish to change it.
To remedy this quickly, you can copy Harmony's default resolution presets file to the database's resolutions
directory, which contains many commonly used resolution presets, such as 1080p24, 1080p25 and 4K.
If you wish, you can also create resolution preset files for specific jobs or environments, by adding a resolution
presets file to a job or environment's directory in the database file structure.

How to create a default resolution presets file for a Harmony database
1. In a terminal, enter the following commands:$ mkdir -m 777 /USA_DB/resolution$ cp "/usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/etc/resolution.conf" /USA_DB/resolution/resolution.conf$ chmod 777 /USA_DB/resolution/resolution.conf

How to create a resolution presets file for a specific environment
1. In a terminal, enter the following command, replacing <environment> with the name of theenvironment for which you want to create a resolution presets list:$ cp "/usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/etc/resolution.conf" /USA_
DB/environments/<environment>/resolution.conf

126

Harmony 15.0 Installation Guide$ chmod 777 /USA_DB/environments/<environment>/resolution.conf

How to create a resolution presets file for a specific job
1. In a terminal, enter the following commands, replacing <job> with the name of the job for which
you want to create a resolution presets list:$ cp "/usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/etc/resolution.conf" /USA_DB/environments/<job>/resolution.conf$ chmod 777 /USA_DB/environments/<job>/resolution.conf

127

Chapter 2: Harmony Server

Opening the Firewall Ports for a Harmony Database Server
on GNU/LinuxThe GNU/Linux firewall will block attempts from other computers to communicate with the database server. In
order to circumvent this, the ports used by the database server must be opened.

How to allow connections to the database server to go through the firewall
on CentOS 6, RedHat Entreprise Linux 6 or other systems using the iptables service
1. Add the ports used by the database server to the list of open ports with the following commands:$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
5678 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
5680 -j ACCEPT$ sudo service iptables save$ sudo service iptables restart
The GNU/Linux firewall should now allow other machines to connect to the database server.
NOTE
Ports 5678 and 5680 are the default ports used by the Harmony Database server. You cancustomize which ports the Database server uses by editing the /USA_DB/Dbserver.conf
configuration file.

How to allow connections to the database server to go through the firewall
on CentOS 7, RedHat Entreprise Linux 7 or other systems using the firewalld service
1. Add the ports used by the database server to the list of open ports with the following commands:$ sudo firewall-cmd --permanent --zone=public --add-port=5678/tcp$ sudo firewall-cmd --permanent --zone=public --add-port=5680/tcp$ sudo firewall-cmd --reload
The GNU/Linux firewall should now allow other machines to connect to the database server.
NOTE
Ports 5678 and 5680 are the default ports used by the Harmony Database server. You cancustomize which ports the Database server uses by editing the /USA_DB/Dbserver.conf
configuration file.

128

Harmony 15.0 Installation Guide

Sharing the Harmony Database Files Using NFS on GNU/Linux
Once you have a database file structure and the Harmony database server daemon, you can access the
database from the machine on which it was created. To allow other client machines on your network to accessthe database, you must share its folders using NFS.
If the GNU/Linux firewall is enabled, you must add rules to allow remote connections to the NFS server so as toallow other machines to connect to the NFS shares.
NOTE
This procedure will only allow GNU/Linux and macOS based clients to access the database. If you
want Windows clients to be able to connect to your Harmony server, see About Supporting
Windows Clients for macOS Servers on page 92

How to configure the NFS daemon to share your database folders over the network
1. Make sure the NFS service and its utilities are installed:$ sudo yum install nfs-utils
2. Enable and start the rpcbind daemon, the NFS daemon, the NFS lock daemon:$ sudo chkconfig rpcbind on$ sudo service rpcbind start$ sudo chkconfig nfs on$ sudo service nfs start$ sudo chkconfig nfslock on$ sudo service nfslock start
3. Then, open the configuration file /etc/exports in vi to add your database's share directories:$ sudo vi /etc/exports
1. Add the following line to allow clients to access the database files:/USA_DB *(rw,sync)
2. If your database server also has a scene data storage space, add a line with a similar syntax to shareit. For example, if the scene data storage space is named /usadata000, add the following line:/usadata000 *(rw,sync)
3. Save and exit.
4. Run the export command to update the NFS daemon with the new configuration:$ sudo exportfs -r
5. Type this command to verify that the new configuration is in effect:129

Chapter 2: Harmony Server$ showmount --exports
The utility will list all the directories currently shared through NFS.

How to allow connections to the NFS shares to go through the firewall
on CentOS 6, RedHat Entreprise Linux 6 or other systems using the iptables service
1. Open the NFS configuration file in a text editor:$ sudo vi /etc/sysconfig/nfs
2. In the NFS configuration file, remove the hash # sign before the lines with the following content, so
as to uncomment them. This will make sure the NFS service always uses the same ports, and hence,
will allow us to safely open those ports in the firewall:l

RQUOTAD_PORT=875

l

LOCKD_TCPPORT=32803

l

LOCKD_UDPPORT=32769

l

MOUNTD_PORT=892

l

STATD_PORT=662

l

STATD_OUTGOING_PORT=2020

3. Add the ports and their protocols to the list of open ports with the following commands:$ sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport
2049 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport
111 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m udp -p udp --dport
111 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport
32803 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m udp -p udp --dport
32769 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport892 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m udp -p udp --dport892 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport875 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m udp -p udp --dport875 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport662 -j ACCEPT130

Harmony 15.0 Installation Guide$ sudo iptables -I INPUT -m state --state NEW -m udp -p udp --dport662 -j ACCEPT$ sudo service iptables save$ sudo service iptables restart
Other machines should now be able to mount the NFS shares.

How to allow connections to the NFS shares to go through the firewall
on CentOS 7, RedHat Entreprise Linux 7 or other systems using the firewalld service
1. In a terminal, enter the following commands:$ firewall-cmd --permanent --add-service=nfs$ firewall-cmd --permanent --add-service=mountd$ firewall-cmd --permanent --add-service=rpc-bind$ firewall-cmd --reload
Other machines should now be able to mount the NFS shares.

131Chapter 2: Harmony Server

About Supporting Windows Clients for GNU/Linux Servers
A GNU/Linux server can natively handle requests from macOS and GNU/Linux clients. However, in order toallow Windows based clients to connect to the server, extra steps must be followed:l

The Link Server daemon must be installed. This allows Windows clients to create symbolic links on yourmacOS server.

lYour database files must be shared via the Samba protocol, which is used by Windows clients to accessthe database.

l

The server.ini file must be filled with information on your database server and its scene data storage
spaces. This allows Configuration Wizard to configure Windows clients automatically.

132

Harmony 15.0 Installation Guide

Installing the Link Server Daemon on GNU/LinuxIf you installed the database server daemon and want your GNU/Linux based server to support Windows
clients, you must also install the link server daemon. This daemon runs through the user usabatch, so this user
must be created prior to installing the daemon.

How to create the usabatch user on GNU/Linux
1. In a terminal, enter the following command:$ sudo useradd -m usabatch$ sudo passwd usabatch
2. When prompted, enter the password you want to assign to the user usabatch, then confirm it.
The user usabatch is now created and can be used to run Harmony daemons.

How to enable the link server daemon on GNU/Linux
1. In a terminal, enter the following command to enable the link server daemon:$ sudo chkconfig toonboom_link_srv on
If the command returns nothing, it succeeded. The link server will launch next time you boot themachine.
2. To launch the link server daemon immediately, run the following command:$ sudo service toonboom_link_srv start
The command will report whether it succeeded or failed.

How to enable the link server daemon using the Harmony installation script
1. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package

133Chapter 2: Harmony Server

4. Run the installer with the -d parameter:$ sudo ./install -l
5. When prompted, confirm that you want to proceed with the installation.
The installation script will enable and start the link server daemon.

134Harmony 15.0 Installation Guide

Running the Link Server on Log-In on GNU/LinuxIf you configured your database server to launch using Service Launcher, you will also want the Link Server tolaunch using Service Launcher, so that it launches in the same circumstances and environment. For more
information on running the database server with Service Launcher, see Running the Database Server on LogIn on GNU/Linux on page 123.
If you have already enabled he link server daemon, you will need to disable the daemon first to avoid launchingtwo instances of the link server.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the link server daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_link_srv stop$ sudo chkconfig toonboom_link_srv off
The link server daemon will stop and will no longer launch on boot.

How to configure the link server to launch on log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, in the GNOME top menu, select Applications > Harmony
15.0 [edition] >lService Launcher.

If Service Launcher is already running, click on its icon

The Service Launcher application starts.

135

in the system tray.

Chapter 2: Harmony Server

3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the Link tab.
5. Click on Launch to verify that the Link Server launches successfully through Service Launcher.
6. Check the Launch when Service Launcher starts option.
7. In the top menu, select Server > Save All Settings.
From now on, the link server will launch through Service Launcher when you log in.

136Harmony 15.0 Installation Guide

Opening the Firewall Ports for the Link Server on GNU/LinuxThe GNU/Linux firewall will block attempts from other computers to communicate with the database server. In
order to circumvent this, the ports used by the database server must be opened.

How to allow connections to the Samba shares to go through the firewall
on CentOS 6, RedHat Entreprise Linux 6 or other systems using the iptables service
1. Add the port used by the link server to the list of open ports with the following command:$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
5679 -j ACCEPT$ sudo service iptables save$ sudo service iptables restart
The GNU/Linux firewall should now allow other machines to connect to the database server.
NOTE
Port 5679 is the default port used by the Harmony Link server. You can customize which port
the Link server uses by editing the /USA_DB/Link_srv.conf configuration file.

How to allow connections to the Samba shares to go through the firewall
on CentOS 7, RedHat Entreprise Linux 7 or other systems using the firewalld service
1. Add the port used by the link server to the list of open ports with the following command:$ sudo firewall-cmd --permanent --zone=public --add-port=5679/tcp$ sudo firewall-cmd --reload
The GNU/Linux firewall should now allow other machines to connect to the database server.
NOTE
Port 5679 is the default port used by the Harmony Link server. You can customize which port
the Link server uses by editing the /USA_DB/Link_srv.conf configuration file.

137

Chapter 2: Harmony Server

Sharing the Harmony Database Files Using Samba on GNU/Linux
In order to allow Windows clients to access the database's directories remotely, they must be shared by theserver using the Samba protocol.
NOTE
The following commands require elevated privileges. To execute them successfully, you must either
be logged in as a user with root privileges, or precede each command with sudo.

How to install and configure Samba to share your database folders over the network
1. In a terminal, type the following command to install Samba:$ sudo yum install samba
If samba is not installed, you will be prompted to confirm the installation. Confirm and wait for the
installation to finish. If it is already installed, yum will advise you of this and quit.
2. Open the Samba configuration file to configure Samba and add your database directories as Sambashares:$ sudo vi /etc/samba/smb.conf
3. Under the [global] section of smb.conf, add the following options:[global]encrypt passwords= yesblocking locks= nooplocks= nolevel2 oplocks= nofollow symlinks= yesunix extensions= nowide links= yes

4. At the bottom of the Samba configuration file, add the following:[USA_DB]
comment= Harmony Databasebrowseable= yesread only= noguest ok= nocreate mask
= 0777
directory mask
= 0777path= /USA_DB[usa]
comment= Harmony Binaries and Configuration
browseable= yesread only= noguest ok= no138

Harmony 15.0 Installation Guide

create mask
= 0777
directory mask
= 0777path= /usr/local/ToonBoomAnimation/harmony[Edition]_15.0[usadata000]
comment= Harmony Scene Data 000
browseable= yesread only= noguest ok= nocreate mask
= 0777
directory mask
= 0777path= /usadata000

5. Verify that Samba understands the parameters in its configuration file with the following command:$ testparm
6. A local user must be added to the list of users with access to the Samba shares. To do this, type in
the following command:$ sudo smbpasswd -a usabatch
You will be prompted to assign a password to the user, then to confirm it. This username andpassword will be used to connect to the Samba shares.
NOTE
The user you are adding to the list of Samba users must already exist as a regular user
on the machine.
7. Enable and start the Samba daemon:$ sudo chkconfig smb on$ sudo service smb start
Samba is now configured to give access to the database files with the selected username andpassword.

139

Chapter 2: Harmony Server

Opening the Firewall Ports and Configuring SELinux for a Samba
Server on GNU/LinuxBy default, client machine will not be able to connect to a Samba server running on GNU/Linux, for two reasons:l

The GNU/Linux firewall will block incoming connections to the Samba server by default.

l

SELinux will block client access to the Samba shares by default.

To work around this, you must configure the GNU/Linux firewall to accept incoming connections through theports commonly used by Samba. You must also configure SELinux to allow client machines to access the Sambashares.

How to allow connections to the Samba shares to go through the firewall
on CentOS 6, RedHat Entreprise Linux 6 or other systems using the iptables service
1. Add the ports used by the Samba service to the list of open ports with the following commands:$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
137 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
138 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
139 -j ACCEPT$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
445 -j ACCEPT$ sudo service iptables save$ sudo service iptables restart
The GNU/Linux firewall should now allow other machines to connect to the NFS shares.

How to allow connections to the Samba shares to go through the firewall
on CentOS 7, RedHat Entreprise Linux 7 or other systems using the iptables service
1. Add the Samba service to the list of allowed services with the following commands:$ sudo firewall-cmd --permanent --zone=public --add-service=samba$ sudo firewall-cmd --reload
The GNU/Linux firewall should now allow other machines to connect to the NFS shares.

How to allow connections to the Samba shares to go through SELinux
1. Allow connections to Samba to go through SELinux by entering the following command:140

Harmony 15.0 Installation Guide$ sudo setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
2. Allow connections to each of your shared folders to go through SELinux by entering the following
command for each share:$ sudo chcon -t samba_share_t <path to share>
For example, if you are configuring a database server with the database file structure, the Harmony
binaries and configuration files and one scene data storage space labeled usadata000, you would
have to run the following command to allow access to each share:$ sudo chcon -t samba_share_t /usr/local/ToonBoomAnimation/harmony[Edition]_15.0$ sudo chcon -t samba_share_t /USA_DB$ sudo chcon -t samba_share_t /usadata000
3. Now, refresh the security context of each of your shared folders by entering the following commandfor each share:$ sudo restorecon -R <path to share>
For example:$ sudo restorecon -R /usr/local/ToonBoomAnimation/harmony[Edition]_
15.0$ sudo restorecon -R /USA_DB$ sudo restorecon -R /usadata000
At this point, SELinux should allow other machines to connect to your Samba shares without issue.

141

Chapter 2: Harmony Server

Configuring a GNU/Linux Database Server for Windows Clients
In order to allow Windows clients to connect to your server using the Configuration Wizard, you must fill in theserver.ini configuration file, which is located in the etc subfolder of the Harmony installation package. This file
will provide Configuration Wizard with information on the server as well as of each scene data server it isconnected to.

How to configure the server.ini file on GNU/Linux
1. In a terminal, type in the following command:$ sudo vi /usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/etc/server.ini
2. In server.ini, type in the information for the database server as well as the directory name andhostname of every scene data server in your network, like in the following example:[WizardConfig]
ServerName=<server name>InstallationDrive=C
UsaShare=<harmony share name>
UsadbDrive=C
UsadbShare=<database share name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<server name>: The host name of the Harmony database server.

l<harmony share name>: The name of the share that gives access to the Harmony binaries
and configuration files. By default, this share is named usa.

l<database share name>: The name of the share that gives access to the database files.
By default, this share is named USA_DB.

For example, if your database server is called harmonyserver, your Harmony installation is sharedunder the share name usa and your Harmony database is shared under the share name USA_DB,
this would be the proper configuration for this server:[WizardConfig]
ServerName=harmonyserver
InstallationDrive=C
UsaShare=usa
UsadbDrive=C
UsadbShare=USA_DB

142

Harmony 15.0 Installation Guide

3. Under the line starting with UsadbShare, enter information about each scene data storage spaceused by your Harmony database, in the following format:
FileSystem<file system number>=C <share name> <server name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<file system number>: The zero-based index of the scene data storage space. For
example, the first scene data storage space for your database should be named
FileSystem0 and the second one, FileSystem1.

l<share name>: The name of the share containing the scene data. Usually, this share iseither named USADATA or usadata, and its name may be followed by a zero-padded, zerobased number indicating the index of the scene data storage space. For example, the firstscene data storage space could be named USADATA, usadata000, usadata001, etc.

l<server name>: The host name of the scene data server. If the scene data storage space ishosted on the same machine as the database, then this host name is the same as the hostname for the database. Otherwise, you must specify the name of the machine on which thescene data storage space is located.

For example, if this is the first scene data storage space for your database, it is hosted on a computer
named dataserver and its name is usadata000, the appropriate configuration for this would be
as follows:
FileSystem0=C usadata000 dataserver

IMPORTANTThe variable names and share names in server.ini are case sensitive.

NOTE
server.ini also specifies the drive letter on which the software, the database files and scene
data files are stored. Since we are configuring a UNIX-based server, there is no actual drive
letter involved. Hence, we are using the drive letter C as a placeholder so as to respect the
expected format of the server.ini configuration file, but the value of these parameters is not
relevant and will not affect your configuration.

143

Chapter 2: Harmony Server

Creating a Scene Data Storage Server on GNU/LinuxYou can create additional scene data storage spaces for your Harmony database on machines. The databaseserver will connect to these machines to transmit scene data to the clients, allowing you to expand the storage
capacity of your database.
Creating a scene data storage space for your Harmony database requires following these steps:
1. Creating a folder named usadata followed by the index number of the storage space at the root of themachine.
2. Sharing the folder via NFS and, if Windows clients must be supported, via Samba as well.
3. Mounting this folder on the database server.
4. If Windows clients must be supported, adding this storage server to the server.ini configuration file.

How to create a scene data storage space
1. In a terminal, enter the following command, where ### is the padded, zero-based index of thestorage space you are creating, replace ### with 001:
$ sudo mkdir -m 777 /usadata###
A folder in which scene data will be stored is created at the root of the filesystem.

How to share the scene data storage space
1. Sharing a scene data storage space is done the exact same way as sharing the server's database filesystem.
l

To share the scene data storage space for macOS and GNU/Linux based clients, see Sharing
the Harmony Database Files Using NFS on GNU/Linux on page 129.

l

To share the scene data storage space for Windows clients, see Sharing the Harmony
Database Files Using Samba on GNU/Linux on page 138

Once this is done, you should already be able to mount the new scene data storage space on the
database server as well as on clients.

How to mount the new scene data storage space on a GNU/Linux database server
1. In a terminal, create a folder at the root of the filesystem in which the new scene data storage space

144

Harmony 15.0 Installation Guide

will be mounted with the following command, where <foldername> is the name of the scene data
directory you created on the scene data server:$ sudo mkdir -m 777 /<foldername>
2. open the filesystem table in a text editor by typing the following command:$ sudo vi /etc/fstab
3. In the filesystem table, add the following line, replacing <servername> with the name of the scene
data server and <foldername> with the name of the scene data directory you created on thisscene data server:<servername>:/<foldername>/mnt/<foldername>nfs

nfs rw,soft,intr,bg 0 0

4. Save and quit.
5. Attempt to mount the entries of the filesystem table:$ sudo mount -a
6. To make sure that it worked, try creating a file in the new scene data storage, and verify that it'svisible from both machines. To do this:l

On one machine, enter the following command:$ touch /<foldername>/testfilel

On the other machine, enter the following command to verify that testfile is present$ ls /<foldername>/

How to add the scene data storage file to the server.ini configuration file
1. In a terminal, type in the following command:$ sudo vi /usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/etc/server.ini
If the file was already configured, it most likely contains configuration in the following format:[WizardConfig]
ServerName=<name of Harmony server>
InstallationDrive=C
UsaShare=usa
UsadbDrive=C
UsadbShare=USA_DB
FileSystem0=C usadata000 <name of first scene data server>

2. Under the last line starting with FileSystem0 which contains information about an existing scene

145Chapter 2: Harmony Serverdata storage space, enter the information about your new scene data storage space in the following
format:FileSystem<file system number>=C <share name> <server name>

Replace the tags between <> brackets with the appropriate values. Make sure to remove the <>brackets from the configuration file as well:l<file system number>: The zero-based index of the scene data storage space. For
example, the first scene data storage space for your database should be named
FileSystem0 and the second one, FileSystem1.

l<share name>: The name of the share containing the scene data. Usually, this share iseither named USADATA or usadata, and its name may be followed by a zero-padded, zerobased number indicating the index of the scene data storage space. For example, the firstscene data storage space could be named USADATA, usadata000, usadata001, etc.

l<server name>: The host name of the scene data server. If the scene data storage space ishosted on the same machine as the database, then this host name is the same as the hostname for the database. Otherwise, you must specify the name of the machine on which thescene data storage space is located.

For example, if this is your second scene data storage space for your database server, it is hosted on
a computer named newdataserver and is named usadata001, its configuration would be as
follows:
FileSystem1=C usadata001 newdataserver

IMPORTANTThe variable names and share names in server.ini are case sensitive.

NOTE
The first information for a scene data storage space, C, is actually the drive letter on which thescene data storage space is located. Since GNU/Linux does not use drive letters, there is no
drive letter for this storage space, and we are only specifying a drive letter to respect theformat of the server.ini configuration file. This value does not have an effect your server
configuration.

146

Harmony 15.0 Installation Guide

Setting Up Static IPs for WebCC on GNU/LinuxIt is common to configure server machines to have a static IP. This avoids having to rely on DNS resolution tofind the server when its IP address changes, and it also allows you to associate the hostname to the server's
static IP address on the machine to skip DNS resolution altogether, increasing network performance.
If your machine is currently connected to a DHCP server that dynamically assigns IP addresses, you canconfigure your machine to permanently use its current IP address. To do this, you can start by making note of
the information for your current network connection, then using these parameters for a permanent IP address.

How to obtain your current network configuration on CentOS 6
1. To obtain your machine's hostname, enter the following command:$ hostname
Write down the output value.
2. To obtain the network domain, enter the following command:$ hostname -d
Write down the output value.
3. To obtain your machine's default gateway and network device, enter the following command:$ routeThe output will look like this:Destination
Iface
10.120.0.0<device name>default<device name>

Gateway

GenmaskFlags Metric Ref

Use*<subnet mask>

U

1

0

0

<default gateway>

0.0.0.0

UG

0

0

0

One of the rows will have default in the destination column. In this row, the name of the device in
the Iface column is the name of your default network device. Write down the name of that device.
4. To obtain your machine's IP and subnet mask, enter the following command, replacing <device
name> with the name of the device noted in the previous step:$ nmcli -f all dev list iface <device name>
Information about the network interface will appear, in either one of the following formats:
GENERAL.DEVICE:
GENERAL.TYPE:
GENERAL.DRIVER:
GENERAL.HWADDR:<device name>802-3-ethernet
tg3<MAC address>

147

Chapter 2: Harmony Server

GENERAL.STATE:CAPABILITIES.CARRIER-DETECT:CAPABILITIES.SPEED:WIRED-PROPERTIES.CARRIER:
IP4-SETTINGS.ADDRESS:
IP4-SETTINGS.PREFIX:
IP4-SETTINGS.GATEWAY:
IP4-DNS1.DNS:

connected
yes1000 Mb/son<IPv4 address><prefix> (<subnet mask>)<default gateway><DNS server address>

Write down the IPv4 address, the subnet mask, the default gateway as well as every DNS server
address listed.
NOTE
You can also obtain the IP address (inet addr) and network mask (Mask) of your device withthe command:$ ifconfig <device name>How to obtain your current network configuration on CentOS 7
1. To obtain your machine's hostname, enter the following command:$ hostname
Write down the output value.
2. To obtain the network domain, enter the following command:$ hostname -d
Write down the output value.
3. To obtain your machine's default gateway and network device, enter the following command:$ routeThe output will look like this:Destination
Iface
10.120.0.0<device name>default<device name>

Gateway

GenmaskFlags Metric Ref

Use*<subnet mask>

U

1

0

0

<default gateway>

0.0.0.0

UG

0

0

0

One of the rows will have default in the destination column. In this row, the name of the device in
the Iface column is the name of your default network device. Write down the name of that device.
4. To obtain your machine's IP and subnet mask, enter the following command, replacing <device

148Harmony 15.0 Installation Guide

name> with the name of the device noted in the previous step:$ nmcli -p -f IP4 connection show <device name>
Information about the network interface will appear. The output will be in this format.
===============================================================================
Activate connection details (0568a4c4-092a-46e9-9f25-2295a1389d6e)===============================================================================
IP4.ADDRESS[1]:<IPv4 address>/<prefix>
IP4.GATEWAY:<default gateway>
IP4.DNS[1]:<DNS server address>
IP4.DOMAIN[1]:<search domains>

Write down the IPv4 address, the default gateway address, the DNS server address(es) and thesearch domain(s).
To obtain your subnet mask, enter the following command, replacing <device name> with thename of the device noted in the previous step:$ nmcli -p -f DHCP4 connection show <device name> | grep 'subnet_mask'
The output should look like this:subnet_mask = <subnet mask>

DHCP4.OPTION[3]:Write down the subnet mask.
NOTE
You can also obtain the IP address (inet) and network mask (netmask) of your device withthe command:$ ifconfig <device name>How to set up a static IP for CentOS 6 and 7
1. Before you do this, make sure you have the following information for your machine:lName of default network device (ie: eth0, p3p1)lHostnamelDomain namelSearch domain(s)lIPv4 address

149Chapter 2: Harmony ServerlNetwork masklDefault gateway addressl

DNS server address(es)2. Open your machine's network configuration file for editing:$ sudo vi /etc/sysconfig/network
3. Configure the file as follows, replacing the bolded text with the appropriate values:
NETWORKING=yes
HOSTNAME=<hostname>.<domain name>

4. Open your default network interface's configuration file for editing. This file will be named ifcgfollowed by the name of the network interface you noted earlier. For example, if your network
interface is named eth0, the configuration file will be named ifcfg-eth0:$ sudo vi /etc/sysconfig/network-scripts/ifcfg-<device name>
5. Configure the file with the appropriate values for the following parameters. If a value is alreadydeclared for one of these parameters, replace it. If not, add it to the file:
DEVICE="<device name>"
BOOTPROTO=static
IPADDR=<IPv4 address>
NETMASK=<network mask>
GATEWAY=<default gateway>
ONBOOT=yes

6. Open the DNS configuration file for editing:$ sudo vi /etc/resolv.conf
7. Configure the file as follows, replacing the bolded text with the appropriate values:
search <search domain mames>
nameserver <DNS server address>

NOTES
l

If you have several search domains, enter them all on the same line after search,separated by spaces.

l

If you have several DNS servers, add one nameserver line for each address.

150

Harmony 15.0 Installation Guide

8. Restart the network service:$ sudo service network restart151

Chapter 2: Harmony Server

Checking the Database Server Log on GNU/Linux
In order to troubleshoot problems with the Harmony database server, you can look through its log. This is done
differently depending on whether you installed the database server as a daemon or using Service Launcher.
If your server is configured for Windows clients, you can also check the link server log for issues.

How to check the log for the database server daemon
1. In a terminal, enter the following command:$ less /tmp/tbdbserver.log

How to check the log for the link server daemon
1. In a terminal, enter the following command:$ less /tmp/Link_srv.log

How to check the log for the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

How to check the log for the link server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Link tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

152

Harmony 15.0 Installation Guide

Launching the Database Server Manually in GNU/LinuxYou can start the database server directly from a terminal. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems.
If your server needs to handle Windows clients, you can also launch the link server in a different terminal toensure that both services work.
You can view the output of both services directly in the terminal in which you launch them as they start andhandle requests.

How to start the database server manually
1. In a terminal, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/tbdbserver

How to start the link server manually
1. In another terminal, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/Link_srv

153

Chapter 2: Harmony Server

Stopping and Restarting the Database Server on GNU/LinuxIf you installed the database server as a daemon, you can stop it and restart it using the service commandline tool. If you installed it using Service Launcher, you can stop it and restart it manually in Service Launcher.
If you have installed the link server so as to be able to handle Windows clients, stopping and restarting it may
also be necessary for the intended purpose.

How to stop and restart the database server daemon
1. In a terminal, enter the following command:$ sudo service toonboom_dbserver stop
2. When you are ready to start the server again, enter the following command:$ sudo service toonboom_dbserver start
TIP
You can also restart the service instantly with the following command:$ sudo service toonboom_dbserver restart

How to stop and restart the link server daemon
1. In a terminal, enter the following command:$ sudo service toonboom_link_srv stop
2. When you are ready to start the server again, enter the following command:$ sudo service toonboom_link_srv start
TIP
You can also restart the service instantly with the following command:$ sudo service toonboom_link_srv restart

How to stop and restart the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.

154Harmony 15.0 Installation Guide

2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

How to stop and restart the link server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Link Server tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

155

Chapter 2: Harmony Server

Pausing and Resuming the Database Server on GNU/LinuxIf you need to perform maintenance or updates on a Harmony server, you can pause it instead of stopping itcompletely.
Users who attempt to save a scene while the server is paused will receive a warning message. The server willqueue the save and commit the changes when the server is resumed.

How to pause the database server
1. In a command prompt, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_64/bin/dbu-p

How to check pause status of the database server
1. In a command prompt, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_64/bin/dbu-P

How to resume the database server
1. In a command prompt, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_64/bin/dbu
-res

156

Harmony 15.0 Installation Guide

Uninstalling the Database Server on GNU/LinuxIf you installed the database server as a daemon, you can uninstall it using the chkconfig command line tool. If
you installed it using Service Launcher, you can uninstall it in Service Launcher.

How to disable the database server daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_dbserver stop$ sudo chkconfig toonboom_dbserver off
The database server daemon will stop and will no longer launch on boot.

How to disable the link server daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_link_srv stop$ sudo chkconfig toonboom_link_srv off
The link server daemon will stop and will no longer launch on boot.

How to uninstall the database server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the Database Server tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

How to uninstall the link server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher
The Service Launcher application opens.

157

icon.

Chapter 2: Harmony Server

3. Select the Link Server tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

158

Harmony 15.0 Installation Guide

Connecting Client Workstations to a Harmony Database Server
On a Harmony database server, database files and scene data files are present and sorted using a specific filestructure. To connect a workstation to a Harmony database server, the structure of the database file system
must be simulated on the client machine using file sharing.
A client workstation configuration is permanent, meaning that it is only necessary to configure a client toconnect to a specific Harmony database server once. Once a client workstation is properly configured, you cansimply launch Harmony or any other Harmony application at any time and connect to the server using yourHarmony database account.

159

Chapter 2: Harmony Server

Configuring Harmony Server Clients on Windows
Provided that your server is properly configured, a Windows machine can be configured to connect to a
Harmony database server using Configuration Wizard. The wizard creates Windows shortcut (.lnk) files
pointing to the different network shares used for the database on the hard drive of the client machine, andconfigures a script that signs in to those network shares on boot.
Those Windows shortcuts have the same name as the share they connect to and are placed at the root of yourstorage drive, and Harmony interprets those shortcuts as if they were directories, a lot like the way symbolic
links work on UNIX systems.

160

Harmony 15.0 Installation Guide

Connecting a Windows Client to a Database Server Using
Configuration Wizard
Provided that your server is properly configured, you can quickly configure a Windows workstation to connect
to the Harmony server as a client using the Configuration Wizard. You must perform this task for every
workstation that will need to connect to your database server.

How to set up a Harmony database client on Windows
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
1. In the Toon Boom Harmony Configuration dialog, select the ... button right of Database.
2. In the Toon Boom Harmony Database Creation dialog, select Client and click on Next.
3. Under What is the name of the server?, type in the hostname of the database server.
4. Under What is the User?, type in the name of an user account that has access to the databaseshare.
5. Under What is the Password?, type in the password for the selected user account.
6. Click on Next.
7. In the Database changes field, verify that all the intended changes are correct, then click on Finish.
You should now be able to launch Harmony, Control Center, Paint, Scan and Play and connect tothe Harmony Server database through these applications.

161

Chapter 2: Harmony Server

Manually Configuring a Windows Client to Connect to a
Harmony Database
On Windows, the Configuration Wizard uses the server.ini file located on the Harmony server to automaticallyconfigure clients to connect to each network share used by the database. You can also make this configuration
manually. This can be useful if you simply need to add a new scene data storage space to a client, if you madechanges to your server configuration or if you need to use different username and password combinations fordifferent network share used by your database, as the Configuration Wizard will use the same credentials forall of them.
Configuring a Windows client is done in two steps:l

Adding the path, username and password to connect to each share used by the Harmony database in
the Connections tab of the Harmony Control Panel. Typically, there should be one share named USA_DB,
which contains the database file structure, and one share named usadata followed by a zero-based
padded number for each scene data server, such as usadata000, usadata001, etc.

lCreating a shortcut that points to each of these shares at the root of the main storage drive of yourmachine.

On Windows, the path to a network share is written as follows:\\servername\sharename
This is how the path to each database share must be written in both the Harmony Control Panel and theshortcut files.

How to add Harmony network share connections using the Harmony Control Panel
1. In the Start menu, open the Programs list, then select Toon Boom Harmony 15.0 [Edition] > Tools>

Control Panel.

2. Confirm that you want to make changes to your device.
The Toon Boom Harmony Control Panel appears.
3. Open the Connections tab.
4. In the Sharename field, enter the full UNC path of the network share you want to add. For example,
if you are creating a connection for USA_DB and this network share is located on a machine named
harmony server, you would type \\harmonyserver\USA_DB.
5. In the Username field, enter the username of a user who has access to this network share. Bydefault, database files created by the Configuration Wizard can be accessed with the user usabatch.
6. In the Password field, enter the password of the user account specified in the Username field.
7. Click on Connect to verify that the connection can be made using these parameters.

162

Harmony 15.0 Installation Guide

8. Click on Create Connection to permanently add this connection to the list of connections that are
made on boot.
9. Repeat for each scene data storage space used by the database. For example, if your database has asingle scene data storage space named usadata000 and it is located on the same server as the
database files (harmonyserver), you would need to add the share\\harmonyserver\usadata000 using the same credentials.
10. Also repeat for the usa share, which is typically located on the same machine as the USA_DB share.

How to add shortcuts to the Harmony network shares to your storage drive
1. Go to your desktop by minimizing all application windows.
NOTE
Although the shortcuts must be placed in the root of your storage drive, Windows
Explorer will not allow creating shortcuts directly in this location. Therefore, thefollowing steps explain how to create the shortcuts on your desktop, then move them tothe root of your storage drive.
2. Right-click anywhere on the desktop, and select New > Shortcut.
The Create Shortcut dialog appears.
3. Under Type the location of the item:, type the full UNC path of the network share you want to add.
For example, if you are creating a shortcut pointing to USA_DB and this network share is located ona machine named harmony server, you would type \\harmonyserver\USA_DB.
4. Click on Next.
5. Under Type a name for this shortcut:, type in the name of the share and nothing else. For example,
if you are creating a shotcut pointing to \\harmonyserver\USA_DB, type in USA_DB.
6. Click on Finish.
A new shortcut file is created on your desktop.
7. Open an Explorer window.
8. Navigate to the root of the main storage drive for your workstation. Typically, this storage drive isnamed C:
9. Drag and drop the shortcut you just created to the root of your storage drive.
10. When prompted, confirm that you want to provide administrator permission to move the shortcut.

163

Chapter 2: Harmony Server

11. Repeat for each scene data storage space used by the database. For example, if your database has asingle scene data storage space named usadata000 and it is located on the same server as the
database files (harmonyserver), you would need to add another shortcut pointing to\\harmonyserver\usadata000 with the name usadata000.

164

Harmony 15.0 Installation Guide

Configuring the Hosts File for a Windows Client
When a client connects to a server using its hostname, it must first go through the network in order to obtain
the IP address associated with that hostname, which adds overhead to the connection.
A hosts file is a configuration file which allows you to forcefully associate certain hostnames with specific IP
addresses. This can allow you to set up a client machine to directly connect to the IP address of your Harmony
database server without having to query the network for its address first, which may increase network
performance. However, this should only be done if your database server has a static IP address which you do
not intend to change. If the IP address of your server changes, the information in the host file will no longer be
accurate and you will be unable to connect to the server unless you update or remove the configuration in thehosts file.

How to associate the Harmony database server hostname to its IP address
1. In the Start menu, open the Programs list, then select Windows Accessories.
2. Right-click on Notepad and select More > Run as administrator.
3. In the Notepad top menu, select File > Open.
4. In the file type drop-down near the bottom-right corner of the Open dialog, select All Files (*.*)
5. Navigate to C:\Windows\System32\drivers\etc and open the file named hosts.
6. At the bottom of the file, add a new line.
7. Type in the permanent IP address of the Harmony database server followed by its hostname,separated by a space. For example, if your database server is named harmonyserver and its IP
address is 10.127.1.1, you would type in the following:
10.127.1.1 harmonyserver
8. If your Harmony database server uses other machines for scene data storage, repeat for eachmachine used for the server so as to associate each machine's hostname to their permanent IP
address.
9. In the top menu, select File > Save.
10. Reboot the machine.

165Chapter 2: Harmony Server

About Connecting to a Harmony Database Without Using Shortcut
Files on Windows
By default, when connecting a client workstation to a Harmony server, shortcut files are placed at the root of
the main storage drive (typically C:) pointing to the location of each network share used by the Harmony
database.
However, it is also possible to configure the location of these network shares in the shortcuts.conf
configuration file instead of using shortcuts. This lightens the process of accessing database files by removing
the overhead from reading the shortcut files.
The shortcuts.conf file must be located in the etc subfolder of the Harmony installation directory bydefault, but it can be located anywhere on your computer provided that you specify the location of this file in
the USA_DB_CONFIG environment variable. This can allow users to change the location of the Harmony
database server they are connecting to without needing administrator privileges.

166Harmony 15.0 Installation Guide

Configuring the Shortcuts File on Windows
The shortcuts.conf configuration file should be located in the etc subfolder of the Harmony installation
directory. It does not exist by default, so it must either be created from scratch, or using the sample file provided
with Harmony.

How to create and edit the shortcuts.conf configuration file using the sample
shortcuts.conf file
1. In the Start menu, open the Programs list and select Windows System.
2. Right-click on Command Prompt and select More > Run as administrator
3. Enter the following command to copy the sample shortcuts.conf file to its intended location:> CD C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]> COPY resources\samples\shortcuts.conf etc\
4. Enter the following command to open the shortcuts.conf file in Notepad as an administrator:> notepad etc\shortcuts.conf

How to fill up the shortcuts.conf configuration file
1. If you used the sample shortcuts.conf file, the file will already have explainations on lines startingwith a #, which are ignored by Harmony, followed by the header shortcut_list :. If you are creating
the shortcuts.conf file from scratch, make sure to start by typing in the header:shortcut_list :2. Under shortcut_list : add a line specifying the location of the database files (USA_DB) in thefollowing format, where <harmony server> is the hostname of the computer on which the databasefiles are located:/USA_DB //<server name>/USA_DB

For example, if the database files are located on a machine named harmonyserver, you would add
this line:/USA_DB //harmonyserver/USA_DB

3. For each scene data storage used by the Harmony server, add a line in the same format. For

167

Chapter 2: Harmony Server

example, if your Harmony database has a scene storage space named usadata000 on the samemachine (harmonyserver), and another scene data storage space named usadata001 on a machinenamed scenedataserver, you would add the following lines:/usadata000 //harmonyserver/usadata000/usadata001 //scenedataserver/usadata001

4. Save.
The next time you launch Harmony, it will rely on the configuration in shortcuts.conf instead of
the shortcut files in the root of your storage drive to connect to the database network shares.

168Harmony 15.0 Installation Guide

Setting a Custom Location for the Shortcuts Configuration Fileon Windows
By default, shortcuts.conf should be located in Harmony's etc subfolder, which can only be modified byusers with administrator privileges. However, it is possible to specify a for shortcuts.conf in the USADB_CONFIG_FILE environment variable.
As a result, a user can place a shortcuts.conf file in their Documents folder and make Harmony read it,
without requiring administrator privileges. Likewise, an administrator can place the shortcuts.conf file in a
specific location that can be edited by any user, and set the environment variable to point to this file for allusers.

How to set a custom location for the shortcuts.conf file for the current user
1. First, use a text editor (ie: Notepad) to create a shortcuts.conf configuration file in the preferred
location—see Configuring the Shortcuts File on Windows.
2. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

3. Select User Accounts, then User Accounts again.
4. In the left pane, select Change my environment variables.
5. Under the User variables list, click on New.
The New User Variable dialog appears.
6. In the Variable Name field, type in USADB_CONFIG_FILE.
7. Click on Browse File.
An Open dialog appears.
8. In the Open dialog, navigate to and select the shortcuts.conf file you created in the preferred
location.
9. In the New User Variable dialog, click on OK.
10. In the Environment Variables dialog, click on OK.
The next time you launch Harmony, it will use the parameters in the shortcuts.conf file in thecustom location where you saved it.

169Chapter 2: Harmony Server

How to set a custom location for the shortcuts.conf file for all users
1. First, use a text editor (ie: Notepad) to create a shortcuts.conf configuration file in the preferred
location—see Configuring the Shortcuts File on Windows.
2. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

3. Select System and Security > System.
4. In the left pane, select Advanced system settings.
5. Open the Advanced tab.
6. Click on Environment Variables.
7. Under the System variables list, click on New.
The New System Variable dialog appears.
8. In the Variable Name field, type in USADB_CONFIG_FILE.
9. Click on Browse File.
An Open dialog appears.
10. In the Open dialog, navigate to and select the shortcuts.conf file you created in the preferred
location.
11. In the New System Variable dialog, click on OK.
12. In the Environment Variables dialog, click on OK.
The next time you launch Harmony, it will use the parameters in the shortcuts.conf file in thecustom location where you saved it.

170Harmony 15.0 Installation Guide

Troubleshooting Client Connections on Windows
If your client is unable to connect to the database, a good way to diagnose the issue is to verify that you are atleast able to connect to and to navigate the database server's shared folders. To test that, you can type the
UNC path of one of the database's shared folders in the address bar of an Explorer window. For example, if thedatabase is hosted on a server named harmonyserver, try to open the following location:\\harmonyserver\USA_DB
Then, you can follow the troubleshooting tips depending on how Windows handled your attempt to connect tothe share:lWindows Accesses the Database Share Without Issue on page 171lWindows Prompts for a Username and/or Password on page 172lWindows is Unable to Access the Share and Displays an Error Message on page 172

Windows Accesses the Database Share Without Issue
If you have access to the shared folders, but Harmony is unable to connect to the database, this means theserver is properly configured to share files, but not to act as a Harmony database server, either because:l

The database server service is not running on the server machine. You can check if this is the issue by
running the server service manually in a terminal on the server machine, then attempting to connect
from the client machine again. To do this, depending on the platform of your Harmony server, see:lWindows: Launching the Database Server Manually on Windows on page 75lmacOS: Launching the Database Server Manually in macOS on page 111l

GNU/Linux: Launching the Database Server Manually in GNU/Linux on page 153
NOTE
Running the database server service directly from a terminal also allows you to immediately
see if the service encounters any errors when launching.

l

The server machine is refusing connections to the Harmony database server because of its firewall rules.
To resolve this, see:lWindows: Opening the Firewall Ports for a Harmony Database Server on Windows on page 62l

GNU/Linux: Opening the Firewall Ports for a Harmony Database Server on GNU/Linux on page
128 and Opening the Firewall Ports for the Link Server on GNU/Linux on page 137.
NOTE
The macOS firewall is not known to block connections to a Harmony server by default.

171

Chapter 2: Harmony Server

Windows Prompts for a Username and/or Password
If you get prompted for a username or a password, this means that the server is properly configured to share its
files, but Harmony failed to establish a connection to the shared folders when you logged in. This may be
because:lHarmony was not configured to use the right credentials to access the shares.
When you use Configuration Wizard to configure a client to connect to a database server, you areprompted to type in a username and password to access the database server's shared folders.
Configuration Wizard saves those credentials and, when you log in to your Windows account, Harmony
attempts to establish a connection with those shared folders using the username and the password you
entered.
You can check if this is the issue by attempting to configure your client again using
Configuration Wizard—see Connecting a Windows Client to a Database Server Using
Configuration Wizard on page 161.

Windows is Unable to Access the Share and Displays an Error
MessageIf you are getting an error message, this means that your client is either unable to find the shared folder on yourserver, or that your server is refusing to let your client access it. This may be because:lThere is something wrong with the configuration of one or several of the database shares. Make sure
you configured the shared folders properly on your server:lWindows: The shares on the actual Harmony database server are configured automaticallyby Configuration Wizard. For shares on machines other than the Harmony database server, see
Creating a Scene Data Storage Space on Windows on page 64.

lmacOS: Sharing the Harmony Database Files Using Samba on macOS on page 96 and Creating a
Scene Data Storage Server on macOS on page 102.

l

GNU/Linux: Sharing the Harmony Database Files Using Samba on GNU/Linux on page 138 andCreating a Scene Data Storage Server on GNU/Linux on page 144.

l

If the server is running GNU/Linux, the GNU/Linux firewall and/or SELinux may be blocking incoming
connections to its Samba shares—see Opening the Firewall Ports and Configuring SELinux for a Samba
Server on GNU/Linux on page 140.

l

If your client is using Windows 10, the problem might be caused by the version of the Samba protocol
the server is using. Servers that use Samba to share files usually use the SMB 2.0, SMB 2.1 or SMB 3.0
protocol. However, some Samba servers may still be using the deprecated SMB 1.0 protocol. By default,
Windows 10 computers are configured to be unable to connect to Samba servers that use the SMB 1.0
protocol, because SMB 1.0 is considered unsafe.
There are three common cases where a Samba server will use the SMB 1.0 protocol:

172

Harmony 15.0 Installation Guidel

The server runs CentOS 6.

l

The server runs macOS, and Samba was installed through third party means, such as brew or
SMBup.

l

The server runs Windows 10, and has the optional SMB 1.0/CIFS Server component enabled.

The optimal solution to this issue is to configure the server to only use SMB 2.0 and up. This is possible in
the three cases above.
The alternative solution is to configure your Windows 10 clients to be able to connect to Samba serversthat use SMB 1.0. This should only be done if it is not possible to use SMB 2.0 and up across the network,
as SMB 1.0 is considered unsafe.

How to configure a GNU/Linux CentOS 6 server to use SMB 2.0 and up
1. In a terminal, type in the following command:$ sudo vi /etc/samba/smb.conf
2. Inside the file, scroll down to the section that starts with [global].
3. Press the i key to enter insert mode.
4. Add the following line to the [global] section:
protocol = SMB2
5. Press Esc, then type :wq and press Enter/Return to save and quit.
6. In the terminal, restart the Samba server with the following command:$ sudo service smb restart
From now on, your Windows 10 client should be able to connect to your GNU/Linux Samba server.

How to configure a macOS server to use SMB 2.0 and up
1. In a terminal, type in the following command:$ sudo vi /opt/local/etc/samba3/smb.conf
2. Inside the file, scroll down to the section that starts with [global].
3. Press the i key to enter insert mode.
4. Add the following line to the [global] section:
protocol = SMB2
5. Press Esc, then type :wq and press Enter/Return to save and quit.
6. In the terminal, restart the Samba server with the following command:

173

Chapter 2: Harmony Server$ sudo launchctl unload /Library/LaunchDaemons/org.samba.smbd.plist$ sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist
From now on, your Windows 10 client should be able to connect to your macOS Samba server.

How to configure a Windows 10 server to use SMB 2.0 and up
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, select Programs > Turn Windows features on or off.
3. In the features list, scroll to and expand SMB 1.0/CIFS File Sharing Support.
4. Under SMB 1.0/CIFS File Sharing Support, make sure that the item SMB 1.0/CIFS Server isunchecked.
5. Click OK.
You may be prompted to restart the machine for the changes to take effect. Afterwards, your
Windows 10 clients should be able to connect to your Windows shares.

How to configure a Windows 10 client to connect to SMB 1.0/CIFS servers
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, select Programs > Turn Windows features on or off.
3. In the features list, scroll to and expand SMB 1.0/CIFS File Sharing Support.
4. Under SMB 1.0/CIFS File Sharing Support, make sure that the item SMB 1.0/CIFS Client is checked.
5. Click OK.
You may be prompted to restart the machine for the changes to take effect. Afterwards, your
Windows 10 client should be able to connect to your server's Samba shares.

174

Harmony 15.0 Installation Guide

Configuring Harmony Server Clients on macOSOn macOS and GNU/Linux, a client workstation is configured to connect to a Harmony server by mounting thedifferent network shares used for the database on directories with the same name as these shares, at the rootof the filesystem. As a result, all of the database and scene data files become part of your machine's file system,and the path to each file in your database is the same path on both the client machine and the server machine,allowing seamless access to all of your scene data on any machine. The most straightforward approach to this is
to configure these shares to be automatically mounted on boot using the file system table (fstab) file.

175

Chapter 2: Harmony Server

Connecting a macOS Client to a Database Server
The most simple way of connecting a macOS client to a Harmony database server is by mounting the database
network shares using the NFS protocol. This can be done automatically on boot by adding entries for eachdatabase network share in the file system table (fstab).

How to mount Harmony database network shares using the file system table
1. In a terminal, open the file system table for editing:$ sudo vi /etc/fstab
2. Add an entry in the following format for each network share that your Harmony database requires:<server name>:/<share name> /<share name> nfs rw,soft,intr,resvport
0 0
For example, if your server is named harmonyserver and hosts the database files (USA_DB) as wellas the first scene data storage space, named usadata000, and you have another scene data server
called scenedataserver hosting the second scene data storage space, named usadata001, you
would need to add the following lines:
harmonyserver:/USA_DB/USA_DBnfs rw,soft,intr,resvportharmonyserver:/usadata000/usadata000 nfs rw,soft,intr,resvportscenedataserver:/usadata001 /usadata001 nfs rw,soft,intr,resvport

0
0
0

0
0
0

3. Create a mount point at the root of your filesystem for each share that you intend to mount:$ sudo mkdir -m 777 /<share name 1> /<share name 2> /<share name 3>
For example, the mount points for the fstab entries in the previous examples would be created withthis command:$ sudo mkdir -m 777 /USA_DB /usadata000 /usadata001
4. Attempt to mount the new fstab entries with the following command:$ sudo mount -a
There will be no output if the command was successful.
5. Verify that you can view the files in each mounted share with the following command:$ ls /<share name>For example:$ ls /USA_DB$ ls /usadata000$ ls /usadata001

176

Harmony 15.0 Installation Guide

If you can see the database files in your client filesystem, you can now launch Harmony or any otherHarmony application and connect to the database.

177

Chapter 2: Harmony Server

Setting the User File Creation Permission Mask on macOS
By default, files created on macOS in directories that are accessible to everyone, such as Harmony database
directories, are created with a file permission mode that only allows the owner (creator) of the file to modify the
file.
Since a Harmony database is a collaborative work environment where everyone needs to be able to makechanges to scenes, this must be circumvented by setting the permission mask for file creation (referred to as
umask or user mask). By setting a permissive umask on your machine, all the files created by your client on the
Harmony database will be modifiable by anyone else with access to the database.
The method to change the user mask has changed as of Mac OS X 10.11. Below are the steps to accomplish
this depending on your version of macOS.

How to configure a permissive user mask on Mac OS X 10.11 and later
1. In a terminal, type the following command:$ sudo launchctl config user umask 000
2. Reboot the machine.

How to configure a permissive user mask on Mac OS X 10.10 and earlier
1. In a terminal, type the following command to edit your launchd configuration file:$ sudo vi /etc/launchd.conf
2. Add the following line at the end of the file:umask 03. Save the file.
4. Reboot the machine.

178

Harmony 15.0 Installation Guide

Configuring the Hosts File for a macOS Client
When a client connects to a server using its hostname, it must first go through the network in order to obtain
the IP address associated with that hostname, which adds overhead to the connection.
A hosts file is a configuration file which allows you to forcefully associate certain hostnames with specific IP
addresses. This can allow you to set up a client machine to directly connect to the IP address of your Harmony
database server without having to query the network for its address first, which may increase network
performance. However, this should only be done if your database server has a static IP address which you do
not intend to change. If the IP address of your server changes, the information in the host file will no longer be
accurate and you will be unable to connect to the server unless you update or remove the configuration in thehosts file.

How to associate the Harmony database server hostname to its IP address
1. In a terminal, open the hosts file for editing:$ sudo vi /etc/hosts
2. At the bottom of the file, add a new line.
3. Type in the permanent IP address of the Harmony database server followed by its hostname,separated by a space. For example, if your database server is named harmonyserver and its IP
address is 10.127.1.1, you would type in the following:
10.127.1.1 harmonyserver
4. If your Harmony database server uses other machines for scene data storage, repeat for eachmachine used for the server so as to associate each machine's hostname to their permanent IP
address.
5. Save and quit.

179

Chapter 2: Harmony Server

About the Location of Mount Points on macOS
By default, Harmony database shares must be created and mounted at the root of the filesystem. If preferred, it
is possible to mount the database shares in different locations, and configure Harmony to look in these locations
instead. This is done by creating a shortcuts.conf configuration file for Harmony, which will redirect
requests to traditional database locations such as /USA_DB to a directory of your choosing on your filesystem.
The shortcuts.conf file must be located in the etc subfolder of the Harmony installation directory bydefault, but it can be located anywhere on your computer provided that you specify the location of this file in
the USA_DB_CONFIG environment variable. This can allow users to change the location of the Harmony
database server they are connecting to without needing administrator privileges.

180Harmony 15.0 Installation Guide

Configuring the Shortcuts File on macOSThe shortcuts.conf configuration file should be located in the etc subfolder of the Harmony installation
directory. It does not exist by default.

How to create and edit the shortcuts.conf configuration file
1. In a terminal, enter the following command:$ vi /Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/etc/shortcuts.conf
This will create an empty shortcuts.conf file and open it in your command line interface text
editor.
2. At the top of the file, type the following header line:
shortcut_list :3. Under shortcut_list :, add a line specifying the location of the mount point for USA_DB on yourfilesystem in the following format, <path_to_usa_db> is the absolute path to the mount point of
USA_DB on your filesystem, without a trailing slash, and including the USA_DB part:/USA_DB /<path_to_usa_db>

For example, if the mount point to USA_DB is a directory named USA_DB in/Users/jdoe/Documents, you would add this line:/USA_DB /Users/jdoe/Documents/USA_DB

4. For each scene data storage space used by the Harmony server, add a line in the same format. For
example, if your Harmony server has two scene storage spaces named usadata000 andusadata001, and their mount points are in the same directory as USA_DB, you would add thefollowing lines:/usadata000 /Users/jdoe/Documents/usadata000/usadata001 /Users/jdoe/Documents/usadata001

5. Save and quit.
The next time you launch Harmony, it will look for the database files in the locations specified in
shortcuts.conf.

181

Chapter 2: Harmony Server

Setting a Custom Location for the Shortcuts Configuration Fileon macOS
By default, shortcuts.conf should be located in Harmony's etc subfolder, which can only be modified byusers with administrator privileges. However, it is possible to specify a for shortcuts.conf in the USADB_CONFIG_FILE environment variable.
As a result, a user can place a shortcuts.conf file in their Documents folder and make Harmony read it,
without requiring administrator privileges. Likewise, an administrator can place the shortcuts.conf file in a
specific location that can be edited by any user, and set the environment variable to point to this file for allusers.

How to set a custom location for the shortcuts.conf file
1. First, create a shortcuts.conf configuration file in the preferred location—see Configuring the
Shortcuts File on macOS.
2. Then, do one of the following:l

If you want to set the location of shortcuts.conf for your user only, enter the following
command in a terminal:$ vi ~/.bash_profilel

If you want to set the location of shortcuts.conf for all users, enter the following
command in a terminal:$ sudo vi /etc/profile

You are now editing a script that either runs when your user logs in, or when your machine boots.
3. At the end of the script, add the following lines, replacing <path to shortcuts.conf> with theabsolute (full) path to the shortcuts.conf file you created:
export USADB_CONFIG_FILE="<path to shortcuts.conf>"
launchctl setenv USADB_CONFIG_FILE "<path to shortcuts.conf>"

4. Save and quit.
5. Reboot.

182

Harmony 15.0 Installation Guide

Configuring Harmony Server Clients on GNU/LinuxOn macOS and GNU/Linux, a client workstation is configured to connect to a Harmony server by mounting thedifferent network shares used for the database on directories with the same name as these shares, at the rootof the filesystem. As a result, all of the database and scene data files become part of your machine's file system,and the path to each file in your database is the same path on both the client machine and the server machine,allowing seamless access to all of your scene data on any machine. The most straightforward approach to this is
to configure these shares to be automatically mounted on boot using the file system table (fstab) file.

183

Chapter 2: Harmony Server

Connecting a GNU/Linux Client to a Database Server
The most simple way of connecting a GNU/Linux client to a Harmony database server is by mounting thedatabase network shares using the NFS protocol. This can be done automatically on boot by adding entries foreach database network share in the file system table (fstab).

How to mount Harmony database network shares using the file system table
1. In a terminal, enable the NFS and NFS lock daemons:$ sudo chkconfig nfs on$ sudo service nfs start$ sudo chkconfig nfslock on$ sudo service nfs start
1. Open the file system table for editing:$ sudo vi /etc/fstab
2. Add an entry in the following format for each network share that your Harmony database requires:<server name>:/<share name> /<share name> nfs rw,soft,intr,bg 0 0
For example, if your server is named harmonyserver and hosts the database files (USA_DB) as wellas the first scene data storage space, named usadata000, and you have another scene data server
called scenedataserver hosting the second scene data storage space, named usadata001, you
would need to add the following lines:
harmonyserver:/USA_DB/USA_DBnfs rw,soft,intr,bg 0
harmonyserver:/usadata000/usadata000 nfs rw,soft,intr,bg 0
scenedataserver:/usadata001 /usadata001 nfs rw,soft,intr,bg 0000

3. Create a mount point at the root of your filesystem for each share that you intend to mount:$ sudo mkdir -m 777 /<share name 1> /<share name 2> /<share name 3>
For example, the mount points for the fstab entries in the previous examples would be created withthis command:$ sudo mkdir -m 777 /USA_DB /usadata000 /usadata001
4. Attempt to mount the new fstab entries with the following command:$ sudo mount -a
There will be no output if the command was successful.
5. Verify that you can view the files in each mounted share with the following command:$ ls /<share name>For example:

184

Harmony 15.0 Installation Guide$ ls /USA_DB$ ls /usadata000$ ls /usadata001
If you can see the database files in your client filesystem, you can now launch Harmony or any otherHarmony application and connect to the database.

185

Chapter 2: Harmony Server

Setting the User File Creation Permission Mask on macOS
By default, files created on GNU/Linux in directories that are accessible to everyone, such as Harmony database
directories, are created with a file permission mode that only allows the owner (creator) of the file and thegroup they belong to to modify the file.
Since a Harmony database is a collaborative work environment where everyone needs to be able to makechanges to scenes, this must be circumvented by setting the permission mask for file creation (referred to as
umask or user mask). By setting a permissive umask on your machine, all the files created by your client on the
Harmony database will be modifiable by anyone else with access to the database.
On GNU/Linux, you can make sure the user mask is always permissive by making it permissive every time you
log in. This is done by adding the command to set the user mask in a log-in script. You can choose whether to
use the log-in script for all users or the one for your current user only.

How to configure a permissive user mask for all users on GNU/Linux
1. In a terminal, edit the login script for all users logging in through the Bash shell with the following
command:$ sudo vi /etc/bashrc
2. In the script file, find the following block:# By default, we want umask to get set. This sets it for non-login shell.
# Current threshold for system reserved uid/gids is 200# You could check uidgid reservation validity in# /usr/share/doc/setup-*/uidgid fileif [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; thenumask 002
else
umask 022fi

3. In the block, replace umask 002 with umask 000:
# By default, we want umask to get set. This sets it for non-login shell.
# Current threshold for system reserved uid/gids is 200# You could check uidgid reservation validity in# /usr/share/doc/setup-*/uidgid fileif [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; thenumask 000
else
umask 022fi

4. Save and quit.
5. Create a umask script for all users logging in through a CSH shell with the following command:

186

Harmony 15.0 Installation Guide$ sudo vi /etc/csh.cshrc
6. In the script file, find the following block:# By default, we want this to get set.
# Even for non-interactive, non-login shells.
# Current threshold for system reserved uid/gids is 200# You could check uidgid reservation validity in# /usr/share/doc/setup-*/uidgid fileif ($uid > 199 && "`/usr/bin/id -gn`" == "`/usr/bin/id -un`") thenumask 002
else
umask 022
endif

7. In this block, replace umask 002 with umask 000:
# By default, we want this to get set.
# Even for non-interactive, non-login shells.
# Current threshold for system reserved uid/gids is 200# You could check uidgid reservation validity in# /usr/share/doc/setup-*/uidgid fileif ($uid > 199 && "`/usr/bin/id -gn`" == "`/usr/bin/id -un`") thenumask 000
else
umask 022
endif

How to configure a permissive user mask for the current user on GNU/Linux
1. In a terminal, open your Bash log-in script for editing with the following command:$ vi ~/.bashrc
2. Add the end of the log-in script, add the following command:
umask 03. Save and quit.
4. Open your CSH log-in script for editing with the following command:$ vi ~/.cshrc
5. Add the end of the log-in script, add the following command:
umask 0187

Chapter 2: Harmony Server

Configuring the Hosts File for a GNU/Linux Client
When a client connects to a server using its hostname, it must first go through the network in order to obtain
the IP address associated with that hostname, which adds overhead to the connection.
A hosts file is a configuration file which allows you to forcefully associate certain hostnames with specific IP
addresses. This can allow you to set up a client machine to directly connect to the IP address of your Harmony
database server without having to query the network for its address first, which may increase network
performance. However, this should only be done if your database server has a static IP address which you do
not intend to change. If the IP address of your server changes, the information in the host file will no longer be
accurate and you will be unable to connect to the server unless you update or remove the configuration in thehosts file.

How to associate the Harmony database server hostname to its IP address
1. In a terminal, open the hosts file for editing:sudo vi /etc/hosts
2. At the bottom of the file, add a new line.
3. Type in the permanent IP address of the Harmony database server followed by its hostname,separated by a space. For example, if your database server is named harmonyserver and its IP
address is 10.127.1.1, you would type in the following:
10.127.1.1 harmonyserver
4. If your Harmony database server uses other machines for scene data storage, repeat for eachmachine used for the server so as to associate each machine's hostname to their permanent IP
address.
5. Save and quit.

188

Harmony 15.0 Installation Guide

About the Location of Mount Points on GNU/LinuxBy default, Harmony database shares must be created and mounted at the root of the filesystem. If preferred, it
is possible to mount the database shares in different locations, and configure Harmony to look in these locations
instead. This is done by creating a shortcuts.conf configuration file for Harmony, which will redirect
requests to traditional database locations such as /USA_DB to a directory of your choosing on your filesystem.
The shortcuts.conf file must be located in the etc subfolder of the Harmony installation directory bydefault, but it can be located anywhere on your computer provided that you specify the location of this file in
the USA_DB_CONFIG environment variable. This can allow users to change the location of the Harmony
database server they are connecting to without needing administrator privileges.

189

Chapter 2: Harmony Server

Configuring the Shortcuts File on GNU/LinuxThe shortcuts.conf configuration file should be located in the etc subfolder of the Harmony installation
directory. It does not exist by default.

How to create and edit the shortcuts.conf configuration file
1. In a terminal, enter the following command:$ vi /usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/etc/shortcuts.conf
This will create an empty shortcuts.conf file and open it in your command line interface text
editor.
2. At the top of the file, type the following header line:
shortcut_list :3. Under shortcut_list :, add a line specifying the location of the mount point for USA_DB on yourfilesystem in the following format, <path_to_usa_db> is the absolute path to the mount point of
USA_DB on your filesystem, without a trailing slash, and including the USA_DB part:/USA_DB /<path_to_usa_db>

For example, if the mount point to USA_DB is a directory named USA_DB in /home/jdoe, you would
add this line:/USA_DB /home/jdoe/USA_DB

4. For each scene data storage space used by the Harmony server, add a line in the same format. For
example, if your Harmony server has two scene storage spaces named usadata000 andusadata001, and their mount points are in the same directory as USA_DB, you would add thefollowing lines:/usadata000 /home/jdoe/usadata000/usadata001 /home/jdoe/usadata001

5. Save and quit.
The next time you launch Harmony, it will look for the database files in the locations specified in
shortcuts.conf.

190

Harmony 15.0 Installation Guide

Setting a Custom Location for the Shortcuts Configuration Fileon GNU/LinuxBy default, shortcuts.conf should be located in Harmony's etc subfolder, which can only be modified byusers with administrator privileges. However, it is possible to specify a for shortcuts.conf in the USADB_CONFIG_FILE environment variable.
As a result, a user can place a shortcuts.conf file in their Documents folder and make Harmony read it,
without requiring administrator privileges. Likewise, an administrator can place the shortcuts.conf file in a
specific location that can be edited by any user, and set the environment variable to point to this file for allusers.
On GNU/Linux, it is common to set environment variables for both the Bash and CSH shells, so that they may
be used interchangeably. The following steps cover how to do both.

How to set a custom location for the shortcuts.conf file
1. First, create a shortcuts.conf configuration file in the preferred location—see Configuring the
Shortcuts File on GNU/Linux.
2. Then, do one of the following:l

If you are setting the location of shortcuts.conf for your user only, enter the following
command in a terminal to edit the Bash script that runs when you log in:$ vi ~/.bash_profilel

If you are setting the location of shortcuts.conf for all users, enter the following commandin a terminal to edit the Bash script that runs when any user logs in:$ sudo vi /etc/profile

3. At the end of the script, add the following line, replacing <path to shortcuts.conf> with theabsolute (full) path to the shortcuts.conf file you created:
export USADB_CONFIG_FILE="<path to shortcuts.conf>"

4. Save and quit.
5. Do one of the following:l

If you are setting the location of shortcuts.conf for your user only, enter the following
command in a terminal to edit the CSH script that runs when you log in:$ vi ~/.loginlIf you are setting the location of shortcuts.conf for all users, enter the following command

191

Chapter 2: Harmony Server

in a terminal to edit the CSH script that runs when any user logs in:$ sudo vi /etc/csh.login
6. At the end of the script, add the following line, replacing <path to shortcuts.conf> with theabsolute (full) path to the shortcuts.conf file you created:
setenv USADB_CONFIG_FILE "<path to shortcuts.conf>"

7. Reboot.

192

Harmony 15.0 Installation Guide

193

Chapter 3: WebCC

Chapter 3: WebCC
WebCC is a web server suite that essentially allows you to host your Harmony database on the Internet, letting
freelancers and off-site contributors work on your production from any location with Internet access. Users canbrowse your Harmony database using a web browser, download scenes, work on the downloaded scenes
locally using their copy of Harmony, then upload their changes back to the database.
Because it is entirely web-based, WebCC users do not need to be directly connected to the Harmony server
nor to have a Harmony Server license to use WebCC. All they need is a web browser, as well as a licensed copyof Harmony Stand Alone to work on the scenes they download.
WebCC can however also be used on machines that are connected to the Harmony database server, as acomplement to Control Center. In this case, scenes can be opened directly from WebCC in Harmony, without
having to download them first.
WebCC Server Installation

196

Installing WebCC on Windows

197

Disabling the Firewall for a WebCC Server on Windows

198

Installing the WebCC Service on Windows

199

Running the Database Server Service on Log-In on Windows

200

Configuring WebCC with Custom Parameters on Windows

202

About SSL, HTTPS and WebCC on Windows

207

Configuring WebCC to Use SSL on Windows

208

Setting Up Static IPs for WebCC on Windows

212

Opening the Firewall Ports for a Harmony WebCC Server on Windows

216

Checking the WebCC Server Log on Windows

218

Launching the WebCC Server Manually on Windows

219

Stopping and Restarting the WebCC Server on Windows

220

Uninstalling the WebCC Server on Windows

222

Installing WebCC on macOS224

Installing the WebCC Server Daemon on macOS

225

Running the WebCC Server on Log-In on macOS

227

Configuring WebCC with Custom Parameters on macOS

229

About SSL, HTTPS and WebCC on macOS

234

Configuring WebCC for SSL Support on macOS

235

Configuring a macOS WebCC Server to have a Static IP Address

239

194

Harmony 15.0 Installation Guide

Looking Up the WebCCServer Log on macOS

242

Launching the WebCC Server Manually on macOS

243

Stopping and Restarting the WebCC Server on macOS

244

Uninstalling the WebCC Server on macOS

245

Installing WebCC on GNU/Linux

246

Disabling Security for a WebCC Server on GNU/Linux

247

Installing WebCC on GNU/Linux

249

Running the WebCC Server on Log-In on GNU/Linux251

Configuring WebCC with Custom Parameters on GNU/Linux

253

About SSL, HTTPS and WebCC on GNU/Linux

258

Configuring WebCC for SSL Support on GNU/Linux

259

Setting Up Static IPs for WebCC on GNU/Linux

263

Opening the Firewall Ports for a WebCC Server on GNU/Linux

268

Checking the WebCC Server Log on GNU/Linux269

Launching the WebCC Server Manually on GNU/Linux

270

Stopping and Restarting the WebCC Server on GNU/Linux

271

Uninstalling the WebCC Server on GNU/Linux

272

Configuring Render Nodes for WebCC Servers

273

Installing the Cisco OpenH264 Codec for WebCC on Windows

274

Installing the Cisco OpenH264 Codec for WebCC on macOS275

Installing the Cisco OpenH264 Codec for WebCC on GNU/Linux

276

Configuring Local WebCC Clients

278

Configuring a macOS Workstation to Open Harmony Scenes from WebCC

279

Configuring a GNU/Linux Workstation to Open Harmony Scenes from WebCC

280

Configuring Remote WebCC Clients

281

Disabling SSL Certificate Validation for WebCC in Harmony

282

195

Chapter 3: WebCC

WebCC Server Installation
One of the first things you must know before configuring a WebCC server is that a WebCC server in itself is nota database server, but rather, an addition to a database server. Hence, if you have not already done so, you
should follow the steps to create a Harmony database server—see About Database Server Installation on page
52.
Once your Harmony database server is configured, configuring a WebCC server is relatively straightforward.
The file structure for the WebCC server is already included in the Harmony installation directory and is ready touse. As soon as you launch the WebCC service on a machine that has access to the database and allow
connections to it to go through the firewall, it is already possible to connect to WebCC using a web browser on
any machine on the site.
NOTESl

To optimize both security and performance, it may be useful to set up WebCC for internal
network access only on the same machine that acts as the Harmony database server, and theninstall WebCC for World Wide Web access on a dedicated Web server. With this approach,
you do not have to give access to the database server to the Web.

l

The following instructions will explain how to set up a WebCC server which will be accessible
on-site, but will not explain how to make the server accessible off-site.

196

Harmony 15.0 Installation Guide

Installing WebCC on Windows
On Windows, installing a WebCC server with the default parameters can easily be done using theConfiguration Wizard.

197

Chapter 3: WebCC

Disabling the Firewall for a WebCC Server on Windows
By default, the Windows firewall will block incoming connections to a WebCC server. This installation guideprovides instructions on how to add exceptions for the WebCC server to your firewall. However, you may
prefer to disable the firewall completely so as to simplify the installation process or to rule out the firewall as apossible cause when troubleshooting an issue.
IMPORTANT
If you choose to disable the firewall on Windows, it is critical to ensure that your domain has
effective site-wide security measures to prevent unauthorized access to your WebCC server.

How to disable the firewall on Windows
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, select System and Security.
3. Under Windows Defender Firewall, select Check firewall status.
4. In the list to the left, select Turn Windows Defender Firewall on or off.
5. Under Domain network settings, select Turn off Windows Defender Firewall (not recommended).
6. Under Private network settings, select Turn off Windows Defender Firewall (not recommended).
7. Under Public network settings, select Turn off Windows Defender Firewall (not recommended).
8. Click on OK.

198

Harmony 15.0 Installation Guide

Installing the WebCC Service on Windows
You can easily install WebCC as a Windows service using the Configuration Wizard. It will launch as soon as
the machine boots, under user usabatch.
NOTE
The following steps indicate how to make the WebCC server service launch on boot, via the user
usabatch, who will have administrator privileges. If you prefer, you can make the database serverlaunch on log-in as the logged-in user. For more information, see Running the Database Server on
Log-In on macOS on page 86.

How to install the WebCC service
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
3. In the list of tasks, right of Harmony Web Control Center Server, click on ....
4. In the ensuing dialog, under Do you wish to install the Harmony Web Control Center Server?,select Yes.
5. Click on Next.
6. Click on Finish to confirm the changes.
The WebCC service is now installed and should be running. You can test that it works by launchinga web browser and going to the following address:
http://localhost:8080/

199

Chapter 3: WebCC

Running the Database Server Service on Log-In on Windows
The traditional way of running a WebCC server is by running the server as a Windows service. This means it
launches and allows clients to connect as soon as the machine is booted, without any user being signed-in.
Using Service Launcher, it is possible to configure your WebCC server to only launch as the currently logged-in
user, when they log in. This means that WebCC will only be accessible if the user configured to run it is logged
in.
Although this may seem impractical, it may be preferable for security reasons. Services installed with theConfiguration Wizard are run under the user usabatch, an user with administrator privileges which is createdby Configuration Wizard to launch the services. When using Service Launcher, the logged-in user does notneed to have administrator privileges to run services.
Before configuring Service Launcher to run the WebCC server, the windows service that launches it must be
disabled, so as to avoid launching two instances of the WebCC server simultaneously.
NOTE
While Windows services run regardless of who is logged in and even when no user is logged-in,
Service Launcher will only run when the use for which it was specifically configured is logged
in. This means that if you want Service Launcher to launch when any user is logged in, you must
configure it for each user that has access to the machine.

How to disable the WebCC server service
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on Remove.
From that point on, the WebCC server service will no longer launch on boot.
6. Close the Control Panel.

200

Harmony 15.0 Installation Guide

How to configure the WebCC server to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, open the Start menu and, in the Programs list, selectHarmony 15.0 [Edition] > Tools >lService Launcher.

If Service Launcher is already running, click on its iconin the notification tray.

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the WebCC tab.
5. Check the Launch when Service Launcher starts option.
6. To make sure users must enter their password when logging in to WebCC, check the
Authentication option.
7. By default, WebCC will use port 8080. If you want to use a specific port to connect to WebCC, type
it in the Port field.
8. Click on Launch to verify that WebCC launches successfully through Service Launcher using theselected parameters.
9. In the top menu, select Server > Save All Settings.
From now on, the WebCC server will launch through Service Launcher when you log in.
NOTE
You can enter parameters in the Other Parameters field to customize the WebCC server. For
more information, see Configuring WebCC with Custom Parameters on Windows on page 202

201

Chapter 3: WebCC

Configuring WebCC with Custom Parameters on Windows
WebCC can run with no parameters, but it also provides some customization options. Among other things, you
can change the port number, adjust its security settings and configure it to run with SSL security.
If you installed WebCC as a Windows service, you can customize its parameters by modifying its command linein the Harmony Control Panel. If you use Service Launcher to run WebCC, you can easily add parameters in the
Other Parameters field of the WebCC tab of Service Launcher.
TIP
You can also configure WebCC to run a custom script or executable every time a user updates ascene, whether by importing it or by updating it from Harmony. To do this, on the WebCC server,
set the environment variable WEBCC_POST_IMPORT_SCRIPT to the path of a script or executablethat you want to be launched each time a scene is updated. The script or executable will belaunched with the environment, job and scene name as its command line parameters, in that order.

How to stop the WebCC server service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on the Command Line field and press the End key to move the text cursor after webcc.bat.
6. After webcc.bat, add a space, then type each parameter you want to add, separated by spaces.
For example, if you want WebCC to use the port number 8081, you would edit the line like so:
C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\webcc.bat -port 8081

NOTE
For a list of parameters and their usage, see WebCC Parameters Table on page 203.

202

Harmony 15.0 Installation Guide

7. Click on Update parameters to save the command line parameters.
8. Click on Start to restart WebCC.

How to add parameters for WebCC in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. If you want to let any user connect to WebCC without credentials and have administrative
privileges, uncheck the Authentication option. Otherwise, make sure it is checked.
5. If you want to change the port used by the WebCC server, type the desired port number in the Port
field.
6. If you want to specify any other option, type them in the Other Parameters field, separated by
spaces.
NOTE
For a list of parameters and their usage, see WebCC Parameters Table on page 203.
7. In the top menu, select Server > Save All Settings.
8. Click on the Stop button.
9. Click on the Launch button.

WebCC Parameters Table
The following is a table of parameters that can be specified to customize the behaviour of your WebCC server.
They can be used in both the WebCC shell script and in Service Launcher.
Parameter-numWorkers <number>

Description

The amount of server nodes to launch to process client requests. Each noderequires one CPU core, and a single node can only process one client request at atime. Therefore, the more nodes are launched, the less likely the server is to stallunder heavy load.
If this parameter is not specified, WebCC will use as many nodes as there are
CPU cores on the server.

203

Chapter 3: WebCC

Parameter

Description-noAuthDisables authentication. With this option enabled, any user accessing the
WebCC web interface will be logged in as usabatch and will administrative
privileges on the entire database.
The port to which HarmonyWebCC is deployed.
The default port for accessing WebCC is 8080. For browsers to access WebCC
without specifying the port number, you can use port 80.

-port <port number>

NOTE
If either the -http or -https parameter is specified, the -port
parameter will be ignored.

-exchange <directory>

The location of the exchange directory on the local filesystem. This directory iswhere all packages are stored when exporting or importing scenes.
By default, this directory is /USA_DB/exchange.

-cacheDuration<seconds>

The amount of seconds to keep data in the cache. This can be set to any value
between 1 and 999999. By default, this is set to 3600.
Enables cross-origin resource sharing on the WebCC server.

-allowAllOrigin

By default, as a standard security measure, only files on the same server as the
WebCC server are allowed to use WebCC resources. With this option enabled, it
is possible to create web interfaces on other servers that use resources stored on
the WebCC server, or to store different modules of WebCC on different servers
and let them communicate together.
In most use cases, this option should be disabled to prevent other machines from
exploiting resources on the WebCC server.

-disableAnalytics

Disables Google Analytics tracking for all clients. By default, this is enabled.
Overrides a default permission for the given user type.

-permission<user type> <action><on|off>

At the moment, this parameter can only be used for the user type animator andfor the permission import_export_any_scene. Hence, when used with thefollowing syntax, animator-type users can export and import any scene in the
database, without requiring the scene to be assigned to them first.
-permission animator import_export_any_scene on

204Harmony 15.0 Installation Guide

HTTPS/SSL Parameters Table
The following parameters can be used to enable and configure SSL for your WebCC server.
NOTE
For more information on how to configure WebCC with SSL, see About SSL, HTTPS and WebCC
on Windows on page 207.

Parameter

Description

Enables connection to the server through the https protocol using the specified
port number.

-https <port number>

A commonly used port for accessing WebCC through the https protocol is 8443.
For web browsers to access WebCC via https without specifying the port
number—provided that the address of the server is preceded by https://—youcan use port 443.
For https to work, you must either specify a pair of PEM format key and certificate
with the -key and -cert option, or a PFX format certificate with the -pfx
option.
If access through the https protocol is enabled, this parameter allows you to also
allow access through the http protocol through the specified port.

-http <port number>

Using this parameter is optional. If the -https parameter is specified, but not the-http parameter, WebCC will only accept connections through https.
The default port for accessing WebCC through the http protocol is 8080. For
browsers to access WebCC via http without specifying the port number, you can
use port 80.
The location of the private key file for the SSL session. This must be specified
along with the -cert parameter.

-key <key file>

The private key must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the key is encoded in Base64 and located between -----BEGIN
PRVATE KEY----- and -----END PRIVATE KEY----- tags. Typically private
keys in this format have a .key extension.
The location of the security certificate file for the SSL session. This must be
specified along with the -key parameter.

-cert<certificate file>

The certificate must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the certificate is encoded in Base64 and located between ----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags.
Typically, such certificates have a .crt, .cer or .pem extension.

205

Chapter 3: WebCC

Parameter

Description-pfx <pfx certificate
file>

If you have a Personal Information Exchange (PFX) certificate, you can use thisparameter to specify its location, instead of using a PEM certificate and key.
Typically, such certificates have a .pfx or .p12 extension. Since these certificates
include their own private key, specifying a key with this certificate type is not
required.
If you have a domain certificate that is signed by a certificate authority (CA), thisparameter allows you to specify the root CA certificate and/or its intermediate
certificates.
If you want to specify several certificates so as to compose the chain going fromyour domain certificate to the root CA certificate, you can repeat the parameter,like so:-ca <intermediate certificate 1> -ca <intermediate
certificate 2> -ca <root CA certificate>-ca <root ca
certificate file>

Typically, you will be able to log on to WebCC using SSL from a Web browser
even if WebCC is only configured with your domain certificate, provided that it issigned by a reputable certificate authority. However, if you want project
collaborators to be able to use the Download Database Changes and Update
Database Scene functionalities in Harmony via SSL, it may be necessary to specify
the root CA certificates and/or its intermediates, as Harmony may not otherwise
be able to recognize the authority of the CA who signed your certificate.
Typically, you can obtain the root CA certificates or intermediate certificates fromthe root certificate authority of the certificate authority who signed your domain
certificate.

NOTE
If necessary, you can allow Harmony to trust the WebCC server even if it
has a self-signed certificate—see Disabling SSL Certificate Validation

for WebCC in Harmony on page 282.

206

Harmony 15.0 Installation Guide

About SSL, HTTPS and WebCC on Windows
You can configure your WebCC server to accept connections through the https protocol, either exclusively or
alongside the http protocol. Connections through https are encrypted and the identity of the server is verified
using a certificate. This ensures the information exchanged between the client and the server cannot be
deciphered if intercepted. Also, provided that you configure WebCC with a certificate signed by a reputable
certificate authority, this ensures that hackers cannot perform man-in-the-middle attacks by making their own
server pose as your WebCC server to intercept its traffic.
For WebCC to accept connections with the https protocol, you must configure WebCC with the following:l

The port used for https connections.

l

The private certificate key.

l

The certificate.

l

Optionally, the root CA and/or intermediate certificate.

There are two types of certificates supported by WebCC:
lPrivacy Enhanced Mail (PEM) certificates: These certificates are ASCII files encoded in Base64.
Typically, the certificate is in a file with a .crt, .cer or .pem extension and the private key is in a filewith a .key extension.

lPersonal Information Exchange (PFX /PKCS #12) certificates: These certificates are binary files that
include both the certificate and its private key. Typically, such certificates are used for Windows servers
and have a .pfx or .p12 extension.

If your certificate is in any other format, such as DER, PKCS #7 or CA_bundle, you will need to perform extra
steps to convert the certificate to a supported format.

About Certificate Signature
It is recommended to use a certificate that has been signed by a reputable certificate authority.
If your certificate is signed by a certificate authority, WebCC will typically be accessible without issue in a web
browser. However, if you want clients to be able to upload and download scene changes directly between
Harmony and the WebCC server, you may have to specify the root and/or intermediate certificate for yourcertificate. This is because web browsers are typically designed to trace a certificate's chain of trust all the way
to the root certificate authority, whereas Harmony is not.
If your certificate is self-signed, web browsers will warn the user that the website is not secure, and users willneed to go around that warning to access WebCC. Likewise, Harmony will not be able to upload or download
scene changes directly from its interface at all, unless the client makes Harmony trust self-signed certificates byenabling the hidden preference WEBCC_SSL_SELF_SIGNED—see Disabling SSL Certificate Validation for
WebCC in Harmony on page 282.

207

Chapter 3: WebCC

Configuring WebCC to Use SSL on Windows
Like other WebCC options, configuring WebCC to use SSL is done by using command line parameters when
launching WebCC. To use WebCC with SSL, you must specify the -https parameter followed by the port
WebCC should use for https connections, the certificate and key file.
The following are examples of parameters to use for configuring WebCC to use SSL:l

If you have a PEM certificate and key file:-https 8443 -key <path to PEM key file> -cert <path to PEM certificate>l

If you have a PEM certificate and its private key in the same file, specify the same file using both the key and -cert parameters:-https 8443 -key <path to PEM certificate> -cert <path to PEM certificate>l

If you have a PFX certificate, simply specify its path with the -pfx parameter:-https 8443 -pfx <path to PFX certificate>l

If you want to allow users to connect to your server via either http or https, you can do so by specifying aport number for each protocol:-http 8080 -https 8443 -key <path to key file> -cert <path to certificate>l

If you have a root certificate, an intermediate certificate, or both, you can specify each file preceded by
the -ca parameter, in any order:-http 8443 -key <path to key file> -cert <path to certificate> -ca <path tointermediate certificate 1> -ca <path to intermediate certificate 2> -ca <path toroot certificate>

How to stop the WebCC server service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.

208Harmony 15.0 Installation Guide

3. In the Process Starter drop-down, select HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on the Command Line field and press the End key to move the text cursor after webcc.bat.
6. After webcc.bat, add a space, then type each parameter you want to add, separated by spaces.
For example, if you want WebCC to use the port number 8081, you would edit the line like so:
C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\webcc.bat -port 8081

NOTE
For a list of parameters and their usage, see HTTPS/SSL Parameters Table on page 210.
7. Click on Update parameters to save the command line parameters.
8. Click on Start to restart WebCC.

How to add parameters for WebCC in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. If you want to let any user connect to WebCC without credentials and have administrative
privileges, uncheck the Authentication option. Otherwise, make sure it is checked.
5. If you want to change the port used by the WebCC server, type the desired port number in the Port
field.
6. If you want to specify any other option, type them in the Other Parameters field, separated by
spaces.

209

Chapter 3: WebCCNOTE
For a list of parameters and their usage, see HTTPS/SSL Parameters Table on page 210.
7. In the top menu, select Server > Save All Settings.
8. Click on the Stop button.
9. Click on the Launch button.

HTTPS/SSL Parameters Table
The following parameters can be used to enable and configure SSL for your WebCC server.
Parameter

Description

Enables connection to the server through the https protocol using the specified
port number.

-https <port number>

A commonly used port for accessing WebCC through the https protocol is 8443.
For web browsers to access WebCC via https without specifying the port
number—provided that the address of the server is preceded by https://—youcan use port 443.
For https to work, you must either specify a pair of PEM format key and certificate
with the -key and -cert option, or a PFX format certificate with the -pfx
option.
If access through the https protocol is enabled, this parameter allows you to also
allow access through the http protocol through the specified port.

-http <port number>

Using this parameter is optional. If the -https parameter is specified, but not the-http parameter, WebCC will only accept connections through https.
The default port for accessing WebCC through the http protocol is 8080. For
browsers to access WebCC via http without specifying the port number, you can
use port 80.
The location of the private key file for the SSL session. This must be specified
along with the -cert parameter.

-key <key file>-cert

The private key must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the key is encoded in Base64 and located between -----BEGIN
PRVATE KEY----- and -----END PRIVATE KEY----- tags. Typically private
keys in this format have a .key extension.
The location of the security certificate file for the SSL session. This must be

210Harmony 15.0 Installation Guide

Parameter

Description

specified along with the -key parameter.
<certificate file>

The certificate must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the certificate is encoded in Base64 and located between ----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags.
Typically, such certificates have a .crt, .cer or .pem extension.
If you have a Personal Information Exchange (PFX) certificate, you can use this-pfx <pfx certificate
file>parameter to specify its location, instead of using a PEM certificate and key.
Typically, such certificates have a .pfx or .p12 extension. Since these certificates
include their own private key, specifying a key with this certificate type is not
required.
If you have a domain certificate that is signed by a certificate authority (CA), thisparameter allows you to specify the root CA certificate and/or its intermediate
certificates.
If you want to specify several certificates so as to compose the chain going fromyour domain certificate to the root CA certificate, you can repeat the parameter,like so:-ca <intermediate certificate 1> -ca <intermediate
certificate 2> -ca <root CA certificate>-ca <root ca
certificate file>

Typically, you will be able to log on to WebCC using SSL from a Web browser
even if WebCC is only configured with your domain certificate, provided that it issigned by a reputable certificate authority. However, if you want project
collaborators to be able to use the Download Database Changes and Update
Database Scene functionalities in Harmony via SSL, it may be necessary to specify
the root CA certificates and/or its intermediates, as Harmony may not otherwise
be able to recognize the authority of the CA who signed your certificate.
Typically, you can obtain the root CA certificates or intermediate certificates fromthe root certificate authority of the certificate authority who signed your domain
certificate.

NOTE
If necessary, you can allow Harmony to trust the WebCC server even if it
has a self-signed certificate—see Disabling SSL Certificate Validation

for WebCC in Harmony on page 282.

211

Chapter 3: WebCC

Setting Up Static IPs for WebCC on Windows
It is common to configure server machines to have a static IP. This avoids having to rely on DNS resolution tofind the server when its IP address changes, and it also allows you to associate the hostname to the server's
static IP address on the machine to skip DNS resolution altogether, increasing network performance.
If your machine is currently connected to a DHCP server that dynamically assigns IP addresses, you canconfigure your machine to permanently use its current IP address. To do this, you can start by making note of
the information for your current network connection, then using these parameters for a permanent IP address.

How to obtain the information about your current connection
1. Open Command Prompt and enter the following command:.
> ipconfig /allThis will output information about your current connection:
Windows IP Configuration
Host Name . . . . . . . . . . . . : <hostname>Primary Dns Suffix . . . . . . . : <domain name>
Node Type . . . . . . . . . . . . : Peer-Peer
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : <domaine names>

Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : <domain name>
Description . . . . . . . . . . . : <adapter name>
Physical Address. . . . . . . . . : <MAC address>
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : <IPv6 address>
IPv4 Address. . . . . . . . . . . : <IPv4 address>
Subnet Mask . . . . . . . . . . . : <subnet mask>
Lease Obtained. . . . . . . . . . : <date of lease>
Lease Expires . . . . . . . . . . : <date of expiration>
Default Gateway . . . . . . . . . : <default gateway>
DHCP Server . . . . . . . . . . . : <DHCP server address>
DHCPv6 IAID . . . . . . . . . . . : <DHCPv6 IAID>
DHCPv6 Client DUID. . . . . . . . : <DHCPv6 Client DUID>
DNS Servers . . . . . . . . . . . : <DNS server addresses>
Primary WINS Server . . . . . . . : <WINS server address>
NetBIOS over Tcpip. . . . . . . . : Enabled212

Harmony 15.0 Installation Guide

2. In the output, under Ethernet adapter Ethernet, make note of the following data:l

The domains in the DNS Suffix Search Listl

The IPv4 Addressl

The Subnet Maskl

The Default Gateway addressl

The addresses for the DNS Servers

How to configure a Windows server to use a static IP
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. Click View network status and tasks.
3. On the top-left corner of the Network and Sharing Center, select Change adapter settings.

4. Right-click on the network adapter used by your machine to connect to your local network, thenselect Properties.

213

Chapter 3: WebCC

The Local Area Connection Properties dialog appears.

5. In the items list, select Internet Protocol Version 4 (TCP/IPv4)
6. Click on the Properties button under the list.
The Internet Protocol Version 4 (TCP/IPv4) Properties dialog box opens.

7. Select the Use the following IP address option.
8. In the IP Address field, enter the IPv4 Address you obtained in earlier.

214

Harmony 15.0 Installation Guide

9. In the Subnet mask field, enter the Subnet mask you obtained earlier.
10. In the Default gateway field, enter the Default gateway address you obtained earlier.
11. Select the Use the following DNS server addresses option.
12. In the Preferred DNS server field, enter the DNS Servers address obtained earlier.
13. If a second DNS server was listed by ipconfig, type it in the Alternate DNS server field. Otherwise,
leave this field empty.
14. Click on Advanced.
The Advanced TCP/IP Settings dialog opens.
15. Select the DNS tab.

16. Select the Append these DNS suffixes (in order): option.
17. For each DNS Suffix obtained earlier, click on Add, then type in the suffix. Add the suffixes in theorder in which there were listed.
18. Click on OK.
19. Click on OK in the Internet Protocol Version 4 (TCP/IPv4) Properties dialog.
20. Click on OK in the Ethernet Properties dialog.

215

Chapter 3: WebCC

Opening the Firewall Ports for a Harmony WebCC Server
on Windows
By default, the Windows firewall will block the communication between client workstations attempting toconnect to the Harmony server and the database server service. In order to allow clients to connect to yourserver, you must open the ports used by the database server on the server machine.

How to open the ports for the WebCC server on Windows
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. Click on System and Security.
3. Click on Windows Defender Firewall.
4. Click on Advanced settings.
The Windows Defender Firewall with Advanced Security window opens.
5. In the list to the left, select Inbound Rules.
6. In the Actions list to the right, select New Rule.
The New Inbound Rule Wizard appears.
7. Under What type of rule would you like to create?, select Port and click on Next.
8. Under Does this rule apply to TCP or UDP?, select TCP.
9. Under Does this rule apply to all local ports or specific local ports?, select Specify local ports.
10. In the text field, type the port number 8080.
NOTE
8080 is the default port used by the WebCC server. You can customize this port
number—see Configuring WebCC with Custom Parameters on Windows on page 202.
11. Click on Next.
12. Under What action should be taken [...], select Allow the connection and click on Next.
13. Under When does this rule apply?, check the network types over which clients will attempt toconnect to this server, then click on Next.

216

Harmony 15.0 Installation Guide

14. In the name field, name the rule "Toon Boom WebCC Server".
15. Click on Finish.
Clients on your network will now be able to connect to the WebCC server.
NOTE
If your WebCC server is configured to allow both http and https connections, you will need to
add a firewall rule for the port used by both protocols.

217

Chapter 3: WebCC

Checking the WebCC Server Log on Windows
In order to troubleshoot problems with a WebCC erver, you can look through its log. This is done differently
depending on whether you installed the database server as a Windows service using Configuration Wizard or
using Service Launcher.

How to check the log for the WebCC server service
1. Open an Explorer window.
2. Browse to the following location:
C:\ProgramData\Toon Boom Animation\Toon Boom Harmony
3. Right-click on WebControlCenter.log and select Open with > Notepad.

How to check the log for the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

218

Harmony 15.0 Installation Guide

Launching the WebCC Server Manually on Windows
You can start the WebCC server directly from a command line. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems. You can view the output of the server
directly in the command line as it launches and handles requests.

How to start the WebCC server manually
1. In a command line, enter the following command:> C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\webcc.bat

219

Chapter 3: WebCC

Stopping and Restarting the WebCC Server on Windows
If you installed the WebCC server as a Windows service using Configuration Wizard, you can stop it andrestart it using the Harmony Control Panel or the Windows Services control panel. If you installed it using
Service Launcher, you can stop it and restart it manually in Service Launcher.

How to stop the WebCC server service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. When you are ready to start the server again, click on Start.

How to stop the WebCC server service using the Windows Services control panel
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, navigate to System and Security > Administrative Tools.
3. Double-click on Services.
4. Scroll-down to HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.

220

Harmony 15.0 Installation Guide

5. Right-click on the service and select Stop.
6. When you are ready to start the server again, right-click on it and select Start.

How to stop and restart the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

221

Chapter 3: WebCC

Uninstalling the WebCC Server on Windows
If you installed the WebCC server as a Windows service using Configuration Wizard, you can uninstall it using
the Configuration Wizard, the Harmony Control Panel or the Windows Services control panel. If you installed itusing Service Launcher, you can uninstall it in Service Launcher.

How to uninstall the WebCC service using Configuration Wizard
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
3. In the list of tasks, right of Harmony Web Control Center Server, click on ....
4. In the ensuing dialog, under Do you wish to install the Harmony Web Control Center Server?,select No.
5. Click on Next.
6. Click on Finish to confirm the changes.
The WebCC server service will stop and will no longer launch on boot.

How to uninstall the WebCC server service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on Remove.
The WebCC server service will stop and will no longer launch on boot.
6. Close the Control Panel.

222

Harmony 15.0 Installation Guide

How to uninstall the WebCC server service using the Windows Services control panel
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, navigate to System and Security > Administrative Tools.
3. Double-click on Services.
4. Scroll-down to HarmonyStarter0-webcc.bat.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
5. Double-click on the service to open its Properties dialog.
6. In the Startup type drop-down, select Disabled.
From that point on, the WebCC server service will no longer launch on boot.
7. Click on OK.

How to uninstall the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

223

Chapter 3: WebCC

Installing WebCC on macOSOn Windows, installing a WebCC server with the default parameters can easily be done using theConfiguration Assistant.

224

Harmony 15.0 Installation Guide

Installing the WebCC Server Daemon on macOSYou can easily install WebCC as a daemon using the Configuration Wizard. This daemon runs through the user
usabatch, so this user must be created prior to installing the daemon.
NOTE
The following steps indicate how to make the WebCC server daemon launch on boot, via the user
usabatch, who will have administrator privileges. If you prefer, you can make the database serverlaunch on log-in as the logged-in user. For more information, see Running the Database Server on
Log-In on macOS on page 86.

How to create the user usabatch on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Users and Groups.
3. In the bottom-left corner of the Users & Groups dialog, click on the lock icon labeled Click the lock tomake changes to get administrator permissions.
4. Enter the username and password of an account with administrator privileges.
5. Click on the + button at the bottom of the user list.
The user creation panel appears.
6. In the New Account drop-down, select Administrator.
7. In the Full Name and Account Name fields, enter usabatch.
8. Give the user a password.
9. Click on Create User.

How to install the WebCC server daemon on macOS
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon BoomHarmony 15.0[edition] Network > Tools.
3. Double-click on

Configuration Assistant.

1. In the Welcome screen, check the Create the Startup Items option and uncheck all other options.
2. Click on Continue.

225

Chapter 3: WebCC

3. Check the Create Harmony Web Control Center Server Startup Item option and uncheck all otheroptions.
4. Click on Create.
5. When prompted, enter the username and the password of a user with administrator privileges.
The WebCC daemon is now installed and should be running. You can test that it works bylaunching a web browser and going to the following address:
http://localhost:8080/

226

Harmony 15.0 Installation Guide

Running the WebCC Server on Log-In on macOSThe traditional way of running a WebCC server is by running the server as a daemon. This means it launches
and allows clients to connect as soon as the machine is booted, without any user being signed-in.
Using Service Launcher, it is possible to configure your WebCC server to only launch as the currently logged-in
user, when they log in. This means that WebCC will only be accessible if the user configured to run it is logged
in.
Although this may seem impractical, it may be preferable for security reasons. Services installed with theConfiguration Wizard are run under the user usabatch, an user with administrator privileges which is createdby Configuration Wizard to launch the services. When using Service Launcher, the logged-in user does notneed to have administrator privileges to run services.
Before configuring Service Launcher to run the WebCC server, the daemon that launches it must be disabled,so as to avoid launching two instances of the WebCC server simultaneously
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the WebCC server daemon
1. In a terminal, type in the following command:$ sudo launchctl unload/Library/LaunchDaemons/com.toonboom.WebCCServer.plist
The WebCC server daemon will stop and will no longer launch on boot.

How to configure the WebCC server to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.

227

Chapter 3: WebCC

2. Do one of the following:l

If Service Launcher is not running, open a Finder window, then go to Applications > Toon
BoomHarmony 15.0 [Edition] Network > Tools and double-click onl

If Service Launcher is already running, click on its icon

Service Launcher.

in the top menu.

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the WebCC tab.
5. Check the Launch when Service Launcher starts option.
6. To make sure users must enter their password when logging in to WebCC, check the
Authentication option.
7. By default, WebCC will use port 8080. If you want to use a specific port to connect to WebCC, type
it in the Port field.
8. Click on Launch to verify that WebCC launches successfully through Service Launcher using theselected parameters.
9. In the top menu, select Server > Save All Settings.
From now on, the database server will launch through Service Launcher when you log in
NOTE
You can enter parameters in the Other Parameters field to customize the WebCC server. For
more information, see Configuring WebCC with Custom Parameters on macOS on page 229.

228

Harmony 15.0 Installation Guide

Configuring WebCC with Custom Parameters on macOS
WebCC can run with no parameters, but it also provides some customization options. Among other things, you
can change the port number, adjust its security settings and configure it to run with SSL security.
If you installed WebCC as a daemon, you can customize its parameters by modifying the daemon configuration
file that launches WebCC. If you use Service Launcher to run WebCC, you can easily add parameters in the
Other Parameters field of the WebCC tab of Service Launcher.

How to add parameters to the WebCC daemon
1. In a terminal, type in the following command to edit the WebCC daemon:$ sudo vi /Library/LaunchDaemons/com.toonboom.WebCCServer.plist
2. Scroll all the way down to the following line:<string>export PATH="$USADIR/macosx/bin:$PATH"; "$USADIR/macosx/bin/webcc.sh"</string>

3. Right after "$USADIR/macosx/bin/webcc.sh", add a space, then type each parameter you
want to add, separated by spaces. For example, if you want WebCC to use the port number 8081,
you would edit the line like so:<string>export PATH="$USADIR/macosx/bin:$PATH"; "$USADIR/macosx/bin/webcc.sh" port 8081</string>

NOTE
For a list of parameters and their usage, see WebCC Parameters Table on page 230.
4. Save and quit.
5. Restart the WebCC daemon:$ sudo launchctl load
/Library/LaunchDaemons/com.toonboom.WebCCServer.plist

How to add parameters for WebCC in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher
The Service Launcher application opens.

229

icon.

Chapter 3: WebCC

3. Double-click on Service Launcher.
The Service Launcher application launches.
4. Select the WebCC tab.
5. If you want to let any user connect to WebCC without credentials and have administrative
privileges, uncheck the Authentication option. Otherwise, make sure it is checked.
6. If you want to change the port used by the WebCC server, type the desired port number in the Port
field.
7. If you want to specify any other option, type them in the Other Parameters field, separated by
spaces.
NOTE
For a list of parameters and their usage, see WebCC Parameters Table on page 230.
8. In the top menu, select Server > Save All Settings.
9. Click on the Stop button.
10. Click on the Launch button.

WebCC Parameters Table
The following is a table of parameters that can be specified to customize the behaviour of your WebCC server.
They can be used in both the WebCC shell script and in Service Launcher.
Parameter-numWorkers <number>

Description

The amount of server nodes to launch to process client requests. Each noderequires one CPU core, and a single node can only process one client request at atime. Therefore, the more nodes are launched, the less likely the server is to stallunder heavy load.
If this parameter is not specified, WebCC will use as many nodes as there are
CPU cores on the server.

-noAuthDisables authentication. With this option enabled, any user accessing the
WebCC web interface will be logged in as usabatch and will administrative
privileges on the entire database.
The port to which HarmonyWebCC is deployed.

-port <port number>

The default port for accessing WebCC is 8080. For browsers to access WebCC

230

Harmony 15.0 Installation Guide

Parameter

Description

without specifying the port number, you can use port 80.

NOTE
If either the -http or -https parameter is specified, the -port
parameter will be ignored.

-exchange <directory>

The location of the exchange directory on the local filesystem. This directory iswhere all packages are stored when exporting or importing scenes.
By default, this directory is /USA_DB/exchange.

-cacheDuration<seconds>

The amount of seconds to keep data in the cache. This can be set to any value
between 1 and 999999. By default, this is set to 3600.
Enables cross-origin resource sharing on the WebCC server.

-allowAllOrigin

By default, as a standard security measure, only files on the same server as the
WebCC server are allowed to use WebCC resources. With this option enabled, it
is possible to create web interfaces on other servers that use resources stored on
the WebCC server, or to store different modules of WebCC on different servers
and let them communicate together.
In most use cases, this option should be disabled to prevent other machines from
exploiting resources on the WebCC server.

-disableAnalytics

Disables Google Analytics tracking for all clients. By default, this is enabled.
Overrides a default permission for the given user type.

-permission<user type> <action><on|off>

At the moment, this parameter can only be used for the user type animator andfor the permission import_export_any_scene. Hence, when used with thefollowing syntax, animator-type users can export and import any scene in the
database, without requiring the scene to be assigned to them first.
-permission animator import_export_any_scene on

HTTPS/SSL Parameters Table
The following parameters can be used to enable and configure SSL for your WebCC server.

231

Chapter 3: WebCC

NOTE
For more information on how to configure WebCC with SSL, see About SSL, HTTPS and WebCC
on macOS on page 234.

Parameter

Description

Enables connection to the server through the https protocol using the specified
port number.

-https <port number>

A commonly used port for accessing WebCC through the https protocol is 8443.
For web browsers to access WebCC via https without specifying the port
number—provided that the address of the server is preceded by https://—youcan use port 443.
For https to work, you must either specify a pair of PEM format key and certificate
with the -key and -cert option, or a PFX format certificate with the -pfx
option.
If access through the https protocol is enabled, this parameter allows you to also
allow access through the http protocol through the specified port.

-http <port number>

Using this parameter is optional. If the -https parameter is specified, but not the-http parameter, WebCC will only accept connections through https.
The default port for accessing WebCC through the http protocol is 8080. For
browsers to access WebCC via http without specifying the port number, you can
use port 80.
The location of the private key file for the SSL session. This must be specified
along with the -cert parameter.

-key <key file>

The private key must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the key is encoded in Base64 and located between -----BEGIN
PRVATE KEY----- and -----END PRIVATE KEY----- tags. Typically private
keys in this format have a .key extension.
The location of the security certificate file for the SSL session. This must be
specified along with the -key parameter.

-cert<certificate file>-pfx <pfx certificate
file>

The certificate must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the certificate is encoded in Base64 and located between ----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags.
Typically, such certificates have a .crt, .cer or .pem extension.
If you have a Personal Information Exchange (PFX) certificate, you can use thisparameter to specify its location, instead of using a PEM certificate and key.

232

Harmony 15.0 Installation Guide

Parameter

Description

Typically, such certificates have a .pfx or .p12 extension. Since these certificates
include their own private key, specifying a key with this certificate type is not
required.
If you have a domain certificate that is signed by a certificate authority (CA), thisparameter allows you to specify the root CA certificate and/or its intermediate
certificates.
If you want to specify several certificates so as to compose the chain going fromyour domain certificate to the root CA certificate, you can repeat the parameter,like so:-ca <intermediate certificate 1> -ca <intermediate
certificate 2> -ca <root CA certificate>-ca <root ca
certificate file>

Typically, you will be able to log on to WebCC using SSL from a Web browser
even if WebCC is only configured with your domain certificate, provided that it issigned by a reputable certificate authority. However, if you want project
collaborators to be able to use the Download Database Changes and Update
Database Scene functionalities in Harmony via SSL, it may be necessary to specify
the root CA certificates and/or its intermediates, as Harmony may not otherwise
be able to recognize the authority of the CA who signed your certificate.
Typically, you can obtain the root CA certificates or intermediate certificates fromthe root certificate authority of the certificate authority who signed your domain
certificate.

NOTE
If necessary, you can allow Harmony to trust the WebCC server even if it
has a self-signed certificate—see Disabling SSL Certificate Validation

for WebCC in Harmony on page 282.

233

Chapter 3: WebCC

About SSL, HTTPS and WebCC on macOSYou can configure your WebCC server to accept connections through the https protocol, either exclusively or
alongside the http protocol. Connections through https are encrypted and the identity of the server is verified
using a certificate. This ensures the information exchanged between the client and the server cannot be
deciphered if intercepted. Also, provided that you configure WebCC with a certificate signed by a reputable
certificate authority, this ensures that hackers cannot perform man-in-the-middle attacks by making their own
server pose as your WebCC server to intercept its traffic.
For WebCC to accept connections with the https protocol, you must configure WebCC with the following:l

The port used for https connections.

l

The private certificate key.

l

The certificate.

l

Optionally, the root CA and/or intermediate certificate.

There are two types of certificates supported by WebCC:
lPrivacy Enhanced Mail (PEM) certificates: These certificates are ASCII files encoded in Base64.
Typically, the certificate is in a file with a .crt, .cer or .pem extension and the private key is in a filewith a .key extension.

lPersonal Information Exchange (PFX /PKCS #12) certificates: These certificates are binary files that
include both the certificate and its private key. Typically, such certificates are used for Windows servers
and have a .pfx or .p12 extension.

If your certificate is in any other format, such as DER, PKCS #7 or CA_bundle, you will need to perform extra
steps to convert the certificate to a supported format.

About Certificate Signature
It is recommended to use a certificate that has been signed by a reputable certificate authority.
If your certificate is signed by a certificate authority, WebCC will typically be accessible without issue in a web
browser. However, if you want clients to be able to upload and download scene changes directly between
Harmony and the WebCC server, you may have to specify the root and/or intermediate certificate for yourcertificate. This is because web browsers are typically designed to trace a certificate's chain of trust all the way
to the root certificate authority, whereas Harmony is not.
If your certificate is self-signed, web browsers will warn the user that the website is not secure, and users willneed to go around that warning to access WebCC. Likewise, Harmony will not be able to upload or download
scene changes directly from its interface at all, unless the client makes Harmony trust self-signed certificates byenabling the hidden preference WEBCC_SSL_SELF_SIGNED—see Disabling SSL Certificate Validation for
WebCC in Harmony on page 282.

234

Harmony 15.0 Installation Guide

Configuring WebCC for SSL Support on macOS
Like other WebCC options, configuring WebCC to use SSL is done by using command line parameters when
launching WebCC. To use WebCC with SSL, you must specify the -https parameter followed by the port
WebCC should use for https connections, the certificate and key file.
The following are examples of parameters to use for configuring WebCC to use SSL:l

If you have a PEM certificate and key file:-https 8443 -key <path to PEM key file> -cert <path to PEM certificate>l

If you have a PEM certificate and its private key in the same file, specify the same file using both the key and -cert parameters:-https 8443 -key <path to PEM certificate> -cert <path to PEM certificate>l

If you have a PFX certificate, simply specify its path with the -pfx parameter:-https 8443 -pfx <path to PFX certificate>l

If you want to allow users to connect to your server via either http or https, you can do so by specifying aport number for each protocol:-http 8080 -https 8443 -key <path to key file> -cert <path to certificate>l

If you have a root certificate, an intermediate certificate, or both, you can specify each file preceded by
the -ca parameter, in any order:-http 8443 -key <path to key file> -cert <path to certificate> -ca <path tointermediate certificate 1> -ca <path to intermediate certificate 2> -ca <path toroot certificate>

How to add parameters to the WebCC daemon
1. In a terminal, type in the following command to edit the WebCC daemon:$ sudo vi /Library/LaunchDaemons/com.toonboom.WebCCServer.plist
2. Scroll all the way down to the following line:<string>export PATH="$USADIR/macosx/bin:$PATH"; "$USADIR/macosx/bin/webcc.sh"</string>

235

Chapter 3: WebCC

3. Right after "$USADIR/macosx/bin/webcc.sh", add a space, then type each parameter you
want to add, separated by spaces. For example, if you want WebCC to use the port number 8081,
you would edit the line like so:<string>export PATH="$USADIR/macosx/bin:$PATH"; "$USADIR/macosx/bin/webcc.sh" port 8081</string>

NOTE
For a list of parameters and their usage, see HTTPS/SSL Parameters Table on page 237.
4. Save and quit.
5. Restart the WebCC daemon:$ sudo launchctl load
/Library/LaunchDaemons/com.toonboom.WebCCServer.plist

How to add parameters for WebCC in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Double-click on Service Launcher.
The Service Launcher application launches.
4. Select the WebCC tab.
5. If you want to let any user connect to WebCC without credentials and have administrative
privileges, uncheck the Authentication option. Otherwise, make sure it is checked.
6. If you want to change the port used by the WebCC server, type the desired port number in the Port
field.
7. If you want to specify any other option, type them in the Other Parameters field, separated by
spaces.
NOTE
For a list of parameters and their usage, see HTTPS/SSL Parameters Table on page 237.

236

Harmony 15.0 Installation Guide

8. In the top menu, select Server > Save All Settings.
9. Click on the Stop button.
10. Click on the Launch button.

HTTPS/SSL Parameters Table
The following parameters can be used to enable and configure SSL for your WebCC server.
Parameter

Description

Enables connection to the server through the https protocol using the specified
port number.

-https <port number>

A commonly used port for accessing WebCC through the https protocol is 8443.
For web browsers to access WebCC via https without specifying the port
number—provided that the address of the server is preceded by https://—youcan use port 443.
For https to work, you must either specify a pair of PEM format key and certificate
with the -key and -cert option, or a PFX format certificate with the -pfx
option.
If access through the https protocol is enabled, this parameter allows you to also
allow access through the http protocol through the specified port.

-http <port number>

Using this parameter is optional. If the -https parameter is specified, but not the-http parameter, WebCC will only accept connections through https.
The default port for accessing WebCC through the http protocol is 8080. For
browsers to access WebCC via http without specifying the port number, you can
use port 80.
The location of the private key file for the SSL session. This must be specified
along with the -cert parameter.

-key <key file>

The private key must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the key is encoded in Base64 and located between -----BEGIN
PRVATE KEY----- and -----END PRIVATE KEY----- tags. Typically private
keys in this format have a .key extension.
The location of the security certificate file for the SSL session. This must be
specified along with the -key parameter.

-cert<certificate file>

The certificate must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the certificate is encoded in Base64 and located between ----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags.

237

Chapter 3: WebCC

Parameter

Description

Typically, such certificates have a .crt, .cer or .pem extension.

-pfx <pfx certificate
file>

If you have a Personal Information Exchange (PFX) certificate, you can use thisparameter to specify its location, instead of using a PEM certificate and key.
Typically, such certificates have a .pfx or .p12 extension. Since these certificates
include their own private key, specifying a key with this certificate type is not
required.
If you have a domain certificate that is signed by a certificate authority (CA), thisparameter allows you to specify the root CA certificate and/or its intermediate
certificates.
If you want to specify several certificates so as to compose the chain going fromyour domain certificate to the root CA certificate, you can repeat the parameter,like so:-ca <intermediate certificate 1> -ca <intermediate
certificate 2> -ca <root CA certificate>-ca <root ca
certificate file>

Typically, you will be able to log on to WebCC using SSL from a Web browser
even if WebCC is only configured with your domain certificate, provided that it issigned by a reputable certificate authority. However, if you want project
collaborators to be able to use the Download Database Changes and Update
Database Scene functionalities in Harmony via SSL, it may be necessary to specify
the root CA certificates and/or its intermediates, as Harmony may not otherwise
be able to recognize the authority of the CA who signed your certificate.
Typically, you can obtain the root CA certificates or intermediate certificates fromthe root certificate authority of the certificate authority who signed your domain
certificate.

NOTE
If necessary, you can allow Harmony to trust the WebCC server even if it
has a self-signed certificate—see Disabling SSL Certificate Validation

for WebCC in Harmony on page 282.

238

Harmony 15.0 Installation Guide

Configuring a macOS WebCC Server to have a Static IP Address
It is common to configure server machines to have a static IP. This avoids having to rely on DNS resolution tofind the server when its IP address changes, and it also allows you to associate the hostname to the server's
static IP address on the machine to skip DNS resolution altogether, increasing network performance.
If your machine is currently connected to a DHCP server that dynamically assigns IP addresses, you canconfigure your machine to permanently use its current IP address. To do this, you can start by making note of
the information for your current network connection, then using these parameters for a permanent IP address.

How to obtain information about your current connection on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Network.
The Network configuration panel appears.

3. In the list to the left, select Ethernet.
4. In the panel to the right, make note of the following information:l

The IP Addressl

The Subnet Maskl

The Router addressl

The DNS Serverl

The Search Domains

239

Chapter 3: WebCC

How to configure a macOS server to use a static IP
1. Open the Apple menu and select System Preferences.
2. Click on Network.
3. In the list to the left, select Ethernet.
4. In the Location drop-down, select Edit Locations.

5. Click on the + button to add a location, then name it Static.

6. Click on Done.

240

Harmony 15.0 Installation Guide

7. Click on Advanced.
8. In the TCP/IP tab of the Advanced Network panel, enter the following information:l

Set the IPv4 Address to the IP Address obtained earlier.

l

Set the Subnet Mask to the Subnet Mask obtained earlier.

l

Set the Router address to the Router address obtained earlier.

9. Open the DNS tab.
10. Under the DNS Servers list, click on the + button to add a DNS server. Add each of the DNS Server
addresses obtained earlier.
11. Under the Search Domains list, click on the + button to add a search domain. Add each of thesearch domains obtained earlier.
12. Click on OK.
If your configuration works, the Network panel will indicate Status: Connected at the top.

241

Chapter 3: WebCC

Looking Up the WebCCServer Log on macOS
In order to troubleshoot problems with a WebCC server, you can look through its log. This is done differently
depending on whether you installed the database server as a daemon using Configuration Assistant, or using
Service Launcher.

How to check the log for the WebCC server daemon
1. In a terminal, enter the following command:$ less /tmp/com.toonboom.WebCCServer.log

How to check the log for the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

242

Harmony 15.0 Installation Guide

Launching the WebCC Server Manually on macOSYou can start the WebCC server directly from a terminal. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems. You can view the output of the server
directly in the command line as it launches and handles requests.

How to start the WebCC server manually
1. In a command line, enter the following command:$ "/Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/webcc.sh"243Chapter 3: WebCC

Stopping and Restarting the WebCC Server on macOSIf you installed the WebCC server as a daemon using the Configuration Assistant, you can stop it and restart itusing the launchctl command line tool. If you installed it using Service Launcher, you can stop it and restart it
manually in Service Launcher.

How to stop and restart the WebCC server daemon
1. In a terminal, enter the following command:$ sudo launchctl unload/Library/LaunchDaemons/com.toonboom.WebCCServer.plist
2. When you are ready to start the server again, enter the following command:$ sudo launchctl load
/Library/LaunchDaemons/com.toonboom.WebCCServer.plist

How to stop and restart the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

244

Harmony 15.0 Installation Guide

Uninstalling the WebCC Server on macOSIf you installed the WebCC server as a daemon using the Configuraton Assistant, you can uninstall it using thelaunchctl command line tool. If you installed it using Service Launcher, you can uninstall it in Service
Launcher.

How to uninstall the WebCC server daemon
1. In a terminal, enter the following command:$ sudo launchctl unload -w/Library/LaunchDaemons/com.toonboom.WebCCServer.plist
The daemon will no longer launch on boot.
2. If you want, you can delete the daemon permanently with the following command:$ sudo rm /Library/LaunchDaemons/com.toonboom.WebCCServer.plist

How to uninstall the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

245

Chapter 3: WebCC

Installing WebCC on GNU/LinuxOn Windows, installing a WebCC server with the default parameters can easily be done using the Harmony
installation script.

246

Harmony 15.0 Installation Guide

Disabling Security for a WebCC Server on GNU/Linux
GNU/Linux comes bundled with two core security components:l

A firewall (typically either iptables or firewalld), which will block incoming connections that were notspecifically allowed.

l

SELinux, a kernel security module that enforces access control policies on software, files and network
resources.

The default configuration for these components will prevent clients from connecting to a WebCC server. Thisinstallation guide provides instructions on how to add security exceptions to these components so that they do
not have to be disabled. However, you may prefer to disable them so as to simplify the installation process or torule out security components as possible causes when troubleshooting an issue.
IMPORTANT
If you choose to disable security on GNU/Linux, it is critical to ensure that your domain has effective
site-wide security mechanisms to prevent unauthorized access to your WebCC server.

How to disable the firewall on CentOS 6, RedHat Entreprise Linux 6 or other systems
using the iptables service
1. In a terminal, enter the following commands:$ sudo chkconfig iptables off$ sudo service iptables stop

How to disable the firewall on CentOS 7, RedHat Entreprise Linux 7 or other systems
using the firewalld service
1. In a terminal, enter the following commands:$ sudo systemctl disable firewalld$ sudo systemctl stop firewalld

How to disable SELinux
1. In a terminal, enter the following command:$ sudo vi /etc/selinux/config
2. Find the line with the following parameter:

247

Chapter 3: WebCCSELINUX=enforcing

3. Replace enforcing with disabled:
SELINUX=disabled

IMPORTANT
Double-check to make sure you did not make any typo. An error in the SELinuxconfiguration file may cause GNU/Linux to fail to boot.
4. Save and quit.
5. Reboot to apply the new configuration.

248

Harmony 15.0 Installation Guide

Installing WebCC on GNU/LinuxThe Harmony installer for GNU/Linux always installs daemon scripts on your machine, but does not enable
them by default. Hence, there are two approaches to installing the WebCC server daemon:l

By enabling the daemon that was already installed with Harmony using the chkconfig command.

l

By running the Harmony installation script with the -w parameter.

The installation of a WebCC server also requires copying a script from the Harmony installation package. The
installer does this automatically when it is launched with the -w parameter. If you choose to enable the WebCC
daemon manually, you will also have to copy this script manually.
This daemon runs through the user usabatch, so this user must be created prior to installing the daemon.
NOTE
The following steps indicate how to make the WebCC server daemon launch on boot, via the user
usabatch. If you prefer, you can make the database server launch on log-in as the logged-in user.
For more information, see Running the Database Server on Log-In on macOS on page 86.

How to create the usabatch user on GNU/Linux
1. In a terminal, enter the following command:$ sudo useradd -m usabatch$ sudo passwd usabatch
2. When prompted, enter the password you want to assign to the user usabatch, then confirm it.
The user usabatch is now created and can be used to run Harmony daemons.

How to enable the WebCC server daemon on GNU/Linux
1. In a terminal, enter the following command to check if the rendering script for WebCC is already inyour database:$ stat /USA_DB/scripts/TB_WebCC_Render.js
2. If the script is not in your database, copy it from the Harmony installation directory:$ mkdir -p -m 777 /USA_DB/scripts$ cp /usr/local/ToonBoomAnimation/harmony[Edition]_
15.0/resources/scripts/TB_WebCC_Render.js /USA_DB/scripts/
3. In a terminal, enter the following command to enable the WebCC server daemon:$ sudo chkconfig toonboom_webcc on

249

Chapter 3: WebCC

If the command returns nothing, it succeeded. The WebCC server will launch next time you boot themachine.
4. To launch the WebCC server daemon immediately, run the following command:$ sudo service toonboom_webcc start
The command will report whether it succeeded or failed.

How to enable the WebCC server daemon using the Harmony installation script
1. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package
4. Run the installer with the -d parameter:$ sudo ./install -w
5. When prompted, confirm that you want to proceed with the installation.
The installation script will enable and start the WebCC server daemon.

250Harmony 15.0 Installation Guide

Running the WebCC Server on Log-In on GNU/LinuxThe traditional way of running a WebCC server is by running the server as a daemon. This means it launches
and allows clients to connect as soon as the machine is booted, without any user being signed-in.
Using Service Launcher, it is possible to configure your WebCC server to only launch as the currently logged-in
user, when they log in. This means that WebCC will only be accessible if the user configured to run it is logged
in.
Although this may seem impractical, it may be preferable for security reasons. Services installed with theConfiguration Wizard are run under the user usabatch, an user with administrator privileges which is createdby Configuration Wizard to launch the services. When using Service Launcher, the logged-in user does notneed to have administrator privileges to run services.
Before configuring Service Launcher to run the WebCC server, the daemon that launches it must be disabled,so as to avoid launching two instances of the WebCC server simultaneously
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the WebCC server daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_webcc stop$ sudo chkconfig toonboom_webcc off
The WebCC server daemon will stop and will no longer launch on boot.

How to configure the WebCC server to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.

251Chapter 3: WebCC

2. Do one of the following:l

If Service Launcher is not running, in the GNOME top menu, select Applications > Harmony
15.0 [edition] >lService Launcher.

If Service Launcher is already running, click on its iconin the system tray.

The Service Launcher application starts.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the WebCC tab.
5. Check the Launch when Service Launcher starts option.
6. To make sure users must enter their password when logging in to WebCC, check the
Authentication option.
7. By default, WebCC will use port 8080. If you want to use a specific port to connect to WebCC, type
it in the Port field.
8. Click on Launch to verify that WebCC launches successfully through Service Launcher using theselected parameters.
9. In the top menu, select Server > Save All Settings.
From now on, the WebCC server will launch through Service Launcher when you log in.
NOTE
You can enter parameters in the Other Parameters field to customize the WebCC server. For
more information, see Configuring WebCC with Custom Parameters on GNU/Linux on page
253

252

Harmony 15.0 Installation Guide

Configuring WebCC with Custom Parameters on GNU/LinuxWebCC can run with no parameters, but it also provides some customization options. Among other things, you
can change the port number, adjust its security settings and configure it to run with SSL security.
If you installed WebCC as a daemon, you can customize its parameters by modifying the shell script thatlaunches WebCC, which the daemon launches. If you use Service Launcher to run WebCC, you can easily add
parameters in the Other Parameters field of the WebCC tab of Service Launcher.

How to edit the WebCC shell script and add parameters
1. In a terminal, type in the following command:$ sudo vi /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/webcc.sh
2. Scroll all the way down to the following line:./bin_3rdParty/node ../../cloud/server/app.js "$@"

3. Right after app.js, add a space, then type each parameter you want to add, separated by spaces.
For example, if you want WebCC to use the port number 8081, you would edit the line like so:./bin_3rdParty/node ../../cloud/server/app.js -port 8081 "$@"NOTE
For a list of parameters and their usage, see WebCC Parameters Table on page 254.
4. Save and quit.
5. For your changes to take effect, restart the service with the following command:$ sudo service toonboom_webcc restart

How to add parameters for WebCC in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher
The Service Launcher application opens.

253

icon.

Chapter 3: WebCC

3. Select the WebCC tab.
4. If you want to let any user connect to WebCC without credentials and have administrative
privileges, uncheck the Authentication option. Otherwise, make sure it is checked.
5. If you want to change the port used by the WebCC server, type the desired port number in the Port
field.
6. If you want to specify any other option, type them in the Other Parameters field, separated by
spaces.
NOTE
For a list of parameters and their usage, see WebCC Parameters Table on page 254.
7. In the top menu, select Server > Save All Settings.
8. Click on the Stop button.
9. Click on the Launch button.

WebCC Parameters Table
The following is a table of parameters that can be specified to customize the behaviour of your WebCC server.
They can be used in both the WebCC shell script and in Service Launcher.
Parameter-numWorkers <number>

Description

The amount of server nodes to launch to process client requests. Each noderequires one CPU core, and a single node can only process one client request at atime. Therefore, the more nodes are launched, the less likely the server is to stallunder heavy load.
If this parameter is not specified, WebCC will use as many nodes as there are
CPU cores on the server.

-noAuthDisables authentication. With this option enabled, any user accessing the
WebCC web interface will be logged in as usabatch and will administrative
privileges on the entire database.
The port to which HarmonyWebCC is deployed.

-port <port number>

The default port for accessing WebCC is 8080. For browsers to access WebCC
without specifying the port number, you can use port 80.

254

Harmony 15.0 Installation Guide

Parameter

Description

NOTE
If either the -http or -https parameter is specified, the -port
parameter will be ignored.

-exchange <directory>

The location of the exchange directory on the local filesystem. This directory iswhere all packages are stored when exporting or importing scenes.
By default, this directory is /USA_DB/exchange.

-cacheDuration<seconds>

The amount of seconds to keep data in the cache. This can be set to any value
between 1 and 999999. By default, this is set to 3600.
Enables cross-origin resource sharing on the WebCC server.

-allowAllOrigin

By default, as a standard security measure, only files on the same server as the
WebCC server are allowed to use WebCC resources. With this option enabled, it
is possible to create web interfaces on other servers that use resources stored on
the WebCC server, or to store different modules of WebCC on different servers
and let them communicate together.
In most use cases, this option should be disabled to prevent other machines from
exploiting resources on the WebCC server.

-disableAnalytics

Disables Google Analytics tracking for all clients. By default, this is enabled.
Overrides a default permission for the given user type.

-permission<user type> <action><on|off>

At the moment, this parameter can only be used for the user type animator andfor the permission import_export_any_scene. Hence, when used with thefollowing syntax, animator-type users can export and import any scene in the
database, without requiring the scene to be assigned to them first.
-permission animator import_export_any_scene on

HTTPS/SSL Parameters Table
The following parameters can be used to enable and configure SSL for your WebCC server.

255

Chapter 3: WebCC

NOTE
For more information on how to configure WebCC with SSL, see About SSL, HTTPS and WebCC
on GNU/Linux on page 258.

Parameter

Description

Enables connection to the server through the https protocol using the specified
port number.

-https <port number>

A commonly used port for accessing WebCC through the https protocol is 8443.
For web browsers to access WebCC via https without specifying the port
number—provided that the address of the server is preceded by https://—youcan use port 443.
For https to work, you must either specify a pair of PEM format key and certificate
with the -key and -cert option, or a PFX format certificate with the -pfx
option.
If access through the https protocol is enabled, this parameter allows you to also
allow access through the http protocol through the specified port.

-http <port number>

Using this parameter is optional. If the -https parameter is specified, but not the-http parameter, WebCC will only accept connections through https.
The default port for accessing WebCC through the http protocol is 8080. For
browsers to access WebCC via http without specifying the port number, you can
use port 80.
The location of the private key file for the SSL session. This must be specified
along with the -cert parameter.

-key <key file>

The private key must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the key is encoded in Base64 and located between -----BEGIN
PRVATE KEY----- and -----END PRIVATE KEY----- tags. Typically private
keys in this format have a .key extension.
The location of the security certificate file for the SSL session. This must be
specified along with the -key parameter.

-cert<certificate file>-pfx <pfx certificate
file>

The certificate must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the certificate is encoded in Base64 and located between ----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags.
Typically, such certificates have a .crt, .cer or .pem extension.
If you have a Personal Information Exchange (PFX) certificate, you can use thisparameter to specify its location, instead of using a PEM certificate and key.

256

Harmony 15.0 Installation Guide

Parameter

Description

Typically, such certificates have a .pfx or .p12 extension. Since these certificates
include their own private key, specifying a key with this certificate type is not
required.
If you have a domain certificate that is signed by a certificate authority (CA), thisparameter allows you to specify the root CA certificate and/or its intermediate
certificates.
If you want to specify several certificates so as to compose the chain going fromyour domain certificate to the root CA certificate, you can repeat the parameter,like so:-ca <intermediate certificate 1> -ca <intermediate
certificate 2> -ca <root CA certificate>-ca <root ca
certificate file>

Typically, you will be able to log on to WebCC using SSL from a Web browser
even if WebCC is only configured with your domain certificate, provided that it issigned by a reputable certificate authority. However, if you want project
collaborators to be able to use the Download Database Changes and Update
Database Scene functionalities in Harmony via SSL, it may be necessary to specify
the root CA certificates and/or its intermediates, as Harmony may not otherwise
be able to recognize the authority of the CA who signed your certificate.
Typically, you can obtain the root CA certificates or intermediate certificates fromthe root certificate authority of the certificate authority who signed your domain
certificate.

NOTE
If necessary, you can allow Harmony to trust the WebCC server even if it
has a self-signed certificate—see Disabling SSL Certificate Validation

for WebCC in Harmony on page 282.

257

Chapter 3: WebCC

About SSL, HTTPS and WebCC on GNU/LinuxYou can configure your WebCC server to accept connections through the https protocol, either exclusively or
alongside the http protocol. Connections through https are encrypted and the identity of the server is verified
using a certificate. This ensures the information exchanged between the client and the server cannot be
deciphered if intercepted. Also, provided that you configure WebCC with a certificate signed by a reputable
certificate authority, this ensures that hackers cannot perform man-in-the-middle attacks by making their own
server pose as your WebCC server to intercept its traffic.
For WebCC to accept connections with the https protocol, you must configure WebCC with the following:l

The port used for https connections.

l

The private certificate key.

l

The certificate.

l

Optionally, the root CA and/or intermediate certificate.

There are two types of certificates supported by WebCC:
lPrivacy Enhanced Mail (PEM) certificates: These certificates are ASCII files encoded in Base64.
Typically, the certificate is in a file with a .crt, .cer or .pem extension and the private key is in a filewith a .key extension.

lPersonal Information Exchange (PFX /PKCS #12) certificates: These certificates are binary files that
include both the certificate and its private key. Typically, such certificates are used for Windows servers
and have a .pfx or .p12 extension.

If your certificate is in any other format, such as DER, PKCS #7 or CA_bundle, you will need to perform extra
steps to convert the certificate to a supported format.

About Certificate Signature
It is recommended to use a certificate that has been signed by a reputable certificate authority.
If your certificate is signed by a certificate authority, WebCC will typically be accessible without issue in a web
browser. However, if you want clients to be able to upload and download scene changes directly between
Harmony and the WebCC server, you may have to specify the root and/or intermediate certificate for yourcertificate. This is because web browsers are typically designed to trace a certificate's chain of trust all the way
to the root certificate authority, whereas Harmony is not.
If your certificate is self-signed, web browsers will warn the user that the website is not secure, and users willneed to go around that warning to access WebCC. Likewise, Harmony will not be able to upload or download
scene changes directly from its interface at all, unless the client makes Harmony trust self-signed certificates byenabling the hidden preference WEBCC_SSL_SELF_SIGNED—see Disabling SSL Certificate Validation for
WebCC in Harmony on page 282.

258

Harmony 15.0 Installation Guide

Configuring WebCC for SSL Support on GNU/Linux
Like other WebCC options, configuring WebCC to use SSL is done by using command line parameters when
launching WebCC. To use WebCC with SSL, you must specify the -https parameter followed by the port
WebCC should use for https connections, the certificate and key file.
The following are examples of parameters to use for configuring WebCC to use SSL:l

If you have a PEM certificate and key file:-https 8443 -key <path to PEM key file> -cert <path to PEM certificate>l

If you have a PEM certificate and its private key in the same file, specify the same file using both the key and -cert parameters:-https 8443 -key <path to PEM certificate> -cert <path to PEM certificate>l

If you have a PFX certificate, simply specify its path with the -pfx parameter:-https 8443 -pfx <path to PFX certificate>l

If you want to allow users to connect to your server via either http or https, you can do so by specifying aport number for each protocol:-http 8080 -https 8443 -key <path to key file> -cert <path to certificate>l

If you have a root certificate, an intermediate certificate, or both, you can specify each file preceded by
the -ca parameter, in any order:-http 8443 -key <path to key file> -cert <path to certificate> -ca <path tointermediate certificate 1> -ca <path to intermediate certificate 2> -ca <path toroot certificate>

How to edit the WebCC shell script and add parameters
1. In a terminal, type in the following command:$ sudo vi /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/webcc.sh
2. Scroll all the way down to the following line:./bin_3rdParty/node ../../cloud/server/app.js "$@"

259

Chapter 3: WebCC

3. Right after app.js, add a space, then type each parameter you want to add, separated by spaces.
For example, if you want WebCC to use the port number 8081, you would edit the line like so:./bin_3rdParty/node ../../cloud/server/app.js -port 8081 "$@"NOTE
For a list of parameters and their usage, see HTTPS/SSL Parameters Table on page 260.
4. Save and quit.
5. For your changes to take effect, restart the service with the following command:$ sudo service toonboom_webcc restart

How to add parameters for WebCC in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. If you want to let any user connect to WebCC without credentials and have administrative
privileges, uncheck the Authentication option. Otherwise, make sure it is checked.
5. If you want to change the port used by the WebCC server, type the desired port number in the Port
field.
6. If you want to specify any other option, type them in the Other Parameters field, separated by
spaces.
NOTE
For a list of parameters and their usage, see HTTPS/SSL Parameters Table on page 260.
7. In the top menu, select Server > Save All Settings.
8. Click on the Stop button.
9. Click on the Launch button.

HTTPS/SSL Parameters Table
The following parameters can be used to enable and configure SSL for your WebCC server.

260

Harmony 15.0 Installation Guide

Parameter

Description

Enables connection to the server through the https protocol using the specified
port number.

-https <port number>

A commonly used port for accessing WebCC through the https protocol is 8443.
For web browsers to access WebCC via https without specifying the port
number—provided that the address of the server is preceded by https://—youcan use port 443.
For https to work, you must either specify a pair of PEM format key and certificate
with the -key and -cert option, or a PFX format certificate with the -pfx
option.
If access through the https protocol is enabled, this parameter allows you to also
allow access through the http protocol through the specified port.

-http <port number>

Using this parameter is optional. If the -https parameter is specified, but not the-http parameter, WebCC will only accept connections through https.
The default port for accessing WebCC through the http protocol is 8080. For
browsers to access WebCC via http without specifying the port number, you can
use port 80.
The location of the private key file for the SSL session. This must be specified
along with the -cert parameter.

-key <key file>

The private key must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the key is encoded in Base64 and located between -----BEGIN
PRVATE KEY----- and -----END PRIVATE KEY----- tags. Typically private
keys in this format have a .key extension.
The location of the security certificate file for the SSL session. This must be
specified along with the -key parameter.

-cert<certificate file>

The certificate must be in Privacy Enhanced Mail (PEM) format, which is an ASCII
format where the certificate is encoded in Base64 and located between ----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags.
Typically, such certificates have a .crt, .cer or .pem extension.

-pfx <pfx certificate
file>

If you have a Personal Information Exchange (PFX) certificate, you can use thisparameter to specify its location, instead of using a PEM certificate and key.
Typically, such certificates have a .pfx or .p12 extension. Since these certificates
include their own private key, specifying a key with this certificate type is not
required.

-ca <root ca
certificate file>If you have a domain certificate that is signed by a certificate authority (CA), thisparameter allows you to specify the root CA certificate and/or its intermediate261

Chapter 3: WebCC

Parameter

Description

certificates.
If you want to specify several certificates so as to compose the chain going fromyour domain certificate to the root CA certificate, you can repeat the parameter,like so:-ca <intermediate certificate 1> -ca <intermediate
certificate 2> -ca <root CA certificate>
Typically, you will be able to log on to WebCC using SSL from a Web browser
even if WebCC is only configured with your domain certificate, provided that it issigned by a reputable certificate authority. However, if you want project
collaborators to be able to use the Download Database Changes and Update
Database Scene functionalities in Harmony via SSL, it may be necessary to specify
the root CA certificates and/or its intermediates, as Harmony may not otherwise
be able to recognize the authority of the CA who signed your certificate.
Typically, you can obtain the root CA certificates or intermediate certificates fromthe root certificate authority of the certificate authority who signed your domain
certificate.

NOTE
If necessary, you can allow Harmony to trust the WebCC server even if it
has a self-signed certificate—see Disabling SSL Certificate Validation

for WebCC in Harmony on page 282.

262

Harmony 15.0 Installation Guide

Setting Up Static IPs for WebCC on GNU/LinuxIt is common to configure server machines to have a static IP. This avoids having to rely on DNS resolution tofind the server when its IP address changes, and it also allows you to associate the hostname to the server's
static IP address on the machine to skip DNS resolution altogether, increasing network performance.
If your machine is currently connected to a DHCP server that dynamically assigns IP addresses, you canconfigure your machine to permanently use its current IP address. To do this, you can start by making note of
the information for your current network connection, then using these parameters for a permanent IP address.

How to obtain your current network configuration on CentOS 6
1. To obtain your machine's hostname, enter the following command:$ hostname
Write down the output value.
2. To obtain the network domain, enter the following command:$ hostname -d
Write down the output value.
3. To obtain your machine's default gateway and network device, enter the following command:$ routeThe output will look like this:Destination
Iface
10.120.0.0<device name>default<device name>

Gateway

GenmaskFlags Metric Ref

Use*<subnet mask>

U

1

0

0

<default gateway>

0.0.0.0

UG

0

0

0

One of the rows will have default in the destination column. In this row, the name of the device in
the Iface column is the name of your default network device. Write down the name of that device.
4. To obtain your machine's IP and subnet mask, enter the following command, replacing <device
name> with the name of the device noted in the previous step:$ nmcli -f all dev list iface <device name>
Information about the network interface will appear, in either one of the following formats:
GENERAL.DEVICE:
GENERAL.TYPE:
GENERAL.DRIVER:
GENERAL.HWADDR:<device name>802-3-ethernet
tg3<MAC address>

263

Chapter 3: WebCC

GENERAL.STATE:CAPABILITIES.CARRIER-DETECT:CAPABILITIES.SPEED:WIRED-PROPERTIES.CARRIER:
IP4-SETTINGS.ADDRESS:
IP4-SETTINGS.PREFIX:
IP4-SETTINGS.GATEWAY:
IP4-DNS1.DNS:

connected
yes1000 Mb/son<IPv4 address><prefix> (<subnet mask>)<default gateway><DNS server address>

Write down the IPv4 address, the subnet mask, the default gateway as well as every DNS server
address listed.
NOTE
You can also obtain the IP address (inet addr) and network mask (Mask) of your device withthe command:$ ifconfig <device name>How to obtain your current network configuration on CentOS 7
1. To obtain your machine's hostname, enter the following command:$ hostname
Write down the output value.
2. To obtain the network domain, enter the following command:$ hostname -d
Write down the output value.
3. To obtain your machine's default gateway and network device, enter the following command:$ routeThe output will look like this:Destination
Iface
10.120.0.0<device name>default<device name>

Gateway

GenmaskFlags Metric Ref

Use*<subnet mask>

U

1

0

0

<default gateway>

0.0.0.0

UG

0

0

0

One of the rows will have default in the destination column. In this row, the name of the device in
the Iface column is the name of your default network device. Write down the name of that device.
4. To obtain your machine's IP and subnet mask, enter the following command, replacing <device

264Harmony 15.0 Installation Guide

name> with the name of the device noted in the previous step:$ nmcli -p -f IP4 connection show <device name>
Information about the network interface will appear. The output will be in this format.
===============================================================================
Activate connection details (0568a4c4-092a-46e9-9f25-2295a1389d6e)===============================================================================
IP4.ADDRESS[1]:<IPv4 address>/<prefix>
IP4.GATEWAY:<default gateway>
IP4.DNS[1]:<DNS server address>
IP4.DOMAIN[1]:<search domains>

Write down the IPv4 address, the default gateway address, the DNS server address(es) and thesearch domain(s).
To obtain your subnet mask, enter the following command, replacing <device name> with thename of the device noted in the previous step:$ nmcli -p -f DHCP4 connection show <device name> | grep 'subnet_mask'
The output should look like this:subnet_mask = <subnet mask>

DHCP4.OPTION[3]:Write down the subnet mask.
NOTE
You can also obtain the IP address (inet) and network mask (netmask) of your device withthe command:$ ifconfig <device name>How to set up a static IP for CentOS 6 and 7
1. Before you do this, make sure you have the following information for your machine:lName of default network device (ie: eth0, p3p1)lHostnamelDomain namelSearch domain(s)lIPv4 address265

Chapter 3: WebCCl

Network masklDefault gateway addressl

DNS server address(es)2. Open your machine's network configuration file for editing:$ sudo vi /etc/sysconfig/network
3. Configure the file as follows, replacing the bolded text with the appropriate values:
NETWORKING=yes
HOSTNAME=<hostname>.<domain name>

4. Open your default network interface's configuration file for editing. This file will be named ifcgfollowed by the name of the network interface you noted earlier. For example, if your network
interface is named eth0, the configuration file will be named ifcfg-eth0:$ sudo vi /etc/sysconfig/network-scripts/ifcfg-<device name>
5. Configure the file with the appropriate values for the following parameters. If a value is alreadydeclared for one of these parameters, replace it. If not, add it to the file:
DEVICE="<device name>"
BOOTPROTO=static
IPADDR=<IPv4 address>
NETMASK=<network mask>
GATEWAY=<default gateway>
ONBOOT=yes

6. Open the DNS configuration file for editing:$ sudo vi /etc/resolv.conf
7. Configure the file as follows, replacing the bolded text with the appropriate values:
search <search domain mames>
nameserver <DNS server address>

NOTES
l

If you have several search domains, enter them all on the same line after search,separated by spaces.

l

If you have several DNS servers, add one nameserver line for each address.

266

Harmony 15.0 Installation Guide

8. Restart the network service:$ sudo service network restart

267

Chapter 3: WebCC

Opening the Firewall Ports for a WebCC Server on GNU/LinuxThe GNU/Linux firewall will block attempts from other computers to communicate with the WebCC server. In
order to circumvent this, the ports used by the database server must be opened.

How to allow connections to the WebCC server to go through the firewall
on CentOS 6, RedHat Entreprise Linux 6 or other systems using the iptables service
1. Add the ports used by the WebCC server to the list of open ports with the following commands:$ sudo iptables -I INPUT -m state --state NEW -p tcp -m tcp --dport
8080 -j ACCEPT$ sudo service iptables save$ sudo service iptables restart
The GNU/Linux firewall should now allow other machines to connect to WebCC.
NOTES
l8080 is the default port used by the WebCC server. You can customize this port number—see Configuring WebCC with Custom Parameters on GNU/Linux on page 253.

l

If your WebCC server is configured to allow both http and https connections, you will needto add a firewall rule for the port used by both protocols.

How to allow connections to the the WebCC server to go through the firewall
on CentOS 7, RedHat Entreprise Linux 7 or other systems using the firewalld service
1. Add the ports used by the WebCC server to the list of open ports with the following commands:$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp$ sudo firewall-cmd --reload
The GNU/Linux firewall should now allow other machines to connect to WebCC.
NOTES
l8080 is the default port used by the WebCC server. You can customize this port number—see Configuring WebCC with Custom Parameters on GNU/Linux on page 253.

l

If your WebCC server is configured to allow both http and https connections, you will needto add a firewall rule for the port used by both protocols.

268

Harmony 15.0 Installation Guide

Checking the WebCC Server Log on GNU/Linux
In order to troubleshoot problems with a WebCC server, you can look through its log. This is done differently
depending on whether you installed the database server as a daemon or using Service Launcher.

How to check the log for the WebCC server daemon
1. In a terminal, enter the following command:$ less /tmp/webccserver.log

How to check the log for the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

269

Chapter 3: WebCC

Launching the WebCC Server Manually on GNU/LinuxYou can start the WebCC server directly from a terminal. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems. You can view the output of the server
directly in the command line as it launches and handles requests.

How to start the WebCC server manually
1. In a command line, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/webcc.sh270

Harmony 15.0 Installation Guide

Stopping and Restarting the WebCC Server on GNU/LinuxIf you installed the WebCC server as a daemon, you can stop it and restart it using the service command line
tool. If you installed it using Service Launcher, you can stop it and restart it manually in Service Launcher.

How to stop and restart the WebCC server daemon
1. In a terminal, enter the following command:$ sudo service toonboom_webcc stop
2. When you are ready to start the server again, enter the following command:$ sudo service toonboom_webcc start
TIP
You can also restart the service instantly with the following command:$ sudo service toonboom_webcc restart

How to stop and restart the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

271

Chapter 3: WebCC

Uninstalling the WebCC Server on GNU/LinuxIf you installed the WebCC server as a daemon, you can uninstall it using the chkconfig command line tool. If
you installed it using Service Launcher, you can uninstall it in Service Launcher.

How to disable the WebCCserver daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_webcc stop$ sudo chkconfig toonboom_webcc off
The WebCC server daemon will stop and will no longer launch on boot.

How to uninstall the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the WebCC tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

272

Harmony 15.0 Installation Guide

Configuring Render Nodes for WebCC Servers
In order to be able to generate small preview movies that can be played in a web browser for the scenes on
your Harmony database, the render nodes for your Harmony database must have the Cisco OpenH264 library
installed.
Because of copyright restrictions, this library is not installed automatically with Harmony. It must be
downloaded off the Cisco server as it is installed. However, regardless of the platform on which you areinstalling WebCC, a configuration tool is provide to automate the procedure.
IMPORTANTl

The Cisco OpenH264 library must be installed on each machine on your database server's local
network that will be configured to render scenes for your database.

lInstalling the Cisco OpenH264 library requires an Internet connection.

l

Further steps are required in order for a machine to be configured to render preview movies.
See Batch Processing.

273

Chapter 3: WebCC

Installing the Cisco OpenH264 Codec for WebCC on Windows
Batch processing machines must have the Cisco OpenH264 library installed in order to be able to generatesmall preview movies for WebCC. Because of copyright restriction, this codec must be downloaded off Cisco's
servers as it is installed. The Configuration Wizard can automatically download it and copy it in Harmony's
installation directory.
NOTE
Installing the Cisco OpenH264 library requires a working Internet connection.

How to install the Cisco OpenH264 codec for WebCC
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
3. In the list of tasks, right of Cisco OpenH264 Library, click on ....
4. In the ensuing dialog, under Do you wish to install the OpenH264 Library?, select Yes/Install.
5. Click on Next.
6. Click on Finish to confirm the changes.
The machine should now be able to generate preview movies for WebCC.
IMPORTANTIn order to be able to generate preview movies for WebCC, a machine must also be configured
to be a batch processing node for your database. For more information, see Batch Processing

274

Harmony 15.0 Installation Guide

Installing the Cisco OpenH264 Codec for WebCC on macOS
Batch processing machines must have the Cisco OpenH264 library installed in order to be able to generatesmall preview movies for WebCC. Because of copyright restriction, this codec must be downloaded off Cisco's
servers as it is installed. The Configuration Assistant can automatically download it and copy it in Harmony's
installation directory.
NOTE
Installing the Cisco OpenH264 library requires a working Internet connection.

How to install the Cisco OpenH264 codec for WebCC
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon BoomHarmony 15.0[edition] Network > Tools.
3. Double-click on

Configuration Assistant.

4. Check the Install/Uninstall Cisco OpenH264 Library option and uncheck all other options.
5. Under Choose to install or uninstall, select Install OpenH264 Library.
6. Click on Create.
7. When prompted, enter the username and the password of a user with administrator privileges.
The machine should now be able to generate preview movies for WebCC.
IMPORTANTIn order to be able to generate preview movies for WebCC, a machine must also be configured
to be a batch processing node for your database. For more information, see Batch Processing

275

Chapter 3: WebCC

Installing the Cisco OpenH264 Codec for WebCC on GNU/Linux
Batch processing machines must have the Cisco OpenH264 library installed in order to be able to generatesmall preview movies for WebCC. Because of copyright restriction, this codec must be downloaded off Cisco's
servers as it is installed.
There are two ways to installing the Cisco OpenH264 library, both of which will automatically download thelibrary and store it in the Harmony installation directory:l

By running the openh264_control.sh script packaged with Harmonyl

By running the Harmony installation script with the -openh264 parameter.
NOTE
Installing the Cisco OpenH264 library requires a working Internet connection.

How to install the Cisco OpenH264 codec for WebCC using the script packaged
with Harmony
1. In a terminal, type in the following commands:$ cd /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_64/bin$ sudo ./openh264_control.sh
2. When prompted, type i and press enter.
The machine should now be able to generate preview movies for WebCC.
IMPORTANTIn order to be able to generate preview movies for WebCC, a machine must also be configured
to be a batch processing node for your database. For more information, see Batch Processing

How to enable the WebCC server daemon using the Harmony installation script
1. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package

276

Harmony 15.0 Installation Guide

4. Run the installer with the -d parameter:$ sudo ./install -openh264
5. When prompted, confirm that you want to proceed with the installation.
The machine should now be able to generate preview movies for WebCC.
IMPORTANTIn order to be able to generate preview movies for WebCC, a machine must also be configured
to be a batch processing node for your database. For more information, see Batch Processing

277

Chapter 3: WebCC

Configuring Local WebCC Clients
Since WebCC is a web-based platform, the great majority of its functionalities are available to any computerthat has access to the WebCC server through the web and has a compatible web browser.
However, while users who access the WebCC server from a remote location must download scenes so thatthey can work on them locally, users who access the WebCC server from the same local network as the
Harmony database server can open scenes directly from WebCC into Harmony, without download them first.
To be able to this, the client machine must have Harmony Server installed and must be configured as aHarmony database client—see Connecting Client Workstations to a Harmony Database Server on page 159.
Additionally, if the client is macOS or GNU/Linux-based, an extra configuration step is required:l

On macOS: The application that handles opening scenes from WebCC must be manually authorized forlaunch by an administrator.

l

On GNU/Linux: The registration of the WebCC URLs to open scenes in Harmony is optional during the
installation process and must be specifically enabled.

278

Harmony 15.0 Installation Guide

Configuring a macOS Workstation to Open Harmony Scenes from
WebCC
In order to be able to open scenes through a WebCC page in a web browser, you must authorize theapplication that handles launching harmony:// URLs. This procedure is similar to the one required forlaunching Harmony after having installed it.

How to allow WebCC to open scenes directly in Harmony.
1. Open a Finder window.
2. Navigate to the following directory:/Applications/Toon Boom Harmony 15.0 [Edition] Network/tba/cloud/client/urlHandlers
3. Right-click on the openHarmony application and select Open.
NOTE
The openHarmony application will either display no file extension or have an .app fileextension, depending on your preferences.
A prompt appears stating that the application cannot be launched because the identity of thedeveloper cannot be confirmed.
4. Click on Open to authorize launching the application.
5. If prompted, enter the username and password of an account with administrator privileges.
The application will launch, but it will close immediately with no visible effect. You can now attempt
to open a scene from WebCC to see if it launches Harmony.

279

Chapter 3: WebCC

Configuring a GNU/Linux Workstation to Open Harmony Scenes
from WebCCThe GNU/Linux installer can configure your machine to open harmony:// URLs to open in Harmony. Such
URLs are used by WebCC to open scenes directly in Harmony.

How to register the harmony:// URL handler on a GNU/Linux workstation
1. In a terminal, navigate to the directory where you downloaded the installation package.
$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package
4. Launch the installer with the -s parameter:$ sudo ./install -s
5. When prompted, confirm that you want to proceed with the installation.
The harmony:// URL handler is now registered to launch Harmony and open Harmony scenes.
NOTE
You may need to reboot the machine before this change takes effect.

280Harmony 15.0 Installation Guide

Configuring Remote WebCC Clients
Since most of the functionalities of WebCC are web-based, there is very little configuration to do on clientmachines. A machine that has access to the WebCC server and has a compatible web browser can use all the
web-based features of WebCC, can download scene packages.
However, when working on a scene exported from WebCC in Harmony, it is possible to download changes
made to the scene directly into the scene via Harmony. Likewise, it is also possible to upload changes that you
made to the scene directly to the WebCC server from Harmony.
In order to do this, you must configure Harmony to communicate with the WebCC server. This is as simple as
typing in the full address of the server, as you do in your web browser.
NOTE
You will be prompted for your WebCC username and password when attempting to downloadchanges from WebCC or to update a scene to WebCC.

How to configure Harmony to communicate with WebCC
1. In the top menu, select Edit (Windows/Linux) or Harmony [Edition] (macOS) > Preferences.
2. Open the General tab.
In the bottom-right corner of the tab, there should be a Web Control Center section.

3. In the URL field of the Web Control Center section, type in the URL of the WebCC server including
the protocol, domain and port number, as you would in your web browser:
protocol://hostname:portnumber
For example, to access a server named webcc.mystudio through https via port 8843, you would
enter:
https://webccserver.mystudio:8843
4. Click on the OK button.

281

Chapter 3: WebCC

Disabling SSL Certificate Validation for WebCC in Harmony
If your WebCC server uses as self-signed certificate to support SSL, Harmony will not be able to download
scene changes from the WebCC server nor to upload scene changes to the WebCC server. To work aroundthis, you can enable a hidden preferences that will allow Harmony to communicate with the WebCC server
without validating its SSL certificate.
IMPORTANT
If this option is enabled, Harmony will not be able to verify the identity of your WebCC server
before it communicates with it, which may cause security vulnerabilities. This should only be done
for debugging purposes or if you are set on using a self-signed certificate for your WebCC server.

How to disable SSL Certificate Validation in Harmony
1. Open the Script Editor view by doing one of the following:l

In the top-right corner of an existing view (ie: the Camera or Drawing view), click on the Add
Viewlbutton and select Script Editor.

In the top menu, select Windows > Script Editor.

2. In the File list, select < < Sandbox > >.
3. In the script field, copy and paste the following code:
preferences.setBool("WEBCC_SSL_SELF_SIGNED", true);

4. In the Script Editor toolbar, click on Run Script282.

Harmony 15.0 Installation Guide

283

Chapter 4: Batch Processing

Chapter 4: Batch Processing
Harmony Server allows you to use batch processing to automatically delegate vectorization and renderingtasks to different computers, which will perform them in the background, so as to optimize your network's
resources and avoid making project collaborators use their own workstation to render scenes, which can stall
their machine by using up all its resources during the process.
In other words, batch processing allows you to create a render farm using the machines that are connected toyour Harmony database server.
There are two types of tasks performed by batch processing:

Vectorizing
Vectorization converts scanned drawings to vector drawings. Scanned drawings are stored in bitmap format,
and must be converted to a vector-based format before they can be painted in Harmony. In a traditional
animation pipeline, this step is required before you can start painting scanned drawings.
When scanning a drawing using the Scan application, they are automatically sent to the vectorize queue of thedatabase. It may sometimes be required to send drawings for vectorization manually in Control Center, forexample in the following cases:l

To processing images that were not scanned in the Scan module.

l

To recover the unpainted drawings after making an unrecoverable mistake while painting or postprocessing the scene.

l

To vectorize a pencil test.

You can open any specific job's vectorize queue in Control Center to check on the status of vectorization jobs.

Rendering
Also known as compositing, rendering is the process of creating final frames for a scene and storing them as
image files as well as movie files. Rendered images have all their effects composited and are created in highquality, as they should be used for post-production and broadcasting.
Rendering a scene is a resource intensive process, and it is impractical for animators to use their own machines
to render their scenes after working on them, as the rendering process is likely to stall their machine andprevent them from working on their scene any further until it is completed. Hence, by setting up batchprocessing, they can delegate the rendering process by sending their scenes to the rendering queue. Machinesconfigured to perform batch processing will take care of performing the rendering job when they are ready andscheduled to do so.
You can open any specific job's render queue in Control Center to check on the status of rendering jobs.

284

Harmony 15.0 Installation Guide

Configuring Batch Processing
In order to configure batch processing for a Harmony database, machines that must perform batch processing
tasks must be configured to do so. This configuration procedure can be broken down in three basic steps:
1. Add the name of the machine that will perform batch processing to the Harmony database's machinelist.
2. Install the batch processing service on this machine. This service will run in the background and monitor
the database for batch processing tasks to perform, then process these tasks in the background.
3. Create a batch processing schedule for this machine. The machine must be on a batch processing
schedule in order to perform batch processing. Any single machine's schedule can be unrestricted,
which means the machine always performs batch processing tasks if any are on queue, or can be
restricted to specific hours, specific environments and specific tasks. It is recommended to schedulemachines to perform renders outside of business hours so as to avoid impeding project collaborators bytaking up their machine's resources while they are working.
IMPORTANT
Configuring batch processing requires using command line tools frequently. It is highly
recommended to add the path to Harmony's command line tools to your machine's PATH
environment variable so that you do not have to type the full path to these command line tools in
the terminal.
To add Harmony to your path, follow the steps in the following topics:l

Adding Harmony Executables to the %PATH% Environment Variable on Windows on page 18lAdding Harmony Binaries to the $PATH Environment Variable on macOS on page 23lAdding Harmony Binaries to the $PATH Environment Variable on GNU/Linux on page 39

Creating machine-list Files

288

Batch Processing Installation

289

Installing the Batch Processing Service on Windows

290

Installing the Batch Processing Service on Windows

291

Running the Batch Processing Service on Log-In on Windows

292

Looking Up the Batch Processing Log on Windows

294

Launching Batch Processing Manually on Windows

295

Stopping and Restarting the Batch Processing Service on Windows

296

Interrupting a Batch Processing Task on Windows

298

Uninstalling the Batch Processing Service on Windows

299

Installing the Batch Processing Service on macOS

301

285

Chapter 4: Batch Processing

Installing the Batch Processing Daemon on macOS

302

Running the Batch Processing Service on Log-In on macOS

304

Looking Up the Batch Processing Log on macOS306

Launching Batch Processing Manually on macOS

307

Stopping and Restarting the Batch Processing Daemon on macOS

308

Interrupting a Batch Processing Task on macOS

309

Uninstalling the Batch Processing Daemon on macOS

311

Installing the Batch Processing Service on GNU/Linux

312

Installing the Batch Processing Daemon on GNU/Linux

313

Running the Batch Processing Service on Log-In on GNU/Linux315

Checking the Batch Processing Log on GNU/Linux

317

Launching Batch Processing Manually on GNU/Linux

318

Stopping and Restarting the Batch Processing Daemon on GNU/Linux

319

Interrupting a Batch Processing Task on GNU/Linux320

Uninstalling the Batch Processing Daemon on GNU/Linux

321

Setting Up Default Schedules

322

Testing Batch Processing

324

Vectorization of Scanned Drawings

325

Manually Vectorizing Scenes or Elements

326

Viewing Drawing Vectorization Lists

327

Modifying Vectorize Queue Entries

329

Rendering Scenes

330

Viewing Render Queues

331

Modifying Render Queue Entries

333

Batch Processing Schedules

334

Displaying the Schedule Status

336

Reading the Schedule Status List

338

About Default Schedules

340

Displaying Default Schedules

341

Reading Default Schedule Status Lists

343

286

Harmony 15.0 Installation Guide

Modifying Default Schedules

345

About Periodic Schedules

348

Displaying Periodic Schedules

349

Setting Periodic Schedules

351

Clearing Periodic Schedules

355

About Supervisory Schedules

356

Displaying Supervisory Schedules

357

Setting Supervisory Schedules

359

Clearing Supervisory Schedules

363

About Environment Shut Down

364

Shutting Down Environments

365

Starting Up Environments

367

Harmony Scheduling Utilities

369

287

Chapter 4: Batch Processing

Creating machine-list Files
The machine-list file identifies all the machines on your network that can be allowed to batch process
Harmony scenes. The machines on this list represents your network's render farm.
NOTE
You must have sufficient batch processing licenses to run batch processing on all the machines in
the machine-list file.

How to create the machine-list file
1. In a text editor, create a new file at this location/USA_DB/schedules/machine-list
2. In this text file, type in the hostname of every machine that you want to use for batch processing,one machine per line.
For example, you might have a machine-list, where each line is the name of a computer on yournetwork:anim-1anim-2anim-3
paint-1
paint-2
paint-3
layout-1
layout-2

NOTESl

There must be no blank lines in the machine-list file.

l

The order in which machines are listed determines their order in the batchprocessing scheduling commands.

l

You can obtain the name for a machine by typing hostname in a terminal orcommand prompt, regardless of the operating system.

3. Save the file.
The next time you use a scheduling command, it will be able to check up on or update the scheduleof any machine in the machine list file.

288

Harmony 15.0 Installation Guide

Batch Processing Installation
The main steps involved in installing batch processing creating the machine-list file and to install the batchprocessing service.
IMPORTANT
Make sure the Cisco OpenH264 codec is installed on all the machines that will do the batch renderof movie previews—see Installing WebCC on Windows on page 197, Installing WebCC on macOSon page 224 and Installing WebCC on GNU/Linux on page 246.

289

Chapter 4: Batch Processing

Installing the Batch Processing Service on Windows
On Windows, you can install the batch processing service using the Configuration Wizard to make it launch onboot as user usabatch, or Service Launcher to make it launch when the current user logs in.

290Harmony 15.0 Installation Guide

Installing the Batch Processing Service on Windows
You can easily install batch processing as a Windows service using the Configuration Wizard. It will launch assoon as the machine boots, under user usabatch.
NOTE
The following steps indicate how to make batch processing launch on boot, via the user usabatch,
who will have administrator privileges. If you prefer, you can make the database server launch on
log-in as the logged-in user. For more information, see Running the Batch Processing Service
on Log-In on Windows on page 292.

How to install the batch processing service
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
3. In the list of tasks, right of Batch Processing, click on ....
4. In the ensuing dialog, under Will this computer perform batch processing?, select Yes.
5. Click on Next.
6. Under What is the name of the server?, type in the name of the database server.
7. Under What is the User?, type in the username
8. Click on Finish to confirm the changes.
The batch processing service is now installed and should be running. You can test that yourmachine is ready to perform batch processing job by entering the following command in a terminal,
replacing <host name> with the name of your machine.
> Status -b -m <host name>291

Chapter 4: Batch Processing

Running the Batch Processing Service on Log-In on Windows
The traditional way of running the batch processing service is by running the server as a Windows service or
daemon. This means the service launches in the background as soon as the machine boots, and starts
processing the queue even if nobody is logged in to the computer.
Using Service Launcher, it is possible to configure the batch processing service to launch as the currently
logged-in user, when they log in. This means that your machine will only process jobs when the user is logged
in.
Although this may seem impractical, it may be preferable for security reasons. Harmony services are run under
the user usabatch, an user with administrator privileges. When using Service Launcher, the logged-in user
does not need to have administrator privileges to run services.
Before configuring Service Launcher to run the batch processing service, the Windows service that launches it
must be disabled, so as to avoid launching two instances of the batch processing service simultaneously.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the batch processing service on Windows
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-tbprocess -schedule.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on Remove.
From that point on, the batch processing service will no longer launch on boot.
6. Close the Control Panel.

292

Harmony 15.0 Installation Guide

How to configure the batch processing service to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.
2. Do one of the following:l

If Service Launcher is not running, open the Start menu and, in the Programs list, selectHarmony 15.0 [Edition] > Tools >lService Launcher.

If Service Launcher is already running, click on its iconin the notification tray.

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the ToonBoom Process tab.
5. Make sure the Schedule option is checked.
6. Click on Launch to verify that the batch processing service launches successfully through Service
Launcher.
7. Check the Launch when Service Launcher starts option.
8. In the top menu, select Server > Save All Settings.
From now on, the batch processing service will launch through Service Launcher when you log in.
You can test that your machine is ready to perform batch processing job by entering the following
command in a terminal, replacing <host name> with the name of your machine.
> Status -b -m <host name>293Chapter 4: Batch Processing

Looking Up the Batch Processing Log on Windows
In order to troubleshoot problems with the batch processing service, you can look through its log. This is done
differently depending on whether you installed batch processing as a Windows service using
Configuration Wizard or using Service Launcher.

How to check the log for the batch processing service
1. Open an Explorer window.
2. Browse to the following location:
C:\ProgramData\Toon Boom Animation\Toon Boom Harmony
3. Right-click on tbprocess.log and select Open with > Notepad.

How to check the log for the batch processing service in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

294

Harmony 15.0 Installation Guide

Launching Batch Processing Manually on Windows
You can start the batch processing service directly from a command prompt.This is usually not practical for a
production environment, but it can be very useful when troubleshooting problems. You can view the output of
the service directly in the terminal in which you launch it as it starts and handles jobs.

How to start the batch processing service manually
1. In a command prompt, enter the following command:$ C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 15.0
[Edition]\win64\bin\tbprocess -schedule295

Chapter 4: Batch Processing

Stopping and Restarting the Batch Processing Service on Windows
If you installed the batch processing service as a Windows service using Configuration Wizard, you can stop it
and restart it using the Harmony Control Panel or the Windows Services control panel. If you installed it using
Service Launcher, you can stop it and restart it manually in Service Launcher.

How to stop the batch processing service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-tbprocess -schedule.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. When you are ready to start the server again, click on Start.

How to stop the batch processing service using the Windows Services control panel
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, navigate to System and Security > Administrative Tools.
3. Double-click on Services.
4. Scroll-down to HarmonyStarter0-tbprocess -schedule.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.

296

Harmony 15.0 Installation Guide

5. Right-click on the service and select Stop.
6. When you are ready to start the server again, right-click on it and select Start.

How to stop and restart the batch processing service in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

297

Chapter 4: Batch Processing

Interrupting a Batch Processing Task on Windows
Control Center will allow you to cancel a batch processing task before it starts by deleting it from the queue, but
if you delete a batch processing task while it is already processing, it will still finish in the background.
Vectorizing tasks are added to the queue on a per-drawing basis. This means that if you want to interrupt thevectorization of a scene, you can simply stop the batch processing service and clear the queue in Control
Center. However, rendering tasks are added to the queue on a per-scene basis. Therefore, the only way tointerrupt the rendering of a scene while it is currently rendering is by interrupting the Harmony process that isrendering the scene.
IMPORTANTYou should only interrupt a batch processing task when it is necessary, such as when an extremely
lengthy task was started by accident and is liable to delay the other tasks.

How to interrupt a batch processing job
1. Press Ctrl + Alt + Del to open the Windows security screen.
2. Select Task Manager.
3. If the Task Manager only lists the open applications and has no menu or tabs, select More details at
the bottom.
4. Open the Details tab.
5. Look for a process named tbprocess.exe.
6. Right-click on the process and select End process tree.
This will terminate the batch processing daemon (tbprocess.exe) as well as any Harmony
process it might have started to render a scene or vectorize drawings. The batch processing
daemon should restart instantly, but it will not attempt to process the batch processing task thatwas interrupted again.
NOTE
The job you interrupted will still appear in the queue with the Processing status in Control
Center. You will need to delete the job manually from the queue to clear it up.

298

Harmony 15.0 Installation Guide

Uninstalling the Batch Processing Service on Windows
If you installed the batch processing service as a Windows service using Configuration Wizard, you canuninstall it using the Configuration Wizard, the Harmony Control Panel or the Windows Services control panel.
If you installed it using Service Launcher, you can uninstall it in Service Launcher.

How to uninstall the batch processing service using Configuration Wizard
1. In the Start menu, open the Programs menu and select Harmony 15.0 [Edition] > Tools >Configuration Wizard.
2. When prompted, enable Configuration Wizard to make changes to your device.
The Toon Boom Harmony Configuration Wizard launches.
3. In the list of tasks, right of Batch Processing, click on ....
4. In the ensuing dialog, under Will this computer perform batch processing?, select No.
5. Click on Next.
6. Click on Finish to confirm the changes.
The batch processing service will stop and will no longer launch on boot.

How to uninstall the batch processing service using the Harmony Control Panel
1. Open the Start menu and, in the Programs menu, select Harmony 15.0 [Edition] > Tools >Control Panel.
2. When prompted, allow Control Panel to make changes to your device.
3. In the Process Starter drop-down, select HarmonyStarter0-tbprocess -schedule.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
4. Click on Stop.
5. Click on Remove.
The batch processing service will stop and will no longer launch on boot.
6. Close the Control Panel.

299

Chapter 4: Batch Processing

How to uninstall the WebCC server service using the Windows Services control panel
1. Open the Windows Control Panel:l

On Windows 7: Open the Start menu and select All Programs > Accessories> System Tools > Control Panel.

l

On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, selectWindows System > Control Panel.

2. In the Control Panel, navigate to System and Security > Administrative Tools.
3. Double-click on Services.
4. Scroll-down to HarmonyStarter0-tbprocess -schedule.
NOTE
The number after HarmonyStarter may be different, depending on how many Harmony
services were installed before this one.
5. Double-click on the service to open its Properties dialog.
6. In the Startup type drop-down, select Disabled.
From that point on, the batch processing service will no longer launch on boot.
7. Click on OK.

How to uninstall the WebCC server in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the notification tray, click on theService Launcher icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

300

Harmony 15.0 Installation Guide

Installing the Batch Processing Service on macOSOn macOS, you can install the batch processing service using the Configuration Assistant to make it launch onboot as user usabatch, or Service Launcher to make it launch when the current user logs in.

301

Chapter 4: Batch Processing

Installing the Batch Processing Daemon on macOSOn macOS, you can install the batch processing daemon using the Configuration Assistant.
NOTE
The following steps indicate how to make batch processing launch on boot, via the user usabatch,
who will have administrator privileges. If you prefer, you can make the database server launch on
log-in as the logged-in user. For more information, see Running the Batch Processing Service
on Log-In on macOS on page 304.

How to create the user usabatch on macOS
1. Open the Apple menu and select System Preferences.
2. Click on Users and Groups.
3. In the bottom-left corner of the Users & Groups dialog, click on the lock icon labeled Click the lock tomake changes to get administrator permissions.
4. Enter the username and password of an account with administrator privileges.
5. Click on the + button at the bottom of the user list.
The user creation panel appears.
6. In the New Account drop-down, select Administrator.
7. In the Full Name and Account Name fields, enter usabatch.
8. Give the user a password.
9. Click on Create User.

How to install the database server daemon on macOS
1. Open a Finder window.
2. In Finder, navigate to Applications > Toon BoomHarmony 15.0[edition] Network > Tools.
3. Double-click on

Configuration Assistant.

1. In the Welcome screen, check the Create the Startup Items option and uncheck all other options.
2. Click on Continue.
3. Check the Create Queue Server Startup Item option and uncheck all other options.
4. Click on Create.

302Harmony 15.0 Installation Guide

5. When prompted, enter the username and the password of a user with administrator privileges.
The batch processing daemon is now installed and should be running. You can test that yourmachine is ready to perform batch processing job by entering the following command in a terminal,
replacing <host name> with the name of your machine.
$ Status -b -m <host name>303

Chapter 4: Batch Processing

Running the Batch Processing Service on Log-In on macOSThe traditional way of running the batch processing service is by running the server as a Windows service or
daemon. This means the service launches in the background as soon as the machine boots, and starts
processing the queue even if nobody is logged in to the computer.
Using Service Launcher, it is possible to configure the batch processing service to launch as the currently
logged-in user, when they log in. This means that your machine will only process jobs when the user is logged
in.
Although this may seem impractical, it may be preferable for security reasons. Harmony services are run under
the user usabatch, an user with administrator privileges. When using Service Launcher, the logged-in user
does not need to have administrator privileges to run services.
Before configuring Service Launcher to run the batch processing service, the windows service that launches it
must be disabled, so as to avoid launching two instances of the WebCC server simultaneously.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the batch processing daemon on macOS
1. In a terminal, enter the following command:$ sudo launchctl unload/Library/LaunchDaemons/com.toonboom.QueueServer.plist
The batch processing daemon will stop and will no longer launch on boot.

How to configure the batch processing daemon to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.

304

Harmony 15.0 Installation Guide

2. Do one of the following:l

If Service Launcher is not running, open a Finder window, then go to Applications > Toon
BoomHarmony 15.0 [Edition] Network > Tools and double-click onl

If Service Launcher is already running, click on its icon

Service Launcher.

in the top menu.

The Service Launcher application launches.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the ToonBoom Process tab.
5. Make sure the Schedule option is checked.
6. Click on Launch to verify that the batch processing service launches successfully through Service
Launcher.
7. Check the Launch when Service Launcher starts option.
8. In the top menu, select Server > Save All Settings.
From now on, the batch processing service will launch through Service Launcher when you log in.
You can test that your machine is ready to perform batch processing job by entering the following
command in a terminal, replacing <host name> with the name of your machine.
$ Status -b -m <host name>305

Chapter 4: Batch Processing

Looking Up the Batch Processing Log on macOS
In order to troubleshoot problems with the batch processing service, you can look through its log. This is done
differently depending on whether you installed the database server as a daemon using
Configuration Assistant, or using Service Launcher.

How to check the log for the batch processing daemon
1. In a terminal, enter the following command:$ less /tmp/com.toonboom.QueueServer.log

How to check the log for the batch processing daemon in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

306

Harmony 15.0 Installation Guide

Launching Batch Processing Manually on macOSYou can start the batch processing service directly from a terminal. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems. You can view the output of the service
directly in the terminal in which you launch it as it starts and handles jobs.

How to start the batch processing service manually
1. In a terminal, enter the following command:$ /Applications/Toon Boom Harmony 15.0 [Edition]
Network/tba/macosx/bin/tbprocess -schedule

307

Chapter 4: Batch Processing

Stopping and Restarting the Batch Processing Daemon on macOSIf you installed batch processing as a daemon using the Configuration Assistant, you can stop it and restart itusing the launchctl command line tool. If you installed it using Service Launcher, you can stop it and restart it
manually in Service Launcher.

How to stop and restart the batch processing daemon
1. In a terminal, enter the following command:$ sudo launchctl unload/Library/LaunchDaemons/com.toonboom.QueueServer.plist
2. When you are ready to start the server again, enter the following command:$ sudo launchctl load
/Library/LaunchDaemons/com.toonboom.QueueServer.plist

How to stop and restart the batch processing daemon in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

308

Harmony 15.0 Installation Guide

Interrupting a Batch Processing Task on macOS
Control Center will allow you to cancel a batch processing task before it starts by deleting it from the queue, but
if you delete a batch processing task while it is already processing, it will still finish in the background.
Vectorizing tasks are added to the queue on a per-drawing basis. This means that if you want to interrupt thevectorization of a scene, you can simply stop the batch processing service and clear the queue in Control
Center. However, rendering tasks are added to the queue on a per-scene basis. Therefore, the only way tointerrupt the rendering of a scene while it is currently rendering is by interrupting the Harmony process that isrendering the scene.
IMPORTANTYou should only interrupt a batch processing task when it is necessary, such as when an extremely
lengthy task was started by accident and is liable to delay the other tasks.

How to interrupt a batch processing job
1. In a terminal, enter the following command:$ pgrep tbprocess
The command will output the process ID (pid) of the batch processing service (tbprocess).
2. Enter the following command to get the process ID of the child process of the batch processing
service, replacing <pid> with the process ID of the batch processing service:$ pgrep -P <pid of tbprocess>This outputs the process ID of the shell in which the batch processing job is being ran.
3. Enter the same command, but this time, put the process ID of the child process of the batchprocessing service.
$ pgrep -P <pid of shell>
This outputs the process ID of the Harmony session that is rendering the job.
4. Enter the same command, but again, put the process ID returned by the last command instead:$ pgrep -P <pid of Harmony>This either outputs nothing or, if Harmony is rendering a movie file, the process ID of the media
server creating the movie file.
5. Enter the following command followed by the process IDs for the shell, the Harmony session and, if
applicable, the utility creating the movie file:$ sudo kill -SIGKILL <pid of shell> <pid of Harmony> <pid of media
server>309

Chapter 4: Batch Processing

TIP
You can execute each command in one go by copying and pasting the following line to theterminal:$ TBPROCESSPID=$(pgrep tbprocess) && TBSHELLPID=$(pgrep -P$TBPROCESSPID) && TBHARMONYPID=$(pgrep -P $TBSHELLPID) &&TBMEDIAPID=$(pgrep -P $TBHARMONYPID); sudo kill -SIGKILL$TBSHELLPID $TBHARMONYPID $TBMEDIAPID

NOTE
The job you interrupted will still appear in the queue with the Processing status in Control
Center. You will need to delete the job manually from the queue to clear it up.

310

Harmony 15.0 Installation Guide

Uninstalling the Batch Processing Daemon on macOSIf you installed batch processing as a daemon using the Configuraton Assistant, you can uninstall it using thelaunchctl command line tool. If you installed it using Service Launcher, you can uninstall it in Service
Launcher.

How to uninstall the batch processing daemon
1. In a terminal, enter the following command:$ sudo launchctl unload -w/Library/LaunchDaemons/com.toonboom.QueueServer.plist
The daemon will no longer launch on boot.
2. If you want, you can delete the daemon permanently with the following command:$ sudo rm /Library/LaunchDaemons/com.toonboom.QueueServer.plist

How to uninstall the batch processing daemon in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the top menu, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

311

Chapter 4: Batch Processing

Installing the Batch Processing Service on GNU/LinuxOn GNU/Linux, you can install the batch processing service by enabling its daemon to make it launch on bootas user usabatch, or Service Launcher to make it launch when the current user logs in.

312Harmony 15.0 Installation Guide

Installing the Batch Processing Daemon on GNU/LinuxThe Harmony installer for GNU/Linux always installs daemon scripts on your machine, but does not enable
them by default. Hence, there are two approaches to installing the batch processing daemon:l

By enabling the daemon that was already installed with Harmony using the chkconfig command.

l

By running the Harmony installation script with the -p parameter.

This daemon runs through the user usabatch, so this user must be created prior to installing the daemon.
NOTE
The following steps indicate how to make batch processing launch on boot, via the user usabatch, If
you prefer, you can make the database server launch on log-in as the logged-in user. For more
information, see Running the Batch Processing Service on Log-In on GNU/Linux on page 315.

How to create the usabatch user on GNU/Linux
1. In a terminal, enter the following command:$ sudo useradd -m usabatch$ sudo passwd usabatch
2. When prompted, enter the password you want to assign to the user usabatch, then confirm it.
The user usabatch is now created and can be used to run Harmony daemons.

How to enable the batch processing daemon on GNU/Linux
1. In a terminal, enter the following command to enable the WebCC server daemon:$ sudo chkconfig toonboom_process on
If the command returns nothing, it succeeded. The WebCC server will launch next time you boot themachine.
2. To launch the WebCC server daemon immediately, run the following command:$ sudo service toonboom_process start
The command will report whether it succeeded or failed.

How to enable the batch processing daemon using the Harmony installation script
1. In a terminal, navigate to the directory where you downloaded the installation package.

313

Chapter 4: Batch Processing$ cd ~/Downloads
2. Extract the package's contents in the directory.
$ tar -xvzf ./name-of-package.tar.gz
3. Switch to the directory in which the package's contents were extracted.
$ cd name-of-package
4. Run the installer with the -d parameter:$ sudo ./install -p
5. When prompted, confirm that you want to proceed with the installation.
The installation script will enable and start the batch processing daemon. You can test that yourmachine is ready to perform batch processing job by entering the following command in a terminal,
replacing <host name> with the name of your machine.
$ Status -b -m <host name>314Harmony 15.0 Installation Guide

Running the Batch Processing Service on Log-In on GNU/LinuxThe traditional way of running the batch processing service is by running the server as a Windows service or
daemon. This means the service launches in the background as soon as the machine boots, and starts
processing the queue even if nobody is logged in to the computer.
Using Service Launcher, it is possible to configure the batch processing service to launch as the currently
logged-in user, when they log in. This means that your machine will only process jobs when the user is logged
in.
Although this may seem impractical, it may be preferable for security reasons. Harmony services are run under
the user usabatch, an user with administrator privileges. When using Service Launcher, the logged-in user
does not need to have administrator privileges to run services.
Before configuring Service Launcher to run the batch processing service, the windows service that launches it
must be disabled, so as to avoid launching two instances of the batch processing service simultaneously.
NOTE
While daemons run regardless of who is logged in and even when no user is logged-in, Service
Launcher will only run when the user for which it was specifically configured is logged in. Thismeans that if you want Service Launcher to launch when any user is logged in, you must configure it
for each user that has access to the machine.

How to disable the batch processing daemon on GNU/Linux
1. In a terminal, enter the following command:$ sudo service toonboom_process stop$ sudo chkconfig toonboom_process off
The batch processing daemon will stop and will no longer launch on boot.

How to configure the batch processing daemon to launch on user log-in
1. Make sure you are currently signed-in as the user who will run the service.
NOTE
This user will need to be logged in for the service to be running. The user does not needto have administrator privileges.

315Chapter 4: Batch Processing

2. Do one of the following:l

If Service Launcher is not running, in the GNOME top menu, select Applications > Harmony
15.0 [edition] >lService Launcher.

If Service Launcher is already running, click on its iconin the system tray.

The Service Launcher application starts.
3. In the Application parameters section of the Preferences tab, make sure that the Launch on login
option is checked, so that services configured in Service Launcher automatically launch when you log
in to your account.
4. Select the ToonBoom Process tab.
5. Make sure the Schedule option is checked.
6. Click on Launch to verify that the batch processing service launches successfully through Service
Launcher.
7. Check the Launch when Service Launcher starts option.
8. In the top menu, select Server > Save All Settings.
From now on, the batch processing service will launch through Service Launcher when you log in.
You can test that your machine is ready to perform batch processing job by entering the following
command in a terminal, replacing <host name> with the name of your machine.
$ Status -b -m <host name>316Harmony 15.0 Installation Guide

Checking the Batch Processing Log on GNU/Linux
In order to troubleshoot problems with the batch processing daemon, you can look through its log. This is done
differently depending on whether you installed the database server as a daemon or using Service Launcher.

How to check the log for the batch processing daemon
1. In a terminal, enter the following command:$ less /tmp/tbprocess.log

How to check the log for the batch processing daemon in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. In the bottom half, select the Log tab.
5. Click on the View Complete Log button in the bottom-right corner.

317

Chapter 4: Batch Processing

Launching Batch Processing Manually on GNU/LinuxYou can start the batch processing service directly from a terminal. This is usually not practical for a production
environment, but it can be very useful when troubleshooting problems. You can view the output of the service
directly in the terminal in which you launch it as it starts and handles jobs.

How to start the batch processing daemon manually
1. In a terminal, enter the following command:$ /usr/local/ToonBoomAnimation/harmony[Edition]_15.0/lnx86_
64/bin/tbprocess -schedule318

Harmony 15.0 Installation Guide

Stopping and Restarting the Batch Processing Daemonon GNU/LinuxIf you installed batch processing as a daemon, you can stop it and restart it using the service command line
tool. If you installed it using Service Launcher, you can stop it and restart it manually in Service Launcher.

How to stop and restart the batch processing daemon
1. In a terminal, enter the following command:$ sudo service toonboom_process stop
2. When you are ready to start the server again, enter the following command:$ sudo service toonboom_process start
TIP
You can also restart the service instantly with the following command:$ sudo service toonboom_process restart

How to stop and restart the batch processing daemon in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. Click on Stop.
5. When you are ready to start the server again, click on Launch.

319

Chapter 4: Batch Processing

Interrupting a Batch Processing Task on GNU/Linux
Control Center will allow you to cancel a batch processing task before it starts by deleting it from the queue, but
if you delete a batch processing task while it is already processing, it will still finish in the background.
Vectorizing tasks are added to the queue on a per-drawing basis. This means that if you want to interrupt thevectorization of a scene, you can simply stop the batch processing service and clear the queue in Control
Center. However, rendering tasks are added to the queue on a per-scene basis. Therefore, the only way tointerrupt the rendering of a scene while it is currently rendering is by interrupting the Harmony process that isrendering the scene.
IMPORTANTYou should only interrupt a batch processing task when it is necessary, such as when an extremely
lengthy task was started by accident and is liable to delay the other tasks.

How to interrupt a batch processing job
1. In a terminal, enter the following command:$ pgrep tbprocess
The command will output the process ID (pid) of the batch processing service.
2. Enter the following command to kill all processes started by the batch processing service, which willend any current batch processing job. Replace <pid of tbprocess> with the process ID of thebatch processing service, obtained with the previous command.
$ sudo pkill -SIGKILL -P <pid of tbprocess>
NOTE
The job you interrupted will still appear in the queue with the Processing status in Control
Center. You will need to delete the job manually from the queue to clear it up.

320

Harmony 15.0 Installation Guide

Uninstalling the Batch Processing Daemon on GNU/LinuxIf you installed batch processing as a daemon, you can uninstall it using the chkconfig command line tool. If
you installed it using Service Launcher, you can uninstall it in Service Launcher.

How to disable the batch processing daemon
1. In a terminal, type in the following commands to stop, then disable the daemon:$ sudo service toonboom_process stop$ sudo chkconfig toonboom_process off
The batch processing daemon will stop and will no longer launch on boot.

How to uninstall the batch processing daemon in Service Launcher
1. Make sure you are currently signed in as the user running the service.
2. In the system tray, click on the Service Launcher

icon.

The Service Launcher application opens.
3. Select the ToonBoom Process tab.
4. Click on Stop.
5. Uncheck the Launch when Service Launcher starts option.
6. In the top menu, select Server > Save All Settings.

321

Chapter 4: Batch Processing

Setting Up Default Schedules
When you first set up your Harmony system, it is a good idea to set up a default batch processing schedule. You
can modify this schedule later based on the operating needs of your studio.
If you have not created any environments, there will not be any environments for you to start up.
You must start up a default schedule for every environment you create in the Harmony database.
NOTE
Maintaining a limited number of environments will make it easier to set up and manage batchprocessing queues. For example, you can create four environments, like test, commercials, andone environment per features or series.

How to define the default batch processing schedule
1. Open a command prompt or Terminal and type:> Setdef
Follow the onscreen instructions to set up the environment for batch processing by selected
machines on the Harmony network.
2. At the next prompt, enter the name of the machine on which you want to set up batch processing:
INPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all
TIP
If you want to create a schedule for all machines in the machine list, enter all.
3. At the following prompt, type in y if you want to add more machines to the schedule, or n if you aredone selecting machines to schedule.
DO YOU WANT TO INPUT MORE MACHINES
4. At the next prompt, type in y if you want the machines to be able to vectorize scanned drawings, orn if you don't.
is vectorize work allowed?
5. At the next prompt, type in y if you want the machines to be able to render scenes, or n if you don't.
is render work allowed?

322

Harmony 15.0 Installation Guide

6. At the next prompt, you must select the environments for which the selected machines will performbatch processing jobs. The machine will only vectorize or render jobs that come from scenes in theselected environment.
INPUT A SET OF DATABASE ENVIRONMENTS
The prompt will display a list of environments. Each environment is listed as a number followed by aname. In the prompt, you must type in the number of each environment for which this machine
should perform batch processing jobs, separated by spaces, like so:> 1 3 12 34
7. At the next prompt, determine if you want batch processing to be enabled or disabled for theselected machines and environment. Typically, you would want to enable batch processing byentering ON, but this command can also be used to disable batch processing for machines andenvironments by entering OFF.
input ON or OFF
The utility will immediately output the new status of the selected machines, in this format:
Machinemachine-name2018

Status
ON/OFF

vec
*

ren
*

environments
env env env

pri*

Time of Last Update
Mon Jan 01 12:00:00

NOTES
l

The environments enabled for the machine are listed using a 3 letters abbreviation.
The key for each abbreviation is printed out before the status of the machines.

l

An asterix under the vec column indicates that the machine is enabled forvectorizing.

lAn asterix under the ren column indicates that the machine is enabled for
rendering.

l

An asterix under the pri column indicate that the machine has priority.

323

Chapter 4: Batch Processing

Testing Batch Processing
To verify that batch processing is working, send a few frames from a scene to be rendered by the Harmony
module.

How to test batch processing
1. Open the Control Center and select the environment and job that contains the scene to render.
2. Select the scene, right-click on the sample scene in the Scenes section panel and select Send to
Rendering.
The Render Wrtie Nodes dialog box opens.

3. In the Range section, select Selected Frames.
4. In From and To field, enter a short range of frames, such as 1 to 5.
5. Click on OK.
An message appears indicating that the scene was sent to the queue.
6. Click OK to close the message .
7. In Control Center, select the environment containing the scene you just sent to the rendering
queue.
8. In the top menu, select Environment > Render Queue.
The Render Queue dialog opens and displays a list of the scenes in its queue. The scene you sent torendering should start out with the status Pending, then switch to Processing and finally toCompleted.

324

Harmony 15.0 Installation Guide

Vectorization of Scanned Drawings
Before you can paint a scanned drawing in Harmony, you must convert it to a vectorized image format. The
vectorizing process converts the drawings from a bitmap format to a vector line-based format.

325

Chapter 4: Batch Processing

Manually Vectorizing Scenes or Elements
Normally, when you scan drawings, Harmony automatically vectorizes them (sends them to the Vectorize
queue). However, you can also use the Send to Vectorize command to reprocess all drawings for a particularelement. Vectorizing prepares images for painting by creating vector files. You would only have to manuallysend scenes to be vectorized in special cases such as:lProcessing images that were not scanned with the Scan modulelReprocessing a scene due to unrecoverable paint errors

How to manually vectorize all the drawings for scenes or elements
1. Select a scene from the Scenes list or an element from the Elements list.
If you selected a scene, Harmony vectorizes all drawings for all elements of that scene.
If you selected an element, Harmony vectorizes all its drawings.
2. Depending on the component you selected, do one of the following:lSelect Scene > Send to Vectorize or right-click and select Send to Vectorize.

lSelect Element > Send to Vectorize or right-click and select Send to Vectorize.

The Confirm dialog box appears.
3. Click Yes to vectorize all the selected drawings.
The Control Center module sends all drawings in the scene or element to the Vectorize queue. To
verify how the processing is progressing, display the vectorize queue.

326

Harmony 15.0 Installation Guide

Viewing Drawing Vectorization Lists
The Vectorize queue displays all the drawings that the system is converting to a vector-based format. After thevectorization of a drawing is finished, the completed drawing disappears from the Vectorize queue.

How to view the list of drawings being vectorized
1. Select an environment name from the list, then select Environment > Vectorize Queue.
The Vectorize Queue window appears.

2. From the Sort By menu, select how to sort entries in the queue:‣

State: Sorts the entries based on the item's status (Pending, Pending-E, Processing, orCompleted)‣

Entry time: Sorts the entries based on the time you send them for vectorization.

‣

Job, Scene, etc.: Sorts the entries based on their parent jobs and scenes.

‣

JobID: Sorts the entries based on their unique job ID.

3. If the Vectorize queue has too many entries, you can select a specific job, scene, element, or drawingthat is in the queue. Select the items you want to display in the queue from the Show menu, whichdisplays all items in the Control Center node's database, not just the ones that have drawings being
vectorized.
‣

Jobs: Selects the specific job in the queue or one that has scenes currently being vectorized. To
see all the jobs, select All Jobs.

‣

Scenes: Selects the specific scene that is in the queue or currently being vectorized. To see all
the scenes in a job, select All Scenes.

4. Select the states you want to display in the queue from the Show States options:‣

Pending: Displays the items waiting to be vectorized.

327

Chapter 4: Batch Processing‣

Error: Displays the items where the system found an error and has stopped vectorizing them(displays Pending-E as the item's state).

‣

Processing: Displays the items that the Harmony is currently processing.

‣Completed: Displays the items that were vectorized. However, the Control Center node usually
removes completed items from the Vectorize queue, so this option is inactive.

‣

Show All States: Displays all the items, regardless of their state.

5. In the Refresh section, select how often you want the queue to check for the latest entries.
‣

Hold: Displays no new entries to the queue once the button is activated.

‣

Monitor: Automatically displays new entries at the interval you enter in the Every ## secs field.

6. To see any related errors for each entry in the queue, select the Show Error Messages option.
If the Control Center node detected any errors while it prepares the drawings, it displays PendingE in the State column. These errors can occur if there are files missing, computers are unavailable, ordata cannot be found.
NOTE
Most of these errors would occur if the system is improperly configured. Therefore, your systemadministrator needs to reconfigure the system to correct the error. If you get a Pending-E
error, see your system administrator.

328

Harmony 15.0 Installation Guide

Modifying Vectorize Queue Entries
When you have a list of entries in your queue, you can modify them in one of the following ways:lClick the Change State to Pending button to change the status of the selected entries in the queue from
Processing to Pending. After a job becomes Pending, the next available machine will process the entry.
If you want to remove the entry from the queue, select the Pending entry and click Delete. If the entry is
processing, you can delete the entry from the queue but the processing will not stop until it is completed.
You can only modify an entry in the queue while it is pending (check the State column in the queue list).
You cannot modify a job that is being processed.

lClick the Change Priority button to change the selected drawings' processing priority in the queue.
When the New Priority dialog box appears, increase or decrease the drawing's priority.

lClick the Delete button to delete the selected drawings from the queue. When you remove a drawing
from the queue, the request is cancelled only.

329

Chapter 4: Batch Processing

Rendering Scenes
When you have finished working on some scenes, you can send them to the Render queue via Control Centeror Harmony, by way of the Send to Rendering command. This command allows you to send one or more scenes
for rendering to the Batch Processing machine.
You can also use Harmony to render scenes, but since you must open each scene individually in Harmony, you
can only send one scene to render at a time.
After rendering a scene, you can mark it as completed using the Change Stage command in the Scene menu.
After you render all the scenes for a particular Job, you can mark the Job as completed using the Change Stage
command in the Job menu.
NOTE
Changing the job's stage from In Production to Completed only hides the job in the Control Centerwindow.

330

Harmony 15.0 Installation Guide

Viewing Render Queues
The Render queue displays all the scenes from the selected environment that the system is rendering. Afterthe system renders a scene, the State of the rendered scene changes to Complete or Completed with Errors
and the scene remains in the queue. If you want to remove the rendered scenes, you must select them and use
the Delete button.

How to view the scenes being rendered
1. Select an environment name from the list, then select Environment > Render Queue.
The Render Queue window appears.

2. Select how to sort the entries in the queue from the Sort By.
‣

State: Sorts the entries based on the item's status (Pending, Pending-E, Processing, Completedwith Errors, or Completed).

‣

Entry Time: Sorts the entries based on the time you sent them for rendering.

‣Job, Scene, etc.: Sorts the entries based on their parent jobs and scenes.

‣

JobID: Sorts the entries based on their unique job id.

3. Select the components you want to display in the queue from the Show.
‣

Jobs: Select the specific job you want to see.

‣

Scenes: Select the specific scene you want to see.

4. Select the states you want to display in the queue from the Show States options.

331

Chapter 4: Batch Processing‣

Pending: Displays the items waiting in the queue.

‣

Processing: Displays the items that currently processing.

‣Completed: Displays completed items.

‣

Error: Displays the items that contains errors that stopped processing (displays Pending-E as
the item's state).

‣

Show All States: Displays all items, regardless of their state.

5. In the Refresh section, select how often you want the queue to check for the latest entries.
‣

Hold: Displays no new entries to the queue once the button is activated.

‣

Monitor: Automatically displays new entries at the interval you enter in the Every ## secs field.

6. Select the Show Error Messages option to see any related errors for each entry in the queue.
NOTE
If the Control Center node detects any errors while processing the scenes, it displays"Pending-E" in the State column. Errors can occur if there are files missing, computers areunavailable, or data cannot be found.
Many of these errors can occur if the system is improperly configured. If you get a Pending-E
error, see your system administrator as the system may need to be reconfigured.

332

Harmony 15.0 Installation Guide

Modifying Render Queue Entries
After you have a list of entries in your queue, you can modify them in one of the following ways:
1. Change their state in the queue. This allows you to update the status of a scene, or set of scenes, in thequeue from Processing (which means it is being rendered) to Pending (which means the scenes are
waiting to be rendered). After you set a job to Pending, the job remains in the queue until a machine
becomes available and takes the job or you delete it from the queue.
lClick the Change State to Pending button to change the status of the selected entries in
the queue from Processing (or Completed) to Pending.

2. Change the scene's processing priority. This allows you to change the order in which the system renders
the scenes.
l

Click Change Priority to change the selected scene's processing priority in the queue.

lWhen the New Priority dialog box appears, use the scroll bar to increase or decrease thescene's render priority.

3. Remove scenes from the Render queue. This allows you to cancel the render command on selectedscenes.
l

Click the Delete button to delete the selected entries from the queue.

You can only modify an entry in the render queue while it is pending (check the State column in the queue list);
you cannot modify a job that is being rendered.
If you must change something about the scene's drawings, you must wait until the rendering is complete. Then
make your changes and send it to the Render queue.
NOTE
If you absolutely must stop the rendering process, you can kill the render process in Windows,
GNU/Linux or macOS.

333

Chapter 4: Batch Processing

Batch Processing Schedules
Once the basic vectorization and rendering batch processing is started, there are more advanced options
possible such as advanced scheduling.
By creating a schedule to monitor the batch processing, you can determine which machines perform the batchprocessing and when they do it. Each batch processing machine on your network has its own set of schedules
and you can view and modify them from any machine on the network.
There are three types of schedules available for a machine:lSupervisory Schedule: Assigns a one-time batch processing job to a machine. For example, you candefine a Supervisory schedule for a machine to perform batch processing work for the next four hours.
Of the three types of schedules, Supervisory schedules have the highest priority. If you define a
Supervisory schedule for a specific period of time on a machine, it will perform the batch processing work
according to that schedule, regardless of what the Periodic and Default schedules define for that periodof time.

l

Periodic Schedule: Assigns recurring batch processing jobs. For example, you can define a Periodic
schedule for a machine to perform batch processing only on Saturdays and Sundays.
Periodic schedules use the days of the week, so you can have batch processing occurring each week on
specific days.
In terms of priority, a Periodic schedule supersedes a Default schedule, but not a Supervisory Schedule. If
there is a Periodic schedule active on a machine, then it performs this type of batch processing according
to its Periodic schedule before it uses the Default schedule.

lDefault Schedule: Defines which jobs the machine can process if there are no other schedules defined.
Default schedules have the lowest priority, and are used only when Supervisory and Periodic schedules
are not present or do not define the work to be done for a particular period of time.

When creating or modifying a schedule, you must supply the following information:lDates and times for which the schedule applieslMachine(s) for which the schedule applieslWhether batch processing is ON or OFF (whether that machine does or does not perform batchprocessing work)l

The type of batch processing to be done: Vectorize and/or Renderingl

The environments for which batch processing processes the artworkl

The priority of the environments to be batch processed (optional)

For any given machine, you can define, clear and view the Supervisory and Periodic schedules. You can only
modify or view the Default schedule for a machine.
You can also shut down and start up environments to stop and start batch processing of a particularenvironment on a machine(s). When you shut down an environment, you are overriding whatever you already334

Harmony 15.0 Installation Guide

scheduled for it (according to each type of schedule). Therefore, you will stop any batch processing jobs on theenvironment until you start that environment again. You can also view a schedule's status to see an overview ofall schedules set for a specified time.

335

Chapter 4: Batch Processing

Displaying the Schedule Status
You can monitor which machines are vectorizing or rendering animation data. The schedule status displays an
overview of what each render or vectorize machine is processing at a specific time. The overview also displays amachine's status based on the highest priority schedule set for the time you select.

You can display this status list by typing the Status command in a Command Shell or Terminal on any
machine in the network. When you run the Status command, you must specify the day and time for which you
want to view the schedule status.

How to display the schedule status list
1. Open a Command Shell or Terminal and type:
Status
You can view the status for one or more machines by listing them after the Status command(instead of all the machines, which is the default). You can also type a prefix to search for machineswith names that start with the same prefix.
Example:lStatus hp: Shows the status for all machines that begin with "hp".

l

Status cm hp6: Shows the status for all machines that begin with "cm" and for hp6.

l

Status: Shows the status for all machines.
When you press Enter/Return, you are prompted to specify the time for which you want to view theschedule status.

336

Harmony 15.0 Installation Guide

INPUT BEGIN TIME in 24-hr. format [15:17]:
4. Type the time you want to view the status for in 24-hour format. If you press Enter/Return without
specifying a time, the system uses the time displayed in brackets (the current time).
When you press Enter/Return, the system prompts you for the day for which you want to view thestatus.
input day [wed]:
5. Type the day of the week for which you want to view the status (you can not enter dates). If youpress Enter/Return without entering a day, the system uses the day displayed in brackets (thecurrent day).
The schedule status for the time and day you specified appears.

337

Chapter 4: Batch Processing

Reading the Schedule Status List
When you display the Schedule Status list, the information appears in three separate sections:l

Key: Lists the abbreviations the status schedule uses for the environments, the two types of batchprocesses you can schedule on a machine, and the abbreviations the other columns use in the list.

lSchedule Status: Displays the processing status of each vectorizing or rendering machine in the
network.

l

Summary: Displays a summary of which machines are performing a specific type of batch processing(vectorize or render). The summary appears directly below the Schedule Status section.

The following table describes the contents of the Schedule Status list:
Column title

Description

R

Displays an R for each machine that has the batch processing service running on
it. The batch processing service must be running in order to execute batchprocessing tasks.
If an R does not appear for a machine, the Schedule Status list displays what
would be scheduled if the batch processing service was running on it.
Indicates if an environment is shut down for batch processing on that machine.

SD

MachineYou can specify that certain machines do not process environments by selecting
the machines that should be shut down (or turned off).
An asterisk (*) appears in the SD column to indicate that one or moreenvironments have been shut down for that machine—see About Environment
Shut Down.
Displays the name of the networked machine that is configured to accept batchprocessing jobs.
Indicates whether the machine is available for batch processing.

State

On: The machine is scheduled to batch process.
Off: The machine is not scheduled (for the time you specified) to batch process.
Lists the type of batch processing the machine is scheduled to perform (vectorize
and/or batch processing ).

vecstatusIf an asterisk (*) appears in these columns for a machine, then this type of batchprocessing is scheduled for this machine.
If a machine is scheduled to do both types of batch processing, the machine
performs both types alternatively; it processes an entry from the Vectorize queue,338

Harmony 15.0 Installation Guide

vectorizes the data, and then take an entry from the Render queue.
Displays the environments scheduled to be batch processed on a machine.
Environmentspri

The machine batch processes only the data from the environments listed in thiscolumn.
Displays the priority level for batch processing on a machine. You can prioritize
environments so that one machine can perform the batch processing before
another.
If an asterisk (*) appears in the pri column, the environments are prioritized forthat machine. The priority order for the environments appears in the Environments
column (reads from left to right, highest to lowest priority).
Displays the date and time of the next status change for that machine, according
to the defined batch processing schedules.

nexteventTime

For example, even though the hickey machine is off at the moment, the Timecolumn indicates that the next time its status will change is at 12:53 on
Wednesday, March 8. This indicates that a Periodic or Supervisory schedule is set
for this machine.

339

Chapter 4: Batch Processing

About Default Schedules
A Default schedule sets batch processing for a machine when no other schedules are in effect. For example, if
there are no Supervisory or Periodic schedules that affect a particular machine on Monday at 9:00 a.m., theDefault schedule determines the type of batch processing that this machine performs at that time.
Every Harmony system machine uses a Default schedule to determine when it should perform batchprocessing. You can display or modify the Default schedules for any machine in the Harmony system.

340

Harmony 15.0 Installation Guide

Displaying Default Schedules
When you display a Default schedule, you can see all the batch processing machines on the network and when
they are scheduled to perform batch processing work. The Default schedule also displays the type of batchprocessing work (vectorize or render) and which environments are scheduled for the processing work.
After you display the Default schedule, you can modify it to change the time, type of batch processing, or
environments to process—see Modifying Default Schedules.

How to display the Default schedule
1. In a GNU/Linux shell, type:Showdef
You are prompted for the machine(s) whose Default schedule you want to see.
INPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all [all]:

2. Select the machines you want to view by typing the name of a single machine, a prefix (to select a
range of machines that start with the same prefix), or all to view all the Default schedules for all
the machines.
If you press Enter/Return without specifying a machine, the command uses the machine name thatappears in brackets.
NOTE
If you type a prefix, a list of machines that contain that prefix appears. Type the numbers that
correspond to the machines you want to view.
For example, if you have three machines that start with "hi", you can type hi as a prefix. The
system would then display a list of all the machines that start with"hi":input a set of machines, or hit return to indicate all thesemachines:
1 = hickey, 2 = highlander, 3=high-definition
You can press Enter/Return to select all the machines in the list or select specific machines bytyping their corresponding numbers.
You are asked if you want to view more machines.
DO YOU WANT TO INPUT MORE MACHINES (y/n) [n]:3. Decide if you want to view more environments and machines.
lType y to select more machines.

lType n to not select any more machines.

The Default schedule for the selected machines appears.

341

Chapter 4: Batch Processing

342

Harmony 15.0 Installation Guide

Reading Default Schedule Status Lists
When you display the Default schedule status list, the system displays the information in two sections:l

Key: Lists the abbreviations the status schedule uses for the environments, the two types of batchprocesses you can schedule on a machine, and the abbreviations the other columns use in the list.

lSchedule Status: Displays the processing status of each vectorizing or rendering machine in the
network

The following table describes the contents of the Schedule Status list:
Column Title

Description

Machine

Displays the name of the networked machine that is configured to accept batchprocessing jobs.
Indicates whether the machine is available for batch processing.

Status

On: The machine is scheduled to batch process.
Off: The machine is not scheduled (for the time you specified) to batch process.
Lists the type of batch processing the machine is scheduled to perform (vectorize
and/or batch processing ).

vec
ren

If an asterisk (*) appears in these columns for a machine, then this type of batchprocessing is scheduled for this machine.
If a machine is scheduled to do both types of batch processing, the machine
performs both types alternatively; it processes an entry from the Vectorize queue,
vectorizes the data, and then take an entry from the Render queue.
Displays the environments scheduled to be batch processed on a machine.

EnvironmentspriTime of Last Update

The machine batch processes only the data from the environments listed in thiscolumn.
Displays the priority level for batch processing on a machine. You can prioritize
environments so that one machine can perform the batch processing before
another.
If an asterisk (*) appears in the pri column, the environments are prioritized forthat machine. The priority order for the environments appears in the Environments
column (reads from left to right, highest to lowest priority).
The Default schedule also indicates the last time the schedule was modified foreach machine.

343

Chapter 4: Batch Processing

This final column displays the date and time that the Default schedule was lastmodified for each machine.

344

Harmony 15.0 Installation Guide

Modifying Default Schedules
When you are ready to change the Default schedule, you must specify the following information:l

The machine(s) you want to updatel

The type of batch processing work you want to assignl

The environments to process

After modifying the Default schedule, use the Showdef command to view your changes—see Displaying
Default Schedules.

How to change a Default schedule
1. In a Terminal, Command Prompt or Linux shell, type:
Setdef
2. Press Enter/Return.
You are prompted for the machine(s) whose Default schedule you want to modify.
INPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all [all]:

3. Select the machines you want to view by typing the name of a single machine, a prefix (to select a
range of machines that start with the same prefix), or all to view all the Default schedules for all
the machines.
If you press Enter/Return without specifying a machine, the command uses the machine name thatappears in brackets.
NOTE
If you type a prefix, a list of machines that contain that prefix appears. Type the numbers that
correspond to the machines you want to view.
For example, if you have three machines that start with "hi", you can type hi as a prefix. The
system would then display a list of all the machines that start with"hi":input a set of machines, or hit return to indicate all thesemachines:
1 = hickey, 2 = highlander, 3=high-definition
You can either press Enter/Return to select all the machines in the list or you can select certain
machines by typing their corresponding numbers.
You are asked if you want to modify the Default schedule for more machines.
DO YOU WANT TO INPUT MORE MACHINES (y/n) [n]:4. Decide if you want to change the Default schedule on other machines.

345

Chapter 4: Batch ProcessinglType y to select more machines and press Enter/Return.

You are prompted to select other machines (see step 1 of this procedure).
lType n to not select any more machines and press Enter/Return.

You are prompted to decide if you want vectorizing work performed on the machine.
INPUT TYPE OF WORK ALLOWED is vectorize work allowed (y/n) [yes]5. Decide if you want the machines to perform vectorizing work on the selected machines.
lType y to schedule vector batch processing and press Enter/Return.

lType n to not schedule vector batch processing and press Enter/Return.

l

If you press Enter/Return without entering y or n, the prompt uses the answer shownin brackets.

The system then prompts you to select if you want rendering work performed on the machine.
is render work allowed (y/n) [yes]6. Select if you want the machines to perform rendering work on the selected machines.
lType y to schedule Render batch processing and press Enter/Return.

lType n to not schedule Render batch processing and press Enter/Return.

l

If you press [Enter] without entering y or n, the prompt uses the answer shown inbrackets.

You are prompted to select the environments to be scheduled for batch processing.
INPUT A SET OF DATABASE ENVIRONMENTS
1 = Production, 2 = Tutorials, 3 = Commercials default - [Production Commercials]

All the environments in your system appear in this list, each one assigned to a number.
7. Type the number that corresponds to the environment(s) you want to schedule and press
Enter/Return. If you press Enter/Return without typing anything, the environments listed inbrackets are used.
If you select more than one environment, the system asks if you want to establish a priority.
should processing of the DBenv's be prioritized? (y/n) [yes]You can prioritize your environments so that batch processing works on the highest priority
environment first. If you do not define a priority, the batch processing does an equal amount of workfor each environment.
The order in which you type the environment numbers can determine their batch processing
priority in the schedule (the first environment you type has the highest priority). However, the order346

Harmony 15.0 Installation Guidein which you type the environments is not important if you do not want to prioritize theenvironments (by answering no to the system prompt).
In this example, if you want to schedule only the Production and Tutorials environments forbatch processing, you would type: 1 2, indicating that Production has a higher priority than
Tutorials for batch processing.
8. Decide if you want to assign a priority to the environments you selected. If you press Enter/Return
without entering anything, the system uses the answer shown in brackets.
lType y to prioritize batch processing.

lType n to not prioritize batch processing.

The system prompts you to schedule the status of the machine(s).
input ON or OFF [on]:9. Decide if you want to apply the Default schedule right away, making the machines available
immediately.
lType on to make the machines available for batch processing according to theirdefined Default schedules and press Enter/Return.

lType off to make the machines unavailable for batch processing, regardless of theirdefined Default schedules, and press Enter/Return.

l

If you press Enter/Return without entering on or off, the prompt uses the answer
shown in brackets.

The Default schedule for the specified machines is set. The new schedule appears.

347

Chapter 4: Batch Processing

About Periodic Schedules
The Periodic schedule is an optional schedule that defines a recurring period of time when a machine will
perform batch processing. You can create a Periodic schedule by specifying a day of the week (Monday,
Tuesday, etc.) and the machine will perform batch processing on the specified days for every week.
A Periodic schedule lists batch processing jobs for which you must define a start and end date, and time. Eachjob has its own set of batch processing parameters that are independent of the other jobs in the schedule.
For example, you can create a Periodic schedule for a machine so that it performs batch processing every nightfrom 20:00 that evening to 08:00 the following morning. Therefore, the machine would not perform batchprocessing work during the day when the users would be present.
NOTE
In terms of priority, the Periodic schedule is between the Default and Supervisory schedules. If
there are no Supervisory schedules for a machine, or the Supervisory schedule does not define thework to be done for a particular period of time, the machine uses the Periodic schedule.
However, if you have an active Supervisory schedule , the machine follows this schedule before it
follows either the Periodic or Default schedules.

348

Harmony 15.0 Installation Guide

Displaying Periodic Schedules
When you display a Periodic schedule, you can see all the batch processing machines that use this scheduleand when they are scheduled to perform the batch processing. The Periodic schedule also displays the type ofbatch processing work (vectorize or render) and the environments that are scheduled for the processing work.
After you display the Periodic schedule, you can modify it to change the time, type of batch processing, or
environments to process—see Setting Periodic Schedules.
NOTE
You can display the Periodic schedule for only one machine at a time.

How to display a Periodic schedule
1. In a GNU/Linux shell, type:
Showper
You are prompted for the machine whose Periodic schedule you want to view.
INPUT MACHINE [hickey]:

2. Type the name of the machine for which you want to define a Periodic schedule.
If you press Enter/Return without specifying a machine, the command uses the machine name thatappears in brackets.
NOTE
You can combine these two steps by adding the name of the machine you want to view at theend of the Showper command.
For example, if the machine you want to view is called hickey, then you would type thefollowing command in a GNU/Linux shell to view its Periodic schedule.
Showper hickey
The Periodic schedule for that machine appears.

349

Chapter 4: Batch Processing

350Harmony 15.0 Installation Guide

Setting Periodic Schedules
When you are ready to modify your Periodic schedule, you need to specify the following information:l

The machine(s) for which you want to create or update the periodic schedule(s)lThe type of batch processing work you want to assignl

The environments to processlWhen to start and stop the batch process

You can add jobs to the schedule if a Periodic schedule already exists for a particular machine, or you can clear
out any pre-existing jobs before setting new jobs in the schedule. You can clear a Periodic schedule without
setting any new jobs—see Clearing Periodic Schedules on page 355.

How to define a Periodic schedule on a machine

NOTE
If you press Enter/Return without entering anything, the command uses the information thatappears in brackets of commands.
1. In a GNU/Linux shell, type:
Setper
You are prompted for the machine(s) whose Periodic schedule you want to modify.
INPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all [all]:

2. Select the machines you want to modify by typing the name of a single machine, a prefix (to select a
range of machines that start with the same prefix), or all to modify all the Periodic schedules for all
the machines.
NOTE
If you type a prefix, a list of machines that contain that prefix appears. Type the numbers that
correspond to the machines you want to view.
For example, if you have three machines that start with "hi", you can type hi as a prefix. The
system would then display a list of all the machines that start with"hi":input a set of machines, or hit return to indicate all thesemachines:
1 = hickey, 2 = highlander, 3=high-definition
Press Enter/Return to select all the machines in the list or select specific machines by typing
their corresponding numbers.
You are asked if you want to modify the Periodic schedule on more machines.

351

Chapter 4: Batch Processing

DO YOU WANT TO INPUT MORE MACHINES (y/n) [n]:3. Do one of the following:lType y to select more machines.

lType n to not select any more machines.

You are prompted to clear the existing schedule before defining new entries.
WOULD YOU LIKE TO CLEAR THE SCHEDULE OF PRE-EXISTING ENTRIES? (y/n) [n]:4. Do one of the following:lType y to remove any existing schedules on the machine(s).

lType n to preserve any existing schedules on the machine(s). The system will add yournew entries to the existing set of entries.

You are prompted to schedule any new entries in your Periodic schedule.
WOULD YOU LIKE TO SCHEDULE ANY ENTRIES? (y/n) [y]5. Do one of the following:lType y to schedule new entries. Proceed to the next step to define the schedule.

lType n to not schedule any new entries. This cancels the Setper command withoutscheduling any new entries.

6. If you typed y to the previous prompt, you are prompted to activate or deactivate the selected
machines.
input ON or OFF [on]:lType on to activate the Periodic schedule for the selected machines.

lType off to deactivate the Periodic schedule for the selected machines. The machine(s) will not perform any Periodic batch processing, regardless of what the other
Periodic entries have been scheduled.

You are prompted to decide if you want vectorizing work performed on the machine.
INPUT TYPE OF WORK ALLOWED is vectorize work allowed (y/n) [no]7. Do one of the following:lType y to schedule Vector batch processing.

lType n to not schedule Vector batch processing.

The system prompts you to decide if you want rendering work performed on the machine.
is render work allowed (y/n) [yes]8. Do one of the following:352

Harmony 15.0 Installation GuidelType y to schedule Render batch processing.

lType n to not schedule Render batch processing.

You are prompted to select the environments to be scheduled for batch processing. All theenvironments in your system appear in this list, each one assigned to a number.
INPUT A SET OF DATABASE ENVIRONMENTS
1 = Production, 2 = Tutorials, 3 = Commercials default - [Production Commercials]

9. Type the number that corresponds to the environment(s) you want to schedule and press[Enter/Return]. If you select more than one environment, the system asks if you want to establish apriority.
should processing of the DBenv's be prioritized? (y/n) [yes]You can prioritize your environments so that batch processing works on the highest priority
environment first. If you do not define a priority, the batch processing does an equal amount of workfor each environment.
The order in which you type the environment numbers can determine their batch processing
priority in the schedule (the first environment you type has the highest priority). However, the orderin which you type the environments is not important if you don't want to prioritize theenvironments (by answering no to the system prompt).
In this example, if you want to schedule only the Production and Tutorials environments forbatch processing, you would type: 1 2, indicating that Production has a higher priority than
Tutorials for batch processing.
10. Select if you want to assign a priority to the environments you selected.
lType y to prioritize batch processing.

lType n to not prioritize batch processing.

The scheduler prompts you to define the time and day when to start the Periodic batch processing.
INPUT BEGIN TIME in 24-hr. format [15:17] input day [wed]:

11. Type the time (in 24-hour format) and day (in day of the week format) when to begin batchprocessing and press [Enter/Return].
The scheduler prompts you for the end time.
INPUT END TIME in 24-hr. format: input day [thu]:

12. Type the time (in 24-hour format) and the day (in day of the week format) when to stop the batchprocessing and press Enter/Return.
A summary of the job you just scheduled appears. The scheduler then prompts you to confirm thatyou want to enter this job in the schedule.

353

Chapter 4: Batch Processing

13. Do one of the following:lType y to add this job into your Periodic schedule.

lType n if you do not want to add this job into your Periodic schedule.

The scheduler gives you the opportunity to add another job to your Periodic schedule.
DO YOU WANT TO SCHEDULE ANOTHER EVENT (y/n) [y]14. Do one of the following:lType y to add another job and press Enter/Return. Repeat steps 7 to 13.

lType n if you do not want to enter another job and press Enter/Return.

When you finish adding jobs to the Periodic schedule, a summary of the entire Periodic scheduleappears.

354

Harmony 15.0 Installation Guide

Clearing Periodic Schedules
If you decide that you do not need to have any recurring batch jobs, you can clear the scheduled jobs from the
Periodic schedule. Once the Periodic schedule is empty, the batch jobs in the Default schedule come into effect.
You can clear existing jobs from a Periodic schedule without creating any new jobs. However, when you clear a
Periodic schedule, you clear all the jobs that exist for that schedule.

How to clear a Periodic schedule
1. Follow steps 1 to 3 in Setting Periodic Schedules on page 351
2. Type y when you reach the following prompt:
WOULD YOU LIKE TO CLEAR THE SCHEDULE OF PRE-EXISTING ENTRIES? (y/n) [n]3. Type n when you reach the following prompt:
WOULD YOU LIKE TO SCHEDULE ANY ENTRIES? (y/n) [y]This clears the Periodic schedule and displays an empty schedule, confirming that the system
cleared the jobs.

355

Chapter 4: Batch Processing

About Supervisory Schedules
A Supervisory schedule forces a machine to perform batch processing for a non-recurring period of time. This
type of schedule, like the Periodic schedule, is optional. If you have a Supervisory schedule active for a period oftime, the machine performs batch processing according to that schedule before it references the Periodic or
Default schedules.
For example, you could force a machine to perform only Vectorize batch processing for the next four hours,
ignoring any other scheduled type of batch processing during that time.
A Supervisory schedule consists of a list of batch processing jobs for which you must define a start and end date
and time. Each job has its own set of batch processing parameters that are independent of the other jobs in theschedule.
NOTE
The Supervisory schedule holds the highest priority level, superseding the Periodic schedule andDefault schedule. Therefore, if you have an active Supervisory schedule, the machine follows thisschedule before it follows the Periodic or Default schedules.

356Harmony 15.0 Installation Guide

Displaying Supervisory Schedules
When you display a Supervisory schedule, you can see all the batch processing machines that use this scheduleand when they are scheduled to perform the batch processing. The Supervisory schedule also displays the typeof batch processing work (vectorize or render) and the environments that are scheduled for the processing
work.
After you display the Supervisory schedule, you can modify it to change the time, type of batch processing, or
environments to process—see Setting Supervisory Schedules.
NOTE
You can display the Supervisory schedule for only one machine at a time.

How to display a Supervisory schedule
1. In a GNU/Linux shell, type:Showsup
You are prompted for the machine whose Supervisory schedule you want to view.
INPUT MACHINE [hickey]:

2. Type the name of the machine for which you want to define a Supervisory schedule.
If you press Enter/Return without specifying a machine, the command uses the machine name thatappears in brackets.
NOTE
You can combine these two steps by adding the name of the machine you want to view at theend of the Showsup command.
For example, if the machine you want to view is called hickey, then you would type thefollowing command in a GNU/Linux shell to view its Supervisory schedule.
Showsup hickey

The Supervisory schedule for the machine appears.

357

Chapter 4: Batch Processing

358

Harmony 15.0 Installation Guide

Setting Supervisory Schedules
When you are ready to modify your Supervisory Schedule, you need to specify the following:l

The machine(s) for which you want to create or update the supervisory schedule(s)lThe type of batch processing work you want to assignl

The environments to processlWhen to start and stop the batch process

You can add jobs to the schedule if a Supervisory Schedule already exists for a particular machine, or you canclear out any pre-existing jobs before setting new jobs in the schedule. You can clear a Supervisory Schedule
without setting any new jobs (see Clearing Supervisory Schedules on page 363).

How to define a Supervisory schedule on a machine

NOTE
If you press Enter/Return without entering anything, the command uses the information thatappears in brackets of commands.
1. In a GNU/Linux shell, type:Showsup
You are prompted for the machine(s) whose Supervisory schedule you want to modify.
INPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all [all]:

2. Select the machines you want to modify by typing the name of a single machine, a prefix (to select a
range of machines that start with the same prefix), or all to modify all the Supervisory schedules
for all the machines.
NOTE
If you type a prefix, a list of machines that contain that prefix appears. Type the numbers that
correspond to the machines you want to view.
For example, if you have three machines that start with "hi", you can type hi as a prefix. The
system would then display a list of all the machines that start with"hi":input a set of machines, or hit return to indicate all thesemachines:
1 = hickey, 2 = highlander, 3=high-definition
Press Enter/Return to select all the machines in the list or select specific machines by typing
their corresponding numbers.
You are asked if you want to modify the Supervisory schedule on more machines.

359

Chapter 4: Batch Processing

DO YOU WANT TO INPUT MORE MACHINES (y/n) [n]:3. Do one of the following:lType y to select more machines.

lType n to not select any more machines.

You are prompted to clear the existing schedule before defining new entries.
WOULD YOU LIKE TO CLEAR THE SCHEDULE OF PRE-EXISTING ENTRIES? (y/n) [n]:4. Do one of the following:lType y to remove any existing schedules on the machine(s).

lType n to preserve any existing schedules on the machine(s). The system will add yournew entries to the existing set of entries.

You are prompted to schedule any new entries in your Supervisory schedule.
WOULD YOU LIKE TO SCHEDULE ANY ENTRIES? (y/n) [y]5. Do one of the following:lType y to schedule new entries. Proceed to the next step to define the schedule.

lType n to not schedule any new entries. This cancels the Setper command withoutscheduling any new entries.

6. If you typed y to the previous prompt, you are prompted to activate or deactivate the selected
machines.
input ON or OFF [on]:lType on to activate the Supervisory schedule for the selected machines.

lType off to deactivate the Supervisory schedule for the selected machines. The
machine(s) will not perform any Supervisory batch processing, regardless of what theother Supervisory entries have been scheduled.

You are prompted to decide if you want vectorizing work performed on the machine.
INPUT TYPE OF WORK ALLOWED is vectorize work allowed (y/n) [no]7. Do one of the following:lType y to schedule Vector batch processing.

lType n to not schedule Vector batch processing.

The system prompts you to decide if you want rendering work performed on the machine.
is render work allowed (y/n) [yes]8. Do one of the following:360Harmony 15.0 Installation GuidelType y to schedule Render batch processing.

lType n to not schedule Render batch processing.

You are prompted to select the environments to be scheduled for batch processing. All theenvironments in your system appear in this list, each one assigned to a number.
INPUT A SET OF DATABASE ENVIRONMENTS
1 = Production, 2 = Tutorials, 3 = Commercials default - [Production Commercials]

9. Type the number that corresponds to the environment(s) you want to schedule and press[Enter/Return]. If you select more than one environment, the system asks if you want to establish apriority.
should processing of the DBenv's be prioritized? (y/n) [yes]You can prioritize your environments so that batch processing works on the highest priority
environment first. If you do not define a priority, the batch processing does an equal amount of workfor each environment.
The order in which you type the environment numbers can determine their batch processing
priority in the schedule (the first environment you type has the highest priority). However, the orderin which you type the environments is not important if you don't want to prioritize theenvironments (by answering no to the system prompt).
In this example, if you want to schedule only the Production and Tutorials environments forbatch processing, you would type: 1 2, indicating that Production has a higher priority than
Tutorials for batch processing.
10. Select if you want to assign a priority to the environments you selected.
lType y to prioritize batch processing.

lType n to not prioritize batch processing.

The scheduler prompts you to define the time and day when to start the Supervisory batchprocessing.
INPUT BEGIN TIME in 24-hr. format [15:17] input day [wed]:

11. Type the time (in 24-hour format) and day (in day of the week format) when to begin batchprocessing and press Enter/Return.
The scheduler prompts you for the end time.
INPUT END TIME in 24-hr. format: input day [thu]:

12. Type the time (in 24-hour format) and the day (in day of the week format) when to stop the batchprocessing and press Enter/Return.
A summary of the job you just scheduled appears. The scheduler then prompts you to confirm thatyou want to enter this job in the schedule.

361

Chapter 4: Batch Processing

13. Do one of the following:lType y to add this job into your Supervisory schedule.

lType n if you do not want to add this job into your Supervisory schedule.

The scheduler gives you the opportunity to add another job to your Supervisory schedule.
DO YOU WANT TO SCHEDULE ANOTHER EVENT (y/n) [y]14. Do one of the following:lType y to add another job and press Enter/Return. Repeat steps 7 to 13.

lType n if you do not want to enter another job and press Enter/Return.

When you finish adding jobs to the Supervisory schedule, a summary of the entire Supervisoryschedule appears.

362Harmony 15.0 Installation Guide

Clearing Supervisory Schedules
If you decide you don't need to set a Supervisory schedule for your batch processing jobs, you can clear thescheduled jobs from the Supervisory schedule. Once the Supervisory schedule is empty, the batch processing
jobs in the Periodic and Default schedules come into effect.
You can clear existing jobs from a Supervisory schedule without creating any new jobs. However, when you
clear a Supervisory schedule, you clear all of the jobs that exist for that schedule.

How to clear a Supervisory schedule
1. Follow steps 1 to 3Setting Supervisory Schedulesin Setting Supervisory Schedules on page 359.
2. Type y when you reach the following prompt:
WOULD YOU LIKE TO CLEAR THE SCHEDULE OF PRE-EXISTING ENTRIES? (y/n) [n]The Supervisory schedule is cleared. An empty schedule displayed, confirming that the system
cleared the jobs.

363

Chapter 4: Batch Processing

About Environment Shut Down
In some cases, you must shut down a machine so it does not process any batch jobs from an environment or fora specific amount of time. You may want to, for example, shut down batch processing for all environments on asingle machine so you can reboot the machine. Or you can shut down one environment on all machines so you
can move scenes in that environment to other machines.
To determine if an environment is shut down on a particular machine, type Status in a Command Shell or
Terminal. If you see an asterisk (*) in the SD column for a particular machine, this means at least one
environment is shut down on that machine.
You can view the Supervisory and Periodic schedules for the shut down machines to isolate which
environments are shut down.

364

Harmony 15.0 Installation Guide

Shutting Down Environments
When you shut down an environment, this overrides whatever was scheduled for that environment (for all
three types of schedules). The environment remains shut down until you reinstate it by typing Suenv
command in a Command Shell or Terminal (see Starting Up Environments). You can shut down multiple
environments on multiple machines, from any machine in the network.
When shutting down an environment, the command prompts you for the environments you want to close andthe machines on which you want them to be shut down.

How to shut down an environment on a machine
1. In a Command Shell or Terminal, type:
Sdenv
You are prompted for the environments to shut down:
INPUT DATABASES TO BE STOPPEDINPUT A SET OF DATABASE Environments
1 = Production, 2 = Tutorials, 3 = Commercials, default = [Production
Tutorials Commercials]
All the Environments appear in this list and each one has its own number.
2. Type the number that corresponds to each environment you want to shut down (separate eachnumber by a space) and press Enter/Return.
You are prompted you for the machine(s) on which you want the environments to be shut down:
INPUT MACHINE ON WHICH THESE DBENV'S ARE TO BE SHUTDOWNINPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all[hickey]:
3. Select the machines that should not process the shut down environment by typing the name of asingle machine, a prefix (to select a range of machines that start with the same prefix), or all toshut down all the environments on all the machines.
If you press Enter/Return without specifying a machine, the command uses the machine name thatappears in brackets.

365

Chapter 4: Batch Processing

NOTE
If you type a prefix, a list of machines that contain that prefix appears. Type the numbers that
correspond to the machines you want to view.
For example, if you have three machines that start with "hi", you can type hi as a prefix. The
system would then display a list of all the machines that start with"hi":input a set of machines, or hit return to indicate all thesemachines:
1 = hickey, 2 = highlander, 3=high-definition
Press Enter/Return to select all the machines in the list or select specific machines by typing
their corresponding numbers.
You are prompted to decide if you want to shut down more machines.
DO YOU WANT TO INPUT MORE MACHINES (y/n) [n]:You are asked if you want to shut down more environments and machines.
4. Do one of the following:lType y to select more machines.

lType n to not select any more machines.

A summary of the shutdown appears:
here are the 3 machines you input: hickey weiner garneau
ALL MACHINES HAVE REPORTED. SHUT DOWN COMPLETE.
The Sdenv command waits for a response from all the selected machines. The Sdenv command
does not terminate a batch process that is currently running on a machine. If a machine is currently
performing a batch process, it will not shut down until it completes the queue entry.

366

Harmony 15.0 Installation Guide

Starting Up Environments
When you're ready to restart the batch process on an Environment that was shut down, use the Suenv
command. When you restart an Environment, you are prompted for the Environments you want to start up andthe machines you want them to start running on.
NOTE
If you accidentally restart an environment that is already active, nothing happens.

How to start an environment
1. In a Command Shell or Terminal, type:
Suenv
You are prompted for the environments to restart:
INPUT DATABASES TO BE STARTEDINPUT A SET OF DATABASE Environments
1 = Production, 2 = Tutorials, 3 = Commercials, default = []All the environments in your system appear in this list and each one has a number.
2. Type the numbers that correspond to each environment you want to restart (separate each number
by a space) and press Enter/Return.
You are prompted for the machine(s) you want to process the environments:
INPUT MACHINE ON WHICH THESE DBENV'S ARE TO BE STARTEDINPUT A SINGLE MACHINE NAME, THE PREFIX OF A MACHINE NAME, OR all[hickey]:
3. Select the machines for processing the environment by typing the name of a single machine, aprefix (to select a range of machines that start with the same prefix), or all to restart all theenvironments on all the machines.
If you press Enter/Return without specifying a machine, the command uses the machine name thatappears in brackets.

367

Chapter 4: Batch Processing

NOTE
If you type a prefix, a list of machines that contain that prefix appears. Type the numbers that
correspond to the machines you want to view.
For example, if you have three machines that start with "hi", you can type hi as a prefix. The
system would then display a list of all the machines that start with"hi":input a set of machines, or hit return to indicate all thesemachines:
1 = hickey, 2 = highlander, 3=high-definition
Press Enter/Return to select all the machines in the list or select specific machines by typing
their corresponding numbers.
You are prompted to decide if you want to restart enviroments on more machines.
DO YOU WANT TO INPUT MORE MACHINES (y/n) [n]:4. Do one of the following:lType y to select more machines.

lType n to not select any more machines.

A summary of the started machines appears:
here are the 3 machines you input: hickey weiner garneau
ALL MACHINES HAVE REPORTED. STARTUP COMPLETE.

368

Harmony 15.0 Installation Guide

Harmony Scheduling Utilities
The following table lists the utilities used by Harmony to configure batch processing schedules and theirparameters.
Command

EffectDisplays the Schedule Status (default for all machines).

Status

Options:[machine]: Limits the display to specified machines (separate machine names with spaces).
[prefix]: Limits the display to machines with specified prefix.

Showdef

Displays Default schedules.

Setdef

Modifies Default schedules.
Displays Periodic schedule (for a single machine only).

Showper

Options:[machine]: Specifies the machine whose Periodic schedule you want to display.

SetperSets and/or clears Periodic schedule.
Displays Supervisory schedule (for a single machine only).

Showsup

Options:[machine]: Specifies the machine whose Supervisory schedule you want to display.

Setsup

Sets and/or clears Supervisory schedules.

Sdenv

Shuts down environments.

Suenv

Starts up environments.

369

Chapter 5: Service Launcher

Chapter 5: Service Launcher
The Service Launcher allows users without full administrative rights to launch three Toon Boom Harmony
services: ToonBoom Process (for batch rendering and vectorization), Database Server and WebCC. It will also
attempt relaunch services should they stop for any reason.
The topics in this installation guide specify how to perform many tasks with Service Launcher. The following
section is a reference guide for the user interface of Service Launcher.
Service Launcher Top Menu

371

Service Launcher Preferences Tab

372

Service Launcher ToonBoom Process Tab

373

Service Launcher Database Server Tab

375

Service Launcher WebCC Tab

377

Service Launcher Link Tab

379

370

Harmony 15.0 Installation Guide

Service Launcher Top Menu
Access these menus and their commands from the top menu bar of the Service Launcher window.
Menu

ServerCommand

Description

Save All Settings

Select this command to register any changes
made to the options in the Service Launcher.

Stop All Processes

Select this command to stop all service
processes.

Quit

Select this command to quit the Service
Launcher application.

Help

Select this command to launch Toon Boom's
website, where you can find various resources
for support.

About

Select this command to open the About Toon
Boom Service Launcher window. This window
contains version and copyright information.

Help

371

Chapter 5: Service Launcher

Service Launcher Preferences Tab
Use the options available in the Preferences tab to customize the behaviour of the Service Launcher.

Parameter

Description

Services location

Displays the location path of the Service Launcher application on your computer.
You can click on the ellipses button, at the end of the field, to browse for a newlocation.

Application parameters

Launch on login

Check this option if you would like to launch the Service Launcher application
every time you login to your computer. This enables the Display Window option.

Display window

Check this option if you would like to the Service Launcher window to open when
the Service Launcher is launched on login. Otherwise, the Service Launcher
application will run in the background and be accessible to open through yourcomputer's task bar.

Notify me on errors

Check this option if you would like to be notified of errors.

Show last lines of log files

Allows you to enter the maximum number of lines from the bottom of the log filethat you would like displayed for the ToonBoom Process, Database Server and
WebCC services.

On error

Allows you to enter the number of seconds that the Service Launcher should wait
before trying to relaunch any of services, should they happen to stop.

372

Harmony 15.0 Installation Guide

Service Launcher ToonBoom Process Tab
The Toon Boom Process allows a machine to be a batch processing node for your network's vectorizing andrender farm. Process runs in the background and checks the database's queue for any vectorizing or rendering
job it could perform and, if it find any, performs them in the background.

Parameter

Description

Launch button

Click on this button to start the service. The status will change from Closed to
Running.

Stop button

This button is enabled when the service is running. Click on this button to stop
the service.

Launch when Service
Launcher starts

Check this option to automatically launch the ToonBoom Proces service when
the Service Launcher is launched. This bypasses the need to click on the Launchbutton.

Parameters

Debug

Output detailed information about the tasks performed by the process service tothe log, to help debug any issue with the service.

Schedule

This option is checked by default. It is strongly recommended that you leave thisoption enabled. It runs the ToonBoom Process service using the scheduler.

373

Chapter 5: Service Launcher

Other Parameters

Help tabCommand line parameters to pass to the service when launching it. The Help tab
below contains a list of parameters supported by the service. Once you havemade changes to the list of parameters, you can click on Update Parameters torelaunch the service with the new parametes.
This tab lists all the available options for the ToonBoom Process (tbprocess).You
can type these parameters in the Other Parameters field to customize thebehaviour of the service.
This tab records the activity of the service while it runs. It only lists up to the
maximum number of lines specified in the Preferences tab.

Log tabll

Clear Window button: clears the existing log data from the window.
View Complete Log button: launches the Dialog window which displays acomplete version of the logo information.

374

Harmony 15.0 Installation Guide

Service Launcher Database Server Tab
The Database Server service manages requests from Harmony Server clients who connect to theHarmony database using Harmony, Paint, Scan or Control Center.

Parameter

Description

Launch button

Click on this button to start the service. The status will change from Closed to
Running.

Stop button

This button is enabled when the service is running. Click on this button to stop
the service.

Launch when Service
Launcher starts

Check this option to automatically launch the Database Server service when theService Launcher is launched. This bypasses the need to click on the Launchbutton.

Parameters

Debug

Output detailed information about the tasks performed by the datbase server tothe log, to help debug any issue with the server.

Keep Alive

Check this option if you would like the Database Server to automatically restart in
the event that it crashes or fails. You can select the wait period before relaunch in
the Preferences tab.

375

Chapter 5: Service Launcher

Other Parameters

Command line parameters to pass to the service when launching it. The Help tab
below contains a list of parameters supported by the service. Once you havemade changes to the list of parameters, you can click on Update Parameters torelaunch the service with the new parametes.

Update Parameters

Click on this after making changes to the Other Parameters field to stop andrelaunch the service with the new parameters.
This tab lists all the available options for the database server. You can type these

Help tabparameters in the Other Parameters field to customize the behaviour of theservice.
This tab records the activity of the service while it runs. It only lists up to the
maximum number of lines specified in the Preferences tab.

Log tabll

Clear Window button: clears the existing log data from the window.
View Complete Log button: launches the Dialog window which displays acomplete version of the logo information.

376

Harmony 15.0 Installation Guide

Service Launcher WebCC Tab
The WebCC server service allows people to connect to the Harmony database using a web browser, to export
scenes, work on them using Harmony Stand Alone, then upload their changes back to the database.

Parameter

Description

Launch button

Click on this button to start the service. The status will change from Closed to
Running.

Stop button

This button is enabled when the service is running. Click on this button to stop
the service.

Launch when Service
Launcher starts

Check this option to automatically launch the WebCC service when the Service
Launcher is launched. This bypasses the need to click on the Launch button.

Parameters

Authentication

Check this option to display the Login screen when users connect to WebCC.
Users must have a valid username and password.

Port

8080 is the default port number for connection. If it was modified, you can enter
your custom port number in its place.

Other Parameters

Command line parameters to pass to the service when launching it. The Help tab

377

Chapter 5: Service Launcher

below contains a list of parameters supported by the service. Once you havemade changes to the list of parameters, you can click on Update Parameters torelaunch the service with the new parametes.

Update Parameters

Help tabClick on this after making changes to the Other Parameters field to stop andrelaunch the service with the new parameters.
This tab lists all the available options for the WebCC server.You can type theseparameters in the Other Parameters field to customize the behaviour of theservice.
This tab records the activity of the service while it runs. It only lists up to the
maximum number of lines specified in the Preferences tab.

Log tabll

Clear Window button: clears the existing log data from the window.
View Complete Log button: launches the Dialog window which displays acomplete version of the logo information.

378

Harmony 15.0 Installation Guide

Service Launcher Link Tab
The Link tab allows you to configure the Toon Boom Harmony Link Server to launch when logging-in. The link
server allows Windows clients to create symbolic links on macOS or GNU/Linux servers, which is part of thescene creation routine on a Harmony database.
NOTE
This tab is only available on macOS and GNU/Linux.

Parameter

Description

Launch button

Click on this button to start the service. The status will change from Closed to
Running.

Stop button

This button is enabled when the service is running. Click on this button to stop
the service.

Launch when Service
Launcher starts

Check this option to automatically launch the Link server service when the Service
Launcher is launched. This bypasses the need to click on the Launch button.

Parameters

Debug

Output detailed information about the tasks performed by the link server to the379

Chapter 5: Service Launcher

Parameter

Descriptionlog, to help debug any issue with the server.

Other Parameters

Command line parameters to pass to the service when launching it. The Help tab
below contains a list of parameters supported by the service. Once you havemade changes to the list of parameters, you can click on Update Parameters torelaunch the service with the new parametes.

Update Parameters

Click on this after making changes to the Other Parameters field to stop andrelaunch the service with the new parameters.

Help tabThis tab lists all the available options for the link server. You can type theseparameters in the Other Parameters field to customize the behaviour of theservice.
This tab records the activity of the service while it runs. It only lists up to the
maximum number of lines specified in the Preferences tab.

Log tabll

Clear Window button: clears the existing log data from the window.
View Complete Log button: launches the Dialog window which displays acomplete version of the logo information.

380

Harmony 15.0 Installation Guide

381

Chapter 6: Unicode

Chapter 6: Unicode
By default, Harmony will only allow you to use the following characters in environment, job, scene and layer
names:l

Small and capital letters in the Latin alphabet, excluding accented lettersl

Numbersl

Dashes (-), underscores (_), plus signs (+) and equal signs (=)

It is possible, however, to enable the use of most of the characters in the Unicode character range. However,this feature has important limitations that must be taken in account:lmacOS and GNU/Linux machines cannot communicate in Unicode characters over the NFS protocol.
Even when using Unicode, characters for certain languages use different encoding on GNU/Linux andmacOS. While the Samba file sharing protocol can interpret these differences in encoding in the backend, NFS does not. Hence, for a macOS server to server GNU/Linux clients or for a GNU/Linux server toserver a macOS client, you must either use the Samba protocol to share files, or keep Unicode disabled.

l

Scenes with Unicode characters in their names cannot be opened from WebCC.

l

A scene with Unicode characters in its name that has been exported from a WebCC server cannot be
updated on the client side using the Download Database Changes command and cannot be updated on
the server side using the Update Database Scene command.

l

The Unity engine does not support Unicode characters. Unicode characters should not be used whenusing Harmony for gaming.

lUnicode characters should not be used in the names of the root folders of the database file systems (ie:
USA_DB, usadata000, etc.)l

Zip archives may encounter issues with Unicode characters. It is recommended to use the 7z archiving
format when archiving database files or scene data.

Enabling Unicode Characters in Environment, Job and Scene Names

383

Enabling Unicode in Layer/Node Names

384

382

Harmony 15.0 Installation Guide

Enabling Unicode Characters in Environment, Job and Scene Names
You can enable Unicode characters in Control Center, allowing you to create environments, jobs and scenes
with names containing Unicode characters.
IMPORTANT
Before enabling Unicode characters for your Harmony database, please see Unicode to learn about
the limitations of Harmony regarding Unicode characters.

How to enable Unicode characters in Control Center
1. In the top menu, select Admin and check the Allow Unicode Names option.

383

Chapter 6: Unicode

Enabling Unicode in Layer/Node Names
To enable the use of Unicode characters in the names of layers and nodes, you must enable the Allow Unicode
Names preference in Harmony.

How to enable Unicode characters in Harmony
1. In the top menu, select Edit (Windows/Linux) or Harmony [Edition] (macOS) > Preferences.
The Preferences dialog opens.
2. Open the Advanced tab.
3. Check the Allow Unicode Names preference.
4. Click on OK.

384