Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
WoodWing
Software
Smart Connection Enterprise
Database-driven solution for editorial workflow
Admin Guide
WoodWing
Smart Connection
Enterprise
Installation & Administration
Guide
Version 4.2
Smart Connection Enterprise Admin Guide
iii
Chapter A Legal Disclaimer
Preface:
Legal Disclaimer
© 1998-2007 WoodWing Software bv. All Rights Reserved.
WoodWing Smart Connection Enterprise Administration Guide.
No part of this publication may be reproduced, stored in a retrieval
system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise, without the prior
written permission of WoodWing Software.
The information in this book is furnished for informational use only
and is subject to change without notice. The software described
herein is furnished under a license agreement, and it may be used or
copied only in accordance with the terms of the agreement.
Smart Layout, Smart Styles, Smart Catalog, Smart Hyphen, Smart
Speller, Smart Connection Pro and Smart Connection Enterprise are
trademarks of WoodWing Software. Adobe®, InDesign® and InCopy®
are trademarks of Adobe® Systems Incorporated. Apple®, Mac® and,
Macintosh® are trademarks of Apple Computer, Inc. registered in the
U.S. and other countries. Microsoft® and Windows® are trademarks of
Microsoft Corporation registered in the U.S. and/or other countries.
All other trademarks are the property of their respective owners.
Production Note:
This book was created electronically using Adobe
InDesign, Adobe InCopy, WoodWing Smart Styles,
and WoodWing Smart Connection Enterprise.
Smart Connection Enterprise Admin Guide
iv
Chapter 13 Contents
Contents
SECTION: INTRODUCTION
Chapter 1: Introduction
Manuals..................................................................................................................2
Required Knowledge........................................................................................2
Usage......................................................................................................................2
Conventions used in this Manual.................................................................3
Section Divisions in this Manual...................................................................3
Support..................................................................................................................4
A Smart Publishing Team.................................................................................4
SECTION: BASICS
Chapter 2: System Architecture
Architecture Overview.....................................................................................2
Scalability..............................................................................................................3
Integration............................................................................................................4
Architecture In-Depth.......................................................................................5
Chapter 3: Deployment Strategy
Where to Store the Files...................................................................................9
Machine Setup....................................................................................................9
Network Configuration................................................................................. 10
SECTION: SERVER
Chapter 4: Server Installation
Upgrading your Server.................................................................................. 12
Section A. Database Installation & Configuration............................... 13
Section B. PHP Installation & Configuration.......................................... 20
Section C. Making sure the WebServer is started................................ 27
Section D. Installing phpMyAdmin........................................................... 29
Section E. Installing Enterprise Server..................................................... 31
Smart Connection Enterprise Admin Guide
Chapter 13 Contents
Section F. Upgrading to Enterprise 4.2.................................................... 35
Section G. Testing the Enterprise Server................................................. 37
Chapter 5: Publication and Workflow Setup
Workflow Setup................................................................................................ 41
Additional Maintenance Options.............................................................. 64
Chapter 6: Server Configuration
Basic Configuration Settings....................................................................... 76
Configuring your Database Usage............................................................ 78
Where to Store the Files................................................................................ 79
Setting up Multiple Application Servers................................................. 80
Creating Named Queries.............................................................................. 80
Monitoring System Activity and Logging............................................... 84
Automatic JPG/PDF/EPS Creation............................................................. 86
Storing Layouts and Articles Locally........................................................ 88
Security............................................................................................................... 89
Versioning.......................................................................................................... 90
Customizing Web User Interface............................................................... 91
Geometry Update and Remote Module................................................. 95
Messages and Events..................................................................................... 97
Email Notifications.......................................................................................... 99
Password Management..............................................................................101
Reporting.........................................................................................................102
Web Editor.......................................................................................................103
Server-Side Preview Generation..............................................................105
Modifying Business Logic...........................................................................110
Advanced Settings........................................................................................111
Chapter 7: Server Internals
Application Server........................................................................................116
Customizing your Business Logic............................................................118
Database...........................................................................................................118
File Store...........................................................................................................122
Backup or Removal.......................................................................................124
Smart Connection Enterprise Admin Guide
vi
Chapter 13 Contents
SECTION: CLIENT
Chapter 8: Client Installation
Requirements.................................................................................................126
Installation.......................................................................................................126
Authorization and Registration................................................................127
Basic Client Configuration..........................................................................129
Chapter 9: Client Configuration
Configuration Settings................................................................................131
Client Automation.........................................................................................136
SECTION: EXTRA
Chapter 10: Troubleshooting
Common Errors..............................................................................................139
How do I see Version information?.........................................................140
Where to Find More information?...........................................................141
What information to Supply for Support?............................................141
Smart Connection Enterprise Admin Guide
SECTION: INTRODUCTION
Smart Connection Enterprise Intro
INTRO
Chapter 1
Smart Connection Enterprise Admin Guide
Chapter 1:
Introduction
Chapter 1 Smart Connection Enterprise
There are two Smart Connection Enterprise manuals: this
Installation & Administration Guide which explains how to install,
set up and administer Smart Connection Enterprise, and the User
Guide which explains how to use Smart Connection in InDesign and
InCopy.
Smart Connection Enterprise is highly customizable and allows
integration with any 3rd party database, content management
system, server or other system. This manual describes the standard
Smart Connection Enterprise setup using the standard WoodWing
server.
Required Knowledge
To use Smart Connection Enterprise, you must know how to work
with InDesign and/or InCopy, you must be familiar with basic
editorial workflow procedures and you need to have at least basic
knowledge of databases, and the applicable operating system(s).
Usage
For instructions explaining how users will accomplish their editing
and layout tasks using Smart Connection Enterprise in daily usage,
consult the Smart Connection Enterprise User Guide.
INTRO
Manuals
Smart Connection Enterprise Admin Guide
Chapter 1 Smart Connection Enterprise
Conventions used in this Manual
Smart Connection Enterprise is abbreviated to Enterprise
throughout the manual.
An important
note on a
feature or
action.
Indicates new
Smart Connection
Enterprise feature.
INTRO
An essential
feature or action
that is required
on your part.
Linux
Mac
Win
Apache
Oracle
Information only
applies to indicated
platform/system.
MS SQL
MYSQL
Section Divisions in this Manual
Section: Extra provides additional information. (Chapter 10)
EXTRA
Section: Client explains how to configure Smart
Connection Enterprise for use on a client (InDesign or
InCopy). (Chapters 8-9)
CLIENT
Section: Server explains how to install and configure Smart
Connection Enterprise on a server. (Chapters 4-7)
SERVER
Section: Basics provides information on system
architecture and deployment strategy. (Chapters 2-3)
BASICS
Section: Introduction explains the concept of the
Enterprise workflow and provides an introduction to
WoodWing Software. (Chapter 1)
INTRO
This manual has been divided into various sections so
that information can be easily accessed. Each section is
identified with a tab.
Smart Connection Enterprise Admin Guide
Chapter 1 Smart Connection Enterprise
Support
A Smart Publishing Team
Smart Connection Enterprise in combination with WoodWing’s Smart
Styles, Smart Layout, Smart Speller and Smart Hyphen plug-ins form
a Smart Publishing Team.
For copy-driven stories, Smart Styles can be used to quickly format
the complete story in one single action.
Smart Layout can be used to easily create layouts for new articles
consisting of multiple unlinked stories. These Smart Layout items can
be sent to InCopy as one unit without the need to select all elements
one by one. Smart Layout further enables InCopy editors to create
articles with multiple components and to adjust an article so it fits
the Smart Layout item exactly.
Smart Speller adds the enhanced spelling functionality of the
language institute *TALŌ™ to Adobe InDesign and Adobe InCopy
CS2.
Smart Hyphen introduces the intelligent syllable technology of the
*TALŌ™ language modules to Adobe InDesign and Adobe InCopy
CS2.
For more information on WoodWing products, visit
http://www.WoodWing.com.
INTRO
If you require further support with the installation, configuration
or administration of Smart Connection Enterprise, please contact
your local reseller/integrator or visit the WoodWing Knowledge Base
which contains FAQ (Frequently Asked Questions) at:
http://www.WoodWing.com
Smart Connection Enterprise Admin Guide
SECTION: INTRODUCTION
Chapter 2
System Architecture
BASICS
Smart Connection Enterprise Admin Guide
Chapter 2:
System Architecture
Chapter 2 System Architecture
Architecture Overview
Enterprise uses a 3-tier architecture:
Client
SOAP
Application Server
Database
Users interact with applications at the client layer which can be either
an application like InDesign or a web-application via a browser. Also
other systems can act like a client. All of these clients connect to the
customizable Application Server via a publishing oriented XML/SOAP
protocol. The Application Server has all business logic to determine
which actions are allowed, which trigger other actions etc. The
application server connects via a database independent module to
the underlying SQL database and possibly a file-server to store the
binary files. Below we will describe each of the layers in more detail.
During the nineties the 3-tier model was used more and more to
allow scalable solutions with big boost during the internet hype.
Often ignored is the de-coupling of the layers. As a result a lot of 3tier systems have a lot of business logic encapsulated into the clients
which make it impossible to customize and limits the flexibility.
Enterprise has a very clean 3-tier model with a lot of independence
between the layers. The client layer works against the WoodWing
Application Server, but if integrated with a CMS it will talk to a
completely different server without the WoodWing server involved
at all. The same independence is also available between Application
Server and Database.
BASICS
SQL
Smart Connection Enterprise Admin Guide
Chapter 2 System Architecture
Scalability
The flexible 3-tier model allows maximum scalability.
You can even run all layers on 1 machine, a typical demo setup which
we don’t pencil out here. For small installations, the Application
Server and Database can run on one machine:
Client
The next typical step is to separate the Application Server and
Database over two machines.
Client
Application Server
Database
And if you need more muscle you can introduce as many additional
application servers as you want/need. Depending on your database
choice you can also distribute your database:
Client
Application Server
Database
BASICS
Application Server
Database
Smart Connection Enterprise Admin Guide
Chapter 2 System Architecture
Integration
Besides the free choice of database you are also free to choose the
complete back-end. Because the client applications communicate
with the server via an open SOAP interface, any back-end can be
integrated when it provides a thin SOAP layer. System Integrators
never had such an easy way to fully integrate InDesign and InCopy.
Publishers can now use InDesign and InCopy and easily integrate
with any CMS like Documentum.
Enterprise Client
SOAP
SOAP Services
Any Back-End/CMS
BASICS
For more information about this integration contact WoodWing for
the Smart Connection Enterprise SOAP toolkit.
Smart Connection Enterprise Admin Guide
Chapter 2 System Architecture
Architecture In-Depth
The Clients
The clients communicate with the Application server using SOAP
(XML message via HTTP). The SOAP protocol is documented via a socalled WSDL which allows you to integrate any client or integrate the
Enterprise clients with any server. Several WoodWing partners have
created additional applications using this SOAP layer which includes
planning tools, wire tools etc.
Adobe Tools
Web Browser
HTML /HTTP
SCPro/Ent plug-ins
WebApps
SOAP
PHP
SOAP Services
Business Logic
Application Server
to DB interface
Besides the traditional clients, Enterprise also comes with a number
of Web applications. The out-of-the-box WebApps allow you to
browse and query for your files, upload images or show management
information via convenient pie-chart’s, column-charts and more.
These WebApps are PHP pages implementing specific features. The
PHP page itself executes on the server where the user can use any
web-browser as the front-end user interface. As usual with Enterprise,
it’s all open, so the user interface of these WebApps can be
customized via HTML templates, the functionality can be adapted via
PHP or you can have your own WebApps developed. The WebApps
also connect via the Application server which means all business
logic is in full effect and the WebApps them self stay very simple.
BASICS
Client Layer
10
Smart Connection Enterprise Admin Guide
Chapter 2 System Architecture
We have put a lot of effort into the 0 layer to make sure it’s flexible
enough to integrate any back-end. Also it has been designed
with remote usage in mind. With traditional 3-tier systems the
communication is typically very chatty, meaning a lot of messages
are send back and forth resulting in poor remote performance. The
Enterprise SOAP protocol has been designed from the ground up to
be as least chatty as possible ensuring maximum performance and
scalability.
Application Server
SOAP
PHP
Apache or IIS
Web Server
SOAP
C
o
n
f
i
g
HTML
PHP
HTML
SOAP Services
Business Logic
Admin
Database Interface
Application Server
File system
File Store
SQL
SQL DB
Database Layer
The SOAP services are used for clients to connect via HTTP. The PHP
interface goes directly into business logic layer with the same calls as
used by the SOAP layer. The business layer connects to the Database
via the Database Interface offering DB independence.
BASICS
The Application Server consists of the following modules:
Smart Connection Enterprise Admin Guide
11
Chapter 2 System Architecture
The Application Server comes with the sources and runs with Apache
or MS-IIS as web-server, using PHP via CGI or ISAPI/NSAPI.
The configuration module contains all typical settings used to
configure the application server. If needed the business logic layer
can be further customized via PHP.
Database
As indicated earlier, the database can be any common SQL database.
Supported databases vary per reseller/integrator. The data model
can be easily customized to allow custom meta data fields on top of
the very rich meta data offered out of the box. You can also integrate
the data model with existing databases if you want. Enterprise even
allows the use of non-SQL databases which would just require a PHP
script to connect to this non-SQL database.
As said, the actual files can be either stored inside the database or
in the file-system, the latter being the default setup. When storing
the files in the file-system it is important to realize that the client
layer does not access the file-server directly; this is all done via the
application server which guards over the files. So from the client side
there is no need to mount a file-server: it’s all plain internet protocol
that is used for the network communication.
The default data-model contains tables for the editorial entities such
as publication, issues, section and objects but also holds relations
between objects to know which article is placed in which page,
which article is planned, which pages are part of which InDesign
layouts, which versions are available etc. Furthermore it contains
tables for Enterprise’s publishing oriented security model. Lastly
some tables are available for globally defined queries and user
specific settings to allow roaming users.
BASICS
Depending on the setup, the business logic will store all files as blob’s
inside the SQL database or it will store all meta data and relations
into the database and the files themselves into a file-system. In the
latter case, the default, the file-system is conceptually party of the
database layer.
Smart Connection Enterprise Admin Guide
12
SECTION: BASICS
Chapter 3
Deployment Strategy
BASICS
Smart Connection Enterprise Admin Guide
13
Chapter 3 Deployment Strategy
Chapter 3:
Deployment Strategy
Before actually starting your installation you need to consider the
deployment strategy. As explained in the previous chapter, Smart
Connection Enterprise can be installed in various configurations. This
chapter will provide some basic guidance. Consult your local reseller/
integrator for advice about your particular situation.
Where to Store the Files
When using MySQL we strongly advice to store the files outside the
database. For other databases we advice to store them outside the
database as well, except if there are compelling arguments not to.
Machine Setup
As explained in the previous chapter there are various options
on how to allocate the Enterprise components to machines. The
components to allocate are:
Application Server
Database
File Store (if you have chosen to store your files outside the
database)
It is impossible to provide generic advice on how to allocate these
modules to machines as it highly depends on the hardware used,
type of publication (file sizes), interaction frequency, number of
concurrent users etc. Therefore the following are just some generic
rules of thumb:
For very small systems up to 50 users, put all components on
one machine. This means the least administration overhead.
BASICS
Enterprise supports three models to store the actual files: as a BLOB
inside the database, as plain files in the file system or as compressed
files in the file system. In all cases the database contains all meta data
and the client layer will never access the files directly, always via the
application server.
Smart Connection Enterprise Admin Guide
14
Chapter 3 Deployment Strategy
For small to medium sized systems from 50 to 150 users,
separate the application server to a separate machine and run
the database and File Store on one machine. Depending of
the hardware used it could also make sense to separate the
file system and run the database and application server on
one machine. Depending on the actual system load you could
introduce an additional application server.
Network Configuration
Whichever configuration you choose, it is important to realize that
any file transfer happens from database to application server and
from application server to client. Whenever the files (either inside a
Database or File Store) are not stored on the same machines as the
application server this means each file will be transferred across the
network twice.
Although typical clients are connected at 100 Mbit network, we
strongly advise a 1 Gbit (or higher) network between the application
server and the server holding the files (Database or File Store).
Preferably a separate network segment is used as well.
Client
100 Mbit or up
Application Server
1 Gbit or up
Database
When a lot of clients will use the system, we advise to setup
separate network segments for the client and application servers.
In other words: use a network segment for a number of users and a
dedicated application server for these users. Each application server
is connected with two network segments: besides the client segment
also the high-speed segment to connect to Database/File Store.
BASICS
For larger systems (150 users and up) we advise using a
dedicated server for the File Store, a dedicated database server
and one or more application servers.
Smart Connection Enterprise Admin Guide
15
SECTION: SERVER
Chapter 4
Server Installation
SERVER
Smart Connection Enterprise Admin Guide
16
Chapter 4:
Server Installation
Chapter 4 Server Installation
This chapter will walk you through the installation steps to
completely install the Enterprise server components. As a starting
point it is assumed that the basic server installation (operating
system, network and WebServer) has been performed successfully.
At a high-level, the installation consists of the following steps:
Section A Database Installation & Configuration
Section A1 MySQL
Section A2 Oracle 10g
Section A3 MSSQL 2005
Section B PHP Installation & Configuration
Section C Making sure the WebServer is started
Section E Installing Enterprise server 4.2
Section F Upgrading to Enterprise 4.2
Section G Testing the installation
Upgrading your Server
If you have already installed Enterprise server and want to upgrade to
version 4.2, you need to replace the server software and update the
database model. (See Section F: Upgrading to Enterprise 4.2 for more
details.)
The steps below will start with the generic actions for a standard
installation using the standard paths on Mac OSX, Windows or
RedHat Linux. Below this generic information, additional information
is given for customized installations. If a single server setup is
performed, the basic installation steps should be sufficient to setup
the system without modifying any Enterprise configuration file.
SERVER
Section D Optionally: Install phpMyAdmin to administer MySQL
Smart Connection Enterprise Admin Guide
17
Chapter 4 Server Installation
Section A. Database Installation & Configuration
Enterprise has been extensively tested and is certified by WoodWing
to work with either MySQL v4.1.x and 5.0.x (other versions not
supported), Oracle 9/10 or MS-SQL 2000/2005.
Installation of each of these database servers is different so each
will be documented under its own heading. Even there, we will
mostly skip the installation of the database server itself and refer
to its installation manual to correctly install the database server.
Special consideration will be given on how to configure the different
database servers to work with Enterprise.
Using XAMPP
Section A1 MySQL Installation & Configuration
Note: When asked for user name and password, make sure it matches
the DBUSER and DBPASS options in config.php (the file that is used
for storing information on how the database can be accessed.)
Enterprise has been extensively tested and is certified by WoodWing
to work with MySQL v5.0.27. That said, Enterprise has been used
by WoodWing and others on different version of MySQL as well.
Contact your local reseller/integrator or www.mysql.com for the latest
information on certified versions of MySQL. In general, we advice to
always use the latest/newest versions of all supported applications.
Before installing MySQL v5.0.x, make sure that any currently installed
version of MySQL is not running. (Refer to the MySQL Read Me file for
more information.)
Note: OSX Server 10.2 and 10.3 come with MySQL v3.23.x installed
which is NOT supported for usage with Enterprise.
SERVER
XAMPP is a distribution which combines Apache, PHP and MySQL
in a single package. Ideal for quickly setting up a new Enterpriseserver. XAMPP is available for most operating systems and is readily
available at http://sourceforge.net/projects/xampp/. First install XAMP
and then complete the configuration of Smart Connection Enterprise
by following the relevant sections in this manual.
Smart Connection Enterprise Admin Guide
18
Chapter 4 Server Installation
Windows
Configuration of MySQL 5.0.27 on Windows
After running the installer, you are given the option to start the
configuration wizard. You can also run the configuration wizard
at a later time. The following settings are important to running
Enterprise:
Step 1. Install As Windows Service
Select this option to make sure MySQL is started automatically.
Normally this option is allready selected by default.
Step 2. Include Bin Directory in Windows PATH
Your webserver must be able to find the mysql-executables/
libraries. Select this option to make sure the webserver can find
them. Normally this option is not selected, so you need to select
it.
Step 4. Enable Strict Mode
At this time Enterprise does not support Strict Mode. Make sure
to unselect it.
Step 5. Default Character Set / Collation
The Enterprise-database needs the UTF8-character set/collation.
Either make this the default for all databases here or be sure
to select UTF8 as the character set/collation when creating the
Enterprise-database.
SERVER
Step 3. Modify Security Settings
Enter a root password if you have not entered one yet. (And be
sure to remember it.)
Smart Connection Enterprise Admin Guide
19
Chapter 4 Server Installation
Mac OSX / Linux
Configuration of MySQL 5.0.27 on MacOSX/Linux
After installing MySQL you need to edit the my.cnf file:
Step 1. Under the heading [mysqld], add:
default-character-set=utf8
Step 2. If necessary remove or comment out (#):
sql-mode = strict_trans_tables
sql-mode = strict_all_tables
Also make sure MySQL is automatically started at start-up, either
by the RPM used for installation or by moving it to your startupitems (MacOSX only).
Database References
SERVER
For downloading MySQL installers, visit http://www.mysql.com.
Smart Connection Enterprise Admin Guide
20
Chapter 4 Server Installation
Section A2. Oracle 10g Configuration
Note: When asked for user name and password, make sure it matches
the DBUSER and DBPASS options in config.php (the file that is used
for storing information on how the database can be accessed.)
Preparing the database
After installing Oracle 10g you need to set up the Enterprise
database. Although creating the tables themselves can be done from
the Enterprise web pages, you need first to prepare the database. To
do this, start the Oracle Database Configuration Assistant and follow
the instructions. Each number given here refers to the step number
in the main window.
Step 1. Select 'Create a Database'.
Step 2. Select 'General Purpose'.
Step 4. Click 'Next'.
Step 5. Type passwords for the database administrators.
Step 6. Choose the storage type, such as the default (File
System).
Step 7. Select the File Locations, such as the default (File System).
Step 8. Specify the Flash Recovery Area: no changes necessary.
Step 9. Sample Schemes / Custom Scripts: no changes necessary.
Step 10. Initialization parameters:
a)
'Memory' tab: no changes necessary
b) 'Sizing' tab: no changes necessary
c)
'Character Sets' tab: select 'Use Unicode (AL32UTF8)
and select 'UTF8 - ...’ as the National Character Set.
d) 'Connection Mode' tab: no changes necessary.
Step 11. Database Storage: no changes necessary.
Step 12. Finish.
SERVER
Step 3. Give the database a name, for example 'SCENT4'.
(Careful: the database name can be no longer than 8 characters.)
The SID is automatically calculated.
Smart Connection Enterprise Admin Guide
21
Chapter 4 Server Installation
The first part of creating the database is now finished. Next, you will
need to set up a table space and database users.
A. Creating the Table Space
Now that the database is prepared, you need to create a table space
in which the tables will be created:
Step 1. Log in to the ‘Oracle Enterprise Manager’ with user name
SYS as SYSDBA.
Step 2. Create a new table space, preferably using the same
name as the database, in this example ‘SCENT4’.
Step 3. Enter a filename for the table space.
Step 4. Add the table space.
B. Creating Database Users
Creating Separate Users (Root User and WoodWing User):
Creating the Root User
Step 1. Log in to the ‘Oracle Enterprise Manager’ with user name
SYS as SYSDBA (if not logged in yet).
Step 2. Create a new user.
Step 3. Enter ‘Root’ as name.
Step 4. Enter a password (twice).
Step 5. Choose ‘SCENT4’ (the name of the created table space) as
default table space.
Step 6. Choose ‘TEMP’ as temporary table space.
Step 7. Add the system privilege (System-tab) ‘CREATE
SYNONYM’.
Step 8. Add the user.
SERVER
You have the option to either create two separate users or one
combined user.
Smart Connection Enterprise Admin Guide
22
Chapter 4 Server Installation
Creating the WoodWing User
Step 1. Log in to the ‘Oracle Enterprise Manager’ with user name
SYS as SYSDBA (if not logged in yet)
Step 2. Create a new user.
Step 3. Enter ‘WoodWing’ as name.
Step 4. Enter a password (twice).
Step 5. Choose ‘SYSTEM’ (the name of the created table space) as
default table space.
Step 6. Choose ‘TEMP’ as temporary table space.
Step 7. Add the roles (Role-tab) ‘CONNECT’, ‘SELECT_CATALOG_
ROLE’, ‘DBA’, ‘CTXAPP’.
Step 9. Add the user.
Creating a Combined User:
Step 1. Log in to the ‘Oracle Enterprise Manager’ with user name
SYS as SYSDBA (if not logged in yet)
Step 2. Create a new user.
Step 3. Enter ‘root’ as name.
Step 4. Enter a password (twice).
Step 5. Choose ‘SCENT4’ (the name of the created table space) as
default table space.
Step 6. Choose ‘TEMP’ as temporary table space.
Step 7. Add the roles (Role-tab) ‘CONNECT’, ‘SELECT_CATALOG_
ROLE’, ‘DBA’, ‘CTXAPP’.
Step 8. Add the following system privileges (System-tab) ‘CREATE
PROCEDURE’, ‘CREATE TRIGGER’, ‘CREATE TYPE’, ‘EXECUTE ANY
PROCEDURE’, ‘EXECUTE ANY TYPE’, ‘SELECT ANY DICTIONARY’,
‘SELECT ANY TABLE’, ‘UNLIMITED TABLESPACE’.
Step 9. Add the user.
SERVER
Step 8. Add the following system privileges (System-tab) ‘CREATE
PROCEDURE’, ‘CREATE TRIGGER’, ‘CREATE TYPE’, ‘EXECUTE ANY
PROCEDURE’, ‘EXECUTE ANY TYPE’, ‘SELECT ANY DICTIONARY’,
‘SELECT ANY TABLE’, ‘UNLIMITED TABLESPACE’.
Smart Connection Enterprise Admin Guide
23
Chapter 4 Server Installation
A3. MSSQL 2005 Configuration
Note: When asked for user name and password, make sure it matches
the DBUSER and DBPASS options in config.php (For more information
on the config.php file, see Chapter 6: Server Configuration.)
Step 1. Start Microsoft SQL Server Management Studio.
Step 2. In the “Object Explorer” (see panel at left side), do the
following:
Step 2a. Unfold the machine name entry (root node of the tree)
Make sure that the machine name matches the DBSERVER option
in configserver.php.
Step 2b. Unfold the “Databases” entry and right mouse click in
order to show the context menu.
Step 2c. Select ‘New DataBase...’ from the context menu.
Step 3. The “New Database” dialog appears. Ensure of the following:
Step 3b. Type ‘SCEnterprise’ as the database name.
(This can be any name, as long as it matches the DBSELECT
option in configserver.php.)
Step 3c. Select the “Options” entry.
Step 3d. For collation, choose the ‘Latin1_General_CI_AI’ option.
IMPORTANT: You must choose the Latin1_General_CI_AI option,
regardless of your language, country or region. Other options are
NOT supported by Enterprise!
Step 3e. Press the OK button.
In the Mangement Studio, the “Tables” entry under the “SCEnterprise”
shows all tables created by the dbadmin tool.
TIP: If you want to have multiple databases and you already have a
SCEnterprise database installed, do NOT rename the SCEnterprise
database in order to create another one with the name SCEnterprise.
Creating another SCEnterprise database results in errors in the
Mangement Studio. Instead, create a new database with a different
name (for example SCEnterpriseDemo) and rename the DBSELECT
option in the configserver.php file as well. This enables you easily
switch between installed databases.
SERVER
Step 3a. Make sure the “General” entry is selected.
Smart Connection Enterprise Admin Guide
24
Chapter 4 Server Installation
Section B. PHP Installation & Configuration
Enterprise has been extensively tested and is certified by WoodWing
to work with PHP v5.2.0. Contact your local reseller/integrator for the
latest information on certified versions of PHP.
For Mac OSX and Linux it is important to use a PHP distribution
that includes the GD2, SOCKETS, MBSTRING and EXIF libraries. The
Mac OSX PHP distribution by Entropy and the XAMPP distribution
does contains these libraries. Red Hat Enterprise Linux v3.x PHP
distribution is also known to include these libraries.
MS SQL / Oracle
When MS-SQL is used in combination with MS-IIS it is
required to use the ISAPI version of PHP. The ISAPI version of PHP
can only be installed manually. (See http://www.visualwin.com/
PHP-ISAPI for more information.)
Choose the standard installation.
Linux
For Linux also install the MySQL extension for PHP.
Windows
The PHP installer for Windows will prompt you to select your IIS
version. The following table shows which version is built into
which version of Windows:
IIS version
Version of Windows
5.0
Windows 2000
5.1
Windows XP
6.0
Windows Server 2003
Make sure the "extension_dir" is pointing to the folder in which
the extensions mentioned above reside.
SERVER
Step 1. Execute the PHP v5.2.0 installer
Smart Connection Enterprise Admin Guide
25
Chapter 4 Server Installation
Step 2. Edit the php.ini file
Mac OSX
Step 2a. Edit the php.ini file
Location: user:local:php5:lib (location depends on installation)
• Ensure that ‘variables_order’ is set to “EGPCS”:
variables_order = “EGPCS”
• Change the following settings to at least the values shown
below:
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 200M
Note: you can edit this file by using a text editor like
TextWrangler or BBEdit. Use the menu File > Open Hidden to
browse to /usr/local/php5/lib.
Alternatively, start the Terminal (Applications:Utilities:Terminal)
and enter:
cd /usr/local/php5/lib
sudo pico -w php.ini
Type the Root Password and you’re ready to edit.
Step 2b. Reboot.
Note: instead of rebooting you can also just restart Apache.
Windows
Step 2a. Install required PHP extensions
When one of the following DLLs is missing, copy them from PHP
setup’s extensions folder (on Enterprise CD ‘Manual Installation/
Extensions’) to C:/php/ext: php_gd2.dll, php_exif.dll,
php_sockets.dll and php_mbstring.dll.
When using MS SQL Server, also copy php_mssql.dll.
Continued Ë
SERVER
Add the correct time zone, for example:
date.timezone = Europe/Amsterdam
See http://nl3.php.net/manual/en/timezones.php for a full list of
time zones.
Smart Connection Enterprise Admin Guide
26
Chapter 4 Server Installation
Á Continued From
Note: Make sure when using MS SQL 2000/2005 that the
Client Tools is installed at each of the Enterprise Application
Server machine(s), otherwise the connection to the database will
fail.
This is because PHP5 ships a bad version of the ntwdblib.
dll module (2000.2.8.0) which resides at bad location as well
(c:\php). This module needs to be removed(!) manually after
PHP5 installation. A newer version (2000.80.194.0) is installed.
at a better location (c:\windows\system32) by the Client Tools
installation. After this update, it’s required to reboot the machine
or restart internet services. Note that installing Client Tools will
not install the MSSQL server, which is good to know when your
Application Servers are running on different machines than your
database.
SERVER
Step 2b. Edit <windows>/php.ini
a. Uncomment (remove ;)
extension=php_gd2.dll
extension=php_sockets.dll
extension=php_mbstring.dll
extension=php_exif.dll
b. If MS SQL Server is used then also uncomment (remove ;)
extension=php_mssql.dll
Set the following settings:
mssql.textlimit = 2147483647
mssql.textsize = 2147483647
c. If Oracle Server is used then also uncomment (remove ;)
extension=php_oci8.dll
d. If Mysql is used then also uncomment (remove ;)
extension=php_mysql.dll
e. Change the following settings to at least the values shown
below:
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 200M
Continued Ë
Smart Connection Enterprise Admin Guide
27
Chapter 4 Server Installation
Á Continued From
f. Add the following entries:
save_path= C:\PHP\sessiondata
upload_tmp_dir = C:\PHP\uploadtemp
(Ensure that both folders have full Read and Write access
enabled for the Internet Guest User.)
Add the correct time zone, for example:
date.timezone = Europe/Amsterdam
See http://nl3.php.net/manual/en/timezones.php for a full list of
time zones.
g. Ensure that ‘variables_order’ is set to “EGPCS”:
variables_order = “EGPCS”
Note: The extension=php_exif.dll must be the last
in the list of uncommented extentions.
Note: instead of rebooting you can also just restart MS-IIS.
Linux
Step 2a. Edit the php.ini file
• Ensure that ‘variables_order’ is set to “EGPCS”:
variables_order = “EGPCS”
• Change the following settings to at least the values shown
below:
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 200M
• Add the correct time zone, for example:
date.timezone = Europe/Amsterdam
See http://nl3.php.net/manual/en/timezones.php for a full list of
time zones.
Step 2b. Set the following MS SQL settings:
mssql.textlimit = 2147483647
mssql.textsize = 2147483647
Continued Ë
SERVER
Step 2c. Reboot when using ISAPI
Smart Connection Enterprise Admin Guide
28
Chapter 4 Server Installation
Á Continued From
Step 2c. Edit /httpd/conf.d/conf.php
a. Increase LimitRequestBody to 100000000.
b. Remove index.php from DirectoryIndex.
Step 2d. Reboot.
Note: instead of rebooting you can also just restart Apache.
Additional PHP Information
Mac OSX
Mac OSX v10.4 comes with PHP v4.3.10 which is not supported.
The correct PHP installer can be executed without the need to
un-install PHP.
PHP version 4:
PHP version 5:
/usr/bin/php -v
/usr/local/php5/bin/php -v
Note that checking the version only is not the complete test, the
included PHP libraries are also important. These are tested in the
last installation step.
Apache
The PHP installer modifies the Apache configuration files
for PHP. To do this manually, edit /httpd/httpd.conf to enabled
php support in both the Load Module and Add Module list.
Some Apache installations overrule the character set of HTML
pages. As a result, accented characters are not displayed
correctly by the WebApps. This can be fixed by changing/adding
AddDefaultCharSet in the Apache config file
/httpd/httpd.conf to:
AddDefaultCharSet UTF-8
or
AddDefaultCharSet off
Also set the DefaultType to:
DefaultType text/html
Continued Ë
SERVER
To check the version of an PHP installation, open the Terminal
and type:
Smart Connection Enterprise Admin Guide
29
Chapter 4 Server Installation
Á Continued From
The default web page for Enterprise should be index.htm.
However, for Apache it can be index.php as well. In that case, the
logon page remains empty which is obviously wrong. To avoid
this problem, make sure the index.htm file is listed above the
index.php file in the httpd configuration file.
Windows
• To use Apache for Windows instead of MS IIS requires some
additional configuration. (For more details refer to the PHP/Apache
documentation.)
[mysqld]
basedir=E:/installation-path/
datadir=E:/data-path/
After your have installed MySQL, the installation directory will
contain 4 files named my-small.cnf, my-medium.cnf, my-large.cnf,
my-huge.cnf’ You can use this as a starting point for your own
C:\my.cnf file.
The PHP installer installs the CGI version of PHP, the ISAPI version
can only be installed manually:
a. Copy PHP tree to c:/php
b. Copy php5ts.dll to windows\system32
c. Add a new webservice extension:
For Windows 2003 Server:
Open Internet Information Manager, go to WebService
Extensions and add new webservice extension:
Extension name: php
Set extension to allowed: yes
Required file: c:\php\sapi\php5isapi.dll
Continued Ë
SERVER
If you install MySQL in a folder other than C:\MYSQL, or you
intend to start MySQL on NT/Win2000 as a service, you must
create a file named C:\MY.CNF or \Windows\my.ini with the
following information:
Smart Connection Enterprise Admin Guide
30
Chapter 4 Server Installation
Á Continued From
For Windows XP:
Open Internet Information Manager (via Control Panel,
Administration Tools). Open the Local Computer list, followed
by Web Sites, Default Web Site. Right-click on SCEnterprise
and select Properties. Click the Create button followed by the
Configuration button.
Extension name: php
Set extension to allowed: yes
Required file: c:\php\sapi\php5isapi.dll
d. Go to Websites Properties - Home Directory - Configuration
and add:
Executable: c:\php\sapi\php5isapi.dll
All Verbs
Verify: yes
Note: Instead of using the ISAPI version of PHP, it is required
to restart the WebServer when a change is made in php.ini.
When using Oracle in combination with IIS, your IIS user has to
have Write Access for the Oracle home folder. If this is not the
case you will not be able to connect to the database.
PHP 5.2 has been linked against a newer version of the
OCI.DLL than the one delivered with the Oracle 9 installation.
It is necessary to download and install the Oracle InstantClient.
This can be done from http://www.oracle.com/technology/
software/tech/oci/instantclient/index.html
To install the InstantClient on Windows:
• Unzip the zip to a folder to for instance C:\instantclient
• Copy tnsnames.ora from the admin folder to C:\instantclient
• Set/add the TNS_ADMIN environment variable to
‘C:\instantclient’
• Set/add the NLS_LANG environment variable to the appropriate
value. This can be looked up in the registry.
SERVER
Script Engine: yes
Smart Connection Enterprise Admin Guide
31
Chapter 4 Server Installation
PHP References
http://www.php.net
PHP reference site with installers for Windows.
http://www.entropy.ch/software/macosx/php/
For downloading the certified Entropy PHP build for Mac OSX.
Section C. Making sure the WebServer is started
Mac OSX
Step 1. Start WebServer if needed.
MAC OSX client:
•
System Preferences - Sharing
•
Start ‘Personal Web Sharing’ if needed
•
Start Server Admin
•
Under Computers/Services, select Web
•
In the toolbar, click Start Service
Step 2. Test WebServer.
Open Safari, or another web-browser, and type http://localhost. If
this fails, try http://127.0.0.1. This should bring up a welcome page
from Apache. If not, consult the Apple documentation to make
the WebServer work.
SERVER
MAC OSX Server:
Smart Connection Enterprise Admin Guide
32
Chapter 4 Server Installation
Windows
Step 1. Start WebServer if needed
•
Control Panel > Admininstration Tools > Services
•
Start ‘World Wide Web Publishing’ if needed
Step 2. Test WebServer
Open Internet Explorer, or another web-browser, and type
localhost. This should give the MS-IIS welcome page. If not,
consult the Microsoft documentation to make the WebServer
work.
Possible failures
Oracle uses a documentation tool on port 80. The Oracle tool can
be stopped or removed.
Step 1. Start WebServer if needed
To test if Apache is working, type at the command prompt:
/etc/init.d/httpd status
To start Apache, type at the command prompt:
/etc/init.d/httpd start
Making sure Apache starts at start-up can be done in several
ways, an east way is to edit the file /etc/rc.local and add the
following line at the bottom:
/etc/init.d/httpd start
Step 2. Test WebServer
Open web-browser and type http://localhost. If this fails, try
http://127.0.0.1. This should give the Apache welcome page. If
not, consult the Linux documentation to make the WebServer
work.
SERVER
Linux
Smart Connection Enterprise Admin Guide
33
Chapter 4 Server Installation
Section D. Installing phpMyAdmin
This is an optional installation step when using MySQL. When using
MySQL it is strongly recommended to install phpMyAdmin. It is also
recommended that you use a version that is 2.7 or higher.
Step 1. Copy phpMyAdmin files to the web root
Mac OSX
Copy the phpMyAdmin folder to:
/Library/WebServer/Documents
Windows
Copy the phpMyAdmin folder to:
c:\inetpub\wwwroot
Step 2. Test
Type http://localhost/phpMyAdmin/index.php in your browser.
If you get an error like "Forbidden - You don’t have permission to
access /phpMyAdmin/index.php on this server" you need to check
the file-system access rights on the phpMyAdmin folder and make
sure that the webserver user (Mac OSX: www, Windows: IUSR_
<servername>, Linux: nobody) has at least read access. An easy fix
is to recursively apply read access to Other (Mac OSX and Linux) or
Everyone (Windows).
If the sources of the PHP script are displayed, it means that the
WebServer has no association for the .php extension. This can be
fixed in the Apache configuration file or MS Internet Information
Manager.
SERVER
Linux
Copy the phpMyAdmin folder to:
/var/www/html
Smart Connection Enterprise Admin Guide
34
Chapter 4 Server Installation
Additional phpMyAdmin Information
Open the file config.inc.php in your favorite editor and change
the values for Host, User, Password and Authentication Mode to fit
your environment. Here, Host means the MySQL server. Also insert
the correct value for $cfg[‘PmaAbsoluteUri’]. Have a look at the
Configuration section for an explanation of all values.
phpMyAdmin References
http://www.phpmyadmin.net
SERVER
Smart Connection Enterprise Admin Guide
35
Chapter 4 Server Installation
Section E. Installing Enterprise Server
So far, the installation steps were all for generic software
components. The steps below will install the Enterprise specific
software.
Step 1. Installing the Application Server
Copy the complete SCEnterprise folder (containing index.php,
index.html, index.htm etc) to:
Mac OSX
Copy the SCEnterprise folder to:
/Library/WebServer/Documents
Windows
Copy the SCEnterprise folder to:
c:\inetpub\wwwroot
Step 2. Create File Store folder and apply access rights
Note: This step only needs to be performed when your installation
will store files outside the database (which is the standard setup).
Default locations for File Store folder:
Mac OSX
/FileStore
Windows
c:\FileStore
Linux
/FileStore
Note: these default locations are not locations we advise to use for
production systems. They have just be chosen to allow easy initial
installation on all machines. You can always change this later on.
SERVER
Linux
Copy the SCEnterprise folder to:
/var/www/html
Smart Connection Enterprise Admin Guide
36
Chapter 4 Server Installation
Make sure the WebServer user (Mac OSX: www, Windows: IUSR_
<ServerName>, Linux: nobody) has read and write access (and for
Windows also delete access) to the file store.
Step 3. Editing Enterprise configuration file(s)
Note: If a standard installation is performed using all standard
paths with Application server, Database and File Store all on a single
machine, there is no need to change the basic configuration file.
The configuration file can be found at the following location:
Mac OSX
/Library/WebServer/Documents/SCEnterprise/config
Windows
c:\inetpub\wwwroot\SCEnterprise\config
The following settings need to be checked and/or changed:
Setting
Description
BASEDIR
OS file server path of the
SCEnterprise folder. Ensure to edit the
correct BASEDIR setting of your OS.
INETROOT
Web server path of SCEnterprise
folder.
DBSELECT
Name of database, default
SCEnterprise.
DBUSER
Database user to be used by the
Application Server. For a default
installation this should be set to
"root" for MySQL and to "sa" for MSSQL.
DBPASS
Password for the database user.
ATTACHMENTDIRECTORY
Path to the File Store, which can be a
mount point on a different machine.
SERVER
Linux
/var/www/html/SCEnterprise/config
Smart Connection Enterprise Admin Guide
37
Chapter 4 Server Installation
EXPORTDIRECTORY
Folder in which exports are
downloaded.
Note: Since you are editing PHP code, always use forward slashes ‘/’
as path separators and make sure to keep the correct PHP syntax.
When the database will be on a different server than the Application
Server or when you do not use MySQL or files must be stored in
the database, or you want to use a different file structure in the File
Store, you also need to edit configserver.php. (See Chapter 6: Server
Configuration for more details.)
Step 4. Creating the SCEnterprise database
How to create the database depends on the database server
used. Please note that the database does not have to be named
SCEnterprise, you can name it anyway you want. Take care though
that the DBSELECT option in config.php is named likewise.
MySQL
Open your web-browser and go to
http://localhost/phpMyAdmin/index.php.
b.
Create a new database named SCEnterprise.
c.
Select ‘utf8_general_ci’ as collation.
d.
Click on the Import tab, select SCEnterprise.sql from the
SCEnt Server CD and press Go.
My SQL Server
Inside MS SQL Server Enterprise Manager, create a database
named SCEnterprise.
Oracle
See Section A2.
SERVER
a.
Smart Connection Enterprise Admin Guide
38
Chapter 4 Server Installation
5. Creating the Enterprise table-structure
Open your web-browser and go to http://localhost/SCEnterprise/
server/admin/dbadmin.php. If all is well, the web page will tell you
that no tables have been created yet. Click on 'Update' to create the
Enterprise tables and populate them with initial values.
Oracle
To be able to run dbadmin.php succesfully you need to set the
DBUSER in config.php to ‘Woodwing’. This is a temporary measure
because the normal ‘Root’-user does not have the privileges
to create or alter tables. Be sure to reset DBUSER to ‘Root’ after
having run dbadmin.php.
Note: When a Combined User has been created (see the
section Creating Database Users), this step is not needed.
Oracle
Execute in the following order:
(logged in as WoodWing user):
scent420.ora.sys.sql
(logged in as root user)
scent420.ora.trx.sql
MSSQL
Execute in the following order:
scent420.mssql.sql
Additional Enterprise Server Information
The standard setup uses a database user root without password.
This is obviously not secure (just to ease initial installation) and we
strongly recommend to create and use a new database user WITH a
password.
SERVER
Note:If there are any problems, you may want to create the database
yourself by executing the relevant sql-scripts available in the
/scenterprise/server/dbscripts-folder in your database-tool.
MySQL
scent420.mysql.sql
Smart Connection Enterprise Admin Guide
39
Chapter 4 Server Installation
Section F. Upgrading to Enterprise 4.2
Smart Connection Enterprise version 3.3 or higher can be upgraded
to version 4.2. This is a fairly simple process, but before you upgrade
you may want to backup your data first as a safety precaution:
Step 1. Create a dump/backup of your existing SCEnterprise
database.
Step 2. Backup the file store.
Step 3. Backup SCEnterprise config files (only if you have made
changes).
Step 4. Backup the SCEnterprise server directory if you have
made modifications to the server code.
Next, log in to Enterprise as administrator by opening
http://localhost/scenterprise/ in your web-browser. Then, open
http://localhost/scenterprise/server/admin/dbadmin.php. If all is well,
the option to upgrade from your current version to version 4.2 will be
selected. Click 'Update' to start altering the database structure.
Note:If there are any problems, you may want to alter the database
yourself by executing the relevant sql-scripts available in the
/scenterprise/server/dbscripts-folder in your database-tool.
MySQL
scent410_420.mysql.sql
SERVER
After having made the back-up, remove the old SCEnterprise folder
and copy the new SCEnterprise folder to that location. Then, if
needed, reconfigure SCEnterprise by editing config.php and/or
configserver.php. Note that it is not allowed to just copy the old
config.php/configserver.php over the new ones, as modifications
to the configuration files have been made and are necessary to run
Enterprise 4.2. The configuration options are documented in the
configuration files themselves but you may also want to read Section
E: Installing Enterprise Server and/or Chapter 6: Server Configuration.
Smart Connection Enterprise Admin Guide
40
Chapter 4 Server Installation
Oracle
Execute in the following order:
(logged in as WoodWing user):
1) scent410_420.case.ora.sys.sql
2) scent410_420.ora.sys.sql
(logged in as root user)
1) scent410_420.case.ora.trx.sql
2) scent410_420.ora.trx.sql
MSSQL
Execute in the following order:
1) scent410_420.ident.mssql.sql
2) scent410_420.mssql.sql
Upgrading Custom Properties
Rules for creating custom properties have been tightened to be able
to support more databases.
The smart_objects table (prefixed with c_) now uses the name of a
custom property (not the display name) as the field name. Therefore,
as from Enterprise v4.2, it is not allowed anymore to have non-ASCII
characters and/or white space in the name of the custom property.
This means that if you have defined custom properties which do not
follow this new rule you need to rename the custom properties.
• It may be needed to ‘ALTER TABLE’ the smart_objects table,
especially when using an Oracle database since on Oracle these
changes are not automatically implemented.
• If you have defined named queries it may also be needed to modify
those as they may contain references to custom properties by name.
SERVER
As the last step, open
http://localhost/scenterprise/server/admin/dbconvertrights.php.
Smart Connection Enterprise Admin Guide
41
Chapter 4 Server Installation
Section G. Testing the Enterprise Server
Now that all software has been installed, the last step is to run some
tests to see if the system is performing properly. To do this, open your
web browser and go to http://localhost/SCEnterprise/server/wwtest.
If the test page does not show up, the web-server is not working
properly. Some of the issues that you may run up against are:
Error: "Forbidden - You don’t have permission to access
/SCEnterprise/Server/wwtest on this server".
Check the file system’s access rights on the SCEnterprise
folder and make sure that the webserver user (Mac OSX: www,
Windows: IUSR_<servername>, Linux: www) has at least Read
Access. An easy fix is to recursively apply Read Access to Other
(Mac OSX and Linux) or Everyone (Windows).
No test screen appears, just some PHP code.
This means that the WebServer has no association for the .php
extension. This can be fixed in the Apache configuration file
or MS Internet Information Manager, depending on what web
server you are using.
Test page fails on Application Server test.
When you run into the problem “Logon FAILED: HTTP Response
404 Not Found”, you should check the INETROOT setting in
config.php.
Some basic tests are run automatically when opening the wwtest
page. If everything is OK, all test results are shown in green. You can
now start using Enterprise. Should any of these tests have failed, the
result is shown in red. Follow the instructions given on the screen to
resolve the issue.
SERVER
The page does not come up.
Try http://localhost/SCEnterprise/server/wwtest/index.htm.
If this does not work, this means that your web server does
not have its default page set correctly. (See you web server
documentation for details on how to fix this.)
Smart Connection Enterprise Admin Guide
42
Chapter 4 Server Installation
Advanced testing
If you encounter problems while using Enterprise or when you need
to test a specific feature you may want to run an advanced test. Click
on 'Advanced' and select the test you want to run. Again, ok test
results show in green, failure show in red.
Phpinfo
If you need to see how php is configured and/or which libraries are
installed, click on 'phpinfo' to examine the configuration of php in
detail. You can modify the configuration of php by editing the
php.ini file.
Troubleshooting
In case some of the tests failed or if there are other problems, see
Chapter 10: Troubleshooting.
SERVER
Smart Connection Enterprise Admin Guide
43
SECTION: SERVER
Chapter 5
Publication and Workflow Setup
SERVER
Smart Connection Enterprise Admin Guide
44
Chapter 5 Publication and Workflow Setup
Chapter 5:
Publication and Workflow Setup
You can manage your publications and workflow via the
Enterprise web pages. To access these pages, open a browser and
type http://<yourserver>/SCEnterprise after
which the logon screen will appear. When
doing the standard installation, you can
logon as user woodwing with password
ww. This is an administrator account, so we
strongly advise to change the password.
After logon you will see the Enterprise home page with in the
upper section several user applications and at the bottom half the
administration screens.
SERVER
Web Applications
menu
Maintenance
menu
Logout
Server version
number
Web Applications
icons
Note: With the standard installation, a sample publication WW News
is created that is used for testing. This sample publication can be
deleted once you are done testing.
Smart Connection Enterprise Admin Guide
45
Chapter 5 Publication and Workflow Setup
This chapter is divided into two sections. The first section Workflow
Setup will talk you through a 12-step process using the Maintenance
menus for setting up a complete publication environment.
Step 1. Creating Users and Groups
Step 2. Setting up Access Profiles
Step 3. Setting up a Publication
Step 4. Assigning Administrators to your Publication
Step 5. Creating a new Issue for your Publication
Step 6. Creating Sections
Step 7. Creating Editions
Step 8. Setting up a Workflow for your Publication
Step 9. Automatic Routing
Step 10. Controlling Access Rights to your Publications
Step 11. Defining relative deadlines
Step 12. Setting Issue deadlines
Reporting
Duplicating your Publications
Cleaning Up
Users Online
Copying User Queries
Made To Print
Meta Data Properties
Note: Information on the Web Applications section will follow at a
later stage.
Workflow Setup
Step 1. Creating Users and Groups
Via the User and Group menus, you can create users and user groups.
These definitions are global to the system meaning that you do not
have to redefine them per publication. Access rights (profiles) are
granted per publication, so you can have multiple publications on
one system while the users cannot see each other’s publication.
SERVER
The chapter ends with the section Additional Maintenance Options
that can be performed once a publication is fully set up and in use.
Smart Connection Enterprise Admin Guide
46
Chapter 5 Publication and Workflow Setup
User Definitions
A user definition consists of the following properties:
Short name of the user that can be used to
log on.
Full name
Full name of the user.
De-activated
Option to de-activate a user without
removing it. This is very useful for temporary
employees that are expected to return some
day.
Password
User's password.
Note: empty passwords are not allowed.
User can not
change password
Determines whether the user can change
his/her password.
Password
expiration in days
How many days from now the current
password will be valid.
Valid from
From which date the user account is active.
Valid till
Until which date the user account is active.
Email
Email address of the user for email
notifications.
Send email
notification when
file routed to me
Determines whether the user should receive
email notifications when a file is routed to
him/her.
Send email
notification when
file routed to one
of my groups
Determines whether the user should receive
email notifications when a file is routed to a
groups he/she is a member of.
Language
Language the user prefers to use.
Color
Color to identify this user from other users.
Mainly used as color for tracking changes and
creating Sticky Notes.
SERVER
User
Smart Connection Enterprise Admin Guide
47
Chapter 5 Publication and Workflow Setup
Group Definitions
A group definition consists of the following properties:
Name
Name of the group.
Description
Description of the group.
Admin
If this is set, users in this group can access the
admin applications to control users, groups
and publications. Also it allows to unlock files
locked by another user via the Query/Browse
page.
Routing
Enterprise uses groups for both access rights
and workflow routing. Only those groups
that have the Routing option set are available
for routing in order to prevent unnecessarily
long lists of groups in the routing lists.
Note: User names can not exceed 27 characters. If you use special
characters, this can be less.
Using LDAP for Adding Users and Groups
By integrating LDAP with the Smart Connection Enterprise server, the
administrator is able to better control user authorization as well as
better maintain user accounts.
With LDAP enabled (which is optional), user authorization is
controlled via the LDAP server and not anymore through the
Enterprise server. When LDAP finds the log-in valid, Enterprise
synchronizes the user account by also making it available in its own
database (when missing). It will then check if there are any user
groups that are defined both in Enterprise and LDAP. Only taking
those groups into account, if a user is assigned to a certain group in
LDAP, that user will be assigned to the corresponding Enterprise user
group as well.
SERVER
Note: A user can be assigned to multiple groups.
Smart Connection Enterprise Admin Guide
48
Chapter 5 Publication and Workflow Setup
Synchronizing Users and User Groups
User groups that have already been set up in LDAP can be
synchronized by importing them to the Enterprise server as
opposed to creating groups manually. Users are synchronised after
successfully logging in, after which a user account is created and
his/her (LDAP) group memberships are synchronised with Enterprise.
The following data is synchronized:
• User Data - ID, Full Name, Password, E-mail, Deactivation
• Group Data - Name, Description
• Memberships - User groups that are defined both in Enterprise
and LDAP are assigned to the user logging in
LDAP Configuration
Step 1. Check if the C:\PHP\ext folder exists. If not, your PHP
installation is not complete. Most safe is to remove the entire PHP
installation and install a complete PHP version. This can be done
by renaming the C:\PHP folder and creating a new C:\PHP folder
to which you install (or copy) a full new installation.
Step 2. Check in the C:\PHP\ext folder if the php_ldap.dll module
is present. If not, re-install PHP as described in step 1.
Step 3. Check if the extension_dir option is set correctly by
opening the php.ini file and searching for the extension_dir
setting. Make sure the setting looks as follows:
extension_dir=”C:\PHP\ext”
If there is a leading “;” semi-colon (such as ;extension_
dir=...), make sure you remove the “;” to enable the setting.
Step 4. Check if the LDAP module is enabled by opening the
php.ini file and searching for php_ldap.dll. Make sure the setting
looks as follows:
extension=php_ldap.dll
If there is a leading “;” semi-colon (such as ;extension=php_
ldap.dll), make sure you remove the “;” to enable the setting.
SERVER
The first step is to enable LDAP for PHP. In the installation steps
below, it is assumed that you have installed PHP in the C:\PHP folder.
Smart Connection Enterprise Admin Guide
49
Chapter 5 Publication and Workflow Setup
Step 5. Check if the SSL libraries are installed. Browse to the
c:\windows\system32 folder and check if the ssleay32.dll and
libeay32.dll modules are present. If not, copy them from the
PHP\Win32 binary package to the c:\windows\system32 folder.
After having copied the DLLs to the systems32 folder, remember
to add Read and Execute permission to “everyone”.
Step 6. Restart IIS/Apache. (On Win2k Server running IIS, it is not
enough to just restart IIS after enabling the php_ldap extension.
You have to restart the server itself.)
Step 8. Run the http://localhost/SCEnterprise/server/wwtest page
and check if there are NO errors or warnings. If the LDAP module
could not be found or loaded, download the Dependency Walker
tool from internet.
Drag and drop the C:\PHP\ext\php_ldap.dll module onto the
tool and see if there are any errors shown (ignore the error about
a missing php5ts.dll module) If there are any modules missing,
download them from internet and install them at the appropriate
location.
Once LDAP support is enabled, you can import user groups from
LDAP into Enterprise:
Step 1. Go to the ‘Group’ web page and press the ‘Import’ button.
Step 2. Select the network domain you want to import from.
Step 3. Optionally: apply a query like ‘*Admin*’ to narrow down
the results.
Step 4. Tag the groups you want to import.
Step 5. Press the Import button.
The tagged groups should now be present in the Enterprise
database (including the group description field).
SERVER
Step 7. Enable LDAP for Enterprise by uncommenting the
NETWORK_DOMAINS and LDAP_SERVERS options in the
configserver.php file. Enter your LDAP server configuration
in NetworkDomain and LDAPServer objects as shown in the
shipped examples.
Note: Comments are left in the file referring to php files
that provide more information about the meaning of LDAP
configuration parameters.
Smart Connection Enterprise Admin Guide
50
Chapter 5 Publication and Workflow Setup
Step 2. Access Profiles
Access profiles are a new feature introduced in Enterprise 4.2 in order
to more easily manage access rights which can then be applied to
different user groups for different publications. Access profiles are
defined globally, so they can be reused when defining multiple
publications.
Through access profiles, certain features can be disabled, preventing
the user from using them. Access Profiles can be assigned to any
section/status combination (when defining user authorizations for a
publication/issue) for one or more groups of users.
The purpose of this is to be able to ensure that for example changes
to a file can only be made by users from a specific group and only
when a certain status has been reached, thereby preempting
unwanted changes.
The following overview shows a complete description of all rights
and features, grouped under their relevant headings:
Access Features
Access features describe what access users have to files within a
publication, issue or section. They replace the access rights from
earlier versions of Enterprise.
View
User can view/find files in the query results.
Read
User can open files for reading.
Open for Edit
User can open files for editing and lock them.
Write
User can create or save files.
Delete
User can delete files.
Change status
forward
User can change the status of a file forwards (to
the next status in the workflow).
SERVER
To create an access profile, first select the Access Profiles menu
option and then click New. Give the profile a name and a description
that explains the purpose of the profile. Then you need to decide
for this profile which access rights and/or features are enabled and
which are disabled.
Smart Connection Enterprise Admin Guide
51
Chapter 5 Publication and Workflow Setup
Change status
User can change the status of the file both
forwards and backwards (to its next or previous
status in the workflow).
Restore version
User can restore old versions.
Keep locked
User can lock files for off-line usage.
Note: The View and Read access rights can be confusing at first.
Normally people have View and Read access rights if they are allowed
to open a file for reading. View only allows users to see files and their
status without providing the ability to open those files for reading.
Because of this it's good practice to grant everybody working within
a publication Read access rights to every file in order to make sure
that the system can access files if needed. The View access can
subsequently be used to determine which files are shown to the user.
Without the View access, the user doesn't see a file and thus cannot
open the file.
Web Features
Web features limit the options that a user has when logged in to the
web application. Basically each menu item under the Applications
heading can be enabled/disabled by setting the feature.
Query/browse
User can browse and query.
Publication
overview
User can browse files and see previews/
thumbnails of the files.
Upload
User can upload file(s) to the system.
Reporting
User can view several type of reports.
Export
User can export files.
SERVER
Note: When a placed InCopy file is opened, the user not only needs
Access rights to the InCopy file, but also Read access rights to the
InDesign file in order to enable write to fit. Here the separation
between View and Read comes in handy: for InCopy users you can
set not to have View access rights, but do grant Read access rights to
the InDesign file. This way, they don’t see the InDesign files in their
list but they can open InCopy files and see them on the page they are
placed on.
Smart Connection Enterprise Admin Guide
52
Chapter 5 Publication and Workflow Setup
Webeditor
User can edit articles with the Web Editor.
My Profile
User can change his/her own profile: change
language and/or set password.
Styles
Style features limit the options the user has in InDesign/InCopy to
apply or edit styles.
Apply paragraph
styles
User can apply paragraph styles.
Edit paragraph styles User can create, duplicate, delete and edit
paragraph styles in InDesign/InCopy. Also
allows the user to Load Paragraph Styles,
Load All Styles and Break Link to Style.
User can apply paragraph formatting (can
use the paragraph palette).
EditCharStyles
User can create, duplicate, delete and edit
character styles. Also allows the user to Load
Character Styles, Load All Styles and Break
Link to Style.
Typography
Typography features limit the options the user has in InDesign/
InCopy to apply fonts to a section of text.
Select font family
User can change the font family.
Set font style
User can set the font style (bold, italic).
Set basic formats
User can set underline, strikethrough,
allcaps, smallcaps, superscript, subscript.
SERVER
Apply paragraph
formatting
Smart Connection Enterprise Admin Guide
53
Chapter 5 Publication and Workflow Setup
Set advanced
formats
User can set type size, kerning, leading etc.
Can also use all Story and all
Character palette options not covered in the
other typographic features.
Use the Fit text into
frame (CopyFit)
Only applicable to SmartLayout. User uses
CopyFit.
Composition
User can set Preferences that influence
composition: advanced type, character
settings, grids, text wrap.
Track Changes
Track changes features define if and how track changes is
implemented for the user. Each user has a unique color in which text
and/or layout changes made by that user are highlighted
All changes by this user are tracked (shown
in his/her color) by default.
Edit track changes
User can disable/enable the tracking of
his/her changes.
Linguistic
Linguistic features limit the options the user has to use the dictionary
in InDesign/InCopy.
Change language/
dictionary
User can set the language/dictionary.
Edit dictionary
User can edit the dictionary: make changes
to spelling/hyphenation/add words/etc.
Layout
Layout features limit the options the user has to resize text frames in
InCopy.
Resize text frames
per line
User can resize text frames per line.
Resize text frames
per coordinates
User can resize text frames per coordinates.
SERVER
Force track changes
Smart Connection Enterprise Admin Guide
54
Chapter 5 Publication and Workflow Setup
Color
Color features limit the options the user has to use swatches in
InDesign/InCopy.
Apply swatches
User can apply swatches from the swatches
palette.
Edit swatches
User can create, duplicate, delete and edit
swatches.
Workflow
Workflow features limit the options the user has to perform certain
workflow actions.
User can create new articles from layer.
Create from
document
User can create new articles from document.
Abort checkout
User can abort checkout.
Change publication/
issue/section
User can change the publication, issue or
section to which a file belongs.
Config
Config features limit the options the user has to configure InDesign/
InCopy.
Edit tags and
element labels
User can edit tags and element labels.
Modify keyboard
short-cuts
User can create and modify keyboard
shortcuts.
Edit text macros
User can create and edit text macros.
SERVER
Create from layer
Smart Connection Enterprise Admin Guide
55
Chapter 5 Publication and Workflow Setup
Step 3. Setting up a Publication
There are two types of publications that can be set up: Periodic
Publications (such as magazines and newspapers) and ProjectOriented Publications (typically used by books and ad-agencies).
Periodic Publications
For periodic publications the sections, editions, workflow and
authorizations are all defined on publication level. When a new
issue is created, the issue automatically receives the sections,
editions, workflow and authorizations for that publication.
Project-oriented Publications
For project-oriented publications, Enterprise Issues are used per
project. For this purpose, Enterprise allows you to define sections,
editions, workflow and authorizations per issue.
Note: Enterprise allows you to translate the default terminologies
Publication, Edition, Issue and Section into your own terms, for
example into Program, Region, Book and Chapter. (For more
information see the section Customizing the Web User Interface in
Chapter 6:Server Configuration.)
Creating your Publications
To create a new publication, click on the Publication menu option
to see the current list of available publications. Click the New
button and a text field appears to let you type the name of the
publication. Just click the Update button and your publication is
created. Now you can create issues, sections, editions, workflows
and set the authorizations for the new publication.
Note: User, groups and profiles don’t have to be defined per
publication. Enterprise works with a global list of users, groups and
access profiles which can be assigned per publication.
SERVER
Note: You can mix the periodic and project driven publications
within one Enterprise system. You can even combine them within
one publication. Note that if you choose for an issue to overrule
the publication definitions, you will need to redefine these
completely for that issue.
Smart Connection Enterprise Admin Guide
56
Chapter 5 Publication and Workflow Setup
Note: The Email Notifications option determines whether e-mail
notifications should be enabled for this publication. (See the
section Email Notifications in Chapter 6: Server Configuration for more
information.)
The Reading Order Reversed option determines whether the pages in
the publication overview are displayed in ascending or descending
order.
The Current Issue option does not have any Issues listed since they
have not been created yet. This option can be set later when Issues
have been set up.
The alarm clock brings you to the definition of relative deadlines. (See
the section Defining Relative Deadlines later in this chapter.)
Step 4. Assigning Administrators to your Publication
For example, assume there are three groups as listed in the picture.
The admin group has the Admin option enabled. The editors and chief
editors have the Admin option disabled.
SERVER
There are two levels of administration. The first level gives
maintenance access to all publications and is defined by enabling
the Admin option of user groups. (See Step 1: Creating Users and
Groups earlier in this chapter). The second level gives access to a
single publication. This can be done by adding groups under Admin
Authorization of the publication's maintenance page.
Smart Connection Enterprise Admin Guide
57
Chapter 5 Publication and Workflow Setup
The editors have normal user access to the
publication's files stored in database. The chief
editors group, although its Admin option is
disabled, has administrator access to the WWNews
publication. The admin group is neither assigned
to User Authorization nor Admin Authorization.
However, it has administrator access to the
WWNews publication because its Admin option is
enabled.
Step 5. Creating a New Issue for your Publication
The fields Expected Pages,
Subject and Description
are meta data fields that
currently don't have a
special meaning. These
are available for reporting
or integration purposes.
• To rename an issue, click its link, change its name and press the
Update button.
• To remove an issue, click the Delete link next to its name followed by
the OK button to confirm permanent deletion. If there are files in the
issue you will be redirected to the clean-up page.
SERVER
You can create a new
issue via the Publication
maintenance page. This
shows the complete list
of existing issues where
you can add a new one
by clicking Add under the
Issue section.
Smart Connection Enterprise Admin Guide
58
Chapter 5 Publication and Workflow Setup
• The Active checkbox allows you to easily de-activate a particular
issue. This will hide it from the users without actually removing it
from the system.
• The Overrule Publication checkbox allows you to determine if
the new issue should have its own section, workflow and user
authorization definitions. (See previous section Periodic vs Project
Oriented Publications for more information.) After selecting this
option, press the Update button to show the options for setting the
Sections, Workflow and Authorizations for this issue.
Step 6. Creating Sections
For periodic-oriented publications you will create sections via
the Publication maintenance page. This shows the complete list of
sections for your publication. You can add a new one by clicking Add
Section.
• To be able to create sections per issue, you need to enable the
Overrule Publication option for that issue. (See Step 5: Creating a new
Issue for more information.)
• For sections containing an issue, you can set Deadline and Pages
meta data fields. These fields currently don't have a special meaning
and are available for reporting or integration purposes.
• To rename a Section, click its link, change its name and press the
Update button.
• To remove a Section, click the Delete link next to its name followed
by the OK button to confirm permanent deletion.
SERVER
For project-oriented publications, you will add sections via the
Issue maintenance page. This shows the complete list of sections for
that issue. You can add a new one by clicking Add Section.
Smart Connection Enterprise Admin Guide
59
Chapter 5 Publication and Workflow Setup
Step 7. Creating Editions
Editioning is a new step in the workflow hierarchy of Smart
Connection Enterprise, allowing the creation of different renditions
of the same publication.
It works by combining content that is similar with content that
in certain places differs. For instance, it is possible to assign
either a complete page to one or more renditions, or only certain
components of a page.
The output will then generate different renditions when needed or
combine renditions when possible.
Editions for a publication can
be set up via the Publication
Maintenance screen, by clicking
the Add button below the
Edition section.
SERVER
In the Edition Maintenance
screen, Enter a Name and
Description for the edition.
Click the Update button to
create the edition within the
Publication.
Step 8. Setting up a Workflow for your Publication
Status Model
Enterprise uses a status model to define your workflow. Each object
type can have its own workflow (status list) that can be different per
publication or even issue (for project oriented workflows). A typical
status list for an object could for instance be First Draft, Second Draft,
and Final Version.
Smart Connection Enterprise Admin Guide
60
Chapter 5 Publication and Workflow Setup
For periodic-oriented publications you will create a new status via
the Publication maintenance page. This shows the complete list of
statuses where you can add a new one by clicking Add status.
For project-oriented publications, you will create a new status via
the Issue maintenance page. This shows the complete list of statuses
where you can add a new one by clicking Add status.
• To be able to create statuses per issue, you need to enable the
Overrule Publication option for that issue. (See Step 5: Creating a New
Issue for more information.)
• To rename a status, click its link, change its name and press the
Update button.
• To remove a status, click the Delete link next to its name followed by
the OK button to confirm permanent deletion.
Status Definition
Type
Workflow statuses are set per type of object:
Article
InCopy or other type of text
article.
Layout
InDesign documents.
Image
Images and graphs.
Advert
Reserved for future usage.
Article Template
InCopy document template.
Layout Template
InDesign document template.
Advert Template
Reserved for future usage.
Plan
Plan object from planning
systems
Order
Top-down sequence in which statuses are shown.
Name
Name for the status. The name can be changed at
any time.
SERVER
A status definition consist of the following properties:
Smart Connection Enterprise Admin Guide
61
Chapter 5 Publication and Workflow Setup
Produce
For layout statuses: when this is set for a status,
depending on the server configuration, a PDF
(default), EPS or high-res JPG will be created.
For article statuses, depending on the server
configuration, an XML file of the composed text will
be created.
For any other object types but Layout, the produce
option doesn't have a special meaning at the
moment. This can be used for integration purposes.
Color
Color associated with this status as used by client
applications.
Next Status
Defines the next status after this status which
allows for an automated workflow (Send to Next).
Enterprise allows you to route files to a particular user or group.
When a user watches his/her Inbox, all files will be shown that are
either routed to him/her or any of the groups he/she is a member of.
The automatic routing features allows you to setup routing to be
applied automatically whenever a file reaches a particular status. This
can be defined per section and/or status.
For periodic-oriented publications you will create new routing
rules status via the Publication maintenance page. This shows the
complete list of routing rules where you can add a new one by
clicking Add routing.
For project-oriented publications, you will create new routing
rules via the Issue maintenance page. This shows the complete list of
routing rules where you can add a new one by clicking Add routing.
• To be able to create routing rules per issue, you need to enable the
Overrule Publication option for that issue. (See Step 5: Creating a New
Issue for more information.)
• Not all groups can be used for routing. Only groups with the Routing
option enabled can be used for routing. (See the previous section
Creating Users and Groups for more information.)
SERVER
Step 9. Automatic Routing
Smart Connection Enterprise Admin Guide
62
Chapter 5 Publication and Workflow Setup
Step 10. Controlling Authorizations to your Publications
Authorizations to the files of your publication are set with a number
of authorization rules. Each rule defines the authorizations for a user
group which can be set specific per section and/or workflow status.
Before starting, you need to create your sections, statuses and user
group.
For periodic-oriented publications you will create authorization
rules via the Publication Maintenance page. This shows the complete
list of authorized groups where you can add a new rule by clicking
Add authorization.
For project-oriented publications, you will create authorization
rules via the Issue Maintenance page. This shows the complete list
of authorized groups where you can add a new rule by clicking Add
authorization.
Note: Users can be assigned to multiple user groups. Using this
efficiently, it minimizes the number of authorization rules you need
and thereby easing up the setup and maintenance.
Note: Introducing a user group like all or all for <my pub> allows you
to set some generic access control like View and/or Read rights for
everybody involved with the publication. This again minimizes the
number of authorization rules.
Because of this, it's good practice to grant everybody working
within a publication Read access rights to every file in order to make
sure that the system can access files if needed. The View access can
subsequently be used to determine which files are shown to the user.
Without the View access, the user doesn't see a file and thus cannot
open the file.
(For more information on the Profiles that are assigned, see Step 2:
Access Profiles.)
SERVER
As the first step in setting up your authorizations, we strongly advise
to analyze your workflow, user groups and the required access
control on paper.
Smart Connection Enterprise Admin Guide
63
Chapter 5 Publication and Workflow Setup
Step 11. Deadlines
The concept of visualizing time lines in the workflow has now been
achieved by introducing Deadlines to Enterprise 4.2.
This is done by first deciding on a publication date: the final date
when the issue is going to be published. Using this date, a Deadline
is determined: the date when the issue needs to be ready for output.
(See step 12: Setting Issue Deadlines.)
Other deadlines can then be assigned to editions and statuses and
can be entered as either a fixed calendar date or a date relative
to other deadlines or the main (issue) deadline. Relative dates are
preferable since they allow automatic and instant updating of all
other related deadlines set throughout the publication.
IMPORTANT: For the deadline functionality to function properly, it is
imperative that the next sections are followed in order.
Defining Relative Deadlines
First, a relative deadline is determined: the time needed to complete
a certain job or task (such as an article that needs to be finalized or
an image that needs to be edited) and is used for calculating starting
times (= deadlines of previous tasks). This is done by subtracting the
relative deadline from the deadline of the main task (i.e. creating the
Issue), keeping in mind holidays and weekends. This main deadline is
an actual date and is set in the next step of the workflow, see Step 12:
Setting Issue Deadlines.)
When on the Publication
Maintenance page, click on
the alarm clock to edit the
Relative Deadlines of the
publication. Be sure though to
have first defined the structure
of the publication by defining
sections, editions and states.
Only then can you set the
relative deadlines for each.
SERVER
A color coding and reporting system is used throughout various
parts of the interface (both on the server side and client side)
allowing users to visually track the current deadline status for that
part of the publication.
Smart Connection Enterprise Admin Guide
64
Chapter 5 Publication and Workflow Setup
The ‘Relative deadlines’ screen is divided into several parts:
Relative Deadlines of Editions
Here you define the time before the issue deadline, that each edition
must be ready at.
For example: the North- and South-edition must be finished earlier
because newspapers must be transported to the North and the
South regions. So for Main we enter 1 hour and for North and South
we enter 4 hours. Click the Update Editions button to store these
values to the database.
Here you define the time before the issue deadline, that each section
must be ready at.
In this example, all sections must be finished at a certain time and
the front page is finished last. So enter 1 hour for the front page and
4 hours for all other sections. This means that all sections except the
front-page must be finished 4 hours before the issue deadline. Click
the Update Sections button to store these values to the database.
SERVER
Relative Deadlines of Sections
Smart Connection Enterprise Admin Guide
65
Chapter 5 Publication and Workflow Setup
Relative Deadlines of States
Here you define the time that each state is supposed to last.
All states are categorized by workflow type and are ordered by their
order in the list. The highest numbered order is supposed to be last,
so the time needed for this state represents the time until section
deadline.
Note: It is also possible to edit the relative deadlines of states in the
states maintenance screen.
Relative Deadlines of Section States
Normally, the above information is enough to manage your
deadlines but it may be that for certain sections certain states
normally take longer. This section allows you to reserve more time for
these states.
SERVER
When finished entering values, click the Update States button to
store these values to the database.
Smart Connection Enterprise Admin Guide
66
Chapter 5 Publication and Workflow Setup
Click the Update Sections/States button to recalculate these values
from the Relative Deadlines of States table and to store the values to
the database. This means that all section/state combinations are reset
to their default value as defined in the states section.
Finishing the Definition
You must have updated all these tables to have a complete
definition. Ensure therefore to fill in the form from top to bottom.
Click on all update buttons at least once to complete the definition.
If you decide to add a section or state to the publication definition,
keep in mind that you have to update the relative deadlines as well in
order to have correctly working deadlines.
Step 12. Setting Issue Deadlines
If you want to update the issue deadline, just click the Update Issue
Deadline button.
All deadlines will be recalculated; thereby potentially changing any
changes that may have been made separately to the Edition, Section
and State deadlines. The issue deadline will be changed as well as all
other (object) deadlines.
SERVER
Now that publications have been defined, you
can create a first issue, enter a publication date
and deadline for the issue and click on the
alarm clock to edit the actual deadlines of the
issue.
Smart Connection Enterprise Admin Guide
67
Chapter 5 Publication and Workflow Setup
Setting Edition Deadlines
Deadlines can be entered manually or by selecting a date from the
date picker (the calender icon to the right of the deadline fields).
The corresponding deadline/relative deadline will be automatically
calculated. Click the Update Edition Deadlines button to finish setting
up edition deadlines.
Note: At this time deadlines of editions are not used to calculate
object deadlines and is for information purposes only.
Setting Section Deadlines
Setting State Deadlines
Setting the issue deadline generates all deadlines for all sections
and their states. This also means that all objects which are already
in the system or are created afterwards, get the deadline of the
state they are in for the section they are in. Now that the deadlines
are generated you can also modify them specifically for this issue.
Change deadlines by entering a new deadline and clicking the
Update States button. Note that object deadlines are automatically
recalculated when updating these deadlines.
SERVER
Setting the section deadlines is done the same way as setting the
edition deadlines. Enter the new deadlines and click the Update
Section Deadlines button to update section deadlines and to
recalculate all deadlines of states and objects.
Smart Connection Enterprise Admin Guide
68
Chapter 5 Publication and Workflow Setup
The object deadline is the deadline that a normal user sees in
InDesign/InCopy when viewing the deadline column. This enables
the user to see how much time is left to finish the object in its current
workflow status.
Note: Non-working days and holidays can be set up in Enterprise
so that they are excluded from the deadline calculation. (For more
information see Chapter 6: Server Configuration.)
Additional Maintenance Options
Duplicating publications can be very useful once you have
completely defined a publication and want to have another one that
should be very much the same. This functionality can be found on
the Publication Overview screen. Pressing the Copy button shows the
following page:
Select a publication to copy, choose whether or not to duplicate its
issues and enter a new name for its duplicate. Press the Copy button
to duplicate the publication. The new publication will have the
same sections, workflow, issues (if Duplicate Issues was selected),
authorization rules, meta data and dialog setup as defined for the
source publication.
SERVER
Duplicating your Publications
Smart Connection Enterprise Admin Guide
69
Chapter 5 Publication and Workflow Setup
Cleaning Up
In the Maintenance section of the
web site, the Clean-up entry allows
you to remove complete issues or
objects (based on date), as well as
move objects from one issue to
another.
Remove by Date
Files that should not be deleted, can be deselected in the Delete
column. Pressing the Delete button only removes the selected
objects.
Note: When files are deleted via the Delete function or via the
Remove by Date or Issue, the files are moved to the Trash Can. Only
when the Purge All function is selected from the Clean-up page will
the files be permanently destroyed and the database cleared of the
objects.
SERVER
For a certain issue, files can be cleaned up which are older than a
given date. This allows you to remove unused (not placed) articles
and/or images within an issue. After entering a date and pressing the
Find button, the number of articles and/or images are shown that
would be deleted. Press the Show button to get a list of all files that
would be deleted or press the Delete button to remove the files:
Smart Connection Enterprise Admin Guide
70
Chapter 5 Publication and Workflow Setup
Remove Issue
This functionality allows you to remove an issue and its objects
altogether or to move objects from one issue to another. The
following example intends to delete two articles and move one
article to the next issue.
Note: When files are deleted via the Delete function or via the
Remove by Date or Issue, the files are moved to the Trash Can. Only
when the Purge All function is selected from the Clean-up page will
the files be permanently destroyed and the database cleared of the
objects.
SERVER
Per listed object, you can choose whether to Delete or Move it by
making a selection in one of the first two columns. When moving, the
issue selection box becomes available to let you select any issue that
resides within the selected publication. Pressing the Delete button
submits all operations.
Smart Connection Enterprise Admin Guide
71
Chapter 5 Publication and Workflow Setup
Trash Can Query/Browse
This function allows you to either restore or permanently destroy all
files from the trash can. The files can be chosen by running a query
on the database by making selections and/or entering data in the
fields at the top of the screen.
Empty Trash Can
This function will permanently destroy all files from the trash can.
When files are deleted via the Delete function in a client application
or via the Remove by Date or Issue the files are not really destroyed
yet. Only after applying this Empty Trash Can function will the files be
permanently destroyed.
SERVER
Once you have found the files that you want to have restored or
permanently deleted, select the file(s) by ticking its checkbox. To
restore the selected file(s), click the Restore Selected button. To
permanently delete the selected file(s), click the Delete Selected
Permanently button.
Smart Connection Enterprise Admin Guide
72
Chapter 5 Publication and Workflow Setup
Users Online
The Maintenance section contains an Online Users option that
provides an overview of all users that are currently logged in to the
server. When a user is logged in twice, two entries are listed: one for
each session. The following example shows one user logged in using
InCopy and another user using the web applications:
Copying User Queries
The following example
will expose the Image
Search query of the
WoodWing user to all
members of the Editors
group.
Note: When a user has created a query with a client application, it is
typically automatically saved to the database during logoff.
SERVER
Users can define their own queries using several client applications
and save them to the database for later use. The User Query option
of the Maintenance section allows you to make any of these queries
available to other users or even groups.
Smart Connection Enterprise Admin Guide
73
Chapter 5 Publication and Workflow Setup
Made to Print
Axaio’s Made to Print integration offers automatic print- and
PDF output features. Smart Connection Enterprise integrates
this product by executing Made to Print output operations
when items reach a certain status. The Made to Print solution
is an optional feature customers can buy and requires extra
installation steps.
Made to Print is called based on rules. Each rule is set to
a trigger status of a layout. If this status is reached, the
document will be sent to Made to Print.
There can be only one rule per layout status. Rules can be
defined on two levels: Publication level and Issue level.
Per printing rule you can set triggers and routing.
You can define states for all on the layout related objects. This
means you can set a minimal state for articles and pictures
before printing is done.
Routing
For a successful print you can define the next state the layout
and related objects are set in.
Per rule you can set the following triggers and routing:
Triggers
Layout
The status that the Layout must have.
Article
The status that the Article must have.
Image
The status that the Image must have.
Routing
Layout
The status the Layout will be set to on successful print.
Article
The status the Article will be set to on successful print.
Image
The status the Image will be set to on successful print.
Print job
Print job
The print job defined in Made to Print.
SERVER
Triggers
Smart Connection Enterprise Admin Guide
74
Chapter 5 Publication and Workflow Setup
Meta Data Properties
In the Enterprise environment, each different meta data field type
stored in the system is called a property. There are a few different
types of properties with each having its own level of customization.
Static Properties
Core system properties that are required for most operations are
called static properties. The Display Name of the property can be
customized or localized. This allows you to choose other terms for
the Publication Issue / Section structure, such as Programs / Books /
Chapters.
Dynamic Properties
XMP Properties
Some dynamic properties are synchronized by the system with
Adobe XMP meta data as stored inside Adobe files and are called
XMP properties. However, they are also stored in the database. The
following table shows how the XML properties are mapped onto the
database fields:
SERVER
Known system properties maintained by the system for some
operations are called dynamic properties. Besides the Display Name,
a Category can be set. Properties with a specified Category are shown
in workflow dialogs on a separate tab control, or else they will be
placed on the General tab. The Default Value will be pre-filled in
empty dialog fields.
Author
Author
Description
Author
Origin | Source
Origin | Credit
Subject
ImageDescription
UserComment
Comments
Description
Source
Source
ContentMetaData
Credit
Credit
Copyright Info URL
SERVER
SourceMetaData
CopyrightURL
CopyrightURL
Copyright Notice
CopyrightNotice
Copyright
-
copyright
copyrighturl
Copyright String
Copyright
-
author
Credit
Src
Caption
Image Description description
source
Src
credit
copyrightmarked
-
Credit
documentid
smart_objects table (DB)
-
Adobe FileInfo dialog (UI) IPTC / EXIF
CopyrightMarked Copyright Status 1)
DocumentID
Adobe XMP
CopyrightMarked
RightsMetaData
DocumentID
BasicMetaData
WSDL (SOAP)
Smart Connection Enterprise Admin Guide
75
Chapter 5 Publication and Workflow Setup
Title
-
-
-
-
format
XResolution
Slugline
ColorSpace
Height
Width
FileSize
Format
Dpi
Instructions
Urgency
ModifyDate
CreateDate
Comment
Urgency
Modified
Created
WorkflowMetaData
Keywords
Keywords
DescriptionAuthor
Adobe XMP
Origin | Date Created
-
Origin | Urgency
Origin | Instructions
-
-
-
-
-
-
Document Title
Keywords
keywords
slugline
Keyword
Headline
Byline Title
Image Name
filesize
format
dpi
comment
urgency
modified
created
Filesize
Format
Resolution
Units
Special
Instructions
-
Geometry (WxH) width
Geometry (WxH) depth
Colorspace
JPEG-Colorspace colorspace
descriptionauthor
smart_objects table (DB)
Byline
Caption Writer
Adobe FileInfo dialog (UI) IPTC / EXIF
SERVER
WSDL (SOAP)
Smart Connection Enterprise Admin Guide
76
Chapter 5 Publication and Workflow Setup
Smart Connection Enterprise Admin Guide
77
Chapter 5 Publication and Workflow Setup
Custom Properties
On top of the system properties as mentioned in the previous
three paragraphs, you can add your own properties, called custom
properties. Choosing for one of the list types, the Value List field
represents the options users can choose from. Choosing for any
numeric type, Min Value and Max Value can be set to restrict user
typed numbers. No value means no restriction. Choosing for any
string type, Max Length will restrict user typed values. Zero means no
restriction.
Note: The use of spaces in the names of custom properties is not
allowed.
Workflow Dialog and Query Setup
Dialog
Action
Send File To
Send To
Copy File To
Copy To
Save-as / Create (Article / Layout)
Create
Save, Check-in
Check In
Properties
Set Properties
The user query dialog is also populated by meta data fields, as well
as the results of all queries returned from the server. The table below
lists all situations from which these fields are shown to the user.
Query
Action
User Query parameters
Query Parameters
User Query result columns
Query Result Columns
Query result columns Web
Query Result Columns for
Web Clients
Query result columns InDesign
Query Result Columns for
InDesign
Query result columns InCopy
Query Result Columns for
InCopy
SERVER
There are a handful of workflow dialogs. These dialogs display meta
data property fields and rise on user workflow operations. The table
below shows which dialog is shown in client applications for all
possible workflow operations known by the system.
Smart Connection Enterprise Admin Guide
78
Chapter 5 Publication and Workflow Setup
Any property can be added to the workflow dialogs, queries or Smart
Browser by using the Dialog Setup web application. Properties can
be added per publication for any action (listed in tables above) and
even per object type (such as article, layout, etc). Explicitly filling in
all three parameters (publication, action and object type) allows you
to have different dialog definitions for layouts and articles that even
differ between two publications. Or, leaving one of the parameters
empty (blank) allows you to define more general dialogs: for all types,
all actions and/or all publications.
Whatever customization is done to workflow dialogs, they will always
show a General tab with five static property fields on top; Name,
Publication, Issue, Edition, Section and Status. If not customized, a
default workflow dialog is shown adding RouteTo and Comment
fields below the static fields.
For each custom property, some characteristics can be given defining
its behavior when shown on workflow dialogs:
Characteristic
Behaviour
Category
Name of tab control on which property is
shown. If not set, the property is shown on
General tab.
Order
Top down sequence (per Category) in which
properties are shown.
Property
Display name of property.
Editable
Tells if user is allowed to change value. Noneditable property fields are read-only.
Mandatory
Tells if user must enter a value. If not, an error
rises.
SERVER
If no customization is done to the Query dialog, it will show a default
list of properties that a user can choose from: Name, PlainContent,
ObjectType, State, RouteTo, Comment, LockedBy, PlacedOn,
WordCount, LineCount, CharCount, Modifier and Creator.
Smart Connection Enterprise Admin Guide
79
SECTION: SERVER
Chapter 6
Server Configuration
SERVER
Smart Connection Enterprise Admin Guide
80
Chapter 6 Server Configuration
Chapter 6:
Server Configuration
This chapter explains the configuration options of the Enterprise
server. All configuration files are held inside the SCEnterprise folder:
Mac OSX
/Library/WebServer/Documents/SCEnterprise/config
Windows
c:\inetpub\wwwroot\SCEnterprise\config
Linux
/var/www/html/SCEnterprise/config
Note: Since PHP code is being edited, always use forward slashes ‘/’ as
path separators to make sure to keep the correct PHP syntax.
The basic configuration settings are kept in the config.php file.
Setting
Description
BASEDIR
OS file-path of the SCEnterprise folder.
Make sure you edit the correct BASEDIR
setting of your OS.
Default values:
Windows:
"c:/Inetpub/wwwroot/SCEnterprise"
Mac OSX/Linux:
"/Library/WebServer/Documents/
SCEnterprise"
INETROOT
Web server path of the SCEnterprise folder.
Default value: ‘/SCEnterprise’
DBSELECT
Name of your SC Enterprise database.
Default value: "SCEnterprise"
SERVER
Basic Configuration Settings
Smart Connection Enterprise Admin Guide
81
Chapter 6 Server Configuration
Setting
Description
DBUSER
Database user to be used by the
Application Server. Note: this is the single
DB user that is used by the application
server (AS) to access the DB. This DB user
account needs SELECT, INSERT, UPDATE and
DELETE privileges.
For creation and deletion of custom
properties the DB user also requires ALTER
TABLE privilege.
DBPASS
Password for the database user. Default is
empty string.
ATTACHMENT
DIRECTORY
Path to the File Store, which can be a
mount point on a different machine.
Default values:
Windows: "c:/FileStore"
Mac OSX/Linux: "/FileStore"
EXPORT
DIRECTORY
Folder in which exports are downloaded.
LANGPATDATE
Format for date display.
LANGPATAMPM
Set to true for am/pm time display.
LANGPATTIMEDIFF Letters for Day/Hour/Minute in entering
relative times (Tag/Stunde/Minute for
German, Dag/Uur/Minuut for NL etc).
SERVER
The application server itself authorizes all
requests for the user logged on via the
Enterprise user tables which are completely
separate from the DB users. Default is
"root"; for MS SQL Server you could use "sa"
as default.
Smart Connection Enterprise Admin Guide
82
Chapter 6 Server Configuration
Configuring your Database Usage
The file configserver.php holds a number of settings to configure your
database usage:
Setting
Description
DBTYPE
Which type of database to use:
DBSERVER
mysql
MySQL (default option)
mssql
MS SQL Server
oracle
Oracle
IP address of your database server. By default this
is the same machine as the application server.
Default value for Macintosh is 127.0.0.1.
For Windows or Linux, default is localhost.
DBMAXQUERY
Maximum number of records returned in query
results. Default is 100 records. When set to zero
(0), there is no limit and all records are returned.
SERVER
For MSSQL and ORACLE the machine name must
be entered, not the ip adress.
83
Smart Connection Enterprise Admin Guide
Chapter 6 Server Configuration
Where to Store the Files
As explained in Chapter 3: Deployment Strategy, files can either be
stored inside the database or inside a file system. This is determined
with the following setting in configserver.php:
ATTACHSTORAGE How to store files:
FILE
To store files inside the file
system using numeric structure
(default option).
DB
To store files inside the DB.
REALFILE
The same as FILE but then
building publication / issue /
section structure.
Storing Files inside the File System
When choosing to store the files inside the file system with the FILE
storage, you can use the ATTACHMODULO setting to determine how
many objects share one folder. (See the section File Store in Chapter 7:
Server Internals for more details.)
When storing the files inside a file system, you need to set the
ATTACHMENTDIRECTORY setting inside config.php. (See previous the
section Basic Configuration Settings.)
The required sub-folders inside the File Store folder are created
automatically, except the root folder. The newly created sub-folders
carry the same access attributes as their parent root folder. Make
sure that the root folder exists and that the access rights are correctly
configured. The WebServer user (Mac OSX: www, Windows: IUSR_
<ServerName>, Linux: nobody) needs Read and Write access (and for
Windows also Delete access).
SERVER
Note: When storing files inside the database, the maximum file size
per file is limited to 4Gb.
Smart Connection Enterprise Admin Guide
84
Chapter 6 Server Configuration
Setting up Multiple Application Servers
If you need or choose to use multiple application servers, you can
set them up using the standard installation steps (PHP, WebServer,
Enterprise Server, Test Enterprise server), pointing them all to the
same single database.
Per client machine you can determine which Application Server
is used by editing its WWSettings.xml file (See Chapter 9: Client
Configuration) and setting the URL of the Application Server.
Note:The database can also reside on one of the machines used as
Application Server.
Note:When using MS-SQL or Oracle as the database you need to
install the database client libraries on the Application Server.
Creating Named Queries
You can also define parameters for a named query which translate to
input fields the user can fill in.
SERVER
Named queries can be created by the administrator users via the
Named Query option. Named queries show up in the user’s query
palette and will execute an SQL statement that is defined as part of
the named query definition.
Smart Connection Enterprise Admin Guide
85
Chapter 6 Server Configuration
Properties of a Named Query:
name
Name as shown to the user.
comment
Optional administrator comment about the query.
interface
List of parameters for the query. Each parameter must
start on a new line respecting the following syntax:
<name> , <type> [ , <default> ] [ , <list entries> ]
Mandatory. Name of parameter.
Displayed as popup help for the input
field in InDesign/InCopy palette.
type
Mandatory. Data type of parameter.
Must be one of the following:
string | bool | int | list
default
Optional. Initial value of parameter.
Automatically filled in the first time
user selects this named query.
list entries Optional. Entries listed in combo box
to allow user select one. Each entry
must be separated using slashes ( / ).
Only used when type=list. When no
default is set, the first entry is preselected.
sql
The SQL statement for this named query. The
parameters can be used inside the SQL with
$<parametername>. For string values this needs to be
surrounded with ". The name of the user executing the
query can be used in the SQL statement as "$user".
Note: The first three columns returned should
always be object id, object type, object name and
object format. This is required to make the client
applications work properly.
Note: To support status colors and automatic
updating of column fields, your query also needs to
return PublicationId, IssueId, SectionId and StateId.
Normally these are returned as the last columns.
SERVER
name
Smart Connection Enterprise Admin Guide
86
Chapter 6 Server Configuration
Named Query example: wildcard search
query
NameSearch
comment Wildcard search for object name.
ObjectName,string
ObjectType,list,Layout,Article/
ArticleTemplate/Layout/LayoutTemplate
sql
select o.id as “ID”, o.type as “Type”,
o.name as “Name”, st.state as “State”,
ul.fullname as “LockedBy”, p.publication
as “Publication”, i.issue as “Issue”,
s.section as “Section”, o.comment as
“Comment”, o.routeto as “RouteTo”,
o.creator as “Creator”, o.format as
“Format”, um.fullname as “Modifier”, p.id
as “PublicationId”, i.id as “IssueId”,
s.id as “SectionId”, st.id as “StateId”
from smart_objects as o
left join smart_publications as p on
(o.`publication` = p.`id`)
left join smart_publissues as i on
(o.`issue` = i.`id`)
left join smart_publsections as s on
(o.`section` = s.`id`)
left join smart_states as st on (o.`state`
= st.`id`)
left join smart_objectlocks as l on
(o.`id` = l.`object`)
left join smart_users as ul on (l.`usr` =
ul.`user`)
left join smart_users as um on
(o.`modifier` = um.`user`)
where o.`name` like “%$ObjectName%” and
o.`type` = “$ObjectType” and (o.`state`!=-1
OR (o.`state`=-1 AND o.`routeto`=’$user’))
SERVER
interface
Smart Connection Enterprise Admin Guide
87
Chapter 6 Server Configuration
Named Query example: user inbox
query
Inbox
comment User inbox. Shows objects that are routed
to current user (or group of which current
user is member of).
interface
sql
SERVER
select o.id as “ID”, o.type as “Type”, o.name
as “Name”, st.state as “State”, ul.fullname as
“LockedBy”, ol.name as “PlacedOn”,
o.filesize as “FileSize”, um.fullname as
“Modifier”, o.modified as “Modified”, p.publication
as “Publication”, i.issue as “Issue”, s.section
as “Section”, o.comment as “Comment”, o.routeto
as “RouteTo”, o.creator as “Creator”,
o.format “Format”, um.fullname as “Modifier”,
p.id as “PublicationId”, i.id as “IssueId”,
s.id as “SectionId”, st.id as “StateId”
from smart_objects as o
left join smart_users as um on (o.`modifier` =
um.`user`)
left join smart_users as uc on (o.`creator` =
uc.`user`)
left join smart_objectlocks as l on (o.`id` =
l.`object`)
left join smart_users as ul on (l.`usr` =
ul.`user`)
left join smart_objectrelations as r on (o.`id`
= r.`child`)
left join smart_objects as ol on (r.`parent` =
ol.`id`)
left join smart_publications as p on
(o.`publication` = p.`id`)
left join smart_publissues as i on (o.`issue` =
i.`id`)
left join smart_publsections as s on
(o.`section` = s.`id`)
left join smart_states as st on (o.`state` =
st.`id`)
left join smart_groups as gr on (o.`routeto` =
gr.`name`)
left join smart_usrgrp as ug on (gr.`id` =
ug.`grpid`)
left join smart_users as ur on (ug.`usrid` =
ur.`id`)
where o.`routeto` = “$user” or ur.`user`=
“$user”
Smart Connection Enterprise Admin Guide
88
Chapter 6 Server Configuration
Note: While
����������������������������������������������������������
working on your named queries we recommend to first
make sure that the SQL is correct by executing the SQL, for example
with phpMyAdmin��
������������.
Note: When
�������������������������������������������������������
you have created a new named query or changed the
interface section, the client application (web and plug-ins) won't
picks this up while being logged on. You need to re-logon to have
the client application pick this up.
Changes in the SQL section do NOT require a re-logon, all the clients
know about is the list of named queries and the parameters of them.
Monitoring System Activity and Logging
Enterprise offers two facilities: high-level monitoring and low-level
debug logging. The high-level monitoring records all processed
SOAP requests. The low-level debug logging dumps all SQL queries
and SOAP details for debugging purposes.
The high-level monitoring is configured in configserver.php
LOGLEVEL
The result of the SOAP
logging is written to
the smart_log table
and can be viewed via
the Log WebApp.
0
Disable logging
1
Logon and Logoff only - default
value
2
All SOAP calls
SERVER
High-level Monitoring
Smart Connection Enterprise Admin Guide
89
Chapter 6 Server Configuration
Low-level Debug Logging
The low-level debug logging writes files with all SQL statements
(mysql.log), details for all SOAP calls (soap/<date>/<time>_<call>_
Req.xml) and time spent inside the Application Server (soap-debug.
log).
The low-level logging is turned on with the following setting in
configserver.php:
DEBUGLEVEL
Possible settings are:
NONE, FATAL, ERROR, WARN,
INFO, DEBUG
The amount of information gets richer
from left to right.
NONE disables the low level logging.
"c:/scentlog/output/"
An empty string disables low-level
logging which is the default.
Note: With low-level logging turned
on, the log files keep growing, thereby
consuming disk space and reducing
performance.
Note: When low-level logging is turned
on, a warning Running in Debug mode is
shown in the web logon screen.
SERVER
OUTPUTDIRECTORY Path to write log files to. The path needs
to be ended with /, for example:
Smart Connection Enterprise Admin Guide
90
Chapter 6 Server Configuration
Automatic JPG/PDF/EPS���������
��������������������
Creation
While saving a document in InDesign, the Enterprise plug-in for
InDesign can automatically generate JPG, PDF or EPS files per page
and sent them to the server. This behavior depends on some feature
settings made at server side.
There are six features that can be enabled:
Feature (1)
Client Event (2)
Format (3)
CreatePagePreview
on save
JPG
CreatePagePreviewOnProduce
on produce
JPG
CreatePageEPS
on save
EPS
on produce
EPS
on save
PDF
on produce
PDF
CreatePageEPSOnProduce
CreatePagePDF
(4)
CreatePagePDFOnProduce (5)
define ( ‘SERVERFEATURES’, serialize( array(
‘CreatePagePreview’,’CreatePageEPSOnProduce’)));
Note that features are retrieved from the server during client login.
After making changes, you have to log out and log in again to
activate them (only for running clients).
(2) "on save" means that the page files are sent to the server when
the user saves the InDesign file (to the server). Note that native
InDesign files can be stored locally only, in which case the page files
are NOT sent. (See paragraph Storing Layouts and Articles Locally in this
chapter for more details.)
"on produce" does the same but only when the layout has reached
a so called ‘produce’ status, which is a property of the status. (See
Chapter 5: Publication Setup.)
(3) The page file format depends on the chosen feature and is sent
by the InDesign plug-in together with the native InDesign file (which
is always sent). Note that thumbnails are also always saved per page
no matter which feature is set. The server decides whether to store
the page files in File Store or in the database. (See the section Where to
Store the Files earlier in this chapter.)
SERVER
(1) The features can be configured in the configserver.php file. The
following example will store previews for each save and store EPS’s
when saving the document into any ‘produce’ status:
Smart Connection Enterprise Admin Guide
91
Chapter 6 Server Configuration
Note: Using both PDF and EPS is not supported.
(4) The CreatePagePDF option has special treatment by the client
software and is used when a saved document does NOT reach any
'produced' status (yet). In that case, the given PDF style name is
used as defined in InDesign. This can be done as follows:
define ( ‘SERVERFEATURES’, serialize( array(
‘CreatePagePDF’ => ’my own style’)));
You can also use one of Adobe's pre-defined (localized) styles:
•
English:
[High Quality Print]
[Press Quality]
Note: This is not a complete list.
define ( ‘SERVERFEATURES’, serialize( array(
‘CreatePagePDFOnProduce’)));
In this example, assume that you have a "print" status defined for
layout objects for which the 'produced' status is enabled. Then,
each InDesign client must have a "print" PDF style defined.
If you like to use the default style instead, give the [Press Quality]
value as follows:
define ( ‘SERVERFEATURES’, serialize( array(
‘CreatePagePDFOnProduce’ => ’[Press Quality]’)));
This is the default configuration.
Note: Since
������������������������������������������������������
CS2, many PDF presets are renamed. For example,
for the English version, [Press] has been renamed to [Press Quality].
SERVER
(5) The CreatePagePDFOnProduce option does basically the same
as CreatePagePDF, but then only when the saved object reaches
the produced status. However, if NO style is given, the status name
is considered to be the PDF style to be used at client. This allows
you to use different output definitions depending on the reached
statuses.
Smart Connection Enterprise Admin Guide
92
Chapter 6 Server Configuration
Storing Layouts and Articles Locally
The Enterprise InDesign and InCopy plug-ins can store native files
(InDesign/InCopy documents) to the local hard disk without sending
them to server. This is done to reduce network traffic and speed up
intermediate save operations.
If the user selects the menu "File | Save", the file is saved locally. When
the menu "Smart Connection | Save Version" is selected, the file is
saved locally and sent to the server as a new version. Only for the
server save operation, the save dialog is raised to let user change
status or add comments.
You can also set the behavior to always save to the server with the
server feature AlwaysSaveDocIntoDatabase in configserver.php.
For example:
define (‘SERVERFEATURES’, serialize(
array(‘AlwaysSaveDocIntoDatabase’)));
The following table shows when native files are sent to the server or
only saved locally.
Client
Event
(1)
Local
Server
Yes
Opt (2)
ID
place article
ID
create article (1)
Yes
Opt (2)
ID
check-in article
Yes
Opt (2)
ID
check-out article
Yes
No
IC/ID
File | Save
Yes
Opt (2)
IC/ID
Smart Connection | Save
Yes
Yes
(1) If the AlwaysSaveDocIntoDatabase option is enabled, a layout
document reaches a special state at InDesign wherein it is not saved
to the server yet although an article is placed on it. When opening
that article in InCopy a warning dialog will raise: "The story has been
placed on a layout which is not saved since then. Therefore, no layout
information is available...". In that case the InDesign document will not
be opened, and InCopy will treat it as an un-placed article.
SERVER
Using this feature, native files are always sent to the server regardless
of which save menu entry is selected. Then, in both cases the save
dialog is raised.
Smart Connection Enterprise Admin Guide
93
Chapter 6 Server Configuration
When the InDesign document is closing it will be saved to the server
to ensure data integrity.
Note that the warning dialog won't raise when the UseXMLGeometry
option is enabled. (See the section Geometry Update.) This is because
layout information is always synchronized.
(2) Optional. Default is "No". The native layout file is only sent to the
server when the server feature AlwaysSaveDocIntoDatabase is set.
Security
Note: The standard installation steps of Enterprise have been written
with ease of installation in mind. After a successful installation please
check the following notes to make sure you end up with a secure
installation.
• The standard MySQL user root does not have a password. Set a
password for root (or even better - delete the root user and create a
new MySQL user account with password) and fill this user/password
into config.php as well.
• If you use the file system, the default location is in the root of your
disk. Change this into a better place and set the location in
config.php. Next make sure the access rights are set as narrow as
possible. (See paragraph Where to Store the Files for more details.)
A few security related facts
• Enterprise uses its own user definitions and password which are
used to authenticate the clients with the Application Server. The
Application Server applies the business logic and authorization rules
what a specific user can do. The Application Server itself always uses
the configured database user that has 'full' access to the database.
• Enterprise user passwords are stored encrypted inside the database.
• For each client session, a ticket is created and returned to the client
application. Instead of sending passwords, the ticket is sent along
each SOAP call (between client and Application Server).
SERVER
Security Checkpoints
Smart Connection Enterprise Admin Guide
94
Chapter 6 Server Configuration
• Note that if you raise the security level of your web browser, cookies
support might get disabled implicitly. However, cookies are used by
the Smart Connection Enterprise system, so make sure you enable it
again after raising the security level.
Logon Expiration
Enterprise expires logon sessions automatically after a configured
time of inactivity. The term can be set to be different for web clients
because web clients typically are not logged off.
Setting
EXPIREDEFAULT
EXPIREWEB
Versioning
Enterprise offers versioning capabilities. Via either the Query/Browse
option, Smart Browser or via InDesign or InCopy, you can view a list
of versions for a file and roll-back to an older version. This will create a
new version based on this older version.
Enterprise stores up to a configurable number of versions per file.
Besides the total number of versions to save, you can also define how
many of the oldest versions should be saved.
When the total number of versions is exceeded, the version will be
deleted that comes after the configured number of oldest files to
keep.
SERVER
Description
Generic logon expiration time in
seconds. Default value: 24*3600.
Logon expiration time in seconds
for web based clients. Default value: 3600.
Smart Connection Enterprise Admin Guide
95
Chapter 6 Server Configuration
These numbers can be set per type of object in configserver.php:
Description
MAX_ARTICLE_VERSION
Total number of versions to
store per article. Default value:
10
MAX_IMAGE_VERSION
Total number of versions to
store per image. Default value: 5
MAX_LAYOUT_VERSION
Total number of versions to
store per layout. Default value: 5
SAVEFIRST_ARTICLE_VERSION
Number of oldest versions to
store per article. Default value: 1
SAVEFIRST_IMAGE_VERSION
Number of oldest versions to
store per image. Default value: 0
SAVEFIRST_LAYOUT_VERSION
Number of oldest versions to
store per layout. Default value: 0
Customizing Web User Interface
You can change the look and feel, language and the used terms of
the web pages shown by the user- and admin web applications.
Enterprise offers a framework that separates your customizations
from the core system. This simplifies updating new versions of the
system by keeping your customizations.
Before you start making changes, you need to understand how
web pages are shown by the web applications. For each user
request, a PHP script reads in a HTML template and a dictionary file
(static_texts.csv) from the .../config/templates/<lang> folder. All
keywords shown in the template file are replaced values defined
in the dictionary. For example, if the template carries the keyword
“<!- - CONFIG:ISSUE - ->”, and the current language is English and you
are using the standard shipped templates, it will be replaced with
the value “Issue” before the requested page is actually shown to the
user. Note that the replacements are only done in memory, so the
template files remain untouched.
SERVER
Setting
Smart Connection Enterprise Admin Guide
96
Chapter 6 Server Configuration
Changing the Look and Feel
The look and feel is determined by the HTML templates, style sheets
and images. These files reside in the .../config/templates/<lang>
and .../config/images folders. You are free to edit those files, but you
need to do that with care. For the HTML templates use a UTF-8 text
editor. Make sure that the content and location of keywords (e.g. “<!- CONFIG:ISSUE - ->”) remain untouched.
Selecting the Language
Out-of-the-box Smart Connection Enterprise offers twelve languages
that you can choose from: English (default), French, German, Italian,
Spanish, Brazilian Portuguese, Dutch and Japanese. The language
of the server is defined in the .../config/configserver.php file in the
SERVERFEATURES definition: ‘CompanyLanguage’ => “enUS”
You can select one of the following values for this setting:
• German: deDE
• English: enUS
• Spanish: esES
• French: frES
• Japanese: jaJP
• Italian: itIT
• Dutch: nlNL
• Brazilian Portuguese: ptBR
• Russian: ruRU
• Simplified Chinese: zhCN
• Traditional Chinese: zhTW
• Korean: koKR
Web users can overrule the company language setting by setting
their own language. This is done in the User Maintenance page. The
available languages are listed in a drop down box.
SERVER
Smart Connection Enterprise Admin Guide
97
Chapter 6 Server Configuration
Changing Terminology
You might want to use different terms than standard shipped. For
example: as a newspaper you might be quite happy with Publication/
Issue/Section/Status terms, but as a book publisher you might want
to use Project/Book/Chapter/Status terms instead. There are two
different methods for changing the terms to suite your workflow: one
for a workflow that contains one language and one that contains two
or more languages.
Method 1 (one language):
Modify the configlang.php file:
Default static properties:
function getUiTerms()
{
$aUiYterms = array();
$aUiYterms[] = new Term( ‘Publication’,
getConfigText(‘PUBLICATION’) );
$aUiYterms[] = new Term( ‘Publications’,
getConfigText(‘PUBLICATIONS’) );
$aUiYterms[] = new Term( ‘Issue’,
getConfigText(‘ISSUE’) );
$aUiYterms[] = new Term( ‘Issues’,
getConfigText(‘ISSUES’) );
$aUiYterms[] = new Term( ‘Section’,
getConfigText(‘SECTION’) );
$aUiYterms[] = new Term( ‘Sections’,
getConfigText(‘SECTIONS’) );
$aUiYterms[] = new Term( ‘Edition’,
getConfigText(‘EDITION’) );
$aUiYterms[] = new Term( ‘Editions’,
getConfigText(‘EDITIONS’) );
return $aUiYterms;
}
SERVER
Smart Connection Enterprise Admin Guide
98
Chapter 6 Server Configuration
Rename the static properties as follows:
function getUiTerms()
{
$aUiYterms = array();
$aUiYterms[] = new Term( ‘Publication’,
‘Project’ );
$aUiYterms[] = new Term( ‘Publications’,
’Projects’ );
);
$aUiYterms[] = new Term( ‘Issue’, ‘Book’
$aUiYterms[] = new Term( ‘Issues’,
‘Books’ );
$aUiYterms[] = new Term( ‘Section’,
‘Chapter’ );
$aUiYterms[] = new Term( ‘Edition’,
‘City’ );
$aUiYterms[] = new Term( ‘Editions’,
‘Cities’ );
return $aUiYterms;
}
Method 2 (two or more languages):
Step 1. First, backup your ../config/templates/<lang>/static_texts.
csv dictionary file.
Step 2. Open the dictionary file ../config/templates/<lang>/
static_texts.csv in a text editor that supports UTF-16 encoding.
Step 3. Each line of the CSV file shows the following format:
<key>;”<value>”; <comment>. Make sure you respect the format
(especially the quotes and semi colons) or the system might fail
reading the dictionary file.
Step 4. Rename any terms and then save the file.
Note: make sure that you do NOT change listed keys, or else the
system will fail.
SERVER
$aUiYterms[] = new Term( ‘Sections’,
‘Chapters’ );
Smart Connection Enterprise Admin Guide
99
Chapter 6 Server Configuration
Step 5. Backup your ../config/templates/<lang> folder before
continuing.
Step 6. Log in as system administrator to the Enterprise web
application.
Step 7. Go to: http://<serveraddress>/scenterprise/server/admin/
generate_templates.php and the templates will be generated. This
can take a while.
Step 8. Now all templates in ../config/templates will be read and
parameters inside are replaced using the static_texts.csv file.
All templates inside ../config/templates/<lang> folder will be
overwritten!
Geometry Update and Remote Module
However, a disadvantage of the XML Geometry Update feature is
that there won't be layers available (all layers will be packed into a
single layer). This means that layers can not be used in Layout View
of InCopy and a preview of the last saved InDesign file is shown
depending on active layers at saving time. Another disadvantage is
that the resolution of non-editable articles is limited to the resolution
of generated geometry preview files. Zooming to higher percentages
can therefore result in a more blurred view.
Note: Currently the XML Geometry Update feature is not working
with Editions and not fully working with Sticky Notes.
Add UseXMLGeometry entry to SERVERFEATURES configuration in
the configserver.php file to enable the XML Geometry Update feature
exposed by the Remote Module (or remove the entry to disable it).
SERVER
By default, when a placed article is opened in InCopy, the layout file
is opened as well. The same happens when sending layout updates
from InDesign and receiving them in InCopy. Bigger layout files
will cause longer wait times and more network load. If you wish to
significantly reduce these aspects, you might want to enable the so
called XML Geometry Update functionality exposed by the Remote
Module since Enterprise v3.3. When enabled, a tiny geometry file and
a geometry preview file is saved by InDesign and loaded by InCopy,
instead of a large layout file. Optionally, the preview files can be
suppressed to make it even more faster.
Smart Connection Enterprise Admin Guide
100
Chapter 6 Server Configuration
Note that this setting can only be done system wide.
By default, the geometry files will carry layout preview information.
For performance reasons you might want to suppress the preview.
In that case you won’t see the layout in InCopy. Nevertheless,
you can still 'write-to-fit'. To suppress geometry preview, add
SuppressGeometryPreview entry to the SERVERFEATURES.
By default, geometry preview files are 72 DPI. This way the files are
small, but articles placed on large pages might become unreadable.
In that case you can change the resolution of the preview files
by adding GeometryPreviewResolution entry followed by a value
indicating DPI.
Example configurations:
Settings in configserver.php
Geometry
disabled
define ( ‘SERVERFEATURES’,
serialize( array( … ) ) );
Geometry
enabled using
72 DPI preview
files
define ( ‘SERVERFEATURES’,
serialize( array( …
‘UseXMLGeometry’,
… ) ) );
Geometry
enabled
using 300 DPI
previews
define ( ‘SERVERFEATURES’,
serialize( array( …
‘UseXMLGeometry’,
‘GeometryPreviewResolution’ =>
‘300’,
… ) ) );
define ( ‘SERVERFEATURES’,
Geometry
enabled without serialize( array( …
‘UseXMLGeometry’,
preview files
‘SuppressGeometryPreview’,
… ) ) );
SERVER
Functionality
Smart Connection Enterprise Admin Guide
101
Chapter 6 Server Configuration
Messages and Events
Enterprise has an event mechanism built into both its InDesign and
InCopy clients and its server, offering the following functionality:
•
User Messages
•
Live Update
•
Hot Inbox
•
Custom Event Handling
Events are broadcasted by the server and received by all InDesign
and InCopy clients. Broadcasted packages are limited to 1024K,
which stands for 45 item properties on average use. The server never
exceeds this limit. Fields exceeding the limit are not sent.
Events are not considered to arrive client-side 100% guaranteed.
Therefore, events are not required for clients to work correctly. There
are some scenarios in which events might not be received:
•
User is not logged in
•
System file dialog (such as file save-as) lays on top while OS’s
message queue is full
•
Client machine is disconnected from network
User Messages
Users can send messages to object items raising dialogs at InCopy
and InDesign clients. Enabling User Messages, enables the “Send
Message” entry in the Enterprise menu when the user is logged in. In
the SERVERFEATURES of the configserver.php the following options
must be set:
•
Messaging
•
EventPort
(See the Example Configuration paragraph later in this chapter on how
to make these changes.)
SERVER
Note: For segmented networks (with multiple subnets),
multicasting needs to be used instead of broadcasting. A separate
technote about multicasting is available from your reseller or
integrator.
Smart Connection Enterprise Admin Guide
102
Chapter 6 Server Configuration
Live Update
Items shown in database view are updated automatically as soon as
their properties are changed in the database. In the SERVERFEATURES
section of the configserver.php file, the following options must be set:
•
Broadcasting
•
EventPort
(See the Example Configuration paragraph later in this chapter on how
to make these changes.)
Hot Inbox
Newly created / incoming items are shown directly in user’s inboxes.
Enabling this feature implicitly also enables Live Update. In the
SERVERFEATURES section of the configserver.php file, the following
options must be set:
HotInbox
•
Broadcasting
•
EventPort
(See the Example configuration paragraph later in this chapter on how
to make these changes.)
In the SERVERFEATURES section of the configserver.php file, the
following options must be set:
•
Broadcasting
•
EventPort
Note: When a new item is created, only the most important fields
get updated in the palette.
(See the Example configuration paragraph later in this chapter on how
to make these changes.)
SERVER
•
Smart Connection Enterprise Admin Guide
103
Chapter 6 Server Configuration
Example Configuration
In the configserver.php file, the following changes must be made to
use all flavors of messaging:
define(‘SERVERFEATURES’,
serialize( array( …
‘Messaging’,
‘Broadcasting’,
‘EventPort’ => 8095,
‘HotInbox’ => ‘Inbox’
… ) ) );
You are free to change the event port number. If you are using more
than one system on a single network, the port must differ or else
clients will try updating views using sent data of foreign databases
which obviously makes no sense.
Email Notifications
Enterprise can send automatic email notifications when files
are routed to a person or a group. When a user received such a
notification he/she can look in his/her Inbox to see which files are
waiting. To enable this feature, you need to perform the following
steps:
Step 1. Set the basic email configuration options
Step 2. Enable the email notification option per publication
Step 3. Enable per user if notifications should be sent.
SERVER
The HotInbox’s value must match a Named Query showing the
user’s inbox. An example of an inbox is given in the Creating Named
Queries paragraph. The client will add all new items to the inbox view
that have a RouteTo property matching the current user logged in.
Note that there is no further checking done (for access rights, item
locations, statuses, etc), so it’s added to the view regardless of the
inbox query definition. If an item disrespects the query it disappears
when the user manually refreshes the entire view (running the inbox
query).
Smart Connection Enterprise Admin Guide
104
Chapter 6 Server Configuration
Basic Email Configuration
In the configserver.php file, the following settings should be
configured for email notifications:
Setting
Description
EMAIL_NOTIFICATION Subject for the e-mail notifications:
Default value: “WoodWing SCEnterprise
notification for %routeto%”
EMAIL_
NOTIFICATION_FILE
File to use for the body of the e-mail
notification.
Default value: BASEDIR.”/config/
templates/email.txt”
SMTP server to send email. For
example smtp.mydomain.com
EMAIL_SMTP
E-mail address to use as the sender of
the notification e-mail. For example
[email protected]
Default value: ""
EMAIL_SMTP_USER
Logon name if required for your SMTP
server.
Default value: ""
EMAIL_SMTP_PASS
Password if required for your SMTP
server.
Default value: ""
Note: The value of the setting EMAIL_NOTIFICATION or the
contents of the file set with the EMAIL_NOTIFICATION_FILE can contain
the following placeholders that will be replaced by the appropriate
values:
%name%
Name of the file the notification is about.
%routeto%
Name of the user or group this file is routed to.
%state%
Workflow status of the file.
SERVER
Default value: ""
EMAIL_SMTP_SENDER
Smart Connection Enterprise Admin Guide
105
Chapter 6 Server Configuration
Enable Email Notification per Publication
Per publication you can configure if you want to enable email
notification. This is done through the Publication Maintenance page
by selecting the Email notifications option.
Enable Email Notification per User
Per user you can set two email options via the User Maintenance
page:
•
Send email notification when file routed to me
•
Send email notification when file routed to one of my groups
Password Management
PASSWORD_EXPIRE
Days after which a password
expires.
PASSWORD_MIN_CHAR
Minimal chars in a password.
PASSWORD_MIN_LOWER
Minimal lowercase chars in a
password.
PASSWORD_MIN_UPPER
Minimal uppercase chars in a
password.
PASSWORD_MIN_SPECIAL
Minimal special chars in a
password.
SERVER
The life-span of a User Account and/or its password can now be
controlled, resulting in less interaction by the administrator. Use of
character type and password length can also be controlled.
Smart Connection Enterprise Admin Guide
106
Chapter 6 Server Configuration
Reporting
Enterprise allows you to define any kind of report via small PHP
scripts. These files have to be put into the /config/reports folder. Inside
your script you will need to implement a function called SCEntReport
that accepts two parameters for the selected publication and issue.
The HTML result of the report should be returned by this function.
Example Report
// Result into a table: first column pie
// chart:
$txt = "<table><tr><td>";
$txt .= graphpie($graph,350, $colors);
// second column list of status and the count
// of objects
$txt .= "</td><td><table>";
foreach ($graph as $key => $value)
$txt .= "<tr><td>$key</td><td align=\"right\
">$value</td></tr>";
$txt .= "</table></td>";
}
?>
return $txt;
Note: The class scent_reportutils (as implemented in /server/
apps/report.php) offers a useful function to get a list of all statuses
and their colors for a particular publication/issue:
function getColorList( $inPub, $inIssue,
$objType, &$graph, &$colors )
SERVER
<?php
function SCEntReport( $inPub, $inIssue )
{
// First get associative array with // status/counts and list of colors for these
// statuses
$reportutils = new scent_reportutils;
$reportutils->getColorList( $inPub, $inIssue, "Article",
$graph, $colors );
Smart Connection Enterprise Admin Guide
107
Chapter 6 Server Configuration
Note: SC Enterprise includes a limited license of the KavaChart
components from Visual Engineering Inc. that we use for charts.
To use KavaChart components in your own scripts, you can buy a
KavaChart license that comes with developer documentation, see
www.ve.com for more information.
Web Editor
Using the web editor you can edit articles in native InCopy format.
Articles can be opened in the editor allowing the user to change the
content. Paragraph styles can be changed as well as bold and italic
character styles.
For editing an InCopy article, InDesign Server is not needed. InDesign
Server is needed for server side preview generation and write to fit.
To make sure that the article can be edited, the following settings in
the configserver.php must be set correctly:
Description
WEBEDITDIR
ATTACHEMENTDIRECTORY.'/
webedit/'
WEBEDITDIRIDSERV
ATTACHEMENTDIRECTORY.'/
webedit/'
LABELHEIGHTS
serialize(array('HEAD' => '8',
'BODY'=>'20'))
WEBDISABLEMARKUP
'bold,italic,underline'
TEMPLATEDIR
BASEDIR.'/config/articletemplates/'
WEBEDITDIR
This setting defines a folder where temporary articles are saved.
By default, this points to a folder in the filestore
(ATTACHEMENTDIRECTORY).
WEBEDITDIRIDSERV
This setting defines the location of the files that are used
by InDesignServer. This location is from the InDesignServer
perspective. This folder must be shared for InDesignServer.
SERVER
Setting
Smart Connection Enterprise Admin Guide
108
Chapter 6 Server Configuration
LABELHEIGHTS
This setting defines the text area heights for text frames.
For example a text frame with the HEAD label will be 8 rows high.
WEBDISABLEMARKUP
This setting defines what character styles can be applied to the text. To enable a character style, remove it from the list.
The list is comma separated.
TEMPLATEDIR
This is the folder you can place article templates in. These
articles can then be used to create new articles in the web
editor.
InDesign Server
This setting defines the location of the InDesign Server.
For example if the Server is running on the local machine
this would be: http://localhost:18383
SERVER
INDESIGNSERV_HOST
Smart Connection Enterprise Admin Guide
109
Chapter 6 Server Configuration
Server-Side Preview Generation
Some Enterprise components generate previews from images, for
example the Upload page or Smart Upload. Typically file formats like
PSD and PDF/EPS are not always (fully) supported. In order to have
more sophisticated preview generation capabilities you can also
install and configure server-side preview generation. Doing so will
also enhance the meta-data extraction capabilities.
The following additional components are required for server-side
preview generation:
Imagemagick
Imagemagick is free software (under the General Public License)
and runs on all major operating systems.
See the website http://www.imagemagick.org.
Ghostscript
• AFPL: Owned by Artifex Software, Inc. and artofcode LLC,
formerly Aladdin Ghostscript. This version is the most up to
date: it supports the newest PDF features and image formats.
This version may be used freely but may not be distributed
commercially.
• GPL: distributed with the General Public License, which allows
free use and free distribution under certain circumstances. GPL
versions are usually released about a year after the AFPL release.
Therefore, this version doesn’t contain the latest features but is
stable.
• GNU: distributed with the GNU license. These are older
Ghostscript versions that were part of the GNU project.
For more information about Ghostscript, see the following
websites:
http://www.cs.wisc.edu/~ghost
http://www.ghostscript.com
SERVER
Ghostscript is copyrighted and is available under several licenses:
Smart Connection Enterprise Admin Guide
110
Chapter 6 Server Configuration
Windows Installation
Imagemagick
See the website http://www.imagemagick.org. Download a
Windows installer from e.g. ftp://ftp.nluug.nl/pub/ImageMagick/
binaries.
Run the installer and have the installation process modify the
PATH setting. You will have to reboot to use the modified PATH
setting.
Ghostscript
Download a version under the GPL license from ftp://mirror.
cs.wisc.edu/pub/mirrors/ghost/GPL/. Choose a version
subdirectory gs### and run gs###w32.exe (where ### is the
version number, e.g. gs815/gs815w32.exe). Of course, you can
also download other versions (under another license) from ftp://
mirror.cs.wisc.edu/pub/mirrors/ghost/.
Allow a PHP page to start a command shell
This can be established in two ways:
•
Copy the executable cmd.exe from the <windows>\
system32 directory to the PHP directory (the directory where
php.exe resides, e.g. c:\php); or
•
Assign “read and execute” access rights for the
webserver user IUSR_<machinename> to the file cmd.exe in the
<windows>\system32 directory.
If a PHP page can’t start a command shell, you’ll see the error
message Unable to fork.
The PATH setting of the command shell should include the
path to Imagemagick and Ghostscript.
Allowing PHP pages to execute a command shell can cause a
security risk for your web server because any PHP page can now
execute any DOS command. Therefore, be sure that :
-
No malicious script pages (like PHP, ASP, cgi, etc.) can be
installed on the web server
-
The user IUSR_<machinename> doesn’t have access
to files that may not be accessed by a web user (via a malicious
script page).
SERVER
Run the installer.
Smart Connection Enterprise Admin Guide
111
Chapter 6 Server Configuration
Mac OS Installation
Imagemagick
Download a package from http://www.entropy.ch/software/
macosx/#imagemagick (E.g. imagemagick-6.1.7.pkg.tar.gz)
Install the package.
Ghostscript
Run the installer from:
http://www.versiontracker.com/dyn/moreinfo/macosx/
18096&vid=159121&mode=info or
http://www.linuxprinting.org/macosx/hpijs/
Install Ghostscript in /usr/local (the binaries installed in /usr/
local/bin).
In case you want to test Imagemagick from the command
line:
Add /usr/local/bin to the PATH setting in ~/.profile (for the current
user), or in /etc/profile (for all users):
export PATH=”$PATH:/usr/local/bin”
Linux Installation
ImageMagick
There are three options to install ImageMagick:
1. Download a binary package from
ftp://ftp.nluug.nl/pub/ImageMagick/binaries (e.g. ImageMagicki686-pc-linux-gnu.tar.gz) For installation notes, see http://www.
imagemagick.org/www/QuickStart.html.
2. Download the source from http://www.imagemagick.org and
follow the make instructions.
Continued Ë
SERVER
Unfortunately, these versions are not very recent. You can have a
look at http://www.cups.org/espgs/index.php, and see whether a
recent version (with an installer) is available or you can compile
Ghostscript yourself.
Also install the fonts in the font archive files.
Smart Connection Enterprise Admin Guide
112
Chapter 6 Server Configuration
Á Continued From
3. If you’re familiar with it, install a .rpm package or install e.g. via
yum.
Ghostscript
There are three options to install Ghostscript:
1. Download a version under the GPL license from
ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/. Choose a version
subdirectory first, e.g. 8.15.
Of course, you can also download other versions (under another
license) from ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/
Download the .tar.gz archives, and compile and install the source
code. Follow the instructions in the “How to install Ghostscript”
document (doc/install.htm).
Also install the fonts in the font archive files.
In case you want to test the Imagemagick from the command
line: add /usr/local/bin to the PATH setting to ~/.profile (for the
current user) or /etc/profile (for all users):
export PATH=”$PATH:/usr/local/bin”
export MAGICK_HOME=”/usr/local”
export LD_LIBRARY_PATH=”/usr/local/lib”
File Locations and Access Rights
• The preview application uses the Temp subdirectory of the
ATTACHMENTDIRECTORY for temporary files. Be sure that the
webserver user (Mac OSX: www; Linux: nobody; Windows: IUSR_
<machinename>) has Read and Write access for files in this directory.
• Be sure that the webserver user (Mac OSX: www; Linux: nobody;
Windows: IUSR_<machinename>) has execute access for the
Imagemagick and Ghostscript executables (convert, gs).
SERVER
2. If you’re familiar with it, install a .rpm package or install via e.g.
yum.
Smart Connection Enterprise Admin Guide
113
Chapter 6 Server Configuration
Enterprise Configuration
Add the ServerCreateImagePreview entry to the SERVERFEATURES
setting in configserver.php to specify that Imagemagick should be
used to generate the thumbnails, previews and meta data of created
or updated images.
Troubleshooting Server-Side Preview Generation
First try to test Imagemagick via the test page (http://yourserver/
SCEnterprise/server/wwtest) and follow the test preview link.
First press the Show versions button to see whether the Imagemagick
commands convert and identify can be found and executed
successfully. On Linux and Mac, also the Ghostscript version will be
shown. If the version numbers can not be shown:
Mac OS and Linux
• Imagemagick and Ghostscript are expected in /usr/local/bin.
• Also the MAGICK_HOME, LD_LIBRARY_PATH and DYLD_LIBRARY_
PATH settings should be present and valid.
• Try calling the Imagemagick commands convert and identify in
a shell (command prompt) to see whether the installation was
successful. Type convert –version, or /usr/local/bin/convert –version.
Windows
The convert command can also be a system command. Be sure
that the Imagemagick path is the first path in the PATH setting,
or specify the Imagemagick path explicitly in preview.php. If
the wrong convert command is used, the error message Access
denied may appear.
SERVER
• Check the settings checkbox before pressing the Show versions
button, and see whether the Imagemagick (and Ghostscript) paths
are part of the PATH setting.
Smart Connection Enterprise Admin Guide
114
Chapter 6 Server Configuration
Next, try uploading an image and see the preview by pressing the
“preview” button. If this fails, check the “verbose” checkbox and check
the command line and possible error messages. Check the access
rights of the input and output directory (the Temp subdirectory of
the ATTACHMENTDIRECTORY).
Next to this test page, you can also specify a value for
OUTPUTDIRECTORY in configserver.php. Error information will be
written to a file called imagemagick.txt in the output directory
specified.
Modifying Business Logic
Enterprise offers two facilities to enhance or modify the server's
business logic:
• Event Handler to execute PHP code when a business event occurs.
• To change behavior when setting meta data, implement
the validateMetaData( $user, MetaData &$meta ) function in
smartvalidator.php. Throw a BizException to cancel setting the
metadata when for example user’s input is invalid.
You can for example apply naming conventions or filter meta data to
prevent a user from setting a specific field.
Custom Event Handling
You also have the possibility to develop your own server operations
that are triggered by workflow events. These operations can be
implemented in the eventhandler.php located in the “SCEnterprise\
config\code” sub folder of the web root folder on the SCEnterprise
server. This event handling mechanism can be used for example to
integrate Smart Connection Enterprise with your cms. The following
workflow events will be triggered:
• logon / logoff
• createobject / deleteobject
• saveobject
• setobjectproperties
• sendto
• lockobject / unlockobject
SERVER
• Overrule business logic calls via smartserver.php.
Smart Connection Enterprise Admin Guide
115
Chapter 6 Server Configuration
• createobjectrelation / deleteobjectrelation
• updateobjectrelation
• deadlinechange
• sendmessage
• deletemessage
Overrule Business Logic via smartserver.php
Enterprise uses the SmartServer php class to implement its business
logic. All standard logic is implemented in the SmartServerBase class
that resides in the folder /SCEnterprise/server.
Inside the file /config/code/smartserver.php you can find the empty
SmartServer class that can be used to override any of the business
calls. Typically you will use this to overrule one of the business calls
(for example LogOn). In your implementation you can execute some
code, call the base class implementation and after this execute some
code.
Below is a description of advanced settings that were not described
above. We don't expect you will need to change these settings.
configserver.php
Setting
Description
DBPREFIX
Prefix used for all database table
names. This must not be changed.
Default value: "smart_"
MIMEMAP
Mapping of MIME types to file
extensions.
SERVERURL
URL used by wwtest web-pages to
logon as SOAP client.
Default value: ‘��������
http://’.���
$_
SERVER["HTTP_HOST"].INETROOT.’/
index.php’
PASSWORD_CRYPT
Reserved for future usage.
Default value: 'Server'
SERVER
Advanced Settings
Smart Connection Enterprise Admin Guide
116
Chapter 6 Server Configuration
Setting
Description
SERVERADDONS
Mechanism to enable/disable
addons.
Supported values:
'JournalDesigner' => 'PlanSystem'
Default value: serialize(array());
The directory temperary objects are
cached in. Defualt in the FileStore/
cache folder.
UPDATE_GEOM_SAVE
If ON client gives warning dialog
when geometry update is available.
PERSONAL_STATE
If ON you can store documents in the
Personal status.
PERSONAL_STATE_
COLOR
Defines the color of the state
Personal.
SERVER
CACHEDIR
Smart Connection Enterprise Admin Guide
117
Chapter 6 Server Configuration
Setting
Description
SERVERFEATURES
Generic mechanism to enable/disable
system features, contains serialized
array of strings. Supported string
values:
Default value: serialize(array(
‘Versioning’, ‘StoreSettings’,
‘CreatePagePreview’,
‘CreatePagePDFOnProduce’ =>
‘[press]’,
‘Messaging’,
‘Broadcasting’,
‘EventPort’ => 8093,
‘HotInbox’ => ‘Inbox’ ,
‘KeepCheckedOut’ ,
‘CompanyLanguage’ => ‘enUS’ ))
XMLTYPE
Internal definition related to XML
geometry
SERVER
AlwaysSaveDocIntoDatabase,
Versioning,
StoreSettings,
CreatePagePreview,
CreatePagePreviewOnProduce,
CreatePageEPS,
CreatePageEPSOnProduce,
CreatePagePDF,
CreatePagePDFOnProduce,
UseXMLGeometry,
SuppressGeometryPreview,
Messaging,
Broadcastings,
EventPort,
HotInbox
ServerCreateImagePreview
KeepCheckedOut
CompanyLanguage
Smart Connection Enterprise Admin Guide
118
Chapter 6 Server Configuration
Setting
Description
MULTICAST_TTL
MULTICAST_IF
MC_MEDIATOR_PORT
MC_MEDIATOR_ADDRESS
Multicast related settings as
explained in separate technote
available from your reseller or
integrator.
Made to Print Settings
Description
MTP_SERVER_DEF_ID
Server name used to login in
SCEnterprise (wwsettings.xml).
MTP_USER
The username of the SCEnterprise
user.
MTP_PASSWORD
The password of the SCEnterprise
user.
MTP_SERVER_FOLDER_IN
Input folder of Made to Print from
server perspective.
MTP_CALLAS_FOLDER_IN
Input folder of Made to Print from
Made to Print perspective.
MTP_CALLAS_FOLDER_OUT
Output folder of Made to Print
from Made to Print perspective.
MTP_JOB_NAME
Default job of Made to Print.
MTP_POSTPROCESS_LOC
Location of the postprocessing
scipt.
Configuration settings new to Enterprise version 4.2:
DEADLINE_
WARNTIME
Enterprise can warn a user that a
deadline is near: the so-called soft
deadline. Enter the soft deadline in
seconds before the real deadline.
CREATEVERSION_
ONSTATECHANGE
Creates a version on every status change.
HOLIDAYS
Specify a date as a non-working day.
Possible setting: y-m-d or m-d
SERVER
Setting
Smart Connection Enterprise Admin Guide
119
SECTION: SERVER
Chapter 7
Server Internals
SERVER
Smart Connection Enterprise Admin Guide
120
Chapter 7:
Server Internals
Chapter 7 Server Internals
Application Server
The Enterprise application server consists of a folder tree with the
following sub-folders:
Description
config
Configuration files.
config/images
Image files used by the web applications.
Changing these allows you to modify the
look and feel of the web user interface.
config/templates
HTML templates and style sheet used by
the web applications.
config/code
Contains PHP files for additional custom
implementations. Here you can enrich
the system with custom functionality on
system events.
config/reports
Contains PHP report scripts (See the
section Reporting in Chapter 6: Server
Configuration for more information.)
server
Core Application Server files.
server/admin
Contains PHP files implementing the
various web admin applications to
manage users, groups, publications etc.
server/apps
Contains PHP files implementing the
various web applications such as query/
browse and image upload.
server/bizclasses
Contains PHP classes with the business
logic.
server/bizservices
Contains PHP classes implementing
workflow services based on the definition
of the services as specified in the workflow
WSDL.
server/dataclasses
Contains PHP files with data structures
used thoughout the server.
SERVER
Folder
Smart Connection Enterprise Admin Guide
121
Chapter 7 Server Internals
Description
server/dbclasses
Contains PHP classes that contain the
translation from business objects to
database objects including the SQL
representation.
server/dbdrivers
Contains PHP files with the
implementation of the drivers of the
various supported databases.
server/dbscripts
SQL scripts for manual creation/update of
the database. Also includes the abstract
database model and a viewer.
server/interfaces
WSDL interface definitions.
server/javachart
Java components used to produce charts.
(For more information, visit
http://www.ve.com/applet.html.)
server/PEAR
PHP library used by the Enterprise PHP
code.
server/rte
User interface components for the Web
Editor.
server/soap
PHP classes that wrap around the PEAR
SOAP subsystem.
server/utils
Contains PHP files with utility classes and
functions.
server/wwtest
Contains pages to test the functioning of
the Enterprise server.
SERVER
Folder
Smart Connection Enterprise Admin Guide
122
Chapter 7 Server Internals
Customizing your Business Logic
Enterprise offers various facilities to modify business logic or trigger
additional actions as discussed in the section Modifying Business Logic
in Chapter 6: Server Configuration. This is the preferred way to make
any changes. If your needs go further, you can customize the core
server.
Customizing the Core Server
The Application Server is written in PHP and SQL. Since this is open
source, you are free to make changes. If you do, you might need to
update your customized sources whenever a new version of Smart
Connection Enterprise Server comes out. Therefore we advice to
document all customization thoroughly in the code to ease merging
your changes with a future version.
The source files of the Application Server can be found at:
Windows
c:\inetpub\wwwroot\SCEnterprise\server
Linux
/var/www/html/SCEnterprise/server
Database
Enterprise uses the following database tables:
Table
Description
smart_actionproperties
Custom meta data properties assigned
to workflow dialogs.
smart_authorizations
Holds the authorization rules.
smart_config
Version of installed database model.
Used by database setup scripts to
update the model to newer versions.
SERVER
Mac OSX
/Library/WebServer/Documents/SCEnterprise/server
Smart Connection Enterprise Admin Guide
123
Chapter 7 Server Internals
Description
smart_deletedobjects
If an object is deleted, it's moved to
this table.
smart_elements
Contains the components that an
article consists of.
smart_groups
Definitions of user groups.
smart_issueeditions
Holds information about the actual
deadline defined for an edition in a
particular issue.
smart_issuesection
Holds information about the actual
deadline defined for a section in a
particular issue.
smart_issuesectionstate
Holds information about the actual
deadline and relative deadline defined
for a status/section combination in a
particular issue.
smart_log
Logs user actions, can be viewed via
the Logs WebApp.
smart_namedqueries
Named Query definitions.
smart_objecteditions
Edition specific information for an
object.
smart_objectlocks
Instead of using DB specific SQL
features, Enterprise uses this table to
lock objects. This way the system can
be used cross-database.
smart_objectrelations
Holds relations between objects,
such as which articles are placed on a
layout.
smart_objects
Meta data for all objects. Note that all
objects have a unique ID.
System adds custom properties to this
table using "c_" prefixes.
smart_objectversions
Holds information about older version
of object versions.
smart_pages
For each layout (InDesign) object, this
table holds the meta data of its pages.
SERVER
Table
Smart Connection Enterprise Admin Guide
124
Chapter 7 Server Internals
Description
smart_placements
Holds detailed information about the
placements of a story/image on a
layout.
smart_profiles
Profile definitions.
smart_profilefeatures
List of profiles.
smart_properties
Custom meta data property
definitions.
smart_publeditions
Publication Edition definitions.
smart_publadmin
Administrators assigned to
publications.
smart_publications
Holds your publications.
smart_publissues
The issues with link to their
publication.
smart_publsections
The sections with link to their
publication.
smart_routing
The automatic routing definitions.
smart_sectionstate
Holds information about the relative
deadline for a status in a section.
smart_settings
User settings, for example the user
defined queries.
smart_states
Workflow status definitions.
smart_storage
Holds the files when stored inside DB.
smart_tickets
Tickets for users logged on. When
a user logs on, a ticket is generated
which is used for the subsequent calls.
smart_users
User definitions and encrypted
password.
smart_usrgrp
Links users with groups.
smart_mtp
Holds your MadeToPrint integration
configuration settings.
smart_mtpsentobject
Holds the objects that are sent to the
MadeToPrint integration.
SERVER
Table
Smart Connection Enterprise Admin Guide
125
Chapter 7 Server Internals
Table
Description
smart_objectflags
Holds flags used by integrations for
specific objects.
smart_messagelog
Hold all message that are sent or that
are linked to an object.
SERVER
Smart Connection Enterprise Admin Guide
126
Chapter 7 Server Internals
File Store
The File Store will only be used if you have chosen not to store your
files inside the database. By default, the File Store's root folder is
located at:
Mac OSX or Linux
/FileStore
Windows
c:\FileStore
Numbered Storage
• For the files directly belonging to an object:
[object ID] – ["thumb" | "preview" | "native"] . [version #]
• For the files belonging to pages of a layout object:
[object ID] – page<number>-["1" | "2"| "3"]
For example: assume you have enabled the CreatePagePreview
and CreatePagePDFOnProduce features (See Chapter 6: Server
Configuration, section Automatic JPG/PDF/EPS Creation) and
configured File Store storage. Then, saving InDesign document
(object id = 57) that consists of two pages, into a status that has the
‘produce’ flag enabled, the following page files are saved in the File
Store:
File Name
Version
File Format
Page
RenditionType*
57-native
current
INDD
1
native
57-preview
current
JPG
1
preview
SERVER
By default, each object file stored in the File Store has the following
naming conventions:
Smart Connection Enterprise Admin Guide
127
Chapter 7 Server Internals
File Name
Version
File Format
Page
RenditionType*
57-thumb
v1
JPG
1
thumb
57-native.v1
v1
INDD
1
native
57-preview.v1
v1
JPG
1
preview
57-thumb.v1
v1
JPG
1
thumb
57-page1-1
current
JPG
1
thumb
57-page1-2
current
JPG
1
preview
57-page1-3
current
PDF
1
output
57-page2-1
current
JPG
2
thumb
57-page2-2
current
JPG
2
preview
57-page2-3
current
PDF
2
output
Note: Per object you can have more than one file. For objects likes
pages and images several so-called renditions are stored which
include the native file, thumbnail files, preview files etc. Also, per
version additional files are stored and for layout objects also files per
pages are stored.
To ensure optimum performance when many files are stored, the
system automatically creates sub folders. For instance, if you are
about to store more than 1000 objects in one folder, the system
creates a sub-folder named "1". Files between 100 and 200 are
stored inside that folder. The folder creation is done recursively, so if
you store the 1000th file in the File Store, sub-folder named "10" is
created inside the "10" folder.
You can configure the number of objects to be stored inside one
folder via the ATTACHMODULO setting inside the configserver.php
file (the default is 100).
Stuctured Storage
Alternatively to the numbered storage, files can be stored respecting
the Publication / Issue / Section structure as objects are stored in the
database. To enable this feature, set the ATTACHSTORAGE setting of
configserver.php to REALFILE value.
SERVER
* The RenditionType is referring to the WDSL definition. Note that
both EPS and PDF formats are stored as ‘output’ rendition type.
Having both output formats enabled is NOT supported !
Smart Connection Enterprise Admin Guide
128
Chapter 7 Server Internals
Backup or Removal
It is possible to backup the complete content from the Enterprise
database. This can be used to re-create the database into a new
installation as well.
With the default configuration, Enterprise stores meta data inside the
database and the actual files inside the File Store on disk. To back-up
your installation you need to:
1. Export/backup your SQL database. For MySQL you can do
this for example with phpMyAdmin, select your database, choose
export and export to file. For more info on backup of MySQL see:
http://dev.mysql.com/doc/mysql/en/Backup.html
http://jeremy.zawodny.com/mysql/mysql-backup-and-recovery.
html
To re-create into an empty Enterprise installation, do the following
steps:
A. After creating your database with phpMyAdmin, choose SQL
tab, select the SQL script created with step 1 above and press Go.
B. Copy recursively the files from step 2 into your File Store.
After this make sure access rights are set correctly.
Note: The description provided above cannot be used to copy the
content of one Enterprise setup into another Enterprise that already
has content inside.
SERVER
2. Copy all files (recursively) from your File Store folder.
Note: if you have configured Enterprise to store the files inside
the database, this second step is obsolete.
Smart Connection Enterprise Admin Guide
129
SECTION: CLIENT
Chapter 8
Client Installation
CLIENT
Smart Connection Enterprise Admin Guide
Chapter 8:
Client Installation
130
Chapter 8 Client Installation
Requirements
• Adobe InDesign CS2
• Adobe InCopy CS2
Operating System
• Apple: Mac OS X
• MS-Windows 2000 or XP
Hardware
The same minimal requirements apply as those to the standard
InDesign and InCopy installation. See www.Adobe.com for details.
We strongly recommend to make sure enough memory is used, at
least 512 Mb for InCopy and at least 768 Mb for InDesign.
Installation
Installing InDesign and/or InCopy
Follow the instructions as provided by Adobe.
Follow these steps separately for InDesign and InCopy:
Step 1. Start the installation program for Smart Connection
Enterprise.
Step 2. Read the license agreement and continue after agreeing
with it.
Step 3. Select to install Enterprise for InCopy or InDesign.
The setup will show the path to the InDesign or InCopy folder
where Enterprise will be installed. If you have multiple InDesign
or InCopy versions installed, you may select a different InDesign
or InCopy directory.
CLIENT
Installing Smart Connection Enterprise
Smart Connection Enterprise Admin Guide
131
Chapter 8 Client Installation
Step 4. Select the components to install:
• Smart Connection Enterprise Plug-ins – the client software.
• InCopy Frames Plug-ins – allows writers to make changes
to the frame size, either by a line basis or by entering exact
dimensions.
• InCopy Layers Plug-ins – allows writers working with InCopy
to see and select layers within an InDesign file.
• Documentation – the user and administrator manuals.
Note:The default location for the documentation is a WoodWing
folder within the InDesign or InCopy folder.
Setup will now install the files. When you start InDesign or InCopy
you will be prompted to register.
Authorization and Registration
After installation, you need to authorize your copy of Enterprise
within 30 days. After this demo period Enterprise will stop working.
In order to authorize your copy you need to have a valid license.
With the purchase you will receive a serial number needed for
authorization.
SYSTEM
ACTION
For Mac OS:
From the InDesign or InCopy Menu,
select About WoodWing Plug-ins.
CLIENT
During the 30-day demo period Enterprise will prompt you at regular
intervals to authorize your license. The authorization process can be
started from the WoodWing About dialog.
Smart Connection Enterprise Admin Guide
132
Chapter 8 Client Installation
SYSTEM
ACTION
For Windows:
From the InDesign or InCopy Help
Menu, select About WoodWing
Plug-ins.
The WoodWing About dialog shows all WoodWing products installed
with the authorization status (demo, authorized or expired). From
this list select Smart Connection Enterprise and press the Authorize
button.
To authorize the plug-in, the system will connect to the WoodWing
authorization server over the Internet. Only the information shown
by the authorization dialog will be transmitted.
Next you will be prompted to enter your serial number. Note that
only registered users have access to free support and upgrades.
The following screen prompts you for your details, after which the
plug-in will be ready to connect to the Internet. If you are using a
proxy server you can specify the proxy server information.
CLIENT
If you don’t have an Internet connection or you don’t want to
authorize over the Internet, you can select the I don’t have access
check box to authorize through e-mail or fax.
Smart Connection Enterprise Admin Guide
133
Chapter 8 Client Installation
Basic Client Configuration
With the installation a configuration file called WWSettings.xml
is installed. This default configuration file includes two Enterprise
servers: localhost and WoodWing. The first assumes to have the
Enterprise Application server on the same machine as the client
machine. This obviously is not the normal production situation. The
WoodWing server can be used for testing which we advice to remove
from the configuration file for production, just to prevent mistakes.
Note: The location of the WWSettings.xml file has been changed
since the introduction of Smart Connection Enterprise 4.0:
Mac OSX
Library:Preferences:WoodWing:WWSettings.xml
Windows
C:\Documents and Settings\All Users\Application Data\
WoodWing\WWSettings.xml
The WWSettings.xml file can be changed with a plain text editor.
Default contents:
Your content (assuming a single Application Server) can look like:
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<SCEnt:Servers>
<SCEnt:ServerInfo name="Server"
url="http://SCEntServer/SCEnterprise/index.php"/>
</SCEnt:Servers>
</Settings>
CLIENT
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<SCEnt:Servers>
<SCEnt:ServerInfo name="localhost"
url="http://127.0.0.1/SCEnterprise/index.php"/>
<SCEnt:ServerInfo name="WoodWing" url="http://www.
woodwing.net:8080/SCEnterprise/test/index.php"/>
</SCEnt:Servers>
</Settings>
Smart Connection Enterprise Admin Guide
134
SECTION: CLIENT
Chapter 9
Client Configuration
CLIENT
Smart Connection Enterprise Admin Guide
135
Chapter 9:
Client Configuration
Chapter 9 Client Configuration
This chapter explains the configuration options of the Enterprise
client as well as its exposed functions for scripting purposes.
Configuration Settings
Options are made to the WWSettings.xml.
Fixed list of Application Servers
For information how to set the list of application servers, see Chapter
8: Client Installation Basic Client Configuration.
Dynamic List of Application Servers
When using a different or customized server, it might be required to
get a list of servers from the Application Server. For this usage you
must use only one ServerInfo element below Settings. That server is
then used to retrieve the list of servers dynamically. For instance:
<Settings>
<SCEnt:ServerInfo name="Server"
url="http://SCEntServer/SCEnterprise/
index.php"/>
Enable Automatic View Updates
The Enterprise plug-ins for InDesign and InCopy update the Smart
Connection palette automatically on most user database actions
such as Save, Close etc. These automatic view updates can be
enabled with the setting below:
<SCEnt:ViewUpdate/>
The disadvantage of this option is that for each update a query
is sent resulting in server and network load. A good alternative is
enabling the broadcasting mechanism as written in Chapter 6: Server
Configuration, Messages and Events. This causes significantly less
server/network load.
CLIENT
</Settings>
Smart Connection Enterprise Admin Guide
136
Chapter 9 Client Configuration
Automatic Check-Out on Place
The following setting can be used for InDesign to force articles to
automatically check-out after placing.
<SCEnt:CheckOutOnPlace/>
Automatic Update Smart Connection Panel
The following setting can be used to let the Smart Connection Panel
update automatically. If you do not set this, then the browse content
of the panel is not updated automatically but needs to be refreshed
manually.
<SCEnt:AutoRefreshPanel/>
Ask Before Updating Links
The following setting can be used prevent automatic updating of
links in your document. When this setting is set you will be asked if
you want to update the links in your document.
<SCEnt:SkipUpdateLinks/>
Use Proxy Settings
<SCEnt:Proxy adress="proxy_address"
user="proxy_user" password="proxy_password"/>
The address is the address of the proxy server. The user is the user
name of an authorized proxy user. The password is the password
associated with the proxy user.
Silent Save
To suppress the Save dialog when using the Save Version command,
add the following setting:
<SCEnt:SilentSaveVersion/>
CLIENT
The following setting can be used to enable clients behind a proxy
server.
Smart Connection Enterprise Admin Guide
137
Chapter 9 Client Configuration
Automatic XML Mapping
The following setting can be used for both InDesign and InCopy to
automatically call the Map Styles to Tags and Map Element Labels to
Tags commands before an InCopy file is saved to the database.
This makes sure the InCopy XML articles contain additional XML tags
that allow easy conversion with XLSLT. Obvious downside is the fact
that saving of InCopy files (also check-in articles from InDesign) will
become somewhat slower.
<SCEnt:MapStyleTagsToXML/>
Using https Connections to the Enterprise Server
Note: How to use this is explained in a separate document (contact
your local reseller/integrator).
Automatic Login
The following setting can be used to automatically login to the server
at start-up. Obviously using this setting can introduce a security
breach. The value of location should be the name as specified in the
server list. (See Dynamic list of Application Servers above.)
<SCEnt:AutoLogin name="user" pw="pw" location="server"/>
The Enterprise plug-ins for InDesign and InCopy offer extensive
logging capabilities. The following setting dumps files of all network
requests and responses. Most interesting are typically the SOAP
request and response. With the Advanced attribute set, per session
a sub-folder is created storing all calls sequentially. This attribute is
meant to be set temporary for detailed analysis because required
storage space will grow significantly.
<SCEnt:LogFile
RequestBuffer= "C:\SCEnt_client_log\"
ResponseBuffer="C:\SCEnt_client_log\"
SOAPResponse= "C:\SCEnt_client_log\"
SOAPRequest= "C:\SCEnt_client_log\"
Advanced = "true" />
CLIENT
Logging
Smart Connection Enterprise Admin Guide
138
Chapter 9 Client Configuration
If the Advanced attribute is not set (or set to "false"), per type of
call only the last one will be saved (overwriting any previous one).
Required storage space will stay about the same, but now only the
last call of each type can be traced and there is no way to determine
the call sequence.
Besides the log file there is also a logging mechanism that writes all
kind of information to a log file. Note that this file keeps growing and
can become very large.
Note: The location of the WWLog.xml is inside the InDesign and
InCopy folders.
Note: Up until version v3.4, a log file existed named WWLog.txt
which was located in both the InDesign and InCopy application
folders. Since version v4.0 these files have been renamed to WWLog_
InDesign.txt and WWLog_InCopy.xml.
Note: The location of these log files is:
Mac OSX
Users:<user name>:Library:Preferences:WoodWing
Windows
C:\Documents and Settings\<user name>\Application Data\
WoodWing\
<Logging level="0" allareas="1">
</Logging>
You can also filter logging in specific areas, for example:
<Logging level=”0” allareas=”0”>
<area name=”SCEnt-Workspace”/>
<area name=”SCEnt-Logon”/>
</Logging>
CLIENT
To enable logging, add the following code to WWSettings.xml:
Smart Connection Enterprise Admin Guide
139
Chapter 9 Client Configuration
The Logging attributes have the following options:
level
all = 0, info = 2, warning = 5, error = 8
allareas
only listed areas enabled = 0, all areas enabled = 1
area name
SCPro-MCV, SCEnt-Workspace, SCEnt-Logon,
SCEnt-DIME, SCEnt-MIME, SCEnt-SOAP,
SCEnt-HTTP, SCEnt-HTTPTimer
Obsolete Options
Since Smart Connection Enterprise v3.3, the following options have
become obsolete:
PDFExportPreDefinition (changed into server feature)
NoViewUpdate (changed into ViewUpdate)
Offline Documents
Offline documents are stored locally in the following folders:
Mac OSX
• Users:<user>:Documents:Smart Connection:InCopy
• Users:<user>:Documents:Smart Connection:InDesign
• C:\Documents and Settings\<user>\My Documents\Smart
Connection\InDesign
Smart Connection Palette Character Size
The size of the characters in the Smart Connection Palette can be set
to ‘Small’ (default), ‘Medium’, ‘Large’ or ‘ExtraLarge’. This option only
enlarges the size of the characters in the query results. All other fields
(like the dropdown boxes, menu items, etc) are left at the default size.
Also, the height of the rows in the palette remains the same.”
<SCEnt:PanelFontSize
<SCEnt:PanelFontSize
<SCEnt:PanelFontSize
<SCEnt:PanelFontSize
Size=”Small”/>
Size=”Medium”/>
Size=”Large”/>
Size=”ExtraLarge”/>
CLIENT
Windows
• C:\Documents and Settings\<user>\My Documents\Smart
Connection\InCopy
Smart Connection Enterprise Admin Guide
140
Chapter 9 Client Configuration
Client Automation
The InDesign and InCopy plug-ins expose some basic functions for
scripting purposes at client side:
Function
Description
Open Object (id)
Open layout in InDesign or article in InCopy.
Update View
Refresh Enterprise
��������������������������������������
database palette in either
InDesign or InCopy.
Log On (params)
Log on to Enterprise����������������������������
��������������������������������������
server with specified user
giving three parameters:
username, password and server.
Log On
Rises log on dialog. (No parameters.)
Re Log On
Log off current user and log on to Enterprise�
�����������
server again. This way all server settings are
refreshed at client avoiding closing opened
documents.
Log Off
Log off from Enterprise��������
������������������
server.
AppleScript Samples
Update view in InDesign
tell application "InDesign CS"
update view
end tell
Log on specified user in InCopy
tell application “InCopy CS”
log on username “woodwing” password “ww” server
“ArenA”
end tell
Log off current user in InCopy
tell application "InCopy CS"
log off
end tell
CLIENT
Open layout object (with id 75) in InDesign
tell application "InDesign CS"
open object id "75"
end tell
Smart Connection Enterprise Admin Guide
141
Chapter 9 Client Configuration
VB Script Samples
Open layout object (with id 75) in InDesign
Set myApp = CreateObject("InDesign.Application.CS")
myApp.OpenObject "75"
Update view in InDesign
Set myApp = CreateObject("InDesign.Application.CS")
myApp.UpdateView
Log on specified user in InCopy
Set myApp = CreateObject("InCopy.Application.CS")
myApp.LogOn "woodwing", "ww", "ArenA"
Log off current user in InCopy
Set myApp = CreateObject("InCopy.Application.CS")
myApp.LogOff
JavaScript Samples
To create a JavaScript sample:
1. Use any text editor and enter one of the examples listed below.
2. Save the text as a plain text file with file extension “.js” in the
"Presets\Scripts" folder inside InDesign or InCopy application
folder.
Open layout object (with id 75) in InDesign
app.openObject( "75" );
Update view in InDesign
app.updateView();
Log on specified user in InCopy
app.logOn( "woodwing", "ww", "ArenA" );
Log off current user in InCopy
app.logOff();
CLIENT
3. To run the script, double-click the script name in InDesign’s or
InCopy's Scripts palette.
Smart Connection Enterprise Admin Guide
142
SECTION: EXTRA
Chapter 10
Troubleshooting
EXTRA
Smart Connection Enterprise Admin Guide
Chapter 10:
Troubleshooting
143
Chapter 10 Troubleshooting
Whenever you run into trouble with Enterprise, the first step is
to execute all tests on the wwtest page. (See section G: Testing the
Enterprise Server of Chapter 4: Server Installation for more information.)
In case something unexpected happens on the client, it could be
useful to turn on client logging. (See Chapter 9: Client Configuration for
more information.)
Common Errors
Empty page when going to http://Server/SCEnterprise
Try adding /index.htm at the end of the URL. If this works then the
problem is either that your web server has not set index.htm nor
index.html as default the page or it has set index.php as the default
page with a higher priority. (The latter happens typically on Linux
installations; check the PHP installation steps in Chapter 4: Server
Installation for solutions.)
Logon/logoff Test fails in a Smart Connecton Enterprise/IIS web
server configuration
Performing the logon/logoff test on the wwtest page results into
an error similar to: “LogOn Logon FAILED: HTTP Response 401
Authentication Failed Time elapsed: 0.02s”
EXTRA
This error message refers to the fact that the access rights are not
correctly set for the web user. You should open IIS en check the
“Anonymous access and authentication control” settings on the
“Directory Security” tab. Click the Edit button and make sure that at
least the “Anonymous access” check box is set. It is not necessary to
also have the “Integrated Windows authentication” checked (you may
do this but it is not required).
Smart Connection Enterprise Admin Guide
144
Chapter 10 Troubleshooting
When saving a file from a client application, I get an error
For example:
•
HTTP error 413
•
Unsupported encoding, use one of I���������������������
SO-8859-1, US-ASCII,
UTF-8
When such a low-level error happens it typically means some
maximum value has been exceeded such as the maximum upload
size. See the PHP installation steps in Chapter 4: Server Installation
for which values need to be increased in config.php and conf.php
(Linux).
How do I see Version information?
For the InDesign and InCopy Clients
SYSTEM
ACTION
For Mac OS:
From the InDesign or InCopy Menu,
select About WoodWing Plug-ins.
For Windows:
From the InDesign or InCopy Help
Menu, select About WoodWing
Plug-ins.
EXTRA
Smart Connection Enterprise Admin Guide
145
Chapter 10 Troubleshooting
The About WoodWing Plug-ins
Window opens and displays the
WoodWing web address plus a list
of WoodWing software and the
version(s) installed on your system.
For the Server
Enter http://Server/SCEnterprise/server/wwtest in
your browser and click on the version info link at
the top of the page.
Also, the version is listed on the left side in the
webapps below the menu.
Where to Find More information?
If you have any technical questions or if you need support, please
check our Knowledge Base on http://www.woodwing.com.
What information to Supply for Support?
If you are unable to resolve a problem, please contact your local
reseller/integrator and supply the following information:
Version of both client and server applications
The output of the server version info page
•
Steps performed (please be as detailed as possible since the
smallest step could be important)
•
Expected results
•
Actual results
•
Provide HTML output of the “Configuration overview” test
from the wwtest page
•
Server OS and version
•
Database used
•
Web Server used
EXTRA
•
Smart Connection Enterprise Admin Guide
146
Chapter 10 Troubleshooting
•
PHP version used (CGI/ISAPI)
•
Files stored in database or FileStore (FILE/REALFILE)
•
Have any customizations been done?
•
Send any sample files along that may help speed up the process
For version info, see the section How do I see Version Information? earlier in this
chapter for details on how to get this information.
EXTRA
147
Smart Connection Enterprise User Guide
Chapter 13 Index
Index
A
Access Features 46
Color Features 48
Config Features 48
Layout Features 48
Linguistic Features 48
Styles Features 48
Track Changes Features 48
Typography Features 48
Web Features 47
Workflow Features 48
Access Profiles 46
AddDefaultCharSet 24
ALTER TABLE 77
AlwaysSaveDocIntoDatabase 88, 89, 113
AppleScript Samples 136
Application Server 2, 6
Architecture
Architecture Overview 2
System Architecture 2
ATTACHMENTDIRECTORY 32, 77, 79,
108, 110
ATTACHMODULO 79, 123
ATTACHSTORAGE 79, 123
Authorizations 58
AutoLogin 133
Automatic Login 133
AutoRefreshPanel 132
B
Backup 124
BASEDIR 32, 76, 100, 103
basedir 25
Bin Directory 14
BLOB 9
Broadcasting 98
C
CACHEDIR 112
CheckOutOnPlace 132
Collation 14, 19
Color Features 50
CompanyLanguage 92
conf.php 140
config.inc.php 30
config.php 13, 16, 19, 33, 34, 35, 37, 76,
79, 89, 140
Config Features 50
configlang.php 93
configserver.php 19, 33, 35, 45, 78, 79,
84, 85, 86, 88, 91, 92, 95, 96,
97, 98, 99, 100, 103, 109, 110,
111, 123
CreatePageEPS 86
CreatePageEPSOnProduce 86
CreatePagePDF 86, 87
CreatePagePDFOnProduce 86, 87, 122
CreatePagePreview 86, 113, 122
CreatePagePreviewOnProduce 86
CREATEVERSION_ONSTATECHANGE 114
Current Issue 52
Custom Event Handling 97
Custom Properties 73
D
Database Users
Creating database users 17
datadir 25
date.timezone 23
dbadmin.php 34, 35
DBMAXQUERY 78
DBPASS 13, 16, 19, 32, 77
DBPREFIX 111
DBSELECT 19, 32, 33, 76
DBSERVER , 78
DBTYPE 78
DBUSER 13, 16, 19, 32, 34, 77
DEADLINE_WARNTIME 114
Deadlines
Issue Deadlines 62
Relative Deadlines 59
DEBUGLEVEL 85
Default Character Set 14
DefaultType 24
Deployment
Strategy 9
DirectoryIndex 24
148
Smart Connection Enterprise User Guide
Chapter 13 Index
E
Editions 55
EMAIL_NOTIFICATION 100
EMAIL_NOTIFICATION_FILE 100
EMAIL_SMTP 100
EMAIL_SMTP_PASS 100
EMAIL_SMTP_SENDER 100
EMAIL_SMTP_USER 100
Email Configuration 100
Email Notifications 52, 99
eventhandler.php 110
EventPort 97, 98
Events 97
EXPIREDEFAULT 90
EXPIREWEB 90
EXPORTDIRECTORY 33, 77
extension_dir 44
F
File Store 122
G
Geometry Update 95
Ghostscript 105
H
HOLIDAYS 114
Hot Inbox 97, 98
httpd.conf 24
I
Imagemagick 105
InCopy.xml 134
InDesign.txt 134
INDESIGNSERV_HOST 104
index.htm 25, 31, 37
index.php 24, 25, 29, 31, 33
INETROOT 32, 37, 76, 111
J
JavaScript Samples 137
L
LABELHEIGHTS 103
LANGPATAMPM 77
LANGPATDATE 77
LANGPATTIMEDIFF 77
LDAP 43
LDAP_SERVERS 45
libeay32.dll 45
LimitRequestBody 24
Linguistic Features 49
Live Update 97, 98
Logging 133
LOGLEVEL 84
Logon 90
Automatic Login 133
Logon Expiration 90
M
Made to Print 69
MapStyleTagsToXML 133
MAX_ARTICLE_VERSION 91
MAX_IMAGE_VERSION 91
MAX_LAYOUT_VERSION 91
MC_MEDIATOR_ADDRESS 114
MC_MEDIATOR_PORT 114
Memberships 44
memory_limit 21, 22, 23
Messages 97
User Messages 97
Messaging 97
MIMEMAP 111
mssql.textlimit 22, 23
mssql.textsize 22, 23
MTP_CALLAS_FOLDER_IN 114
MTP_CALLAS_FOLDER_OUT 114
MTP_JOB_NAME 114
MTP_PASSWORD 114
MTP_POSTPROCESS_LOC 114
MTP_SERVER_DEF_ID 114
MTP_SERVER_FOLDER_IN 114
MTP_USER 114
MULTICAST_IF 114
MULTICAST_TTL 114
my-huge.cnf 25
my-large.cnf 25
my-medium.cnf 25
my-small.cnf 25
my.cnf 15, 25
my.cnf file 15
my.ini 25
149
Smart Connection Enterprise User Guide
Chapter 13 Index
N
Routing 57
NETWORK_DOMAINS 45
Network Configuration 10
ntwdblib.dll 22
S
O
Offline Documents 135
OUTPUTDIRECTORY 85, 110
Overrule Publication 54
P
PanelFontSize 135
PASSWORD_CRYPT 111
PASSWORD_EXPIRE 101
PASSWORD_MIN_CHAR 101
PASSWORD_MIN_LOWER 101
PASSWORD_MIN_SPECIAL 101
PASSWORD_MIN_UPPER 101
PERSONAL_STATE 112
PERSONAL_STATE_COLOR 112
php.ini 21, 22, 23, 26, 38, 44
php_exif.dll 21, 22, 23
php_gd2.dll 21, 22
php_ldap.dll 44
php_mbstring.dll 21, 22
php_mssql.dll 21, 22
php_mysql.dll 22
php_oci8.dll 22
php_sockets.dll 21, 22
php5isapi.dll 25, 26
php5ts.dll 25, 45
Plug-ins 127, 128
post_max_size 21, 22, 23
preview.php 109
Properties
Custom Properties 73
Proxy Settings 132
Publications
Periodic Publications 51, 54, 56, 57, 58
Project-oriented Publications 51, 54,
56, 57, 58
R
Reading Order Reversed 52
REALFILE 123
Relative Deadlines 59
Reporting 102
SAVEFIRST_ARTICLE_VERSION 91
SAVEFIRST_IMAGE_VERSION 91
SAVEFIRST_LAYOUT_VERSION 91
scent410_420.case.ora.sys.sql 36
scent410_420.case.ora.trx.sql 36
scent410_420.ident.mssql.sql 36
scent410_420.mssql.sql 36
scent410_420.mysql.sql 35
scent410_420.ora.sys.sql 36
scent410_420.ora.trx.sql 36
scent420.mssql.sql 34
scent420.mysql.sql 34
scent420.ora.sys.sql 34
scent420.ora.trx.sql 34
Security 89
Security Settings 14
SERVERADDONS 112
SERVERFEATURES 95, 113
ServerInfo 131
SERVERURL 111
SilentSaveVersion 132
SkipUpdateLinks 132
smart_actionproperties 118
smart_authorizations 118
smart_config 118
smart_deletedobjects 119
smart_elements 119
smart_groups 119
smart_issueeditions 119
smart_issuesection 119
smart_issuesectionstate 119
smart_log 119
smart_messagelog 121
smart_mtp 120
smart_mtpsentobject 120
smart_namedqueries 119
smart_objecteditions 119
smart_objectflags 121
smart_objectlocks 119
smart_objectrelations 119
smart_objects 119
smart_objectversions 119
smart_pages 119
smart_placements 120
smart_profilefeatures 120
smart_profiles 120
smart_properties 120
150
Smart Connection Enterprise User Guide
Chapter 13 Index
smart_publadmin 120
smart_publeditions 120
smart_publications 120
smart_publissues 120
smart_publsections 120
smart_routing 120
smart_sectionstate 120
smart_settings 120
smart_states 120
smart_storage 120
smart_tickets 120
smart_users 120
smart_usrgrp 120
smartserver.php 110, 111
SmartServerBase 111
smartvalidator.php 110
SOAP 5, 6
ssleay32.dll 45
static_texts.csv 94
Strict Mode 14
Styles Features 48
SuppressGeometryPreview 96
System Architecture 2
T
TEMPLATEDIR 103
tnsnames.ora 26
Track Changes Features 49
Typography 48
U
UPDATE_GEOM_SAVE 112
upload_max_filesize 21, 22, 23
User Definitions 41
User Messages 97
UseXMLGeometry 89, 95, 96, 113
UTF-8 140
UTF8 14, 16
V
variables_order 23
VB Script Samples 137
Versioning 90
ViewUpdate 131
W
Web Applications 5, 40, 41
WEBDISABLEMARKUP 103
WEBEDITDIR 103
WEBEDITDIRIDSERV 103
Web Editor 103
Web Features 47
WebService Extensions 25
Workflow Features 50
WWLog.txt 134
WWLog.xml 134
WWSettings.xml 80, 129, 131, 134
wwtest Page 139
X
XAMPP 13
XML Mapping 133
XMLTYPE 113