Installing Arbortext Publishing Engine
Arbortext Publishing Engine Installation
Product Information for Arbortext Publishing Engine
Print Engine Choices on the Server
Using PTC Advanced Print Publisher
Arbortext Publishing Engine Distribution
Arbortext Publishing Engine Documentation
Arbortext Publishing Engine Tools and Resources
Security
Enabling Secure HTTP Header in Apache Tomcat
Enabling HTTP Strict-Transport-Security response header in Apache Tomcat
Disabling HTTP Strict-Transport-Security response header in Publishing Engine
Disabling Password Autocomplete in the Browser
Customizing Cacheable HTTPS Response for Browsers
Setting SameSite Cookie Header in Apache Tomcat
Recommended Guidelines for Passwords
System and Software Requirements for Arbortext Publishing Engine
Server Considerations
Support for Arbortext Editor Clients
Support for PTC Server connection
Producing PDF Output with Arbortext Publishing Engine
Java Runtime Environment Support for Arbortext Publishing Engine
Web Server Resources
Monitoring and Reporting Using a Web Browser
Installation Overview
Configuring a Servlet Container
Setup Considerations for Arbortext Publishing Engine
Setting Up HTML Help
Environment Variables
Running Arbortext Publishing Engine as a Specified Account
Printer Setup Considerations
Setting Up a Printer for a Specified Account
PostScript Printer Performance Optimization
Checking System Events for Printing
Checking Server Print Spooler Configuration
Upgrading from a Previous Release of Arbortext Publishing Engine
Installing Arbortext Publishing Engine
Configuring a User Account
Verifying the Specified User Account
Arbortext Publishing Engine Licensing
Licensing Prerequisites
Obtaining Licenses
Requesting Licenses
Receiving Your License Pack
PTC_D_LICENSE_FILE Environment Variable
Troubleshooting Arbortext Publishing Engine Licensing
Server Configuration
Installing and Integrating Tomcat
Installing a JVM
Installing Tomcat
Configuring Publishing Engine Post Installation
Testing Arbortext Publishing Engine Servlet Container Integration
Configuring OWASP CSRFGuard utility
Troubleshooting
Troubleshooting Errors
Getting Trace Information
Publishing Very Large Documents on Windows
Glossary
Release Notes 8.3.0.0
Release Requirements and Support
System and Software Requirements for Arbortext Publishing Engine
Server Considerations
Support for Arbortext Editor Clients
Support for PTC Server connection
Java Runtime Environment Support for Arbortext Publishing Engine
Updates in Release 8.3.0.0
What’s New in Arbortext Publishing Engine 8.3.0.0
Upgrade Not Supported for Arbortext Publishing Engine
Tomcat Support
SPR Fixes in this Release
Configuring Arbortext Publishing Engine
Preparing to Configure Arbortext Publishing Engine
Arbortext Publishing Engine Tools and Resources
Components of Arbortext Publishing Engine
Initialization Process
Arbortext PE Request Manager Startup
Load Balancing and Clustering
Modifications Made by Requests
Using the Administration Tools
Monitoring and Reporting Using a Web Browser
View Arbortext Publishing Engine Information
Administer Arbortext Publishing Engine
Test Arbortext Publishing Engine
Configuring Arbortext Editor to Use Arbortext PE server
Publishing Configuration
Arbortext Publishing Engine Security Framework
Enabling and Disabling the Security Framework
Configuring Security Constraints
Configuring Users and Roles
Configuring Roles on Arbortext Publishing Engine
Configuring Users and Roles in Apache Tomcat
Security Framework Logging
Customizing the Security Framework
Customizing the Duration of Session Timeout for Arbortext Publishing Engine
Understanding Transactions on the Arbortext PE server
Transaction States
Transaction Notifiers
Using the Transaction Archive
Understanding Queuing on the Arbortext PE server
How Queuing Works
Configuring a Queue Manager
The Arbortext Publishing Engine Queue Manager
Configuring Queues
The Basic Arbortext Publishing Engine Queue
The Queued Transaction Scheduler
Queuing Query Parameters
Queuing for Arbortext Editor Clients
Monitoring Queues
Configuring Information Displayed in Queued Transactions List
Understanding Publishing Rules
Managing Publishing Rules
Deploying Publishing Rules
Windows Configuration
Configuring a User Account on Windows
Verifying the Specified User Account
Using the Arbortext Publishing Engine Configuration Program
Setup Tab
Advanced Tab
Tomcat Tab
About Tab
Integrating Arbortext Publishing Engine with Apache Tomcat
Setting Configuration Parameters
The e3config.xml Configuration File
Arbortext Publishing Engine Global Parameters
The Global Active Transaction Parameters
The Global Transaction Name Parameter
The Arbortext Publishing Engine Security Framework Parameter
The Global Transaction Archive Parameters
The Global Queuing Parameters
Global Queuing Parameters for Arbortext Editor Clients
The Global Debugging Parameters
The Global Application Logging Parameters
Parameter Search Order
Application Log Output
The Global com.arbortext.e3.epicInstallation Parameter
The Global com.arbortext.e3.tempFileDirectory Parameter
The Global com.arbortext.e3.tempFilePrefix Parameter
The Global com.arbortext.e3.tempFileSuffix Parameter
Specifying a Request Handler
The RequestHandler for Arbortext Publishing Engine Functions
Specifying Request Selectors
Specifying Test Sets
Specifying Caches
Specifying Queues
The active-interval Attribute
The hold-all Attribute
The initial-state Attribute
The max-concurrent-transactions Attribute
The previous-queues Attribute
The scheduling-option Attribute
Queuing Function Reference
The Transaction Redaction Configuration Option
Configuring a Notifier
Sample Notifier
Configuring Sub-process Pools
The cascade Attribute
The default Attribute
The enabled Attribute
The id Attribute
The maxBusyInterval Attribute
The maxConcurrentQueuedTransactions Attribute
The maxIdleInterval Attribute
The maxLifetime Attribute
The maxShutdownInterval Attribute
The maxSubprocesses Attribute
The maxSubprocessWait Attribute
The minSubprocesses Attribute
The subprocessEnvironment Attribute
The workThreadInterval Attribute
SubprocessContext Parameter
The Windchill Visualization Service Sub-process Pool
The Default Sub-process Pool
Specifying a Dedicated Queuing Pool
Specifying a Sub-process Pool for Arbortext Editor Clients
Specifying the AllowedFunctions List
How to Deploy Custom Applications
Specifying Initializers
Activation Files for Publishing Engine
Requesting Administrative Information
Requesting a Status Report
Requesting a License Report
Requesting a Version Report
Monitoring the Transaction Archive
The Transaction Detail Page
Application Logging and Intermediate Files
Requesting the Queue Reports
The Queue List Page
The Transaction List Page
Requesting a Java Properties Report
Requesting a Publishing Configuration Report
Publishing Management for Arbortext Editor Clients
Usage Report
Requesting a Zip Archive for Troubleshooting
Requesting a Rescan of Publishing Configuration
Reloading Scripts
Running the Samples
Troubleshooting Arbortext Publishing Engine Operations
Using Arbortext Publishing Engine Interactive for Testing
Troubleshooting Publishing
Troubleshooting on the Arbortext Editor Client
Using the Arbortext Publishing Engine Test Utility
Troubleshooting Errors
Getting Trace Information
Publishing Issues
Reporting Problems to PTC Technical Support
Repository Connection Sample Script
Connecting to a Repository Adapter
Arbortext Publishing Engine for APP
Arbortext Publishing Engine for APP
About the Test Utility
Using the Arbortext Publishing Engine Test Utility
Arbortext Publishing Engine Test Utility Overview
The Arbortext Publishing Engine Query Structure
Starting the Arbortext Publishing Engine Test Utility
Example of Creating and Running a Test
Arbortext Publishing Engine Test Utility Dialog Boxes
Test List Dialog Box
Test Type Dialog Box
ACL Test Editor
Convert Test Editor
Java Test Editor
JavaScript Test Editor
Modify URI Dialog Box
Server Configuration Dialog Box
Results Window
Error Window
Publishing Engine Programmer's Guide
Arbortext Publishing Engine and its Components
Technical Overview of Arbortext Publishing Engine
Distributed Computing and the Client/Server Model
Web Clients and the HTTP Protocol
HTTP Requests
HTTP Responses
Web Servers
Java Servlets and Servlet Containers
Basic Flow of Control for the HTTP Protocol
Arbortext Publishing Engine as a Java Servlet
Arbortext Publishing Engine as a Web Application
Arbortext Publishing Engine as a Transaction Processor
Internal Components of Arbortext Publishing Engine
Arbortext PE Request Manager Dynamic Components
Arbortext Publishing Engine Cache Managers
Arbortext Publishing Engine Queue Managers
Arbortext Publishing Engine Request Handlers
Additional Arbortext PE Request Manager Dynamic Components
Initializers
Notifiers
Queues
Request Selectors
Arbortext PE Request Manager Static Components
Arbortext Publishing Engine Queued Transaction Scheduler
Arbortext Publishing Engine Request Context
Configuration data
Arbortext PE sub-process Pools
Arbortext Publishing Engine Applications
Arbortext Publishing Engine as a Document Conversion Server
Arbortext Publishing Engine as a Publishing Server
Arbortext Publishing Engine Java Client SDK
Monitoring and Reporting Using a Web Browser
View Arbortext Publishing Engine Information
Administer Arbortext Publishing Engine
Test Arbortext Publishing Engine
Logging and Tracking
The Servlet Log
The Transaction Archive
Application Logs
Application Intermediate Files
The Arbortext Publishing Engine Request Manager
Understanding the Internal Structure of Arbortext PE Request Manager
Initialization
Basic Flow of Control for Initialization
The e3config.xml Configuration File
Arbortext PE Request Manager Components
Global Arbortext PE Request Manager Parameters
The debug and debug-verbose Parameters
Creating Temporary Files
Managing Arbortext PE sub-process Temporary Files
Parameters that Control Application Logging
Managing Transactions
Managing the Transaction Archive
Managing Queued Transaction Processing
Locating the Arbortext PE sub-process Installation
The Allowed Functions List
Dynamic Component Initialization
Arbortext PE sub-process Pool Initialization
Initializer Objects
Request Processing
Basic Flow of Control for Request Processing
Basic Flow of Control for Queued Requests
More About Queues and the Queued Transaction Scheduler
Arbortext Publishing Engine Request Context Object
Transaction Management
Transaction IDs, Names, and Directories
Transaction States
Holding Transactions
Transaction Archive Entries
Limiting the Size of the Transaction Archive
Disabling the Transaction Archive
Programming Considerations
Retrieving Information from the Transaction Archive
Arbortext PE sub-process Pool Management
Arbortext PE sub-process Allocation
Matching Arbortext PE sub-processes with Requests
Arbortext PE sub-process Pool Work Thread
Detecting Hung Arbortext PE sub-processes
Terminating Unusable Arbortext PE sub-processes
Terminating Expired Arbortext PE sub-processes
Deleting Temporary Directories
Starting New Arbortext PE sub-processes
Communicating with Arbortext PE sub-processes
Arbortext PE sub-process Deallocation
Arbortext PE sub-process Pool Attributes
The id Attribute
The cascade Attribute
The enabled Attribute
The default Attribute
The minSubprocesses and maxSubprocesses Attributes
The maxBusyInterval Attribute
The maxConcurrentQueuedTransactions Attribute
The maxIdleInterval Attribute
The maxLifetime Attribute
The maxShutdownInterval Attribute
The maxSubprocessWait Attribute
SubprocessContext Parameter
The subprocessEnvironment Attribute
The workThreadInterval Attribute
Arbortext PE sub-process Pool Parameters
Terminating the Arbortext PE Request Manager
Predefined Dynamic Components
Predefined Request Selectors
The Test Header Match Request Selector
The Test Query Match Request Selector
The Test URI Request Selector
Predefined Cache Managers
The Publishing Configuration Cache, Initializer, and Application
The Stylesheet Cache
Predefined Queue Managers
Predefined Request Handlers
Predefined Request Functions
The f=status Request
The f=compconfig-rescan Request
The f=license Request
The f=version Request
The f=init Request
The f=acl Request
The f=java Request
The f=javascript Request
The f=vbscript Request
The f=convert Request
The f=app Request
Pre-Defined Queues
Selecting Transactions for Queuing
Transaction Priorities
Selecting a Transaction for Execution
Enabling and Disabling a Queue
Holding and Releasing Transactions
Active and Inactive States and the Active Interval
Limiting a Queue’s Resource Consumption
Transaction Scheduling Options
Waiting for Transactions on Previous Queues
Forcing a Transaction to Execute Next
Arbortext Queue Request Functions
Queue Management Functions
The f=q-enable Request
The f=q-holdall Request
The f=q-list Request
Queued Transaction Management Functions
The f=qt-cancel Request
The f=qt-discard Request
The f=qt-execute Request
The f=qt-hold Function
f=qt-move
The f=qt-retrieve Request
The f=qt-setpriority Request
The f=qt-status Request
The f=qt-list Function
Pre-Defined Notifiers
Customizing the Arbortext PE Request Manager
Writing a Custom Cache Manager
Cache Entry Object
Implementing a Cache Manager
The init Method
The destroy Method
The getid Method
The getStatus Method
The search Method
The cache Method
Writing a Custom Queue Manager
Writing a Custom Request Handler
Writing a Custom Request Function
Writing a Custom Initializer
Writing a Custom Request Selector
Writing a Custom Queue
Fundamental Queue Methods
The dequeue Method
The enqueue Method
The findTransaction Method
Queue Management Methods
The getEnabled Method
The isActive Method
The setEnabled Method
Transaction Management Methods
The contains Method
The getCompletedTransactionCount and getExecutingTransactionCount Methods
The getTransactionIndex Method
The getWaitingTransactionCount Method
The isEmpty Method
Iterator
The move Method
The setTransactionPriority Method
The sort Method
Writing a Custom Notifier
The Arbortext Publishing Engine Sub-Process
Implementing Arbortext PE Applications
Concurrency
Installing an Arbortext PE Application
Sample Applications
The samples Directory
The Allowed Functions List
The Arbortext PE sub-process Application Context
Support for Custom Applications with the PTC APP Engine
Writing Arbortext PE Applications in Java
Initialization
Request Processing
Termination
Creating a Java Arbortext PE Application
The init Method
The destroy Method
The doGet Method
The doPost Method
The E3ApplicationRequest Class
The E3ApplicationResponse Class
The E3ApplicationConfig Class
Calling the Conversion Processor From a Java Arbortext PE Application
Sample Java Arbortext PE Application
Troubleshooting Java Applications for Arbortext Publishing Engine
Reloading Java Applications
Logging
Examining Transaction Files
Using the Arbortext Publishing Engine Test Utility
Avoiding Content Type Problems in the Arbortext Publishing Engine HTTP Request
Writing Arbortext PE Applications in JavaScript
Creating a JavaScript Arbortext PE Application
Testing JavaScript Syntax in Arbortext Publishing Engine Interactive
Calling the Conversion Processor from a JavaScript Arbortext PE Application
Sample JavaScript Arbortext PE Application
Troubleshooting JavaScript Arbortext PE Applications
Reloading JavaScript Applications
Logging
Examining Transaction Files
Saving Intermediate Files
Using the Arbortext Publishing Engine Test Utility
Avoiding Content Type Problems in the Arbortext Publishing Engine HTTP Request
Writing Arbortext PE Applications in VBScript
Passing Parameters
Constructing a Response
Retrieving the Configuration Parameters
Testing VBScript Syntax in Arbortext Publishing Engine Interactive
Calling the Conversion Processor from a VBScript Arbortext PE Application
Sample VBScript Arbortext PE Applications
Troubleshooting VBScript Arbortext PE Applications
Reloading VBScript Applications
Logging
Examining Transaction Files
Saving Intermediate Files
Using the Arbortext Publishing Engine Test Utility
Avoiding Content Type Problems in the Arbortext Publishing Engine HTTP Request
Writing Arbortext PE Applications in ACL
Passing Parameters
Constructing a Response
Retrieving the Configuration Parameters
Testing ACL Syntax with Arbortext Publishing Engine Interactive
Calling the Conversion Processor from an ACL Arbortext PE Application
Sample ACL Arbortext PE Applications
Troubleshooting ACL Arbortext PE Applications
Reloading ACL Applications
Logging
Examining Transaction Files
Saving Intermediate Files
Using the Arbortext Publishing Engine Test Utility
Avoiding Content Type Problems in the Arbortext Publishing Engine HTTP Request
Arbortext Publishing Engine Document Conversion
Document Conversion Parameters
Loading a Document for Conversion
Specifying the Input File
Determining the Input File Type
Converting a Zip Archive Entry
Returning Parser Errors
Checking Graphic References
Conversion Processing
Specifying the Output Format
Applying a Profile
Applying a Stylesheet
Specifying Encoding
Returning Formatter Errors
Returning Composer Errors
Producing HTML Output
Producing HTML Help Output
Producing EPUB Output
Producing PDF Output
Producing PDF Using FOSI
Producing PDF Using PTC APP
Producing PostScript Output
Producing RTF Output
Producing Web Output
Producing XML and SGML Output
Controlling the XML Header in XML Output
Flattening Entities in the Output
Generating a Zip Archive
Requesting an Event Log
Producing Output Using Publishing Rules
Conversion Result
The Conversion Response Code
The Conversion Result Body
The Conversion Result Header
Customizing Document Conversion
Mapping Graphic Paths for HTML
Calling the Conversion Processor from a Custom Application
Troubleshooting Conversion Processing
Initializing the Server
Returning Errors
Disabling Friendly Error Messages
Tracing Conversion Progress
Using the Arbortext Publishing Engine Test Utility
Avoiding Content Type Problems in the Arbortext Publishing Engine HTTP Request
Arbortext Publishing Engine Clients
Using Adapters with Arbortext Publishing Engine
Connecting to a Repository Adapter
Using the Java Client SDK
Installing the Java Client SDK
Overview of the Java Client SDK
The Java Client SDK Package
Sample Java Client SDK Code
Testing the Java Client SDK
Troubleshooting Tips
Checking the Publishing Configuration Report
Enabling Tracing in compose.acl
Enabling Publishing Debugging
PTC Arbortext Publishing
Introduction
Starting a Publishing Operation
Publishing Operation Components
Content Pipelines
Developing and Configuring Content Pipelines
Implementing New Filters
Using Existing Filters
Defining a Content Pipeline
Switch Filters and Conditional Execution
Creating Content Pipelines with ACL
Creating a Content Pipeline
Running a Content Pipeline
Content Compilers
The Arbortext Formatting Engine and PTC Advanced Print Publisher
Arbortext Formatting Engine
PTC Advanced Print Publisher
Arbortext Styler Files
Producing PostScript and PDF from DVI
Producing HTML
Producing HTML Help
The Publishing Framework
The Outer Layer of the Publishing Framework
The Entry Point Functions
The compose_type Function
The compose_for_type_java Function
The compose_for_type Function
The Publishing Framework Callback Functions
The preprocess Callback
The dialog Callback
The fixup Callback
The postprocess Callback
The Inner Layer of the Publishing Framework
The Publishing Framework Hook
Print and Print Preview
Print Preview
Print Command
How Arbortext PE server uses the Publishing Framework
Writing your own Outer Layer Module
Modifying the Inner Layer
Debugging the Publishing Framework
The Event Log
Composer Debug Flags
Setting debugcomposition
Enabling Application Logging on the Server
Arbortext Publishing Engine Client Composer
Synchronous and Asynchronous Operations
Immediate and Queued Operations
Arbortext Publishing Engine Client Composer Operation
Significant Parameters for the Arbortext Publishing Engine Client Composer
Client Composer Parameter Types
Handling document and opendoc Parameters
Copying Graphics
Handling Entry Parameters
Handling File Parameters
Handling HTTP parameters
Handling HTTP-Header Parameters
Handling Local Parameters
Handling String Parameters
The Client Composition Extension
The com.arbortext.e3c.ClientCompositionExtension Interface
The constructor Method
The preProcess Method
The postProcess Method
The com.arbortext.e3c.E3ServerCompositionParameter Interface
The com.arbortext.e3c.E3ServerCompositionRequest Interface
The com.arbortext.e3c.E3ServerCompositionResult Interface
The getSuccess Method
The getOutputFileEntry Method
The getOutputDirPrefix Method
The getErrorFileEntry Method
The com.arbortext.e3c.E3Tracer Interface
Queuing Support
Debugging the Client Composer
Arbortext Publishing Engine Server Composer
Publishing Applications
Arbortext Publishing Engine Server Composer
Writing a Custom Server Application
The Server Composition Extension
Server Composition Extension Processing
Debugging the Server Composer
Server Configuration for Publishing
Overview
Publishing Configuration on the Server
Client Use of Publishing Configuration
Content of the Publishing Configuration Document
General Server Information
Composers
Files in the Composition Path
Document Types
Path to Document Type
Public ID Lists, URI Lists, and System ID Mappings
System ID Mapping Between Client and Server
Stylesheet List
Composer Associations
Frame Sets
Stylesheet Orderings
Framesets
PDF Configuration Files
APP Configuration Files
Import Templates
Applications
Client Versions
Implementing Programs and Scripts for Arbortext Publishing Engine
Overview of Custom Programs and Scripts
The Custom Directory Structure
The Application Directory Structure
Description of the Custom Directory Structure
custom.xml File
Subdirectory Structure
Error Reporting for the custom\init Directory
Related Topics
Using the Custom Directory for Custom Applications
Description of the Application Directory Structure
Subdirectory Structure
Application Startup File
Related Topics
Using the Application Directory for Custom Applications
Deploying Zipped Customizations
Specifying the JavaScript Interpreter Engine
Overview
Specifying the JavaScript Interpreter Engine
pe1000
pe1002
pe1003
pe1044
pe1005
pe1006
pe1007
pe1009
pe1011
pe1012
pe1013
pe1014
pe1015
pe1016
pe1017
pe1020
pe1004
pe1050
pe1051
pe1052
pe1053
help32004
pe1019
pe1021
pe1022
pe1025
pe1041
pe1042
pe2092
pe2093
pe3040
pe4001
pe1010
help37301
help37303
pe3300
pe3302
pe3303
pe3317
pe3304
pe3305
pe3306
pe3307
pe3308
pe3309
pe3310
pe3311
pe3312
pe3313
pe3314
pe3315
pe3316