WCSysAdminGuide PDF
WCSysAdminGuide PDF
Administrators Guide
Windchill 7.0
December 2003
AutoDesk Inventor are registered trademarks of Autodesk, Inc. Baan is a registered trademark of Baan
Company. CADAM and CATIA are registered trademarks of Dassault Systemes. COACH is a trademark of
CADTRAIN, Inc. DOORS is a registered trademark of Telelogic AB. FLEXlm is a registered trademark of
GLOBEtrotter Software, Inc. Geomagic is a registered trademark of Raindrop Geomagic, Inc. EVERSYNC,
GROOVE, GROOVEFEST, GROOVE.NET, GROOVE NETWORKS, iGROOVE, PEERWARE, and the
interlocking circles logo are trademarks of Groove Networks, Inc. Helix is a trademark of Microcadam, Inc.
HOOPS is a trademark of Tech Soft America, Inc. HP-UX is a registered trademark and Tru64 is a trademark of
the Hewlett-Packard Company. I-DEAS, Metaphase, Parasolid, SHERPA, Solid Edge, and Unigraphics are
trademarks or registered trademarks of Electronic Data Systems Corporation (EDS). InstallShield is a registered
trademark and service mark of InstallShield Software Corporation in the United States and/or other countries.
Intel is a registered trademark of Intel Corporation. IRIX is a registered trademark of Silicon Graphics, Inc.
MatrixOne is a trademark of MatrixOne, Inc. Mentor Graphics and Board Station are registered trademarks and
3D Design, AMPLE, and Design Manager are trademarks of Mentor Graphics Corporation. MEDUSA and
STHENO are trademarks of CAD Schroer GmbH. Microsoft, Microsoft Project, Windows, the Windows logo,
Windows NT, Visual Basic, and the Visual Basic logo are registered trademarks of Microsoft Corporation in the
United States and/or other countries. Netscape and the Netscape N and Ship's Wheel logos are registered
trademarks of Netscape Communications Corporation in the U.S. and other countries. Oracle is a registered
trademark of Oracle Corporation. OrbixWeb is a registered trademark of IONA Technologies PLC. PDGS is a
registered trademark of Ford Motor Company. RAND is a trademark of RAND Worldwide. Rational Rose is a
registered trademark of Rational Software Corporation. RetrievalWare is a registered trademark of Convera
Corporation. RosettaNet is a trademark and Partner Interface Process and PIP are registered trademarks of
"RosettaNet," a nonprofit organization. SAP and R/3 are registered trademarks of SAP AG Germany.
SolidWorks is a registered trademark of SolidWorks Corporation. All SPARC trademarks are used under license
and are trademarks or registered trademarks of SPARC International, Inc. in the United States and in other
countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems,
Inc. Sun, Sun Microsystems, the Sun logo, Solaris, UltraSPARC, Java and all Java based marks, and "The
Network is the Computer" are trademarks or registered trademarks of Sun Microsystems, Inc. in the United
States and in other countries. VisTools is a trademark of Visual Kinematics, Inc. (VKI). VisualCaf is a
trademark of WebGain, Inc. WebEx is a trademark of WebEx Communications, Inc.
Licensed Third-Party Technology Information
Certain PTC software products contain licensed third-party technology: Rational Rose 2000E is copyrighted
software of Rational Software Corporation. RetrievalWare is copyrighted software of Convera Corporation.
VisualCaf is copyrighted software of WebGain, Inc. VisTools library is copyrighted software of Visual
Kinematics, Inc. (VKI) containing confidential trade secret information belonging to VKI. HOOPS graphics
system is a proprietary software product of, and is copyrighted by, Tech Soft America, Inc. G-POST is
copyrighted software and a registered trademark of Intercim. VERICUT is copyrighted software and a registered
trademark of CGTech. Pro/PLASTIC ADVISOR is powered by Moldflow technology. Moldflow is a registered
trademark of Moldflow Corporation. The JPEG image output in the Pro/Web.Publish module is based in part on
the work of the independent JPEG Group. DFORMD.DLL is copyrighted software from Compaq Computer
Corporation and may not be distributed. METIS, developed by George Karypis and Vipin Kumar at the
University of Minnesota, can be researched at http://www.cs.umn.edu/~karypis/metis. METIS is 1997 Regents
of the University of Minnesota. LightWork Libraries are copyrighted by LightWork Design 1990-2001. Visual
Basic for Applications and Internet Explorer is copyrighted software of Microsoft Corporation. Adobe Acrobat
Reader is copyrighted software of Adobe Systems. Parasolid Electronic Data Systems (EDS). Windchill
Info*Engine Server contains IBM XML Parser for Java Edition and the IBM Lotus XSL Edition. Pop-up
calendar components Copyright 1998 Netscape Communications Corporation. All Rights Reserved.
TECHNOMATIX is copyrighted software and contains proprietary information of Technomatix Technologies
Ltd. Apache Server, Tomcat, Xalan, and Xerces are technologies developed by, and are copyrighted software of,
the Apache Software Foundation (http://www.apache.org/) - their use is subject to the terms and limitations at:
http://www.apache.org/LICENSE.txt. UnZip ( 1990-2001 Info-ZIP, All Rights Reserved) is provided "AS IS"
and WITHOUT WARRANTY OF ANY KIND. For the complete Info-ZIP license see
ftp://ftp.info-zip.org/pub/infozip/license.html. Gecko and Mozilla components are subject to the Mozilla Public
License Version 1.1 at http://www.mozilla.org/MPL/. Software distributed under the MPL is distributed on an
"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL for the
specific language governing rights and limitations. Technology "Powered by Groove" is provided by Groove
Networks, Inc. Technology "Powered by WebEx" is provided by WebEx Communications, Inc. Acrobat Reader
is Copyright 1998 Adobe Systems Inc. Oracle 8i run-time, Copyright 2000 Oracle Corporation. The Java
Telnet Applet (StatusPeer.java, TelnetIO.java, TelnetWrapper.java, TimedOutException.java), Copyright
1996, 97 Mattias L. Jugel, Marcus Meiner, is redistributed under the GNU General Public License. This license
is from the original copyright holder and the Applet is provided WITHOUT WARRANTY OF ANY KIND. You
may obtain a copy of the source code for the Applet at http://www.mud.de/se/jta (for a charge of no more than
the cost of physically performing the source distribution), by sending e-mail to [email protected] or
[email protected] are allowed to choose either distribution method. The source code is likewise provided
under the GNU General Public License. GTK+The GIMP Toolkit are licensed under the GNU LPGL. You may
obtain a copy of the source code at http://www.gtk.org/, which is likewise provided under the GNU LPGL. zlib
software Copyright 1995-2002 Jean-loup Gailly and Mark Adler.
UNITED STATES GOVERNMENT RESTRICTED RIGHTS LEGEND
This document and the software described herein are Commercial Computer Documentation and Software,
pursuant to FAR 12.212(a)-(b) (OCT'95) or DFARS 227.7202-1(a) and 227.7202-3(a) (JUN'95), is provided to
the US Government under a limited commercial license only. For procurements predating the above clauses, use,
duplication, or disclosure by the Government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of
the Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013 (OCT'88) or Commercial
Computer Software-Restricted Rights at FAR 52.227-19(c)(1)-(2) (JUN'87), as applicable.
040103
Parametric Technology Corporation, 140 Kendrick Street, Needham, MA 02494 USA
Contents
vi
Contents
vii
viii
Contents
ix
Contents
xi
Import and Export Policies, Mapping Rules, and Conflict Messages........... C-1
XSL-based Policy Files ..............................................................................................................C-2
Policy File Example ............................................................................................................. C-2
Mapping Rules ...........................................................................................................................C-4
Mapping Through Special Rules................................................................................................C-4
Mapping Priorities................................................................................................................ C-5
Client-based Mapping Rules Files....................................................................................... C-5
Client-based Mapping Rules File Example ......................................................................... C-6
Generalized Mapping Rules File Example .......................................................................... C-7
Properties in Mapping Rules Files....................................................................................... C-8
Do Not Map Number Attributes for MCAD Documents ....................................................... C-8
About Mapping Rules .......................................................................................................... C-8
COPY Element .................................................................................................................... C-8
COPY_AS Element ............................................................................................................. C-9
IGNORE Element .............................................................................................................. C-10
IGNORE_PARENT Element ............................................................................................. C-11
Mapping Through XSL Transformation ....................................................................................C-11
Java Mapping with the METHOD Element ..............................................................................C-12
Hierarchical Instance Based Attribute Definitions, Exporting, and Importing ...........................C-12
When to Use Mapping Files for Hierarchical IBAs ............................................................ C-12
How to Write a Mapping File for Hierarchical IBAs ........................................................... C-13
Conflict Messages....................................................................................................................C-16
Importing RatioDefinition and RatioValue ......................................................................... C-16
Administrative Conflicts of Common Business Objects..................................................... C-17
Administrative Conflicts of Administrative Objects ............................................................ C-19
Dependency Conflicts ....................................................................................................... C-21
Metadata Conflicts............................................................................................................. C-21
Reforming Custom Modeled Attributes ....................................................................................C-24
Example of Two Formats of Mapping Files ....................................................................... C-25
Ignoring an Attribute .......................................................................................................... C-26
Changing a Tag to a Different Name................................................................................. C-27
xii
Index
Contents
xiii
xiv
Change Record
The following table lists the major changes made in this guide for Windchill 7.0.
Table 1 Changes for Windchill 7.0
Change
Description
Chapter 1, Administering
Organizations
xv
xvi
Change
Description
Explains
wt.fv.replicationFileSizeThreshold
property that controls minimum size
of files replicated.
Change Record
Change
Description
Appendix B, Windchill
Considerations for Security
Infrastructures
xvii
xviii
Intended Audience
The Windchill System Administrators Guide serves as a reference guide for
Windchill system administrators for all Windchill solutions.
The following table illustrates the responsibilities and skills of system
administrators:
System Administrator
Responsibilities
Skills
Overview
The Windchill System Administrators Guide describes responsibilities and roles
of Windchill system administrators, providing conceptual and background
information to help them understand the nature of system administration tasks.
Note: The Windchill Administrator's Guide, which was available in Windchill
release 5.1 and earlier, has been reorganized for release 6.0 and later. Most of the
information is now available in this guide or in the Windchill Business
Administrators Guide. Information that covered vertical applications, such as
Windchill Sourcing Factor, or third-party applications, such as the Workgroup
Managers, has been moved to the individual guides for those applications.
xix
Chapter Contents
The Windchill System Administrators Guide is composed of the following
chapters and appendixes:
This chapter, About This Guide, provides an overview of the guide and
summarizes the contents of individual chapters.
Chapter 1, Administering Runtime Services, describes the System Configurator,
which provides GUI-based access to the Windchill properties files and a
mechanism for starting and stopping the Windchill server manager and all method
servers. It describes the xconfmanager command line utility, which is used to edit
property files. The chapter also describes other administrative responsibilities that
are associated with the authentication process, backing up your system, and
managing log files.
Chapter 2, Administering the Bootstrap Client, describes the bootstrap feature of
Windchill, with information related to administrative responsibilities for creation
and maintenance of JAR files when the bootstrap feature is enabled.
Chapter 3, Administering External File Vaults, describes the creation and
maintenance of external file vaults.
Chapter 4, Configuring External File Vaulting or Replication With FvLoader,
describes the FvLoader utility, which is a shortened version of File Vault Object
Loader.
Chapter 5, Administering Content Replication, describes replica vaults, which
store data that has been replicated from less rapidly accessible external vaults, or
from the Windchill Oracle database.
Chapter 6, Windchill Import and Export, describes files and configuration
properties for moving content and metadata to and from Windchill sites.
Chapter 7, Administering Content Holders and Content Objects, describes
configuration properties for content handling, including procedures for adding
and updating DataFormat objects and configuring your browser for upload and
download operations.
Chapter 8, Administering Libraries, describes the definition, configuration, and
bulk loading of index collections for use with Windchill search engines.
Chapter 9, Configuring and Administering Background Queues, describes the
configuration of background queues, which are used to delay the completion of
noncritical tasks and to speed up completion of time-critical tasks.
Chapter 10, Customizing and Administrating Pro/ENGINEER Wildfire, presents
customization and administration information and recommendations for using
Pro/ENGINEER Wildfire integrated with Windchill PDM, Windchill PDMLink,
and Windchill ProjectLink.
Appendix A, The Windchill Runtime Environment, describes Windchill's runtime
architecture.
xx
Related Documentation
The following documentation may also be helpful:
properties.html file
If these books are not installed on your system, see your installer.
Technical Support
Contact PTC Technical Support via the PTC Web site, phone, fax, or e-mail if you
encounter problems using Windchill.
For complete details, refer to Contacting Technical Support in the PTC Customer
Service Guide enclosed with your shipment. This guide can also be found under
the Support Bulletins section of the PTC Web site at:
http://www.ptc.com/support/index.htm
The PTC Web site also provides a search facility that allows you to locate
Technical Support technical documentation of particular interest. To access this
page, use the following link:
http://www.ptc.com/support/support.htm
You must have a Service Contract Number (SCN) before you can receive
technical support. If you do not have an SCN, contact PTC License Management
using the instructions found in your PTC Customer Service Guide under
Contacting License Management.
xxi
Help topics
PDF books
To view and print PDF books, you must have the Adobe Acrobat Reader installed.
All Windchill documentation is included on the CD for the application. In
addition, books updated after release (for example, to support a hardware platform
certification) are available from the Reference Documents section of the PTC
Web site at the following URL:
http://www.ptc.com/cs/doc/reference/
Comments
PTC welcomes your suggestions and comments on its documentationsend
comments to the following address:
[email protected]
Please include the name of the application and its release number with your
comments. For online books, provide the book title.
Documentation Conventions
Windchill documentation uses the following conventions:
Convention
Item
Example
Bold
Click OK.
Italic
create_<tablename>.sql
Monospace
Examples
Messages
Processing completed.
xxii
Convention
Item
Example
Third-Party Products
Examples in this guide referencing third-party products are intended for
demonstration purposes only. For additional information about third-party
products, contact individual product vendors.
Code Examples
Some code examples in this guide have been reformatted for presentation
purposes and, therefore, may contain hidden editing characters (such as tabs and
end-of-line characters) and extraneous spaces. If you cut and paste code from this
manual, check for these characters and remove them before attempting to use the
example in your application.
xxiv
1
Administering Runtime
Services
Page
1-1
The xconfmanager is a command line utility that you can run to add, remove,
or modify properties in any Windchill property file. The utility saves your
changes in the site.xconf file and provides an option to generate updated
property files using the updates in the site.xconf file.
The changes made through either of these utilities are saved in the site.xconf file
and propagated to respective property files. When you restart your Windchill
system, the resulting changes are implemented.
Windchill creates the site.xconf file when Windchill Info*Engine is installed and
adds all properties that are set during the installation of all Windchill solutions to
the file. During the installation process, Windchill also creates the
declarations.xconf file that contains a list of configuration references to
PTC-supplied XCONF files that are used to specify the out-of-the-box default
values for properties in many of the property files. Although not all property files
are initially generated from XCONF files, you should always make changes to
Windchill properties through either the xconfmanager or the System
Configurator.
Note: By using these utilities, your site.xconf file will always contain your
site-specific changes. By maintaining site-specific changes to properties in the
site.xconf file, you can easily identify what changes were made and these changes
can be maintained when you make updates to your Windchill solution.
As shown in the following diagram, making property changes through the utilities
that Windchill provides always updates the site.xconf file. Then Windchill
propagates the changes to properties files using the site.xconf file and the XCONF
files that it maintains. In this diagram, the declarations.xconf file has references to
1-2
three sample internal XCONF files that then are used by Windchill to update
referenced property files:
xconfmanager
declarations.xconf
or
System Configurator
ie..xconf
.
ie.properties
site.xconf
.properties
db.properties
Site-Specific File
wt.properties.xconf
...
.properties
wt.properties
...
.foundation.xconf
When you use the System Configurator to update properties, Windchill always
propagates the changes to the corresponding property files. For additional
information about using the System Configurator, see Using the System
Configurator.
When using the xconfmanager, you must explicitly tell it to propagate XCONF
file changes. To propagate changes using the xconfmanager, you must include the
-p option. For information about using the xconfmanager, see Using the
xconfmanager Utility.
Whenever you change a property setting using either the System Configurator or
the xconfmanager, Windchill creates backup XCONF and property files of all
files that are updated in the .xconf-backup directory where Windchill is installed.
The file names for the back up files are modified to include a 3-digit number that
identifies the backup file order. For example, the first three backup files created
for the site.xconf file are named site.000.xconf, site.001.xconf, and site.002.xconf.
Windchill also maintains an internal cache containing the latest XCONF file
information and maintains other internal XCONF files that it uses to determine
what property files need to be updated. Do not manually modify these files.
The following sections provide information about the site.xconf file and the
xconf.dtd file, which is used to validate all Windchill XCONF files.
1-3
Each Property element names a property, its target property file and the value
of the property. The xconfmanager and System Configurator add this element
to the site.xconf file when you set specific property values.
Each ResetProperty element names a property and its target property file. The
xconfmanager and System Configurator add this element to the site.xconf file
when you reset properties to their default values.
Each UndefineProperty element names a property and its target property file.
The xconfmanager adds this element to the site.xconf file when you undefine
properties so that their values are null.
Note: Although PTC recommends that you use either the System Configurator or
the xconfmanager to modify the contents of the site.xconf file, some
administrators may chose to modify the site.xconf file without using the
Windchill tools. If you do manually modify the site.xconf file, be sure to format
elements according to the xconf.dtd, which is documented in the next section. To
propagate your changes to the affected property files, you must run the
xconfmanager with the -p option and, to use the updated property files, you must
restart your Windchill solution.
For examples of using the xconfmanager, see Using the xconfmanager Utility. For
information about using the System Configurator, see Using the System
Configurator.
1-4
>
<!-- PTC to set "defaults", configurer to set "values" -->
<!ELEMENT Property (Documentation)?>
<!ATTLIST Property
%name;
default CDATA #IMPLIED
defaultUnix CDATA #IMPLIED
defaultWindows CDATA #IMPLIED
value CDATA #IMPLIED
%targetFile;
%overridable;
>
<!-%multivalued; this has been removed for now until the feature is fully
implemented -->
<!ELEMENT Documentation (Synopsis,Description,Deprecation?)>
<!ATTLIST Documentation
category CDATA #IMPLIED
key CDATA #IMPLIED
>
<!ELEMENT Synopsis (#PCDATA)>
<!ELEMENT Description (#PCDATA)>
<!ELEMENT Deprecation (#PCDATA)>
<!ELEMENT ResetProperty EMPTY>
<!ATTLIST ResetProperty
%name;
%targetFile;
>
<!ELEMENT UndefineProperty EMPTY>
<!ATTLIST UndefineProperty
%name;
%targetFile;
>
<!ELEMENT Service (Option)*>
<!ATTLIST Service
%name;
%context;
%targetFile;
%serviceProvider;
>
<!ELEMENT Resource (Option)*>
<!ATTLIST Resource
%name;
%context;
%targetFile;
%serviceProvider;
>
<!-- For Service/Options requires serviceClass and cardinality.
Resource/Options requires resource attribute -->
For
1-5
View information about the Windchill server manager and method servers, as
well as stop and start the servers.
View all available log files and e-mail snapshots of log files.
For detailed procedures and explanations of System Configurator fields, click the
Help button on any System Configurator page. Managing background queues is
also described in the Configuring and Administering Background Queues chapter.
1-6
and the db.properties file does reside in the codebase directory where your
Windchill solution is installed, then the pom link appears on the Edit Properties
page. If the property did not end in .properties or the db.properties file did not
reside in the specified directory, then the pom link would not appear on the Edit
Properties page.
To add properties and corresponding values to a property file, use the
xconfmanager utility. For information about the xconfmanager utility, see Using
the xconfmanager Utility.
Use the following procedure to modify system properties from the System
Configurator:
1. On the Edit Properties page, click the link to property file that you want to
modify.
The Search For field appears.
1-7
2. Enter either the property name of a specific property you want to modify, a
partial name with asterisk (*) wild card characters to display a subset of the
properties, or just the* to display all properties in the file, and then click
Search.
The table of properties refreshes with the search results.
3. To change the view displayed in the table, you can click Advanced or Basic,
from the Current View drop-down list. The value selected is set in the
wt.sysadm.advancedView property and determines how the property names
are displayed:
If Basic is selected, the value is false, and property names are displayed as
short descriptions.
You can edit the Value text fields or click true or false to change the property.
The Default check box, on the right, is checked if the value displayed is the
default value. A blank check box indicates that the Value text field comes from
the properties file or that the value has been changed from the default value.
Select the check box to return to the default value.
If you want to cancel changes you made to the properties value, click Reset, at the
bottom of the page.
When you are satisfied with your changes, click OK to save. Your changes are
written to the site.xconf file and affected property files are regenerated using your
changes. Backup copies of XCONF files are saved in the .xconf-backup directory
where Windchill is installed. Backup copies of the property files are also saved in
the .xconf-backup directory. Examples of backup copy property file names are
tools.000.properties, tools.001.properties, db.000.properties, wt.000.properties,
1-8
and wt.001.properties. The properties with values selected to be the default are
excluded from the changed property file.
Note: The regenerated property files are used to set system properties when the
system is next restarted.
1-9
associationRegistry.properties
classRegistry.properties
descendentRegistry.properties
modelRegistry.properties
These property files are maintained using the Information Modeler utility and
should not be modified outside of this utility.
The xconfmanager utility saves your changes in the site.xconf file and provides an
option to generate updated property files using the updates in the site.xconf file.
The site.xconf file contains the changes made to Windchill property files starting
with the installation and continuing with each use of the xconfmanager utility and
the System Configurator. The site.xconf file is located in the directory where
Windchill is installed.
Anyone with write access to the XCONF and property files under Windchill
installation directory can successfully run the xconfmanager utility.
1-10
The following sections describe how to enter the xconfmanager command and
how to set property values and list property information using the command. The
last section describes the other xconfmanager options that may be useful when
running your Windchill solution.
The xconfmanager utility is located in the bin directory where your Windchill
solution is installed. For example, if Windchill solution is installed in the
C:\ptc\Windchill directory, then the utility is in the C:\ptc\Windchill\bin directory.
Before executing the xconfmanager command, set up your environment by using
the windchill shell. To use the shell, enter the following on the command line:
windchill shell
Then from the new window that opens, you can enter the xconfmanager
command, as described in the next section.
The brackets ({}) in the syntax indicate optional parameters and indicate
parameters that you specify together. The syntax includes only the short version
of each parameter name. Parameter names are case-sensitive; enter the names
using the case shown in the syntax and the following table.
In the following table, all parameter names are listed in alphabetical order with
corresponding parameter descriptions:.
Parameter Name
Description
-d
Lists the values that are currently being set and the
corresponding XCONF file where each value is set for
the specified properties.
or
--describe
<property_names>
is a comma-separated list of
property names.
This option executes after all parameter setting options
and the -p option have executed.
1-11
-F
or
--force
-h
or
--help
-p
or
--propagate
--reset
is a comma-separated list of
property names.
-r
or
--productroot
1-12
--reset
is a comma-separated list of
property names.
-r
or
--productroot
1-13
--undefine
is a comma-separated list of
property names.
-v
-V
Note: The xconfmanager executes the -s, --reset, and --undefine parameters in
the order that they are specified in the command. This means that if the same
property is set in multiple parameters, the last setting is used.
The xconfmanager always executes the -p parameter after all specified -s, --reset,
and --undefine parameters. This is done so that all parameter settings are included
in the propagation.
The xconfmanager always executes the -d parameter after all specified -s, --reset,
--undefine, and -p parameters. This is done so that the descriptions returned
include all of the parameter settings made on the command.
Set a property value to the declared default value by using the --reset option.
Set a property value to null (instead of an empty string) using the --undefine
option.
Propagate the site changes stored in the site.xconf file to all affected property
files using the -p option.
1-14
Use forward slashes (/) in file paths so that the platform designation is not an
issue.
On a UNIX system, you can use doubles quotes or you can escape the space
character with a backslash. For example, use the following:
-s wt.inf.container.SiteOrganization.name=ACME\ Corporation"
or
-s wt.homepage.jsp=\$(wt.server.codebase)/wtcore/jsp/wt/portal/index.jsp
Other than escaping arguments so that the command line shell does not
misinterpret them, the values should not need to be escaped any further to be
compatible with XML or property file syntaxes. The xconfmanager escapes
property names and values automatically if necessary.
The following xconfmanager command used on a Windows system sets the
wt.properties property file wt.temp property to the WCtemp directory that is under
the Windchill installation directory [as defined by $(wt.home)]:
xconfmanager -s wt.temp=$(wt.home)/WCtemp -t wt.properties -p
1-15
The xconfmanager creates a backup of the current site.xconf file, adds the
property element for wt.temp to the site.xconf file (replacing any existing property
setting that had been in the site.xconf file), and then propagates the change to
wt.properties.
The xconfmanager creates a backup of the current site.xconf file, removes any
existing property settings for the specified properties that had been in the
site.xconf file, adds a ResetProperty element for each property that was specified
(in this case, only wt.temp), and then propagates the change to property files that
have the specified properties (in this case, only wt.properties).
1-16
The xconfmanager creates a backup of the current site.xconf file, removes any
existing property settings for the specified properties that had been in the
site.xconf file, adds an UndefineProperty element for each property that was
specified (in this case, only wt.services.service.1160), and then propagates the
change to property files that have the specified properties (in this case, only
wt.properties).
To specify the root directory that is not the default root directory, use -r. The
default root directory is the bin directory under the Windchill installation
directory.
The xconfmanager utility uses the root directory when relative paths for
XCONG references and target file paths are used.
1-17
The first time you access the Windchill home page, you can select one of the links
listed under Available Homes to make that page your personal home page. The
next time you access Windchill, it will open to that page. If, at any time, you want
to change your personal home page, click Options or Site Map, and then click the
link to the page you want as your new personal home page. (The Options and Site
Map links appear near the top and at the bottom of the menu bar on your personal
home page.)
1-18
Accessing Meetings
You can access meetings from Windchill solutions as follows:
For Windchill PDM, the Meeting Center icon appears in the icon bar at the
top of the Windchill home page. This icon is identified below:
When you click the Meeting Center icon, the Windchill meeting page
appears. From this page, you can see existing meetings, create meetings, and
cancel meetings.
For Windchill ProjectLink, clicking the Meetings link on the Home tab
displays the My Meetings table. Clicking the Meetings link on the Project
tab displays the Meetings table. From either of these tables, you can see
existing meetings, create meetings, and cancel meetings.
For Windchill PDMLink, clicking the Meetings link on the Home tab
displays the My Meetings table. From this table, you can see existing
meetings, create meetings, and cancel meetings.
Note: In order to execute a web-based meeting, you must have an active license
established through WebEx Communications, Inc. Refer to www.webex.com for
more information.
1-19
Description
wt.meeting.centerUrl
wt.meeting.partnerId
1-20
Administering Organizations
Windchill solutions use organization objects (WTOrganization) and organization
containers when administering organization information.
The development of products and the subsequent management of product
information throughout their entire life cycle is truly a collaborative process
involving a number of organizations, including suppliers, contract manufacturers,
and design partners. The Windchill solutions use organization containers as
follows:
To define the organizational members and the roles they play within your
business processes.
To define the level of engagement that organizations have within your system
and business processes.
1-21
Restricted Organizations
In Windchill PDMLink and Windchill ProjectLink, when you create the
organization container, you can specify whether the users in the organization
context that you are creating are restricted from seeing users in other
organizations. This is done through the Allow entire user and group directory
selection check box that is available when you are creating or updating an
organization container. When you do not allow users to see other users and
groups, the organization is a restricted organization.
Out of the box, users are associated with the domain that has the same name as the
organization. For example, if the organization is named Org1, then the domain is
named Org1. When the organization is not associated with an organization
container, then the domain is in the Site context and its parent domain is the User
domain. When an organization container is created, the organization domain for
its users is moved from the Site context to the organization context. The parent
domain remains the User domain in the Site context.
When creating organization objects using the Principal Administrator, the object
created is considered a restricted organization if you use the default Windchill
domain and have not modified access control rules for domain and ancestor
domains. Depending on the modifications you have made, you may need to make
changes to restrict the users in organizations that are not associated with an
organization container. For example, you can do the following:
1-22
Use the Policy Administrator to reparent the organization domain used for the
members of the organization from the User domain to the / (root) domain.
This ensures that no access control rules are inherited from the User domain.
If you havent modified the access control rules for the User domain, this step
may not be needed.
Internal Organizations
When a Windchill solution is installed and an organization container is created,
then this organization automatically owns the parts and documents that are created
under the organization context. In Windchill PDMLink and Windchill
ProjectLink, you can also create additional organization contexts under which
parts and documents can be automatically owned.
To change the out-of-the-box functionality so that a user who creates a part or
document can specify which organization owns the part or document, you must do
the following things:
Configure the container where the parts or documents will reside so that the
user enters the part or document number (rather than having the numbers
auto-generated). How to turn off autonumbering is described in the Object
Initialization Rules help that is accessible from the Object Initialization Rules
Administrator. For information about the Object Initialization Rules
Administrator, the Windchill Business Administrators Guide.
1-23
If the drop-down list does not contain the type required for your company
organization, modify the list by updating the wt.org.organizationTypes
property that is located in the wt.properties file.
where:
<ICD_number> is the international code designator number assigned to the
organization ID type. For example, the CAGE ICD number is 0141. For a list
of ICD numbers, see the Registration Authority.
<org_ID> is the organization identification number assigned when the
organization was registered.
1-24
wt.org.OrganizationOwned.displayOrganization
wt.org.InternalOrganization
Changes to the file must be made on the server and these changes are
automatically propagated to clients the next time a user connects to the server.
1-25
Within the search form element, delete the keyword field key element. This
element is in bold type in the following sample search form:
<form key="search">
<searchfields key="criteria_string">
<field key="number"></field>
<field key="name"></field>
<field key="keyword"></field>
</searchfields>
<resultfields>
<field key="name"></field>
<field key="number">0:asc</field>
<field key="versionDisplayIdentifier"></field>
<field key="lifeCycleState"></field>
<field key="checkedOutBy"></field>
<field key="modifyTimestamp"></field>
<field key="obid" hidden="true"></field>
</resultfields>
</form>
The <resultfields> element determines which fields appear in the search results, as
well as the sort order of the fields. You can add and remove fields as necessary.
To change the sort order, add numbers to the appropriate field key elements,
followed by "asc" or "desc" to indicate whether the order is ascending or
descending. For example, in the preceding sample, the <field key="number">
element is assigned the number 0 so it will appear first in the list of fields. The
"asc" value indicates that the results will be sorted by number in ascending order.
1-26
3. Enter the name of the organization for which you are searching. The
Organization field defaults to ALL. ALL returns all organizations to which
you have access.
4. Set the dates for which you want to report. The end date defaults to todays
date and the start date defaults to one month prior to the end date.
5. Click Search.
6. Only those organizations for which you have access display. From the list at
the top right, select the organization(s) for which you want to report.
7. Click Generate Report.
8. Click Print to File. A dialog box displays for choice of output: text or html.
The best output is html.
1-27
1-28
The 'default' which provides values for preferences that do not have any
values defined in the other scopes. These values cannot be changed at
runtime.
The container level scopes, which are identified by the container name, are
used to set preferences for all of the containers that are defined.
The user (bottom level) scope which individual users can use to set their
preferences.
1-29
The fully qualified preference key is combined with a context to form a unique
row in the database table. This makes it possible for users and other divisions to
have separate preferences.
Preference Macros
1-30
1-31
Creating Delegates
1-32
Default scope -- The top level, which defines the initial settings for all
preferences at installation. This scope is not listed in the Selected scope
drop-down list.
Container scopes -- Container scopes for which you are an administrator are
visible, starting with the specified container and going up to Site container.
The name of a container scope is the same as the name of the container.
Division scopes -- These are one level below container scopes. Out of the box,
the Windchill Enterprise division scope is defined so that preferences can be
set by Windchill administrators to apply to all users.
User scope -- This scope is the lowest level in the hierarchy, and allows
individual users to tailor preferences that allow overrides.
If overrides are allowed and preferences are set within the scope of the
removed preference, then those preferences retain their values.
If overrides are allowed and preferences are not set within the scope of the
removed preference, then those preferences are reset to the values of the next
highest-level preference scope.
If overrides are not allowed and there is a scope that does not allow overrides,
then all preference values below the scope that does not allow overrides are
reset to the values of that scope.
If overrides are not allowed and the overrides are allowed at all other scopes,
then all preference values are reset to the lowest scope in which a preference
is set.
1-33
Depending upon the user authentication mechanism at your site, you may
need to ensure appropriate backup of files relevant to access control.
Content files stored in an external file vault must be backed up using standard
operating system tools and procedures.
1-34
The Windchill application server (consisting of the server manager and one or
more method servers)
An LDAP server
Tip: Many of these components can be deployed multiple times for load
balancing purposes or to facilitate improved response times.
1-35
Server Selection
Selection of the next available server is performed by classes implementing the
wt.manager.ServerSelector interface. Windchill provides the following two server
selectors: StandardServerSelector and BalancedServerSelector.
Setting wt.manager.serverSelector.<server name> specifies the server selector to
be used (for example,
wt.manager.serverSelector.MethodServer=wt.manager.BalancedServerSelector).
The getServer(String service) and getNextServer(String service, Remote server)
methods in the server selector interface deal with load balancing. The getServer()
returns the server with which the client interacts upon initial connection. While,
1-36
the getNextServer() returns the failover method server to which the client
switches when the current server surpasses a threshold.
Server Selector
Description
wt.manager.StandardServerSelector
wt.manager.BalancedServerSelector
Threshold Detection
When a request is made on a method server, the current server checks to
determine if any thresholds have been surpassed. If so, a
wt.method.ServerLoadExceptions is thrown from this server and is caught by the
remote method server. Within the exception is a reference to the next server. The
remote method server then redirects the request to that server. The
wt.method.loadbalance.maxRedirects property specifies the maximum number of
times a single method call is redirected. The default setting is 1. A setting of 0
causes method calls to be redirected until a server that falls below the thresholds is
identified.
The following thresholds are checked when load balancing is used:
Threshold
Description
wt.method.loadbalance.RMISockets
wt.method.loadbalance.activeContext
1-37
code. The secret.text2 property is recommended and designed for use with
Windchill 7.0, while secret.text property is recommended for prior releases.
The instructions in this section specifically reference secret.text2, however, you
can use the same instructions to change the secret.text property.
Setting the secret.text2 property in the ie.properties file provides an arbitrary text
string that is used to sign outgoing requests and validate incoming requests. When
an out-of-process Windchill request is made to execute an adapter webject, the
adapter name specified in the INSTANCE parameter must identify an LDAP
entry that has the secret.text2 property set. Using an LDAP entry created for the
adapter that does not have the property set to the same value as is set in the
ie.property file will not give the request access to the adapter.
The secret.text2 value set as part of the installation process is unique for each
installation. If you want multiple adapters and Windchill installations to work
together, you need to set the secret.text2 property to the same value for all
adapters and installations.
Use the following procedure to change the value of the secret.text2 property in the
ie.properties file:
1. Determine the value to assign the secret.text2 property and the location
(fully-qualified) of the property file.
PTC recommends using a secret.text value between 6 and 18 characters.
The ie.property file is located in the <Windchill>/codebase/WEB-INF
directory.
2. Use the xconfmanager to change the secret.text2 property to a value of your
choice and to update the site.xconf file.
From a windchill shell, execute the following command:
xconfmanager -s secret.text2=<your_secret_value>
-t <Windchill>/codebase/WEB-INF/ie.properties -p
1-38
1-39
Windchill Scheduler
The Windchill Scheduler is an internal service used by different Windchill
services to schedule execution of certain tasks. Tasks can be run once or
periodically, and can be scheduled to for a particular time or immediately after the
scheduling takes place. Typical scheduled tasks involve External Vaulting,
Content Replication, and Product Replication.
Scheduled tasks are executed using the Windchill queue service, which allows the
inheritance of the advantages of the background processing. For instance, if the
Background Method Server is used, scheduled tasks will be running in it.
The Windchill Scheduler service keeps the log of each executed task in history
objects that contain the current and historical status information. For example, if
you are scheduling content replication and you select schedule items and click
Log, history objects supply the data that appears in the Replication History
window.
Description
wt.scheduler.purgeHistoryItems
wt.scheduler.purgeHistoryItemsInterval
1-40
wt.scheduler.purgeHistoryItemsOlderThan
Other Properties
Other properties related to Windchill Scheduler operations are the following:
Property
Description
wt.scheduler.verbose
wt.scheduler.log.properties
wt.scheduler.log.filename
wt.scheduler.log.enabled
wt.scheduler.log.append
1-41
1-42
Preliminary Installation. In the first execution, you can install the Windchill
Service Pack into your test system where you can examine PTC updates and
incorporate them into PTC files that you have modified. On the test system,
you can then validate that the PTC updates, site modifications, and
1.
This description applies to when the Windchill Service Pack is executed for the Windchill
Installation directory where the Windchill Method Server is hosted. For other products, the
installer primarily just copies in updated files and there are none of the special processing
regarding site modifications are required.
Install and Deploy. In the second execution, the Windchill Service Pack
installer executes on your production system. During this execution you direct
the installer to pick up your collection of previously prepared site
customizations and install them. This is done after PTC files are installed, but
before the Windchill Service Pack housekeeping operations. After the
Windchill Service Pack completes, the system is ready to be returned to
production.
In order for the Windchill Service Pack to be used in this fashion, you must
manage your modifications to the PTC files as prescribed by the maintenance best
practices.
When you execute the Windchill Service Pack installer, it first determines which
files should be installed onto your system. It does this by finding out which
products are installed in the installation directory its being executed on and what
datecode versions are already present. This results in the following behavior:
If you do not have a product for which there are updates, the updates are not
installed.
The installer will only update locale specific resources on your system if it
finds that those locales were previously installed and registered through an
installation of the Windchill Language Pack.
These features are intended to minimize the time it takes to install the Windchill
Service Pack2. In particular this avoids re-installing updates to site modified files
when you have previously incorporated those changes.
Note: Depending on what Windchill products you have installed and how they
are deployed across one or more computer systems, you may have to execute the
Windchill Service Pack installer in multiple installation directories on multiple
computers.
Each execution of the Windchill Service Pack updates all the products it finds in a
single installation directory, but it can only address one installation directory at a
time. For this reason, one of the best practices is to keep a list of all the systems on
2.
After you perform a first time installation any 7.0 product covered by the Windchill Service
Pack, you should re-execute the Windchill Service Pack to install any recent updates and
ensure the product is at a compatible level with the other products on your system. You should
also repeat the Windchill Service Pack installation if add a new locale to your system through
the Windchill Language Pack.
1-43
which a Windchill 7.0 product is installed. This list would identify the products
and into which directories they are installed. Maintaining the list ensures that
updates are applied to all the correct locations.
Instructions for installing the Windchill Service Pack are included in the
documentation accompanying it at each maintenance release.
Ensuring that applet JAR files are updated properly as site modifications and
customizations are added. These JARs must be updated with changes that
occur on the server.
Note: Windchill 7.0 has restructured these JARs to minimize the client
download impact as updates through maintenance and customization occur.
1-44
You can display the help for the windchill command by executing windchill with
the -h argument or with no argument.
The following tables list some of the arguments and actions applicable to the
windchill command. To see a complete list of the arguments, use the report
generated from the help (argument).
windchill Arguments:
Arguments (optional)
Description
- h, --help
-v, --[no]verbose
1-45
Arguments (optional)
Description
-w, --wthome=DIR
--java=JAVA_EXE
-cp, --classpath=PATH
Java classpath.
Default is the wt.java.classpath variable
value specified in the $WT_HOME/codebase/wt.properties file.
--javaargs=JAVAARGS
windchill Actions
1-46
Action
Description
shell
start
stop
status
version
Action
Description
properties
<resource>[,...][?key[&key2]...]
Displays the properties as seen by Windchill for the given resource with substitution, etc. executed. It can be limited to a
given set of keys.
For example:
windchill properties wt.properties lists
all wt.properties
windchill properties wt.properties?wt.server.codebase lists server
codebase
windchill properties wt.properties?wt.env.* lists all the environment
variables use by windchill shell
windchill properties with no arguments
generates the help report
CLASS [CLASS_ARGS]
When you are finished using the windchill shell, you can exit the shell and return
to the parent shell.
PTC recommends running all server-side Windchill applications, tools, and
utilities from the windchill shell. Also, you can use the windchill shell to set up
your development environment to use javac or Java directly.
1-47
1-48
2
Administering the Bootstrap
Client
Topic
Page
Overview .............................................................................................................2-2
About the Bootstrap Feature................................................................................2-2
Java Plugin Cache ...............................................................................................2-3
Bootstrap Configuration File...............................................................................2-3
Bootstrap Package Versioning ............................................................................2-7
Downloading JAR Files ......................................................................................2-8
Administering Codebases....................................................................................2-8
2-1
Overview
The Windchill bootstrap loader is intended to make Java applets and applications
usable over the Internet and on wide area networks, such as enterprise intranets
and extended enterprise extranets.
When direct RMI socket connectivity is not possible from a client, installing the
bootstrap loader will enable the client to tunnel RMI over other protocols. There
are several reasons a client may not be able to make direct RMI connections to the
Windchill server: a firewall sitting between the client and the Windchill server is
blocking the Windchill RMI ports (5001-5010), client only has HTTP access
through a client-side proxy, or the Windchill application server is on a different
host than the applet's codebase (for example, reverse proxy or split web
server/servlet engine).
This chapter provides background information on the bootstrap feature of
Windchill, and information related to administrative responsibilities for creation
and maintenance of JAR files when the bootstrap feature is enabled.
Preserves the security of the sandbox to which code from each remote
codebase is subject
Does not add codebase JAR files to the Java system class path (the
CLASSPATH environment variable) of the client system
A major benefit of using the bootstrap feature is that maintenance of each server
codebase remains centralized, and no additional per-client administrative
responsibilities are incurred. Even if a codebase undergoes frequent changes, the
bootstrap feature recognizes the existence of new JAR files, and allows you to
download the files.
To use the bootstrap feature, clients must have both the Windchill bootstrap
package installed, and JAR files contained on their servers codebases. (If a client
has the bootstrap feature installed, but a server codebase does not contain the
required JAR files, the bootstrap feature is ignored. Similarly, the existence of
JAR files in a server codebase does not affect clients that do not have the
bootstrap feature locally installed.)
2-2
The location you specify is stored for future use in the .wtboot.properties
configuration file that is located in the users home directory.
When browsing for the JAR file location, the Cache Location dialog box starts in
the user.home location. The file name in the dialog box is a placeholder, as only
the directory location is important. The open directory that is displayed in the
Cache Location box is the actual location that is returned.
2-3
The following sample Cache Location dialog box shows that a directory named
cache has been chosen:
Within the location you choose, subdirectories are created for each site from
which JAR files are downloaded. These subdirectories correspond to codebase
locations on each site. Each downloaded JAR file is accompanied by a properties
file that contains information obtained when the file was downloaded.
Although you are required to specify only the cache location for JAR files, the
following table lists the full set of properties supported by the bootstrap package:
Property
Description
allowUserInteraction
autoDownload
autoInflate
cacheDir (required)
Defines the location where the bootstrap package maintains its cache
of JAR files.
This is a required property and has no default. If not specified, the
user is prompted to choose a location.
2-4
Property
Description
captureFile
captureFileStackTrace
checkVersion
enabled
rmiFailoverTimeout
rmiSocketFactory
setProperty.xxx
showClasspath
Displays the Java class path. This can be used when debugging
applets to see where the classes are being loaded from.
showMissingFiles
2-5
Property
Description
useFullHostNames
verboseInstaller
verbose loader
version
Some Java system classes are initialized at load time, using system properties, and
are not normally affected by later changes to the system properties if the class is
already loaded. Therefore, special support has been added to reset the default
2-6
2-7
Administering Codebases
It is the responsibility of the Windchill administrator to create and recreate
codebase JAR files whenever any files in a codebase are changed.
The cached JAR files are standard JAR files. You can create them by using the Jar
utility included in the Java Developer's Kit (JDK), or by using other Zip utilities
as long as the resulting file names match those specified in bootstrap tags. They
should be created to contain all the Java class files and resource files from the
codebase that are required by the applet or application being bootstrapped. Any
files referenced that are not in the system class path or the specified JAR file are
not found.
2-8
2-9
2-10
3
Administering External File
Vaults
Topic
Page
3-1
External File Vaulting -- File Vaulting allows you to store Windchill data
outside the Windchill database in logical containers called vaults, each of
which can refer to multiple physical memory locations called folders.
Multiple hosts can work together in file vaulting to form sites or clusters. You
can create rules to upload specified data into vaults and folders. File Vaulting
reduces the time for uploading and downloading data, and allows Windchill
data access control, indexing, and notification policies for Windchill domains,
while providing a transparent interface for the user. This chapter provides
detailed information about file vaulting. You can accomplish many of the
operations explained in this chapter through a command line interface that is
explained in another chapter, Configuring External File Vaulting or
Replication With FvLoader.
Export and Import -- Windchill Import and Export functions facilitate the
exchange of content and metadata between Windchill sites and ProjectLink
portals. Windchill Import and Export are available to software developers
through an API. The Windchill user can access export functions to package in
JAR files the data in the following top-level Windchill objects: folders,
product structures, and documents. The Windchill user can import data from
the JAR files produced by the export functions and place the data in local
Windchill, free of change controls. See the chapter Windchill Import and
Export later in this guide for detailed information about Windchill Export and
Import.
3-2
establish, an uploaded file is stored in the file system location represented by the
vault and folder to which it is assigned.
A Windchill site, or cluster, is a group of hosts with one URL. The hosts can be
accessed individually or as a single unit. File vaults function as elements of sites.
The following graphic summarizes the relationships between the entities that
compose a site.
The symbols in the preceding graphic are identified by letters and correspond to
the following components:
A. Windchill Method Server -- The Windchill Method Server that manages the
Windchill database processes data and queries that pass between the Windchill
database and the external file vaults.
B. Windchill Database -- The Windchill Database provides an interface for an
Oracle database.
C. BLOB -- The Oracle database stores binary large objects (BLOBs).
D. File Vault -- The file system consists of multiple folders. The folders are
located in one or more file vaults, which are logical constructs unassociated with
particular locations.
3-3
3-4
Though the Central Cache Vault can be used as any normal vault for file storage,
you typically designate a different vault or the Windchill database for long term
file storage. In that case, files uploaded to the Central Cache Vault will be
revaulted to their designated storage location. The value of the property
wt.fv.uploadtocache.revaultOnCommit can be set true or false, with the following
results:
true -- All documents modified during the transaction are added to the queue
(RevaultCacheQueue) for revaulting to their designated storage area upon
completion of the transaction
If you are not setting properties through a graphical user interface or in a mapping
rules file, you add or edit properties with the xconfmanager utility, which is
discussed elsewhere in this guide.
Because a cache vault accumulates unreferenced files more quickly than other
vaults on a site, regular file cleanup is necessary. For more information on vault
cleanup see the section Maintaining Your Vaults later in this chapter.
A scheduler item created at startup will periodically execute to clean up
unreferenced database information. Two wt.properties control the timing of the
vault purging (default is daily) and the age of unreferenced items to be purged
(default is 30 days). You can modify the values of these properties to suit your
requirements. If you are not setting properties through a graphical user interface
or in a mapping rules file, you add or edit properties with the xconfmanager
utility, which is discussed elsewhere in this guide.
3-5
3-6
Property
Description
wt.fv.verbose.properties
wt.fv.verbose
wt.fv.read.buffer_size
wt.fv.cleanup.buf_size
wt.fv.log.enabled
wt.fv.log.append
wt.fv.log.filename
wt.fv.log.mountInfoFile
wt.fv.revaultOnChange
Property
Description
wt.fv.revaultQuerySize
wt.fv.uploadtocache.revault
OnCommit
wt.fv.purgeUnreferencedFvIt
emsInterval
wt.fv.purgeUnreferencedFvIt
emsOlderThan
wt.fv.forceContentToVault
wt.fv.useFvFileThreshold
wt.fv.fvFileThreshold
3-7
Site (also known as cluster) -- A group of hosts with one URL that can be
accessed independently but also as a single unit. The site of interest in file
vaulting is the automatically generated master site, which has the default
name Master.
Host -- a system on your network that can be used to store content files
The left panel of the Vault Configuration window displays a tree view of the site
object, which includes all of the hosts, vaults, and folders that have been defined
for the site. The Vault Configuration window shows icons only for the site to
which you are connected and for Content Replication replica sites. The content of
3-8
the right panel depends on whether or not you have requested a display of all
possible mounts.
When the radio button labeled Show only existing mounts is selected, the right
panel displays all mounts associated with the selected host, vault, or folder.
When the radio button labeled Show all possible mounts is selected, the right
panel displays the following:
If the site is selected, all possible mounts for the hosts on that site.
You can use the Vault Configuration window menus and toolbar buttons to
perform such actions as the following:
Schedule revaulting
3-9
The vault's access status. If Read Only is selected, the vault is not available to
store uploaded files, but it continues to be accessible for download requests.
For example, you may decide to mark a vault as read-only when moving files
from one vault to another, to prevent the upload of additional files.
When you are updating an existing vault, the Update Vault dialog box
displays the sequence number of the folders within the vault. The sequence
numbers determine the order in which Windchill searches the vault for a
writable folder in which to store content. Click Show Only Writable to
restrict the display to folders that allow write access. Use the available buttons
to change a folder's sequence number.
Deleting a Vault
If a vault does has a folder or folders, those folders should be either deleted or
moved to another vault before you delete the vault. Execute the following steps to
delete an external file vault or replica vault:
1. Stop and delete all scheduled activities associated with the vault to be
removed, such as revaulting or replication.
2. Delete all the policy rules associated with the vault.
3. For external file vaults only, run revaulting on the vault to move all the
content from it to another location.
4. Remove all of the vaults folders.
5. Remove the vault by selecting it from the tree on the left side of the Vault
Configuration dialog and selecting Delete in the File menu.
3-10
Vault location. All folders must belong to a vault, which you select from the
drop-down list on the New Folder dialog box. You can move a folder to
another vault when updating it. This may be desirable if, for example, the
folders in the current vault are becoming full. If information is stored in the
folder, the following steps are the best way to change its location:
a. Select the folder from the tree on the left side of the Vault Configuration
dialog.
b. From Object menu select Update.
c. In the Update Folder dialog select the new vault location for the folder.
d. Click OK.
Access status. If Read Only is selected, the folder is not available for storing
uploaded files, although it remains accessible for download requests. A folder
is automatically marked read-only when the physical storage location it
represents becomes full. You may also want to mark a folder as read-only to
prevent uploading of additional files when you are changing a folder's mount
location.
Enabled status. A folder must be enabled before it can be used to store content
files, and it must be mounted before it can be enabled.
Deleting a Folder
1. Select the folder from the tree on the left side of the Vault Configuration
dialog.
2. Select Delete from the Object menu.
If the selected folder is empty, the preceding steps delete it. If the selected folder
is not empty, you can make it possible to delete by changing rules to move files
from this vault to another vault and by performing revaulting.
The path to the physical storage location represented by the folder. If a mount
is directed to a nonexistent path, uploads to and downloads from this folder
will fail.
3-11
Changing the path value associated with a mount makes all files stored in the
previous location inaccessible until they are moved to the new path location. Use
the following update procedure to avoid download failures when you are changing
a mount location:
1. Update the folder and assign it read-only status to prevent additional files
from being uploaded to the current location.
2. Copy the existing files to the new storage location.
3. Update the mount with the new path specification.
4. Update the folder again to clear the read-only status.
You can use this file to configure your system back-up tool for effective
protection of your file vaults. If you are not setting properties through a graphical
user interface or in a mapping rules file, you add or edit properties with the
xconfmanager utility, which is discussed elsewhere in this guide.
In addition, the following rules govern deletion of vault objects:
3-12
When a host with mounts is deleted, all the mounts associated with that host
are also removed. Consequently, folders associated with this host are no
longer mounted to it, but may remain mounted to other hosts.
When a folder is deleted, all of its mount connections are also removed.
3-13
Domain Vaulting Rules window for the Parts domain, with the Vaulting tab
selected.
3-14
Note that the Classes pane contains a hierarchical tree showing the classes in the
domain for which you can create vaulting rules. To create a new rule, select an
object class to which the rule will be applied. Because the classes are hierarchical,
a rule created for the class you select is extended to its subclasses as well.
The classes that are displayed may not include some abstract classes, but the
classes shown are the complete set of classes that can appear in valid rules.
Next, select a state type from the list of life cycle states. Finally, select a file vault
from among the list of vaults you defined by using the Windchill External Storage
Administrator. Note that there can be only one class, life cycle state, and vault
specified within a single rule. Additionally, a single object type and life cycle state
combination can be linked to only one file vault.
3-15
When determining the vault to which to direct content files when an upload
operation is requested, the file vault service applies the most specific, valid rule.
For example, consider the following rules:
Rule 1: <User, WTDocument, All> Vault1
Rule 2: <User, WTDocument, InWork> Vault2
Assume that a given document object (WTDocument) is associated with the User
domain and is in the InWork life cycle state. Rule 1 would direct its content to
Vault1, regardless of its life cycle state. However, Rule 2 indicates that content
files should go to Vault2 when the document is in the InWork life cycle state. So,
in that case, the most specific rule would be applied, and any content associated
with the document would be stored in a folder within Vault2.
Note: Currently, content files are moved into a vault only when an object is
checked into the Windchill database and its content files are uploaded. Therefore,
a file does not automatically move to a new vault when the life cycle state of the
object changes. Rather, the file is moved to the appropriate vault the next time it is
uploaded.
When you are satisfied with your selections, click OK to save the rule and exit the
window. Click Cancel to exit the window without saving the rule.
If you return to the Domain window, the list of vaulting rules will includes the
rules you created in this session.
Managing Revaulting
When a vaulting rule is created, modified, or deleted, it is necessary to relocate the
files to their new home. This process is called revaulting.
Revaulting is necessary when a vaulting rule is modified to use another file vault
or when a vaulting rule is deleted, which is equivalent to designating the object
storage to be in a BLOB. Revaulting may also be needed when a change occurs in
the domain or life cycle state of an object that holds content files. The revaulting
process for such object changes can be done in the background, which is
administered by a property, wt.fv.revaultOnChange. If you are not setting
properties through a graphical user interface or in a mapping rules file, you add or
edit properties with the xconfmanager utility, which is discussed elsewhere in this
guide.
3-16
A list of vaults is displayed, for which revaulting has been scheduled. Each vault
displays the frequency of revaulting, the time of the next revaulting run, and the
status of the current run. A status of READY means that the run has been
scheduled.
3-17
The vault that the history is for is displayed, with the time it was submitted for
execution, its completion time, and the status of all revaulting runs. The
completion time of a given run should be earlier than the submission time of the
next revaulting run. If this is not the case, you should increase the period length.
3-18
You can select a vault in the Vault Configuration window and click Object
> Revaulting to display the Revaulting Scheduler window. Complete
specifications in the window and click Apply.
You can click Create in the External Storage Scheduling window to display
the Revaulting Scheduler window. Complete specifications in the
Revaulting Scheduler window and click Apply.
3-19
A revaulting schedule item can be in four modes of operations. You can set these
modes by setting the radio buttons to the appropriate state.
Mode
Description
Immediate/Once
Immediate/Periodic
On Start/Once
On Start/Periodic
If the edit timing window was accessed from the Revaulting Scheduler window,
the Apply button is enabled. This enables an administrator to schedule revaulting
on all the vaults in the system in one session.
Click OK to save the changes to the repository, and close the window. Click
Clear to reset the window to its original state. Click Cancel to close the window
without saving any current changes. Schedule items saved to the repository with
the Apply button can not be undone.
3-20
The MethodServer will not start if there is more than one vault present in the
system. Therefore, you need to remove all vaults but one before enabling this
property. A message will appear in the MethodServer log describing the
problem.
If users attempt to create more than one vault, they receive an error message
stating that they cannot create more than one vault if the property is set to true.
If you are not setting properties through a graphical user interface or in a mapping
rules file, you add or edit properties with the xconfmanager utility, which is
discussed elsewhere in this guide.
3-21
3. Reassign all storage folders to the vault designated as your cache vault.
4. Delete all vaults except the designated cache vault.
5. Add the following to the wt.properties file. If you are not setting properties
through a graphical user interface or in a mapping rules file, you add or edit
properties with the xconfmanager utility, which is discussed elsewhere in this
guide.
wt.fv.forceContentToVault=true
3. Create a csv file with new external storage rules and a cache vault chosen to
be the storage location. Comment out the final rule.
4. In wt.properties, comment out the following FvService entry and restart the
method server. If you are not setting properties through a graphical user
interface or in a mapping rules file, you add or edit properties with the
xconfmanager utility, which is discussed elsewhere in this guide.
wt.services.service.33
= wt.fv.FvService/wt.fv.StandardFvService
Note: Services numbering has to be sequential, so take the last service and assign
it whatever number FvService had previously);
5. Load the csv file with rules.
6. In wt.properties, restore the FvService entry and restart the method server. If
you are not setting properties through a graphical user interface or in a
3-22
mapping rules file, you add or edit properties with the xconfmanager utility,
which is discussed elsewhere in this guide.
7. In the rules csv file, comment out or delete all entries and uncomment the
final entry.
8. Load the rules csv file.
Note: This may take a considerable amount of time.
9. Revault the cache vault;
10. Remove all vaults except the cache vault;
11. In wt.properties, add the entry, wt.fv.forceContentToVault=true, and restart
method server. If you are not setting properties through a graphical user
interface or in a mapping rules file, you add or edit properties with the
xconfmanager utility, which is discussed elsewhere in this guide.
3-23
9. In the Vault Configuration window, select the folder you have moved and
click Object > Modify. In the Update Folder dialog box, clear the Read-Only
checkbox you checked in Step 5.
10. In the External Storage Scheduling window, restore any rescheduling
operations you canceled in Step 2.
Copy all the vaulted files from Host A onto Host B. (i.e. from f:\vaulting\
folder-001 to g:\vaults\folder-001).
Make sure the vaulted files (in their original location) are accessible from
Host B.
4. Start the Windchill server on Host B. A warning appears, stating that the
master site was modified and that you should make sure the modification is
correct by checking Replication Administrator or Site Manager.
5. Go to External Storage Administrator > Vault Configuration. The Vault
Configuration window appears.
6. Expand the tree until you can see Host A under the Hosts node.
7. Double click on Host A. In the Update Host window change the host name to
Host B.
8. Click on Folders and select the one you want to modify.
9. Click Objects > Mount and update the mount location from f:\vaulting\
folder-001 to g:\vaults\folder-001.
10. To test if youve been successful, try to access the content of a Windchill
object stored in the external vault.
3-24
4
Administering Content
Replication
Topic
Page
Overview .............................................................................................................4-2
Setting Up Sites and Keys ...................................................................................4-4
Editing the wt.properties File ............................................................................4-17
Content Replication and Windchill Visualization Service................................4-19
Replication and Compression............................................................................4-21
Improving Content Replication Performance....................................................4-22
4-1
Overview
Windchill Content Replication increases the productivity of Windchill users by
reducing their time to access data. The users access data stored on more rapidly
accessible external vaults known as replica vaults. Replica vaults store data that
has been replicated from less rapidly accessible external vaults or from the
Windchill Oracle Database. The Windchill user's experience in accessing
replicated and non-replicated information is identical except for the improved
access time. The Windchill user's only explicit interaction with Windchill Content
Replication is setting preferences in a graphical interface.
A Windchill cluster or Windchill site is a group of hosts with one URL. For the
purpose of Content Replication, a site can play the role of master site or replica
site or both. When a site is playing the role of a master site, content can be
replicated from Oracle LOB storage or from external storage or both to one or
more replica sites. When a site is playing the role of a replica site, content can be
replicated to it from master sites.
A master site stores configuration information about the replica sites that receive
replicas of its data. A replica site provides Windchill users faster access to data in
replicated vaults. The data in each replicated vault can come from only one master
site, and attempts to disregard this rule result in the loss of data.
The method servers of sites that are playing the role of master or the roles of both
master and replica must run off a Windchill Oracle repository. A replica site can
run in a lightweight mode that requires only minimal Windchill services that
support the receipt of configuration information and the processing of requests to
replicate or download content. The advantage of running in this lightweight mode
is that no Oracle instance is needed.
The security of data sent by Windchill Content Replication is assured by a pair of
keys associated with each master site server. A request sent by a master site is
digitally signed using a private key, and the public key is a vehicle for
authenticating that the private key used by the request is genuine. The replica
service verifies that all the URLs from which to download originate from the
master site by using the master site's public key. The same checking procedure is
used during the replication process to insure that the replicated items came from a
registered master site. The public key copied to a replica site must be genuine, and
permissions should protect it from alteration.
The clocks at master and replica sites must be synchronized to insure correct key
validation. A difference between the clocks of more than five minutes prevents
validation. The URL of a replicated document expires five minutes after its
creation. The five minute period is a default that you can alter on replica sites.
Content rules for replication can be defined on the basis of domain, class, and life
cycle state. The targets of these rules are replica vaults located on specific replica
sites. For example, consider two replica sites named site1 and site2. The engineers
at site1 are collaborating on the generation of the design models of a part, while
the personnel at site2 will sell the part. The sales personnel do not need to see the
incomplete designs for the part, so two vaulting rules would be appropriate:
4-2
Setting up the sites -- Setting up master and replica sites and creating and
placing key files are the first tasks.
Editing the wt.properties file -- The properties control the behavior of the
master site and replica site.
Creating hosts, vaults, and folders -- In the second stage of setting up the
system you define hosts, vaults, and folders.
Final Site Setup Activities -- Several small configuration tasks are required to
make the sites completely usable.
4-3
Creating Content Replication rules and schedule items -- After the sites are set
up, the usual sequence is to create Content Replication rules to control the
types of content that is replicated to replica sites. These rules can be created or
modified at any time. You create scheduling items to specify when replication
from master sites to replica sites occurs These rules can be created or
modified at any time. Content Replication is a resource-intensive process.
Performance improvement -- The Content Cache Server and Local Upload are
features that improve Content Replication performance experience. Small
configuration tasks are needed to gain the benefits of these features
This documentation describes both the properties and services in the wt.properties
file that are relevant to Windchill Content Replication. If replication configuration
contains an error, log files created by the services provide information for
troubleshooting. The log files show all the interactions between master sites and
replica sites. In the case of some errors, the log files list suggestions to solve the
problem.
You can accomplish many of the operations explained in this chapter through a
command line interface that is explained in another chapter, Configuring External
File Vaulting or Replication With FvLoader.
4-4
4-5
column. A site that is a master for the local site displays a plus in the M
column.
4-6
Site Name -- The site name must be unique. The string is case-insensitive
and cannot include a space.
URL -- The URL of the anonymous gateway for the Windchill system
that will use this installation as a replica. The URL is the value of the
property named wt.httpgw.url.anonymous in the wt.properties file. The
anonymous URL must have anonymous access specified.
Site Type -- Select Master. A site can play the role of replica or master or
both. Leaving the boxes for both these roles clear disables the site except
in the case of the local site.
6. Click OK. The Site Management window displays a row showing the site's
data, URL, and a space for the initial date of the access key after it is
generated. The Vault Configuration window displays an icon for the site in
its left-hand pane. You can display the Vault Configuration window by
clicking Administrator in the Windchill home page, clicking Replication
Administrator, and clicking Vault Configuration.
4-7
column. A site that is a master for the local site displays a plus in the M
column.
4-8
URL -- Enter the URL of the replica site anonymous gateway URL. The
URL is the value of the property named wt.httpgw.url.anonymous in the
wt.properties file.
Site Type -- Select the Replica check box. A site can play the role of
replica or master or both. Leaving the boxes for both these roles clear
disables the site except in the case of the local site.
6. Click OK. The Site Management window displays a row showing the site's
data and URL. The Vault Configuration window displays an icon for the site
in its left pane. You can display the Vault Configuration window by clicking
Administrator in the Windchill home page, clicking Replication
Administrator, and clicking Vault Configuration.
You can display a dialog box for modifying the data for an existing replica site by
selecting the site and clicking Update.
4-9
4-10
4-11
with the xconfmanager utility, which is discussed elsewhere in this guide. The
installation process follows:
1. From the Windchill Foundation CD, run setup.exe.
2. Select Windchill and PDM Foundation only. As a lightweight replica server
does not require a database, you do not need to install the Windchill Database
Tool.
3. Continue as a normal installation, selecting Configure Replication Services
on the Optional Configuration Steps page. The selected or non-selected status
of options other than Configure Replication Services in the following
graphic is irrelevant to the creation of the replica site.
4-12
4-13
The Method Server and Server Manager should now launch successfully. The
POM messages normally seen when the Method Server starts will not be
displayed and registering with the Server Manager should be significantly quicker
than in a full Windchill installation.
The Lightweight site should display the Windchill Homepage fully if accessed via
a browser, but all actions requiring a database should fail with an appropriate error
message.
See the section Replica Configuration later in this document for information on
configuring the lightweight replica site.
Master Configuration
You should already have created the replica site through the Site Administration
window. This was discussed in the earlier section, Creating a Replica Site.
You should already have generated the key from the Master site and saved it for
later use. This was already discussed in the earlier section, Creating and Placing
Security Keys.
To configure the master site, perform the following steps:
1. In the Vault Configuration window, create hosts, vaults, and folders.
2. Mount folders to the directories specified in the installation section.
3. Enable the folders.
Replica Configuration
To configure a full-scale replica site PTC recommends that you perform the
configuration through the graphical user interface, as explained in the following
section Configuring a Full-scale Replica Site. You could perform this
configuration by adding a property with the xconfmanager utility, which is
discussed elsewhere in this guide, but that would be less convenient.
To configure a lightweight replica site, you must add a property. This
configuration is discussed in the following section, Configuring a Lightweight
Replica site.
Configuring a Full-scale Replica Site
Configuring a full-scale replica site through the graphical user interface is similar
to configuring a master site.
See the section earlier in this document, Creating and Placing Security Keys, to
make sure that you have performed the required actions regarding creation and
export of keys. Make sure you perform the actions for the master site that are
described in the preceding section Master Configuration before you start using the
master site.
4-14
See the section earlier in this document, Creating and Placing Security Keys, to
make sure that you have performed the required actions regarding keys. If you are
not setting properties through a graphical user interface or in a mapping file, you
add or edit properties with the xconfmanager utility, which is discussed elsewhere
in this guide.
To configure the replica site, perform the following task:
In Windchill\codebase\wt.properties, add the property
wt.intersvrcom.masterSite.1 to reference the master site. The structure is as
follows:
wt.intersvrcom.masterSite.1=<masterGatewayUrl>,<master public key location>
For example, If the master gateway Url, which can be obtained from Site
Administration window, is
http://abcdef.com:9999/Windchill/servlet/WindchillGW, and the
location of the master key on replica is C:\masterConfig\master.key, the
resultant string is:
wt.intersvrcom.masterSite.1=http://abcdef.com:9999/Windchill/servl
et/WindchillGW,C:\masterConfig\master.key
Setup Check
To check the setup of either type of replica site, perform the following steps:
1. Enable verbose for both fv and fv.master packages on master site and
fv.replica package on replica site.
4-15
2. Restart the replica site MethodServer. Right after start-up, in the logs, you
should see a line stating that replica has requested configuration from Master.
Several lines below, there should be a response message specifying received
configuration. Do a sanity check on the configuration.
3. Restart the master site MethodServer. Right after start-up, in the logs, you
should see a line stating that master site has attempted to refresh the
configuration of the replica site. Check the replica site MethodServer.log to
see that the configuration was actually received.
Replication Security
To enable secure transactions, Content Replication requires replication sites to
share a common, trusted certificate authority (CA). If a client experiences a java
secure socket link exception (for example, "javax.net.ssl.SSLException: untrusted
server cert chain"), the client needs to import the CA of the server to which it is
making a request. See the section on Importing Certificates into Sites for more
information.
The commands listed above install the CA to be trusted by all invocations of the
given virtual machine. Alternatively, the CA can be imported into any file, and
then referenced on the command line.
The argument to java to use a trust store file is:
-Djavax.net.ssl.truststore=fileName
For example:
keytool -import -alias Acme_CA -file /tmp/acme_ca.cert
-storetype jks -keystore
/home/jlk/wgm_for_proe/conf/cacerts.jks
java -classpath /home/jlk/wgm_for_proe/lib/foo.jar:/...
Djavax.net.ssl.trustStore=/home/jlk/wgm_for_proe/conf/cacerts.j
ks com.ptc.foo.jar
4-16
Property
Master
wt.fv.master.verboseProperties
wt.fv.master.verbose
wt.fv.master.log.enabled
wt.fv.master.log.append
wt.fv.master.log.filename
wt.fv.master.replicateQuerySize
Replica
wt.fv.replica.verbose
wt.fv.replica.log.enabled
wt.fv.replica.log.append
wt.fv.replica.log.filename
wt.fv.replicationFileSizeThreshold
4-17
Basic Properties
The following properties affect Content Replication and other functions as well,
unlike the properties in the preceding table, which have a more limited effect. For
example, the roles of sender and receiver are related to content and to the
IntraLink-toWindchill gateway. If you are not setting properties through a
graphical user interface or in a mapping file, you add or edit properties with the
xconfmanager utility, which is discussed elsewhere in this guide.
Property
Sender
Receiver
Explanation
wt.intersvrcom.verbose
wt.intersvrcom.ultraLight
wt.intersvrcom.security.grac
eTimePeriod
wt.intersvrcom.security.URL
Authentication
wt.intersvrcom.security.useP
roxyForClients
wt.wrmf.verbose
default: false
wt.wrmf.delivery.deleteDeli
veredItem
wt.wrmf.transport.httptransp
ort.supportInterruption
wt.wrmf.transport.outbox.pi
pe.<1 or 2 or 3>
4-18
wt.wrmf.delivery.TrackingN
umberGenerator
wt.intersvrcom.transport.site
Property
Description
wt.queue.max.processQueues
wt.queue.max.scheduleQueues
For more information on background queues see the chapter, Configuring and
Administering Background Queues, later in this guide.
4-19
Configuring Properties
To enable Content Replication for viewables it is recommended that the following
properties be set. If you are not setting properties through a graphical user
interface or in a mapping file, you add or edit properties with the xconfmanager
utility, which is discussed elsewhere in this guide.
In wt.properties:
wt.fv.replicationFileSizeThreshold=0
In wvs.properties:
publish.service.enabled=true
wvs.enabled=true
4-20
For example if site name is replica1, the following line in the wt.properties file
would configure replication to the site without compression:
wt.intersvrcom.transport.site.replica1.useGzip=false
4-21
Local Upload -- Places a user's uploaded content in the local cache vault as an
intermediate location prior to transfer to a master site upon checkin.
Both technologies depend on a designated cache vault in the replica site. These
technologies are transparent to the Windchill user and can be incorporated in
applications. The technologies deliver the following benefits:
4-22
Faster and earlier access to cache content data for users with shared download
preference
4-23
g1e1 and g2e1. Mounts to the mirroring folder in the local cache vault.
H. A vault that is not a local cache vault that is in another site that is the preferred
download site for the user of host G3.
sA. Master site for sites sE and sH.
sE. Replica site that includes a local cache vault and that is the preferred site for
download for users of hosts G1 and G2.
sH. Replica site that does not include a local cache vault and that is the preferred
site for download for the user of host G3.
The time required for a user's checkin, create, read, and update processes
associated with the upload and download of files is reduced because these
interactions involve data on the rapidly accessible cache vault, rather than the
more slowly accessible vaults on the master site. In the absence of an earlier
request for them, the content files are replicated to the master site under the
control of a replication schedule. For example, when a user of host G1 checks in
data, the checked in copy is in local cache vault E rather than master site vault A,
which would be the checkin vault if the local cache enhancements were not
enabled. The data will be copied from vault E to vault A, either when an
applicable replication schedule becomes active or when a request for the data
arrives at site sA.
Users who have a content cache preference set to the replica site that holds the
local cache vault can access data placed there more rapidly than if they could
access it only from the more slowly accessible master site. For example, a user on
host G2 who accesses content data checked in by the user on host G1 deals with
local cache vault E as the source of the content data, rather than the less rapidly
accessible master site vault A. Not only is time for access reduced, in addition the
data is available earlier due to the reduced time for checkin to local cache vault E
relative to the longer time that a checkin to master site sA would require.
If the master site receives a request for data that exists only in the local cache
vault, the data moves immediately to the master site to enable it to serve the
request. For example, if the user on G3 requests content data that exists in vault E
and does not exist in vault A, the content is copied to A, and the data is then
downloaded to G3. The content data is not transferred automatically to site sH
unless an appropriate replication rule is created to transfer the data.
The transparency of the technology to the Windchill user may create a need for
clarification about whether data checked in to the local cache vault E has been
copied to the master site sA. A utility that runs on the master sA site supplies
information about files not yet copied to site sA. The utility is discussed later in
this document as the "Utility to Assist Backups."
Maintaining two copies of data within the local cache vault protects it from loss or
damage. Each local cache vault folder accessed by read and write operations can
be associated with a folder that mirrors it when mount paths for both folders are
specified in the same entry during configuration. If the folder accessed for read
and write operations cannot be read, the contents of the mirroring folder can be
4-24
copied to the readable folder so that the read operation can continue. A later
section of this guide, Establishing Mirroring in the Local Cache Vault, explains
the technique for establishing mirroring. For example, the mount path g2e2
associates the read folder E2 with the host G2, while the mount path g2e1
associates the mirroring folder E1 with the host G2.
When content has been replicated from the local cache vault to the master, it
exists in both locations. If its structure in the local cache vault violates a rule, the
violation is corrected when the rule becomes active.
Indexing is the collecting of keywords from data to make the data searchable.
Data in the local cache is not indexed. Data is indexed as soon as it moves from
the local cache vault to the master site.
A download and upload Java Bean is available to implement the feature in
applications. The Windchill Application Developer's Guide describes this bean.
4-25
6. Select the folder in the Vault Configuration window and click Object >
Toggle Enabled.
The <path_to_codebase> is the path to the codebase for the master site.
The utilities output is an ASCII file in the log directory that lists files on replica
sites that are not on the master site. Files are listed by site and by folder within
each site. The output file's name has the following syntax:
ccs_backup_<timestamp>.log
Log Files
The standard master site and replica site log files show the interactions between
master and replica sites. See Editing the wt.properties File in this chapter for an
explanation of the log file properties.
4-26
5
Configuring External File
Vaulting or Replication With
FvLoader
Topic
Page
5-1
to create and configure an external file vault and vaulting rules -accomplished through data specified in a file. You can create vaults, folders,
hosts, mounts, and rules, and you can enable the folders. See Configuring
External File Vaults or Rules.
listing vaulting policy rules -- accomplished through command line. You can
use the output for batch deletion or recreation of policy rules. See Listing
Vaulting Rules.
You can create data in files to specify the action of FvLoader in two ways.
Create your own comma-separated value (.csv) file. The command that you
type in the command window is the following:
java wt.fv.FvLoader <Full File Name>
The syntax is the same for the fvloader.csv file or the .csv file that you write.
5-2
H,hostName -- Creates a file vault host with the host name hostName.
R,vaultName,fullClassName,fullDomainPath,lifeCycleStateName -- Creates
a file vaulting policy rule that concerns the following:
the class with the name fullClassName -- Only classes listed in the
graphical user interface for creating rule may be included in the .csv file.
Abstract classes that are content holders are not permitted. If you use only
the classes displayed in the graphical interface for making rules, you will
obey this guideline.
the domain with the full external path fullDomainPath. For an explanation
of where to get the fullDomainPath please see the section, Listing
Domains.
Note: Life cycles states are case-sensitive. Consequently, verify how a life cycle
state name is written, including the case used, before writing the name in the
FvLoader file.
5-3
RR,replicaVaultName,fullClassName,fullDomainPath,lifeCycleStateName -Creates a Content Replication policy rule that concerns the following:
the class with the name fullClassName -- Only classes listed in the
graphical user interface for creating rules may be included in the .csv file.
Abstract classes that are content holders are not permitted. If you use only
the classes displayed in the graphical interface for making rules, you will
obey this guideline.
the domain with the full external path domainPath. For an explanation of
where to get the fullDomainPath please see the section, Listing Domains.
Note: Life cycles states are case-sensitive, and the use of lowercase letters could
corrupt the rules table. Consequently, use only capital letters for life cycle states to
load vaulting rules with FvLoader.
5-4
RemoveReplicaR,replicaVaultName,fullClassName,fullDomainPath,lifeCycleSt
ateName -- Removes an existing Content Replication rule (same arguments as
for rule creation)
the class with the name fullClassName -- Only classes listed in the
graphical user interface for creating rules may be included in the .csv file.
Abstract classes that are content holders are not permitted. If you use only
the classes displayed in the graphical interface for making rules, you will
obey this guideline.
the domain with the full external path domainPath. For an explanation of
where to get the fullDomainPath please see the section, Listing Domains.
RemoveLocalR,vaultName,fullClassName,fullDomainPath,lifeCycleStateName
-- Removes an existing external vaulting rule (same arguments as for rule
creation)
the class with the name fullClassName -- Only classes listed in the
graphical user interface for creating rule may be included in the .csv file.
Abstract classes that are content holders are not permitted. If you use only
the classes displayed in the graphical interface for making rules, you will
obey this guideline.
the domain with the full external path fullDomainPath. For an explanation
of where to get the fullDomainPath please see the section, Listing
Domains.
Listing Domains
To list containers and domains several command line arguments can be appended
to the command java.wt.fv.FvLoader. They may be invoked by typing the
following syntax at the command prompt:
java.wt.fv.FvLoader -argument [options]
5-5
This invocation of FvLoader prints a list of domain paths to the console. The
output may be redirected to a file using piping. The two arguments, explained
below, are optional. If none are specified, the command prints all domains in
the system.
For example, the command would take the following form if you want to include
domains residing in the descendent containers and use the container path
/wt.inf.container.OrgContainer=PTC:
java wt.fv.FvLoader - listDomains /wt.inf.container.OrgContainer=PTC
includeDescendentContainers
5-6
[/wt.inf.container.OrgContainer=PTC/wt.inf.library.WTLibrary=Windchill PDM]/
ChangeItems
C:\>
Example:
Imagine that we have three sites in the system. There is a master site with name
master, a replica site with name replica_11, and a replica site with name
replica_99. File vaults on the sites master and replica_11 have rules associated
with them. File vaults on the site replica99 do not have rules associated with them.
C:\> java wt.fv.FvLoader -listFvPolicyRules master
###Current Policy rules for site [master]
LocalPolicyRule,v1,wt.doc.WTDocument,[/wt.inf.container.OrgContainer=PTC]/Default/
Project,ALL
LocalPolicyRule,v1,wt.part.WTPart,[/wt.inf.container.OrgContainer=PTC]/Default/
Project,ALL
C:\> java wt.fv.FvLoader -listFvPolicyRules replica_11
###Current Policy rules for site [replica_11]
ReplicaPolicyRule,replica_vault_1,wt.doc.WTDocument,[/
wt.inf.container.OrgContainer=PTC]/Default/Project,ALL
ReplicaPolicyRule,replica_vault_1,wt.part.WTPart,[/
wt.inf.container.OrgContainer=PTC]/Default/Project,ALL
C:\> java wt.fv.FvLoader -listFvPolicyRules replica99
5-7
LocalPolicyRule,v1,wt.part.WTPart,[/wt.inf.container.OrgContainer=PTC]/Default/
Project,ALL
###Current Policy rules for site [replica_11]
ReplicaPolicyRule,replica_vault_1,wt.doc.WTDocument,[/
wt.inf.container.OrgContainer=PTC]/Default/Project,ALL
ReplicaPolicyRule,replica_vault_1,wt.part.WTPart,[/
wt.inf.container.OrgContainer=PTC]/Default/Project,ALL
C:\>
In the output, each line has one of the following prefixes which specifies the type
of the rule:
If you take any line of output and change prefix to the appropriate prefix for rule
creation or deletion, you get a command, which is ready to be used in the
FvLoader batch execution. Be careful not to mix the prefixes for rules used in
external vaulting and Content Replication.
Original output:
LocalPolicyRule,v1,wt.part.WTPart,[/wt.inf.container.OrgContainer=PTC]/Default/
Project,ALL
5-8
Replication Phase
1. In wt.properties set wt.fv.localReplica=true. If you are not setting properties
through a graphical user interface or in a mapping rules file, you add or edit
properties with the xconfmanager utility, which is discussed elsewhere in this
guide.
2. Stop and restart the system.
3. Launch Replication on the replica vault, rv, through the Content Replication
Scheduler dialog.
4. Wait for the completion of the process.
5. Physically move the content of the folders of the replica vault, rv, to the
replica site, into the predefined place.
5-9
Finalization
1. Launch FvLoader to move the replica vault, rv, with its underlying structure,
to the destination replica site. You can perform local replication by supplying
the following arguments in the fvloader.csv file or the .csv file that you write:
LRV,vaultName -- Creates a remote vault for the local site with the name
vaultName.
LRMV,vaultName,destinationSiteName,masterHost, replicaHost -Moves the replica vault from the master site to the replica site.
masterHost has the same mount paths as the replicaHost on Replica site
5-10
5-11
5-12
6
Windchill Import and Export
Topic
Page
Overview .............................................................................................................6-2
Context Considerations in Import and Export.....................................................6-4
Configuration Specification Settings...................................................................6-9
Import and Export of EPMDocuments................................................................6-9
Exporting with the Export User Interface .........................................................6-11
Importing with the Import User Interface .........................................................6-16
Additional Export and Import Actions..............................................................6-19
Windchill Properties for Export and Import......................................................6-21
Windchill Export Properties..............................................................................6-21
Windchill Import Properties..............................................................................6-22
Access Control for Export and Import ..............................................................6-22
6-1
Overview
Windchill Import and Export can assist you in moving Windchill content and
metadata to and from Windchill PDM, Windchill PDMLink, and Windchill
ProjectLink sites by placing the data in JAR files.
Windchill Export places in JAR files on your file system all the data held in highlevel Windchill objects in the local Windchill database. Windchill Import extracts
such JAR files to the local Windchill database.
Windchill Export allows you to compress the data in any of the following
Windchill objects into a JAR file:
Soft Type Definition -- WTDocuments and WTParts can have soft type
definitions. You cannot check out type definitions on export.
The JAR suffix is automatically appended unless you specify another suffix. You
can filter objects by their time of last modification to control what is included in a
JAR file. Any software that expands ordinary zip files can also expand the JAR
files produced by Windchill Export.
Windchill Import allows you to specify the placement in the Windchill database
of content that was exported.
6-2
Windchill Import will not import an object that already exists in the local
Windchill database. Uniqueness is evaluated on the basis of an object identifier.
For most business objects such as WTPart, WTDocument and EPMDocument
instances, the uniqueness identifier is known as the UFID (unique federated
identifier) that is composed of the local ID, the domain, and the site. The UFID is
assigned to an object at the time that it is exported. Changing an object's revision,
version, or iteration results in a UFID change, but changing the life cycle state
does not. Different object types may have different uniqueness identifiers, for
example, an instance based attribute (IBA) or soft type definition object can be
identified by its name and its path.
An objects business identity is derived from the value of certain attributes, which
are as follows:
If an object to be imported has the same UFID, but a different business identity
than a database object, the import will fail unless the Resolve Overridable
Conflicts functionality is selected in the graphical user interface, or a policy or
rule file is used to change either the UFID or the business identity of the import
object.
Both the export and import processes can refer to mapping rule files that
transform or block attribute data on the interface to the JAR file. In addition
context mapping files enable the specification of object context during import or
export.
The way objects in the database can be created or modified during import and
export operations is governed by the use of policy files or selected actions
available in the user interface during import or export. If this is not supplied from
the user interface, import or export software attempts to find the appropriate
actions from server registry files. These policy files or actions are applied after
any mapping rule files are applied.
A Preview feature shows the expected results of importing from a specific file.
The Preview feature may not report every detail of the results of performing the
import operation.
See the appendix, Import and Export Policies, Mapping Rules, and Conflict
Messages, for more detailed information about conflicts and policies and mapping
rules.
6-3
All soft type and hard type definitions. In most cases these are instances of
modeled subclasses of WTPart, WTDocument, and End Item which is also
known as WTProduct.
6-4
When Type instances are being imported, if the type equivalent is not found in
the destination system, the type will be created in the target container's
organization container, provided the organization container has a properly
configured internet domain, otherwise the type will be created at the site
container. The user will be assumed to have the permission to create types at
the appropriate container levels, otherwise the import fail. See the following
section for Type Definition Equivalence.
6-5
It has the same name or the name is mapped to a local name, as well as
mapped to the same parent type, unless this type is a root-level type. The
names of hard types cannot be changed.
The two types have the same set of soft attributes. Two soft attributes are
considered the same if they are of the same IBA type have the same value.
The two types have the same set of constraints on their attributes as well as
the same set of constraints on the soft type itself.
If a Type matching the above criteria is found in the system, it must be visible to
the context into which the import is being performed.
In light of the preceding examples, you can expect objects exported from the
context of a system, project, or organization to be present after import in new
contexts within the system to which they were imported.
6-6
6-7
There can be more than one <container> elements in the mapping file, as shown in
the following example:
<?xml version="1.0" encoding="UTF-8" ?>
<container-info>
container>
<sourcecontainer>/wt.inf.container.DefaultOrgContainer=DefaultOrg/w
t.inf.container.ClassicContainer=Windchill PDM</sourcecontainer>
<targetcontainer>/wt.inf.container.OrgContainer=Windchill_RD/wt.inf
.library.WTLibrary=Windchill PDM</target-container>
</container>
</container-info>
6-8
Attribute Limitations
Because the attributes of CAD documents are tightly related to content files, there
are limitations on which attribute can change outside the workgroup manager
clients. The following import actions are not supported for CAD documents:
Ignore object
name
number
CADName
description
folderpath
versionInfo
lifecycleInfo
teamIdentity
6-9
When importing CAD documents, mapping rules should not be used to change the
following attributes:
ownerApplication
authoringApplication
epmDocType
epmDocSubType
extentsValid
contentItem
iba
Mapping rules should not be used to change any attributes on other EPM link
objects, including:
EPMMemberLink
EPMReferenceLink
EPMVariantLink
EPMContainedIn
EPMDescribesLink
EPMBuildLinksRule
EPMBuildHistory
6-10
Click Site Map on the Windchill home page. In the System Administration
list in the Site Map click Import/Export Manager.
1. Click Export to display the Export window. Perform the following steps
6-11
2. You may optionally specify a folder and file name in the local file system for
the exported data jar file: Click Browse for the Export File Name box.
3. You may optionally specify a mapping rule file in the local file system to
control the export process: Click Browse for the Export Rule File box.
Specify the folder and file in the dialog box that appears.
4. You may optionally specify export policies by one of the following two
methods.
6-12
Select the Export Policy File radio button and clicking Browse for the
Export Policy File box. Specify the folder and file in the dialog box that
appears. Export actions in the file will be combined with ones found in
the systems registry files in
<Windchill>/codebase/registry/ixb/export_settings/
defaultExportPolicy.xsl
Select the Export Action radio button and then select from the export
action drop-down list (actions will be applied to all objects in the export
None -- If you are sure no actions such as checkout and lock are
needed, this is an appropriate selection.
Check out -- Upon export, the database object will become checked
out by you. The software attempts to check out objects that are
necessary to describe an object that you are exporting, such as a
document that describes a part that you are exporting. You cannot
check out type definitions on export.
6. Click Add in the Objects section of the window to select data for export. You
can remove objects from the list by selecting them and clicking Delete. You
select a type of object and then display a window for selecting the object. The
following graphic shows the appearance of the window if you selected a
Document as the type of object to add.
6-13
7. Click Add in the Filters section of the window to specify a time period that
defines the objects for export. Adding filters is an optional step.You can filter
objects to be exported by their time of last modification in all languages, but
Time Range user interface is available for English locale only. For other
languages, the only user interface option is "during previous ..
days/hours/months". This variation affects the features available in the Filter
by Time window.
8. If you need to, click Preview to understand what will be exported. With
Detailed Log not checked, you can see how many objects will be exported
and how many XML files will be processed. With Detailed Log checked, you
can see what files will be exported.
9. Click Submit.
Messages in the Export Status Log section of the Export window show progress
or problems that you can resolve. See the appendix that explains mapping rules,
policy files, and conflict messages in the Windchill System Administrator's Guide
for information that can help in resolving conflicts.
6-14
3. Specify a folder and file name in the local file system for the exported data jar
file: Click Browse for the Export File Name box. Specify the folder and file
in the dialog box that appears.
4. You may optionally specify a mapping rule file in the local file system to
control the export process: Click Browse for the Export Rule File box.
Specify the folder and file in the dialog box that appears.
5. You may optionally specify export policies by one of the following two
methods.
Select the Export Policy File radio button and clicking Browse for the
Export Policy File box. Specify the folder and file in the dialog box that
appears. Export actions in the file will be combined with ones found in
the systems registry files in
<Windchill>/codebase/registry/ixb/export_settings/
defaultExportPolicy.xsl
Select the Export Action radio button and then select from the export
action drop-down list (actions will be applied to all objects in the export
file). The Lock action is not shown as a selection, but it is applicable
through an export policy file or the system registry.
None -- If you are sure no actions such as checkout and lock are
needed, this is an appropriate selection.
Check out -- Upon export, the database object will become checked
out by you. The software attempts to check out objects that are
necessary to describe an object that you are exporting, such as a
document that describes a part that you are exporting. You cannot
check out type definitions on export.
6-15
9. If you need to, click Preview to understand what will be exported. With
Detailed Log not checked, you can see how many objects will be exported
and how many XML files will be processed. With Detailed Log checked, you
can see what files will be exported.
10. Click Submit.
Messages in the Export Status Log section of the Export window show progress
or problems that you can resolve. See the appendix that explains mapping rules,
policy files, and conflict messages in this document for information that can help
in resolving conflicts.
6-16
Click Site Map on the Windchill home page. In the System Administrator
list on the Site Map click Import/Export Manager.
1. Click Import. The Import window opens, displaying your current context at
the top of the window. Perform the following steps in the Import window to
import data.
2. Specify the exported data JAR file in the local file system to import to the
local Windchill database. Click Browse for the Import File Name box.
Specify the folder and file in the dialog box that appears.
3. Specify a mapping rule file in the local file system to control the import
process. Click Browse for the Import Rule File box. Specify the folder and
file in the dialog box that appears. Specify a mapping rule file is optional.
4. You may specify a context mapping file in the local file system to identify
into which target context the import file objects are placed. If you do not
specify a context mapping file, objects will be imported into the context from
which the import action was launched, the Default Target Context listed at
the top of the Import window. Click Browse for the Context-mapping File
box. Specify the folder and file in the dialog box that appears. For a more
complete explanation see a later section in this document, Controlling the
Destinations of Imported Objects with Context Mapping Files.
6-17
5. You may optionally specify import policies by one of the two following
methods.
Select the Import policy File radio button and click Browse for the
policy file box. Specify the folder and file in the dialog box that appears.
Import actions in the file will be combined with ones found in the
systems registry files in
<Windchill>/codebase/registry/ixb/import_settings/
defaultImportPolicy.xsl.
Select the Import Action radio button and then select from the import
action drop-down list (actions will be applied to all objects in the import
file):
Update checked out object in place -- This option will replace the
content, attributes, and links of the checked out object.
6-18
conflict is overridable or not is dependent on the target database, the jar file
(containing metadata XML files and content files) to be imported, as well as
the import actions. Selecting the checkbox Resolve Overridable Conflicts
will only resolve the overridable conflicts and can not resolve the nonoverridable conflicts. If there are one or more non-overridable conflicts, the
import operation fails. If failure occurs, in order to have a successful import
operation, something must be done prior to the next attempt to do the same
import operation. For example, apply a mapping rule file to the XML files to
ensure no non-overridable conflicts will happen against the target database.
Note: A particular change for the 7.0 release that can produce conflicts
involves the RatioDefinition and RatioValue. These types of data, if included
in an export from 6.2.6 or earlier, result in an overridable import conflict in
the 7.0 release. If you override the conflict, the data is imported as
FloatDefinition and FloatValue.
7. You may click Preview to understand what will be imported. With Detailed
Log cleared, you can see how many objects will be imported and how many
XML files will be processed. With Detailed Log checked, you can see what
files will be imported, what conflicts may arise during import, and whether
the import process will be completed or will fail. PTC recommends using
Preview, especially for checking the effect of policy files, which have the
potential of creating significant changes to the database. The Preview
operation does not perform actual import, nor does it report all conflicts,
especially those from runtime.
8. Click Submit.
Messages in the Import Status Log section of the Import window show progress or
problems that you can resolve. See the appendix that explains policy files,
mapping rules, and conflict messages in the Windchill System Administrator's
Guide for information that can help in resolving conflicts.
UnlockAndIterate -- This action finds an object in the database with the same
UFID or the same name, number, version, and iteration as the object in the
XML file. If such an object exists and it is locked, this action unlocks and
6-19
iterates it, and then updates it with information from the XML file. Otherwise,
the action generates an error.
CreateNewObject -- This action creates a brand new object with new name,
new number, new version, and new iteration provided in the import policy
file. Other information is extracted from the XML file. This functionality
must be used with a policy file that provides new identities for the object.
The format of new information that must be provided in Import Policy file is
the following:
<actionInfo>
<xsl:choose>
<xsl:when test="criteria='value'">
<action>CreateNewObject</action>
<actionParams>
<newName>New Name</newName>
<newNumber>New Number</newNumber>
<newVersion>New Version</newVersion>
<newIteration>New Iteration</newIteration>
</actionParams>
</xsl:when>
<xsl:otherwise>
<action>Some other action</action>
</xsl:otherwise>
</xsl:choose>
</actionInfo>
6-20
Between <xsl:choose>, there can be many <xsl: when test ....> with
different criteria and different action names.
SubstituteObject -- This action substitutes the object in the XML file for an
object in the database that has the name, number, version, and iteration
provided in the Import Policy file. If such an object doesn't exist, it generates
an exception. The format of tag and parameters for this case is exactly the
same with CreateNewObject, but the <action> is SubstituteObject.
Ignore -- This action does not import the object in the XML file. This action
doesn't require any actor.
6-21
6-22
You must log in as administrator and set the following access control rules for
Windchill export and import operations for non-administrative users.
The rules in the following tables are examples that may meet your needs for
Windchill PDM or Windchill ProjectLink. They do not attempt to represent the
minimum permissions required for a non-administrator to perform the indicated
actions.
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
Cabinet
All
nonadministrator
user
Full Control
(All)
Domain
Context
Type
State
Principal
Grant
Permissions
System
Site
View
All
nonadministrator
user
Full Control
(All)
Marketing
Windchill PDM
WTPart
All
nonadministrator
user
Read
Export Rule for WTParts With Policy File for Lock and Checked Out
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
WTPart
All
nonadministrator
user
Read/Modify
6-23
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
WTDocument
All
nonadministrator
user
Read
Export Rule for WTDocuments With Policy File for Lock and Checked Out
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
WTDocument
All
nonadministrator
user
Read/Modify
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
EPMDocument
All
nonadministrator
user
Read
Export Rule for EPMDocuments With Policy File for Lock and Checked Out
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
EPMDocument
All
nonadministrator
user
Read/Modify
6-24
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
SubFolder
All
nonadministrator
user
Read
Type
State
Principal
Grant
Permissions
Cabinet
All
nonadministrator
user
Full Control
(All)
Domain
Context
Marketing
Windchill PDM
Domain
Context
Type
State
Principal
Grant
Permissions
System
Site
View
All
nonadministrator
user
Read/Modify/Creat
e
Marketing
Windchill PDM
WTPart
All
nonadministrator
user
Read/Modify/Creat
e
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
WTPart
All
nonadministrator
user
Read/Modify/Crea
te/Revise
6-25
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
WTDocument
All
nonadministrator
user
Read/Modify/Creat
e
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
WTDocument
All
nonadministrator
user
Read/Modify/Creat
e/Revise
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill PDM
EPMDocument
All
nonadministrator
user
Read/Modify/Cre
ate
Domain
Context
Type
State
Principal
Grant
Permissions
Marketing
Windchill
PDM
SubFolder
All
nonadministrator
user
Read/Modify/Cre
ate
6-26
7
Administering Content Holders
and Content Objects
Topic
Page
7-1
7-2
Adding and Updating Data Formats (which define MIME types for
downloading content objects)
Description
wt.clients.debug=false
wt.content.DEBUG=false
wt.content.httpClass=
wt.content.ContentHttp
wt.content.temp=$(wt.temp)
wt.content.uploadImpl=rmi
wt.content.validEmptyFile=false
7-3
Property
Description
wt.doc.primaryContentRequired=true
These properties reside in the wt.properties file. Use the xconfmanager utility to
display existing values or set values for these properties. For details on using the
xconfmanager, see Using the xconfmanager Utility.
See Windchill Configuration Properties for descriptions of all available
properties.
Supplies the icon that will represent the object in browser displays.
You are then prompted to provide values for the following attributes:
Attribute
Description
7-4
Attribute
Description
Description (optional)
Indexable (required)
Icon (required)
Extensions (required)
Defines the extensions that are associated with this particular mime
type (for example, .doc or .rtf for Microsoft Word).
Note: After a data format has been added to the system, it cannot be removed.
The tool prompts you for the format name of an existing data format object. Once
you have identified the data format, you can update its attributes.
Note: If you change the MIME type of a data format object, you must stop and
restart the method server to implement the change.
7-5
7-6
8
Configuring and Administering
Background Queues
Topic
Page
Overview .............................................................................................................8-2
Queue Entry States ..............................................................................................8-3
Configuring Background Queues and Related Properties...................................8-4
Regular Queue Maintenance ...............................................................................8-8
8-1
Overview
During day-to-day operation of Windchill, certain system tasks must be
completed immediately, while others can wait until a more convenient time. For
example, updating RetrievalWare indexes based on events included in the
indexing policy must be completed, but you may decide to defer that processing,
consigning those tasks to a queue where they can be run at specified intervals. For
example, usually many Windchill tasks, including updates to RetrievalWare, email notifications, and many life cycle tasks, can be moved to an ordered
background queue rather than being executed immediately.
To keep your system running efficiently, perform regular queue maintenance. For
more information, see Regular Queue Maintenance, at the end of this chapter.
You can configure background queues with Windchill property values defined in
the wt.properties file. The Queue Manager utility provides you with capabilities
for creating and managing background queues. This utility can be accessed from
the System Configurator. For information about opening the System Configurator,
see Using the System Configurator.
Queues can be distributed among background method servers by using queue
grouping. Establish queue grouping by completing two major tasks:
Assign queues to groups through the Queue Manager utility. The group names
can consist of alphanumeric characters. One or more queues can be assigned
to the same group.
When you assign groups to background method servers, the queues that have not
been assigned to any group are automatically assigned to the default queue group
and run on the background method server that has the default group assigned.
Unless the property wt.queue.queueGroup is set on a running method server to a
given group, the queues that form the group are not be executed.
Note: Do not set the same group to run on more than one method server. Also,
the wt.queue.executeQueues property overrides the wt.queue.queueGroup
property, and when wt.queue.executeQueues is set to false, the given method
server does not run any queues in spite of setting the queue group. Also, assigning
a queue to a group that has not been assigned to a background method server
causes the queue execution to halt.
For use with Windchill clusters, Windchill allows you to set the
wt.queue.queueGroup property in a wt.properties file to the keyword localhost.
Setting wt.queue.queueGroup=localhost establishes the queue group name for the
method server as the local host name (in all lowercase characters) of the system
where the method server is running. Using this setting in multiple wt.properties
files, where each method server is running on a different local host establishes the
queue group names as the local host names. For example, assume you have three
hosts named appsvr1, appsvr2, and appsvr3. Then setting
8-2
You can change the group to which a queue is assigned by changing queue
properties through the Queue Manager utility.
Description
Ready
Suspended
Executing
Completed
Failed
8-3
State
Description
Reschedule
Severe
Description
wt.queue.<queuename>
wt.queue.defaultInterval
wt.queue.execEntriesCount
wt.queue.executeQueues
8-4
Property
Description
wt.queue.max.processQueues
wt.queue.max.scheduleQueues
wt.queue.queueGroup
wt.queue.queueGroup.default
wt.queue.queueMonitor.sleep
wt.queue.removeCompleted
wt.queue."+queueName+"
.removeFailedEntries
wt.queue."+queueName+"
.exceptionRetries
Default is 0.
8-5
Description
wt.queue.log.enabled
wt.queue.log.file
wt.queue.log.append
wt.queue.pollingQueueThread
.verbose
wt.queue.processingQueue
.verbose
wt.queue.processingQueue
.execEntries.verbose
wt.queue.queueWatcher
.verbose
wt.queue.queueWatcher
.update.verbose
wt.queue.scheduleQueue
.verbose
Default is false.
Default is false.
wt.queue.scheduleQueue
.execEntries.verbose
8-6
Property
Description
wt.queue.scheduleQueue
.execEntry.verbose
wt.queue.scheduleQueueEntry
.verbose
wt.queue.scheduleQueueThread
.verbose
Default is false.
Default is false.
Description
wt.index.defaultQueueInterval
wt.index.useQueue
8-7
8-8
6. From the View entries with status drop-down list, select Severe and then
click Show to view severe entries.
7. Examine each severe entry and decide whether to delete the entry or reset it.
8. Repeat the process until you have either deleted or reset all failed and severe
entries in each queue.
9. When the status of an entry becomes severe, Windchill stops the queue from
which the task for the entry was executed so that no other tasks will execute.
If there were severe entries, manually restart the corresponding queue or
restart Windchill.
To restart a queue, go to the Queue Manager main page and select the check
box in front of the corresponding queue row in the table and then click Start
at the top of the table.
Alternately, select Start from the Actions drop-down list in the
corresponding queue row or from the Queue Properties page for the queue.
8-9
8-10
9
Administering RetrievalWare
Libraries
Topic
Page
9-1
The character encoding used when transferring the information to the search
engine.
A user that the indexing service acts on behalf of, objects are indexed into a
library.
The properties that follow define a Windchill library. Each is described in the
properties table in the Windchill Properties Used to Configure Indexing section, at
the end of this chapter.
wt.index.collections
wt.index.Windchill_Business_Collection.collectionName
wt.index.Windchill_Business_Collection.encoding
wt.index.Windchill_Business_Collection.locale
wt.index.Windchill_Business_Collection.user
wt.index.Windchill_Business_Collection.rwareDocHandlerAddress
wt.index.Windchill_Business_Collection.rwareLibName
wt.index.Windchill_Business_Collection.rwareWebServerURL
The default wt.properties file has a Windchill_Business_Collection library
defined. The properties for this library are as follows:
wt.index.collections=Windchill_Business_Collection
wt.index.Windchill_Business_Collection.user=Administrator
9-2
wt.index.Windchill_Business_Collection.collectionName=Windchill_Busine
ss_Collection
wt.index.Windchill_Business_Collection.encoding=8859_1
wt.index.Windchill_Business_Collection.rwareDocHandlerAddress=cqdh@l
ocalhost:5327
wt.index.Windchill_Business_Collection.rwareLibName=wb_lib
Windchill_Business_Collection sends information to a RetrievalWare library
named wb_lib. A Convera server process, which is located with the address
cqdh@localhost: 5327, serves the library wb_lib.
About Indexing
Before the indexing process can begin, the Index Policy Manager subscribes to all
events that may cause an object's entry in a search engine index to become stale.
The list of events follows:
PersistenceManagerEvent.POST_DELETE
PersistenceManagerEvent.POST_STORE
PersistenceManagerEvent.POST_MODIFY
LifeCycleServiceEvent.STATE_CHANGE
FolderServiceEvent.POST_CHANGE_FOLDER
WorkInProgressServiceEvent.POST_CHECKIN
SessionIterationEvent.POST_COMMIT_SESSION_ITERATION
ContentServiceEvent.POST_UPLOAD
IdentityServiceEvent.POST_CHANGE_IDENTITY
9-3
1. First, an event happens (1). If it is one of the events for which the Index Policy
Manager is listening, the event and the object are dispatched to the Manager.
The Index Policy Manager checks to determine whether the event triggers an
indexing action. In many cases it does not (for example, if the object is not
indexable or there is no list for the class/state combination). In this case, the
event can be ignored (3). In some cases, there is an indexing list for the
object/state/event combination. When a list exists, the manager queues the
indexing request for deferred processing in a FIFO queue (3).
2. Later, the requests are asynchronously executed, at which time introspection
is used to get strings representing all of the attribute names and values that the
object holds. This information is then sent to the search engine to be indexed
along with any content files that the object holds (4). For more information
about background processing queues and their maintenance, see Configuring
and Administering Background Queues.
9-4
3. When all the metadata is collected, a file similar to the following, is written to
the file system:
<000121Windchill>
<fields>
field Description Sample requirements template
field docTitle ((null))
field ObjectIdentifier VR:wt.doc.WTDocument:5614
field Identity 2002.05.09.07:48:52.890 - Requirements Template, A
field SystemId Windchill
field Name Requirements Template
field TeamTemplate Default
field Number 2002.05.09.07:48:52.890
field LifeCycleState In Work
field Date 6/9/03 10:58 AM
field AppOID wt.content.ApplicationData:5647
field StandardIcon wt/clients/images/msword.gif
field PersistInfoOID VR:wt.doc.WTDocument:5614:951665092-1055173946531-19458623177-10-253-132@hostname.mycompany.com
field BusinessType Document
</fields>
Branch Identifier 5614 Business Type WTDocument Cabinet System Conceptual Classname
wt.doc.WTDocument Context Name DefaultOrg Created 6/9/03 10:58 AM Creator Full Name
admin Creator Name Administrator Department Engineering Description Sample
requirements template Type Template Type Template Folder Path /System/Requirements
Template Format Name Microsoft Word Identity 2002.05.09.07:48:52.890 - Requirements
Template, A Life Cycle Default No Routing State In Work Location /System Modifier
Full Name admin Modifier Name Administrator Last Updated 6/9/03 10:58 AM Name
Requirements Template Number 2002.05.09.07:48:52.890 Organization Name DefaultOrg
Team Identity 2002.05.09.07:48:52.890 - Requirements Template A2 Team Name
2002.05.09.07:48:52.890 - Requirements Template A2 Team Template Identity Default
Team Template Name Default Title ((null)) Type Document PRIMARY Microsoft Word
Requirements_Template.doc
<file><title>Requirements_Template.doc</title><appOID>wt.content.ApplicationData:56
47</appOID>C:\ptc\Windchill\temp\contentFile22.bin</file>
After this file is written, Windchill requests that Convera index the file. Convera
then parses this file using commands from the custom document parser command
file wb_lib.dp, which comes with the windchill_indexes working directory. When
Convera finds the <file> tag, it indexes the file (identified by the full path name
within this tag) as a child document of the metadata document. This makes it
possible for all entries within the search engine index associated with a Windchill
object to be deleted when the Windchill object is deleted. Windchill only needs to
remember information about the metadata documents key to delete it and all of
its children from the index.
9-5
Bulk Loading
You should use the Bulk Index Tool to load RetrievalWare Libraries and their
objects:
Start and stop the bulk indexing process. Because loading indexes can take a
significant amount of time, it may be necessary to stop the operation for some
length of time. State is maintained in the BulkIndexListEntry table, which is
created by this tool, so the process can be stopped and restarted without
having to reindex objects that have already been indexed.
Note: The Bulk Index Tool can only be used to load RetrievalWare libraries.
This tool takes a snapshot of a indexable objects in Windchills database. The
snapshot is taken at a particular time, and a list of all of the indexable objects
residing in the database are stored in the BulkIndexListEntry table. The bulk
indexing process consists of looping through this table and determining whether
each object belongs in a collection(s) according to the index policy of the domain
to which the object belongs. If so, the object is indexed into the appropriate
collections.
You can start, stop, and schedule this bulk indexing process.
9-6
Note: You can open two command prompts, side by side, to simplify the process
of running the tool. Use one command prompt to run the Bulk Index Tool and the
other command prompt to tail the BulkIndexTool.log file. The tail utility is a
standard UNIX utility. For more information, see the man page. This utility is also
available for NT from GNU at http://www.gnu.org.
For real-time progress, you can run the tail utility on the BulkIndexTool.log file.
However, this is not required.
The following prerequisites must be met before you can bulk load a
RetrievalWare library:
When these prerequisites are met, you can run the Bulk Index Tool.
To run the Bulk Index Tool, type the following at a command prompt, and log in
as a user from the Administrator user group:
windchill wt.index.BulkIndexTool
Below is a discussion of each of the ten Bulk Index Tool menu options:
1. Create the entire list of objects to index:
Select option 1 when you first run the Bulk Index Tool so you can build the
BulkIndexListEntry table containing all the indexable objects to be processed.
Because the query for all indexable objects is very large, it may take a
significant amount of time to build the table.
The status of the overall bulk indexing process will be displayed whenever
someone logs in to the Bulk Index Tool. The BulkIndexListEntry table is built
after the first time the tool is run.
2. Create a list of objects to index based on current policy rules
Select option 2 if you want to build the BulkIndexListEntry table based on the
current Windchill PDM policy rules.
3. Create a list of objects to index that have not been indexed to date
Select option 3 if you want to build an BulkIndexListEntry table that only
contains items that have not yet been indexed.
4. Create a list of objects to index based on current policy rules that have not
been indexed to date.
Select option 4 if you want to build an BulkIndexListEntry table based on the
current Windchill PDM policy rules that only contains items which have not
yet been indexed.
9-7
Total number of runs (how many times you want the scheduled task
repeated).
Frequency (in days) that you want the bulk indexing task to run. (For
example, enter 1 for daily; enter 7 for weekly.)
When all objects have been processed, the bulk indexing process is complete.
10. Exit:
Select option 7 to close the Bulk Index Tool.
9-8
9-9
11. Click the EDIT hyperlink, and set the following index server parameters:
9-10
16. Finally, you must move the wb_lib.dp file into the new library. There you will
rename it, using the file name of the document parser command file. To
accomplish this, follow the following procedure:
9-11
wt.index.Parts_Only_Collection.rwareDocHandlerAddress=cqdh@loca
lhost:5327
wt.index.Parts_Only_Collection.rwareLibName=part_lib
wt.index.Parts_Only_Collection.saveFiles=true
For NT: Open the start menu and select Programs > RetrievalWare 6.7
> System Utilities Menu.
Language Processing
Language must be specified in Windchill to determine which locale is used for
getting display strings of enumerated types and which encoding is used for writing
the metadata file.
In the following two properties, <collectionName> is one of the collections
defined by the property wt.index.collections:
The locale used when getting display strings of enumerated types is defined
by the property wt.index.<collectionName>.locale.
The encoding used when writing the metadata file to disk is defined by the
property wt.index.<collectionName>.encoding.
The table that follows specifies how to set up locale and encoding properties for
your collection, depending on the language with which you want the metadata file
to be written. (Content files do not have translations available and are streamed
from the Windchill database to the file system as is.)
wt.index.<collectionName>
.locale
wt.index.collectionName
.encoding
Chinese
Traditional
zh_TW
Big5
Chinese
Simplified
zh_CN
gb2312
English
en
8859_15
Language
9-12
Language
wt.index.<collectionName>
.locale
wt.index.collectionName
.encoding
French
fr
8859_15
German
de
8859_15
Italian
it
8859_15
Japanese
ja
Shift_JIS
Korean
ko
KSC5601
Description
wt.index.collections
Default: Windchill_Business_Collection
Synopsis: Windchill collections.
Description: This is a comma-separated list of collections that
appear as choices when creating an indexing rule. A collection is
information that is stored in a search engine's database, allowing for
efficient searching of that information. The following properties are
then used to define the collection, where <collectionName> is one
of the elements from the comma-separated list of collections:
wt.index.<collectionName>.collectionName
wt.index.<collectionName>.collectionPath
wt.index.<collectionName>.encoding
wt.index.<collectionName>.locale
wt.index.<collectionName>.rwareDocHandlerAddress
wt.index.<collectionName>.rwareLibName
wt.index.<collectionName>.rwareWebServerURL
wt.index.<collectionName>.saveFiles
wt.index.<collectionName>.user
wt.index.<collectionName>.webServerURL
wt.index.enabled
Default: true
Synopsis: Enables (true) and disables (false) indexing.
Description: Indexing should be disabled only for debugging.
9-13
Property
Description
wt.index.defaultQueueInterv
al
Default: 60 seconds
wt.index.tempFileDir
Default: c:\\temp
Default: Windchill_Business_Collection
Synopsis: Collection name.
Description: This is the name of the collection
Windchill_Business_Collection.
wt.index.Windchill_Business
Collection.encoding
wt.index.Windchill_Business
_Collection.locale
wt.index.Windchill_Business
_Collection.user
Default: Administrator
Synopsis: User whose rights determine access control of objects
being indexed.
Description: If this user does not have read access to an object for
which an indexing rule applies, the object is not indexed.
9-14
Property
Description
wt.index.Windchill_Business
Default: cqdh@localhost:5327
_Collection.rwareDocHandle
rAddress
wt.index.Windchill_Business
_Collection.rwareLibName
wt.index.Windchill_Business
_Collection.rwareWebServer
URL
wt.index.verboseExecution
wt.index.verbosePolicy
9-15
into which the index search component was installed. The following properties
appear in this file:
Property
Description
wt.index.log.append
Default: true
Synopsis: Append flag.
Description: Determines whether the indexloader log is
appended to or overwritten during each indexing request.
wt.index.log.enabled
Default: true
Synopsis: Master switch for enabling logging in applications
that support it.
Description: Setting to true enables logging; setting to false
disables logging.
wt.index.log.file
Default: c:\\WTSearch\\IndexEntryToRware.log
Synopsis: Log file name.
Description: The full pathname to a file where information is
to be logged.
wt.index.tempFileDir
Default: c:\\temp
Synopsis: Temporary directory for intermediate files.
Description: Files are extracted from the Windchill database
and placed in this directory on the file system so the
RetrievalWare search engine can index them.
wt.index.verboseExecution
9-16
10
Customizing and
Administrating Pro/ENGINEER
Wildfire
Page
10-1
Variable
Values
Description
PTC_WF_ROOT
/path/to/dir,
/path/to/dir,
default=$PTC_WF_ROOT/.ca
che/
10-2
Config.pro Options
The following table lists Pro/ENGINEER config.pro options that are especially
relevant to the Pro/ENGINEER Wildfire interaction with Windchill:
Config.pro Option
Values
Description
dm_cache_size
Integer [default =
400]
dm_remember_server
YES [default]
NO
web_browser_homepage
string value
save_model_display
wireframe,
shading_low,
shading_high,
shading_lod
dm_http_compression_level
[default = 0]
10-3
dm_network_retries
integer >0
[default = 10 ]
dm_network_threads
integer >0
[default = 3]
dm_upload_objects
explicit [default]
automatic
dm_secondary_upload
10-4
automatic [default]
explicit
The config.pro options that specify storage and retrieval directories, including
such options as the following:
start_model_dir
pro_library_dir
pro_format_dir
pro_materials_dir
pro_group_dir
pro_symbols_dir
pro_catalog_dir
Note: If you retrieve an object from any location other than the primary server, it
will be treated as if it were newly created in the Pro/ENGINEER session. This
means that actions on the object (for example, save or requesting checkout) are
done in the context of the primary server, not the location from which the object
was retrieved.
Config.pro options that point to a specific file, including such options as the
following:
intf_in_use_template_models
template_designasm
template_mold_layout
template_ecadprt
template_solidpart
10-5
can be set to point to Windchill file locations using a string of the proper syntax
and the name of the CAD document that manages the file, as in the following
example:
template_solidpart
wtpub://<server_alias>//libraries/Templates/template_solid_inlb
s.prt
INI Files
About INI Files
INI files are used to set certain preferences on the Windchill server. Typical uses
are to let the system create a customized WTPart, or to choose the date format to
be displayed in the user interface.
Generally, an administrator modifies INI files and a restart of the method server is
required before the changes take effect.
There are six INI files that are installed by default under the following
subdirectories:
$WT_HOME/codebase/com/ptc/windchill/cadx/cfg/site/autopart.ini,
autoassociate.ini, newdocument.ini
Note: Files under the site directory are used for setting preferences applicable
to the site and cannot be overridden except by the administrator.
$WT_HOME/codebase/com/ptc/windchill/cadx/cfg/default /cadxhtmlui.ini,
console.ini, newdocument.ini
Note: Files under the default directory are used for setting default
preferences.
10-6
The semicolon character (;) is used for comments. (For many key-value pairs,
comments are available in the INI file indicating their use and possible
values.)
10-7
Note: These template CAD documents must exist in the Windchill database. If
the templates do not exist, Pro/ENGINEER Wildfire creates empty CAD
documents known as missing dependents or ghost objects.
10-8
Setting the above entry sets the date format as in 15 Mar 02 13:25. Please note that
the value in the above key-value pair comes from the section [dateformat] in the
same file, which means that if the date format expected is 3/15/02 1:25 PM, then
the value of DefaultDateFormat should be set as follows:
DefaultDateFormat = ShortDateFormat2.
Users may not modify the key-value pairs in the [dateformat] section unless they
customize wt.util.utilResource_<locale>.rbInfo to add more date formats than the
out-of-the-box date formats. In such a case, the new entries to be added to the
[dateformat] section should follow the pattern outlined below:
1. Create a key of your choice, for example, customDateFormat.
2. Set the value of this key to the resource key from the utilResource.rbInfo file
(for example, if you created a date format called myDateFormat in
wt.util.utilResource_<locale>.rbInfo). (For more information on this kind of
customization, see the Windchill Customizers Guide). For example:
100.constant= myDateFormat
100.value=dd-MM-yy
10-9
Using the xconfmanager, add a line to the iba.properties file, in the following
format:
<Pro/ENGINEER parameter name>=<Windchill IBA name>
Examples:
10-10
The Windchill server administrator adds any new mappings as part of the
process of adding new IBA definitions in Windchill.
10-11
10-12
10-13
2. In the new class, implement the business logic for naming and numbering
EPMDocument in the method:
public void validateDocumentIdentifier(DocIdentifier
docIdentifier)
10-14
10-15
10-16
10-17
(See Customizing the HTML Client Object Selection Page in this section for more
details.)
Replacing WTPart
If you want your site to only use custom part and not WTParts, then do the
following:
1. Add custom part support to HTML Search.
2. In picker.properties, use the xconfmanager to change the type list entries that
contain a type id for WTPart to the custom part type id you created in Step 1.
3. Restart the method server.
Customizing AutoAssociate
AutoAssociate functionality can be customized in the following ways:
Modifying the CAD document IBA value to be used to search for a WTPart
with a matching number.
10-18
2. In $WT_HOME\codebase\com\ptc\windchill\cadx\cfg\site\autoassociate.ini,
modify the entry under [General] to read as follows:
[General]
PartFinder=com.ptc.windchill.cadx.autoassociate.
CustomizedAutoAssociatePartFinderCreator
3. Restart the method server
10-19
Example
For example, say you have the following associations:
EPMDocNull
associated with
EPMDocDesign
associated with
EPMDocDesign
associated with
WTPartMfg (view ==
Manufacturing)
Default Behavior
Customized Behavior
With the View for Parts on the workspace preferences page General tab set
to <null>:
10-20
10-21
10-22
wt.mail.mailhost=localhost
The value of "localhost" should be changed, using the xconfmanager, as per the
mail server and domain name, in order to send e-mail through the Rename Report
page.
Generation of Viewables
Server-side generation of viewables is enabled by setting up the Windchill
Visualization Service.
For information about setting up Windchill Visualization Service, see the
Windchill Installation and Configuration Guide - Visualization Services
10-23
remote site, thereby significantly improving access time. The files at the replica
site remain retrievable by users at the master site.
For more information, see the Content Replication For WAN Clients and Local
Upload For WAN Clients sections in Performance Best Practices for Windchill
Pro/ENGINEER Data Management.
Performance Tuning
Setting the Method Server Max Heap Size
It is recommended that the default Java heap size for each method server be set to
512MB in order to cope with large Pro/ENGINEER data sets that are common to
the products developed by Pro/ENGINEER users.
For more information on setting the max heap size, see the Method Server Max
Heap Size section in Performance Best Practices for Windchill Pro/ENGINEER
Data Management.
Data Compression
The meta data compression option is intended to improve the upload and
download performance of the Pro/ENGINEER Wildfire client for users accessing
Windchill across a lower bandwidth network. This feature substantially improves
the performance of upload and download operations for large family tables.
In Pro/ENGINEER Wildfire, compression is controlled by a Pro/ENGINEER
config.pro setting (dm_http_compression_level) as follows:
dm_http_compression_level < an integer between 0 and 9 -- 0 for no
compression, 9 for max compression>
While data compression can provide a benefit in a slow network, using
compression puts an extra load on CPU resources; therefore, if network speed is
not an issue, the use of compression may decrease performance and is not
recommended.
For more information on data compression, see the Upload/Download Metadata
Compression Option In R6.2.6 DSU 4 section in Performance Best Practices for
Windchill Pro/ENGINEER Data Management.
10-24
Debug
Status
Info
Warning
Error
Use the check boxes to select which message types to log under Show Message
Types in Console, or additionally to Show Message Types in Status Line. (If
you select a message to be displayed in the status line, logging for this type of
message is automatically enabled.)
Other Recommendations
Online Java Performance Guide
You may want to review the online Java Performance Guide to identify serverside Java settings that can boost performance.
Note: Be sure to carefully evaluate the options prior to implementation. PTC
does not currently support them.
For more information on the online Java Performance Guide, see the Online Java
Performance Guide section in Performance Best Practices for Windchill
Pro/ENGINEER Data Management.
10-25
HTTP Protocol
Pro/ENGINEER Wildfire only communicates with the server through HTTP
requests. All HTTP requests (either to get an HTML page from the Windchill
server, upload models, or perform a database operation through a SOAP request)
are being made through the embedded browser. Therefore, all of the settings that
are in effect for the embedded browser (including authentication, HTTP proxy
server setting, etc.) apply to the Pro/ENGINEER Wildfire interaction with the
server. If the Windchill server is using secure HTTP (HTTPS), then
Pro/ENGINEER Wildfire also uses HTTPS.
Note: General usage of Pro/ENGINEER Wildfire (for example, managing CAD
data through check-in or check-out) does not involve any applet, and therefore
RMI is not used. However, if Pro/ENGINEER Wildfire is used as a Web browser
to access pages containing applets, then RMI should be taken into consideration
when configuring the firewall.
10-26
Value(s)
Description
[general] section:
DefaultApplication=
PROE
DefaultDateFormat=
ShortDateFormat1
(recommended), or
LongDateFormat
Value of DefaultDateFormat
should be one of the formats
defined in the [dateformat] section
ShortDateFormat2
DateOnlyFormat1
DateOnlyFormat2
[newworkspace] section:
DefaultTeam=
<TeamsName>
DefaultDocLifecycle=
<docLifeCyclesName>
DefaultPartLifecycle=
<partLifeCyclesName>
DefaultPartView=
<viewsName>
DefaultDocFolder=
/Administrator
DefaultPartFolder=
/Administrator
AdditionalValidCharacters_en_
US=
[editworkspaceoptions] section:
effectivityConfigSpecForDocsA
ctive=
False (default)
true
10-27
[dateformat] section:
LongDateFormat=
ShortDateFormat1=
ShortDateFormat2=
19
DateOnlyFormat1=
20
DateOnlyFormat2=
22
10-28
Console.ini File
Key
Value(s)
Description
[general] section:
level3icon=
/images/redlight.gif
level2icon=
<path to icon>
level1icon=
<path to icon>
level0icon=
<path to icon>
level=
console=
yes
[debug] section:
no
statusbar=
yes
no
[info] section:
level=
console=
yes
no
statusbar=
yes
no
[status] section:
level=
console=
yes
no
statusbar=
yes
no
10-29
[warning] section:
level=
console=
yes
no
statusbar=
yes
no
[error] section:
level=
console=
yes
no
statusbar=
yes
no
10-30
Newdocument.ini File:
Key
Value(s)
Description
true
Allows download of an
already checked out object.
[general] section:
okToDownloadAlreadyCheckedOut=
false
DefaultDocFolder=
/<<Name of the
folder>>
isModelNameUnique=
true
Uniqueness constraint
automatically set to true by
Pro/ENGINEER.
Note: This value should not
be changed.
[proe] section:
proe.files.component.ext=
.prt
proe.files.assembly.ext=
.asm
proe.files.drawing.ext=
.drw
proe.files.diagram.ext=
.dgm
proe.files.format.ext=
.frm
proe.files.layout.ext=
.lay
proe.files.manufacturing.ext=
.mfg
proe.files.markup.ext=
.mrk
proe.files.report.ext=
.rep
proe.files.sketch.ext=
.sec
CADComponentDocNumber=
00008_comp_1.prt
Defines numbering
convention for document.
[Replace existing values with
examples of your chosen
convention.]
CADAssemblyDocNumber=
00008_asm_1.asm
CADDrawingDocNumber=
00008_drw.drw
DiagramDocNumber=
00008_dgm.dgm
10-31
FormatDocNumber=
0008_frm.frm
LayoutDocNumber=
00008_lay.lay
ManufacturingDocNumber=
0008_mfg.mfg
MarkupDocNumber=
00008_mrk.mrk
ReportDocNumber=
00008_rep.rep
SketchDocNumber=
0008_sec.sec
OtherDocNumber=
00008_other.oth
Defines numbering
convention for other type of
document
Autopart.ini File
Key
Value(s)
Description
[general] section:
autoPartCreator=
10-32
com.ptc.windchill.cadx.autopart.DefaultAut
oPartCreator
Autoassociate.ini File
Key
Value(s)
Description
PARTNUMBER
[general] section:
SearchForPartAttribute=
wt.part.WTPartMaster
Newdocument.ini File
Key
Value(s)
Description
true
Uniqueness constraint
automatically set to true by
Pro/ENGINEER.
[general] section:
isModelNameUnique=
10-33
10-34
A
Windchill Runtime
Environment
Topic
Page
Web Infrastructure..............................................................................................A-2
Java Platform Support ........................................................................................A-2
Three-Tier Architecture......................................................................................A-3
Client Software Components..............................................................................A-4
Server Software Components.............................................................................A-6
Database Components ......................................................................................A-17
Full Text Retrieval Indexing Components .......................................................A-20
A-1
Web Infrastructure
Windchill's computing architecture is Web-based. This means that TCP/IP-based
intranets and extranets are used to deploy applications built with standard Internet
protocols and tools, including HTTP servers and HTML browsers.
Applications designed exclusively for this Web environment can be built and
maintained more easily than those supplying Web connectivity on top of older
client/server architectures. Web-based applications can leverage the strengths of
existing tools and administrator experience to reduce their complexity.
A-2
Three-Tier Architecture
The Windchill runtime architecture, illustrated below, is a three-tier application
designed and optimized for the deployment of business information applications.
The client tier is the presentation layer of the architecture. This tier uses
commercial Web browsers executing a combination of HTML, JavaScript, and
Java applets to accomplish discrete user tasks.
The next tier, the application server tier, provides the business logic that supports
business transactions processing. Commercial HTTP servers, such as Apache or
SunONE, and the Windchill method servers provide these functions.
The third tier provides a persistence function. The persistence tier uses an Object
Relational Database Management System (ORDBMS) to store structured and
unstructured data.
A-3
Web Browser
Windchill's primary client component is a Web browser. The widespread
availability of low-cost, powerful Web browsers, makes it possible to deploy a
large, distributed information system with little or no maintenance of individual
client hosts.
The ability to display HTML pages, although adequate for simple applications,
does not provide enough functionality for all aspects of complex information
authoring applications. Therefore, Windchill requires a browser capable of
hosting Java applets based on the Java runtime and base classes. Two popular
examples are the Netscape Communicator and the Microsoft Internet Explorer.
Using a Web browser as a front-end, allows leveraging of HTTP server
capabilities on the back end. For example, HTTP request authentication, designed
for controlling access to other Web server resources, is used to authenticate access
to the Windchill system with the need to license and embed security software into
Windchill clients and servers. Instead, rapidly evolving authentication schemes
can be used in a manner transparent to the Windchill system, giving you more
freedom to manage your Web security infrastructure as you see fit.
A Web browser front end also allows you to leverage built-in file download and
upload capabilities and the launching of helper applications and plug-ins.
HTML Pages
The initial point of contact between a client and a Windchill server is an HTTP
GET or POST request. It is typically a GET request, activated by a link embedded
in an HTML page, that initiates connection with the Windchill system.
The Windchill system responds with an HTML page. This page may contain
JavaScript or JScript to coordinate window or frame usage within the browser.
A-4
Many simple accesses to the system may use only HTML presentation, with
HTML form data serving as input. However, the typical client session requires
that applet tags (used to carry out complex user interactions involving complex
data), be embedded in these HTML responses.
Java Applets
Java applets are downloaded from Windchill servers and executed within the
address space of the client browser. They provide sophisticated graphical user
interface functionality, allowing for complex interactions with the user.
Once running, the applets communicate directly with Windchill servers via Java
RMI. This avoids the additional overhead of communicating indirectly through
the HTTP server and allows for very complex data to be passed easily between
client and server.
A-5
User Authentication
The user authentication capabilities of the Web server are leveraged by Windchill
to take advantage of the improving authentication standards being built into Web
browsers and servers. These include HTTP 1.0 Basic authentication, HTTP 1.1
Message Digest authentication, Digital Certificates, Windows/NT ChallengeResponse authentication, and more. Since Windchill is Web-centric, it is
important to leverage the server's user authentication rather than become a hole in
that security by using an obsolete authentication scheme that is not integrated with
the customer's environment. For example, a site using Web servers that support
LDAP-based, centralized user and access management (such as SunONE), will be
automatically integrated with Windchill for user authentication, rather than
maintain a second set of user preferences.
Integration is achieved by configuring a protected instance of the Windchill HTTP
gateway. Java applets send a session login request to this URL. The web server
does not allow access until the user satisfies the server's user authentication
requirements. Normally this involves the server returning an unauthorized
response to the client browser that identifies the authentication scheme required.
The browser then reacts by resending the request with the appropriate
authentication headers, possibly after prompting the user for a password.
Essentially, Windchill is not involved until the Web browser and Web server have
securely established the user's identity. Only then does it receive the session login
request along with the authenticated user identity.
See the Windchill Application Developer's Guide for more information about
authentication and to customize authentication methods.
HTTP Gateway
HTTP gateway is a Java application executed as a servlet. It serves as the initial
point of contact between a client browser and Windchill services. The HTTP
gateway acts as a conduit to carry the requests and responses between the HTTP
server (Web server) and Windchill method servers.
The HTTP gateway connects to a Windchill method server and invokes a special
method to handle the HTTP request. The request headers (or CGI properties), set
by the Web server, are passed to the Windchill method server along with any
submitted data. The invoked method determines what is being requested based on
A-6
HTTP Requests
The HTTP gateway is accessed through HTTP GET or POST requests. A
Windchill URL generally takes the following form:
http://<host>:<port>/<gateway path>/<class name>/<method
name>?<arguments>
The <class name> and <method name> are used by the method server to dispatch
the request to a specific method for processing, and <arguments> is a URLencoded query string. The query string is used to supply additional data that is
specific to the method being invoked, such as an object ID. When using a POST
request, additional data may also be supplied within the body of the POST
request.
This data can range from simple URL-encoded HTML form data to multi-part
MIME messages containing the entire contents of one or more files. In either case,
the target class is responsible for forming the URL, and, the target method will
understand what to expect.
Many target methods will accept both GET and POST requests, and expect the
GET request's query string or the POST request's body to contain URL-encoded
form data. This is the standard encoding that would result from submitting a
simple HTML form to the Web server. It allows using HTML forms as test drivers
for these methods, even if the requests are generated in Windchill Java applets
rather than from HTML forms.
Basically, URL-encoded form data sends arbitrary name=value pairs separated by
a question mark (?). All spaces are replaced by plus characters (+), and all special
characters are hex-escaped into %dd format, where dd is the hexadecimal ASCII
value that represents the original character.
A-7
Session Credentials
The HTTP gateway is used when establishing authenticated user credentials. This
is done by configuring two identical HTTP gateways: one public and the other
protected by Web server user access controls. When a Java client needs to
establish valid credentials (to perform secure RMI calls to a Windchill method
server), it submits a login request via the protected HTTP gateway. The Web
server supplies the authenticated user name and authentication type to the HTTP
gateway, and that information is passed on to the Windchill method server.
A-8
HTTP requests against the server's HTTP gateway. Requests are then delegated to frames within the
Web browsers HTML windows, where they are submitted and responses are received.
In the Windchill method server, HTTP responses are generated using a streaming
interface, allowing the responses to be arbitrarily large. As shown below, this is
accomplished by invoking the method to generate the response from within the
RMI reply marshaling so the response can be written directly to the RMI result
marshaling stream. This allows entire files to be streamed directly from the
database without the need to stage them on disk or in memory.
A-9
It is possible to develop customized trusted applets that access the client file
system directly. They can use similar techniques to stream data to and from
Windchill servers. However, the Windchill architecture tries to minimize
dependence on techniques like code signing because of the client-side
administration required. Therefore, this type of file transfer client applet is
generally built as a customization when a site has a client infrastructure that can
support code signing.
Server Manager
The server manager is a Java application running on each server host. Its primary
role is to manage a set of method servers, but it also maintains user session
credentials, and manages background processing and other system management
functions.
There is a single instance of a server manager on each Windchill server host. It
runs in its own Java Virtual Machine (VM) and must be running for the Windchill
A-10
A-11
Unlike the default RMI registry implementation, the one used internally by the
server manager allows client connections to be timed out (discussed later), which
improves the scalability of the system in environments with many users. This
flexibility is one of the justifications for controlling the bootstrap registry as an
internal part of the Windchill system.
Server Management
The server manager is responsible for maintaining the method servers.
Server Launching
The server manager executes method servers as child processes on an as-needed
basis. Under high load, it expands the pool of available servers and contracts as
usage declines, within some range of management thresholds.
In general, all Windchill method servers are created equal. They are all instances
of the same implementation, which dynamically loads Java classes as necessary to
carry out requests received from clients. However, to allow for specialty servers
that may have unique management requirements, such as limitations due to
application-specific native libraries, the server management protocol allows the
assignment of unique service names that control the management thresholds and
the method server's startup arguments.
Although most generated interfaces invoke the default method service, you can
build custom interfaces that request specific service names.
Background Processing
It is often necessary to have a system carry out operations without being directly
connected to an end user. This is the case for periodic (time-based) activities, as
well as operations that are triggered by a user operation, but for which the user
does not wait. For example, an action is performed that promotes an object to a
new life cycle state. The change to this life cycle state may trigger additional
processing that is not directly related to the user's action. These follow-on
activities should be carried out in the background.
A-12
A-13
connect. Thus, new client connections are not refused, and connection timeout is
faster when under a heavy client load. Clients recover from the disconnection
automatically.
System Management
Being the daemon process of the Windchill architecture, the server manager
becomes the key process for performing Windchill system management functions,
such as starting and stopping method servers.
The System Configurator provides an interface for these functions, although some
actions (like shutting down the servers) are restricted to authorized user names.
Method Server
This component is a Java application that executes all methods representing
business object transactions. Architecturally, it starts out simply as a skeleton
process that dynamically loads specific Java classes as they are needed to service
client requests. The following figure shows the anatomy of a method server.
A-14
server-side methods of their business class with implementations that forward the
calls to a method server where the real method is invoked. The modeling of the
interfaces and the generation of helper classes is discussed in detail in the
Windchill Application Developer's Guide.
Database Access
The method server is the only Windchill process that communicates directly with
the database. In this sense, Windchill runtime is a classic three-tier architecture.
Using a shared database login, the method server maintains multiple database
connections assigned to worker threads as needed to carry out individual
transactions.
The interface to the database is implemented by a Persistent Object Manager
(POM) layer within the server that acts to abstract the actual database interface
from the business logic. Persistence is described in detail in the Windchill
Application Developer's Guide.
Client Feedback
Although some of today's distributed object technologies, including Java RMI,
allow servers to call back to client objects with feedback, there are problems with
this obvious approach to client feedback.
First, it forces a logical decoupling of the feedback from the operation, because
the client must create objects to receive feedback calls. These objects must
maintain state about the operation, or pass enough information on calls to
reassociate feedback to the operations at a later time. In either case, this additional
overhead is wasted if the server does not produce any feedback. An analogy may
be the unwieldy exception processing that would result if the exception were
decoupled from the operation throwing it. It can be argued that there is a logical
similarity between operation feedback and exception handling.
Second, passing remote object references incurs overhead that is wasted if the
server does not perform a callback. If one tries to eliminate this by caching the
references up front (that is, send once, reuse later), robustness suffers because the
communication transport on which the original object was exported may be
disconnected by the time it is used. Java applets cannot accept incoming
connections, so a stale client reference cannot be reconnected. Attempting to call
back on a timed-out connection simply throws an exception in the server.
Finally, because applets cannot accept incoming connections, Java RMI tunneled
through a HTTP proxy will not allow the server to call back because
A-15
communication transport used for the call (HTTP) is not sufficient to handle a call
in the reverse direction.
The Windchill architecture addresses these concerns by implementing a
lightweight feedback mechanism into the remote method-invoking protocol. This
is done by allowing feedback objects to be sent from the server to the client as part
of the RMI reply marshaling stream. They are received and processed within the
thread performing the call, and they share the same communication connection as
the call, thus remaining logically coupled to the call itself.
When processing a method invocation from a client, the server-side method is
invoked from within the RMI reply marshaling code, allowing the server-side
method to flush feedback objects onto the reply stream at will. The client reply
unmarshaling code recognizes these objects as feedback and calls their init
methods, then continues to wait for the real reply. When starting a long operation,
the server methods can send a GUI component such as a progress bar and cancel
button. The server can periodically flush additional feedback objects that update
this component. The cancel button is programmed to invoke an operation
canceling method in a second thread capable of interrupting the first thread in the
method server.
User Authorization
To authorize access to a given object or operation, the method server must be able
to reliably identify the user performing the action. Various aspects of user
authentication (securely establishing session credentials) have already been
discussed. These things come together in the method server to allow a method to
inquire about the user associated with the current execution thread. This capability
allows applications to implement access control policies, which are described in
detail in the Administering Access Control chapter.
Java RMI does not provide an inherent means of reliably identifying the calling
user. However, the Windchill runtime architecture satisfies this need within the
method server's remote method-invoking interface. Client credentials are
implicitly included with RMI method arguments, and digital signatures are used
to securely associate the RMI thread with an authenticated user name. This
association is established before the target method is called, so method signatures
do not need to contain an extra context or user argument. The information is
retrieved if and when it is needed.
Additionally, the association can be dynamically modified in the course of
executing an operation. For example, it may be necessary to carry out certain steps
of a transaction as a principal other than the user initiating the transaction. To
implement arbitrary authorization delegation schemes, methods are allowed to
push and pop the principal currently associated with the execution thread.
Background Processing
Windchill provides for background processing through the use of background
method queues stored in the database. The queues are tables of method invocation
A-16
Log Files
Log files are used to capture exception/error tracebacks and debug tracing
messages. In the first case, log entries are generally infrequent, marking
exceptional events. However, you can enable more verbose logging levels for
troubleshooting purposes. (Full tracebacks may not be available when you run
some JIT compiler implementations.)
Many packages support the printing of messages during execution to assist you in
debugging. This option is typically controlled by property settings in the
wt.properties file. Using these properties, you can enable or disable writing to log
files. Additionally, log files can be appended or overwritten at each execution.
Output can be sent to both the console and log file, or just the log file.
Logging does have a performance impact, so the verbose mode should be turned
off if you are not debugging.
Each server application (server manager, method server, and HTTP gateway) has
a separate log. For the HTTP gateway, CGI and Servlet share the same log file. In
addition, code generation tools also have log files.
Database Components
Object Relational Database Management System (ORDBMS)
The Windchill system uses an ORDBMS to store structured and unstructured
business data. The database manager is typically run on the same host as the
Windchill servers, but at larger sites it may run on a dedicated host and be
accessed remotely from one or more Windchill server hosts. Oracle, with support
for very large objects and object tables, is the reference feature set for which
Windchill is designed.
A-17
The use of an ORDBMS is leading-edge, but Windchill does not push the
technology past reasonable bounds of usability and safety. Windchill leverages
support for very large objects and object references (bigger BLOBs and object-ID
navigation capability). It does not rely on the more futuristic capabilities of
complex data types where, through extensions (object types, cartridges, and so
on), the DBMS tries to understand the structure and meaning of Java objects.
Caution: Windchill uses the object relational features of the Oracle database
server to store data objects. In order to maintain the integrity of the associations
among stored objects, users and administrators should avoid using tools such as
SQL*PLUS to directly manipulate database data. Directly changing data in the
database could compromise data integrity. This does not preclude the use of such
tools for standard database administration, which does not alter or change the
values stored in the tables.
A-18
A-19
objects. While all of the methods declared by this interface execute on the server,
they are accessible to client applications through a helper class.
The Persistent Object Manager brokers persistence requests and forwards them to
a PersistentDataService to handle the actual persistence operation. The protocol
used to pass objects back and forth to the Oracle Persistent Data Service is a
combination of introspection and JDBC calls to stored procedures. Introspection
is used to bind the attributes to stored procedure variables.
A-20
Publishing
The initial focus of the Windchill indexing architecture is to publish information
to full text retrieval (FTR) indexes, creating index entries that correspond to
managed business objects. Later, Windchill systems may make use of FTR
indexes to perform internal searches or processing.
The Windchill strategy is to allow multiple Windchill systems to push information
to shared RetrievalWare indexes and leverage RetrievalWare tools to build Web
search interfaces to the indexes. The Web search interface becomes a powerful
integration point between separate Windchill systems, allowing users to locate
objects independently from their own systems and navigate back into those
systems to access the objects.
Indexable Objects
Windchill provides a general-purpose architecture that allows for any business
object to be indexed in one or more RetrievalWare indexes. Indexable objects are
those objects for which index entries can be constructed. The decision to make a
class indexable is done at modeling time and implies that a meaningful URL can
be constructed to link the search results back to some behavior the object
provides.
The decision about which classes of objects should be indexed and what
information should be included in an index entry is best made in conjunction with
the designed use of each index and its associated Web search interface. Therefore,
the Windchill indexing architecture separates the indexing behavior from the
business object classes. These decisions are delegated to indexing policies and
indexer objects.
Indexing Policies
Indexing policies determine what objects require indexing. They provide
administrative control over indexing by associating indexable objects to indexer
objects. Indexing policies are similar in concept to access control policies.
Essentially, indexing policies are an association between indexable objects and a
set of indexer objects based on the indexable object's class, administrative
domain, and life cycle state. Changes to an object's state may make it eligible for
indexing according to an existing indexing policy. This may cause it to be indexed
for the first time or cause the set of indexes containing its entry to change.
A-21
Indexer Objects
For each Windchill system publishing to a RetrievalWare index, there is an
associated instance of an indexer object. The indexer object acts as an adapter
between the indexable objects within the Windchill system and the given
RetrievalWare index. The indexer classes implement the way in which objects are
indexed. This behavior can include translating metadata to common attribute
names and values, and collecting attributes from related or contained objects to be
included in an indexable object's index entry.
Indexer classes are implemented as standard Windchill business classes to make
them easily customizable and extendable. A reference implementation is provided
that knows how to map simple attributes to a general-purpose index format. The
reference implementation can be augmented or subclassed to tailor this behavior
for the needs of particular kinds of RetrievalWare indexes. Simple customizations
will typically include navigating associations between several objects in order to
build more meaningful and complete index entries. For example, the index entry
for a container object may include information from the objects contained within
it in addition to the attributes of the container itself.
Indexer objects perform their work in the background and execute as a predefined
user. The user identity is configured when an indexer object is created and is used
to enforce access control policies for the objects being indexed.
Index Loader
The index loader is responsible for feeding information into RetrievalWare for
indexing. It is invoked by submitting index data to an HTTP Servlet or CGI that
runs on the host where the RetrievalWare is located. The index loader invokes a
RetrievalWare API to initiate the indexing of metadata and content file
information.
A-22
B
Windchill Considerations for
Security Infrastructures
Topic
Page
B-1
Overview
As a Web-based application, Windchill must be compatible with security
infrastructures of intranets, extranets, and the Internet.
This appendix provides some basic information for dealing with firewalls, proxy
servers, reverse proxy servers, Network Address Translation (NAT), and so on.
Note: This information is provided only to assist you with security infrastructure
management. PTC does not provide support for any third-party products
mentioned here, nor is PTC responsible for your security infrastructures.
Protocols
To understand how network security infrastructures affect Windchill, you need to
understand the communication protocols within a Windchill system. To
understand the affect of network security products on this connectivity, you
should understand how clients connect to servers. See the following table:
Communicate
Protocols
Client
Example
HTTP or HTTPS
Windchill Explorer;
Product Information
Explorer
Stand-alone Java
applications
Workgroup Manager
for Pro/E;Workgroup
Manager for CADDS
B-2
Comments
Windchill servers use other protocols between various server components within a
single system. These systems are local to the server host(s) or behind the
firewall(s), where they do not cause additional configuration concerns. These are
some examples:
Authentication
Windchill relies on a site's existing HTTP authentication infrastructure to provide
user authentication. Typically, this is a Web server, which authenticates HTTP
requests using an LDAP-accessible directory service as its user database. Access
to Windchill-served resources is then restricted to authenticated users. This
authentication often uses HTTP basic authentication. However, because it is a
function of the Web server and browser, additional authentication schemes and
third-party security products can be used transparently in Windchill. Windchill
does not rely on HTTP session state (such as cookies) for authentication. It does
not preclude the use of Web application servers that use cookies in their
proprietary authentication schemes, but its use would be transparent to Windchill.
In Windchill, each HTTP request is authenticated by the HTTP server before
reaching Windchill code. Windchill requires that the hosting Web server and
servlet engine provide the authenticated user name with each HTTP request. It
does not matter how the user name determined.
Windchill keeps track of the resources that are used for authentication in the
following file:
<Windchill>/apacheConf/config/authResAdditions.xml
where <Windchill> is the directory where your solution is installed. Any resource
that requires user identification to generate a unique dynamic response for the
given user are included in this file.
B-3
It establishes session state on behalf of the RMI client within the Windchill
servers.
Subsequent RMI calls from the client to the server contain information that maps
the call to an existing authenticated session. This RMI session authentication
happens automatically on an as-needed basis. When an attempt is made to invoke
services that require user identification, this is handled transparently to the calling
code, unless the calling client is a multi-user server application itself. In that case,
the calling code should explicitly manage thread-based context when calling
Windchill APIs. (For more information, see JavaDoc for wt.util.WTContext and
wt.httpgw.WTContextBean.)
URL Generation
HTTP URLs can be references to static resources or dynamically generated
responses.
Static resources are files contained in the Windchill codebase, which are usually
served directly by the Web server from a virtual directory alias.
Dynamically generated resources are responses generated by Windchill server
code and are usually served by a servlet engine executing a Windchill servlet.
The dynamic content is further divided by the servlet responsible for generating
the response.
Multiple servlets exist primarily so different access restrictions can be placed on
them by the Web server. For example, there are different gateway URLs for
anonymous access, authenticated access, and system administrator access. This
makes it possible for the Web server to be configured differently for each of these
servlets.
To accommodate different access restriction capabilities of Web servers and
servlet engines, each servlet URL may require separate access restriction. This
means they do not all need to appear underneath a single Web application root
URL. Each servlet is configured by a different Windchill property, as shown
below:
B-4
wt.httpgw.url.anonymous property
wt.httpgw.url.authenticated property
wt.sysadm.url property
B-5
The JAR versions are stored in a jar.properties file residing in the same directory
as the requested JAR file. To ensure that the JAR versions are compatible with
Windchill, the following variable in the wt.properties file must be set:
wt.tools.boot.updateVersion=1.3
To rebuild client JAR files and increment the JAR versions, complete the
following steps:
1. Ensure that the wt.taglib.util.plugin.useCacheVersion and
wt.tools.boot.updateVersion properties are set as described earlier in this
section. You can use the xconfmanager utility to display current values and
set values for these properties.
2. Enter the following command from a windchill shell:
ant -f MakeJar.xml
Tip: You can also use this ant command to force a version update so that
clients download all JAR files.
You must restart the servlet engine and method server for the applet tag
generation utilities to pick up the updated version information.
B-6
Most Windchill HTML pages are generated from HTML template files.
Templates are allowed to contain HREFs to other static resources (such as images,
backgrounds, and style sheets), without requiring the links to be generated by
script calls if the document base is specified as the root of the Windchill virtual
directory. To make sure the templates contents are not tightly coupled with the
request URL, the <BASE> tag is dynamically generated using a script code. This
allows a response template to be shared by many requests that may have a variable
number of PATH_INFO elements. Links to other dynamically generated pages
(via servlets) are also generated by script calls and product-absolute HREFs.
Most dynamically generated HREFs share some URL components (for example,
protocol, host, port, and path prefix) with the base URI of the pages containing
them. It should be possible for Windchill to generate relative HREFs into the
pages. However, most Windchill code currently uses java.net.URL objects
internally when generating HREFs, and there is no such thing as a relative
java.net.URL object. Thus, it is currently not possible to configure Windchill to
generate all HREFs as relative links. If it were possible, it would still not be
advisable to access a Windchill system using more than one base URL, such as
using one URL for internal users and another for external users accessing through
a reuse proxy. Although this might not result in changes to the internal system's
configuration, host names and URLs are not used only in HTTP requests and
responses. Host names also appear in RMI stubs, and URLs also appear in HTML
e-mail.
Enterprise deployments, reverse proxy configuration, in particular, should use
single, application-specific host name aliases to enable controlling network
connectivity through name resolution, as described in the next section.
From within the corporate intranet, the name can resolve directly to an
internal server on a private internal network.
B-7
From outside the corporate intranet, such as from a partner extranet or the
Internet, this name can resolve to a reverse proxy on an external service
network.
By using a DNS alias, access to the system remains location independent. The
physical location of the user does not affect bookmarks, e-mail, or saved HTML
pages. This is important for mobile users.
RMI
Many existing Windchill applets and applications use Java RMI to invoke server
transactions. There is a continuing shift of focus from this form of communication
towards HTTP and XML. But for now, the Windchill development environment
continues to support code generation of classes that use RMI to invoke remote
service methods.
RMI is a Java-centric remote procedure call (RPC) mechanism implemented on
sockets. RMI stub objects perform a remote method invocation between an RMI
client and an RMI server. These stub objects contain a host name and port number
to which a TCP/IP connection is opened by the client. Windchill exposes only two
RMI objects to clients: a server manager object and a method server object. Other
RMI objects are used server-to-server to coordinate cached information, but these
are not important for client connectivity.
B-8
Configuration Properties
By default, the RMI system chooses random available port numbers for RMI
servers. However, this makes it impossible to configure firewalls to allow direct
RMI connectivity. Port numbers accepting incoming connections are controlled
by configuration properties.
Windchill clients first connect to a server manager, which acts as a broker for
service implementations. A Windchill system has only one server manager per
server host, and its port number is controlled by the wt.manager.port property in
wt.properties. Each server host may have multiple method servers running, so
their port numbers are configured as a range controlled by the wt.method.minPort
and wt.method.maxPort properties. The following are the default ports:
wt.manager.port=5001
wt.method.minPort=5002
wt.method.maxPort=5010
To change these defaults, use the xconfmanager utility to set the properties to
different values.
RMI-over-HTTP
If a direct TCP/IP socket connection cannot be established between the client and
an RMI server's host and port, RMI calls can be transported over the HTTP
protocol. Although the Java RMI specification is clear about this tunneling, the
default Java implementation depends on some Java system property settings.
Therefore, RMI does not automatically fail over.
RMI Servers within Windchill overcome this limitation by allowing the socket
factory, which is used for RMI communication between client and server, to be
configurable. Socket factories supplied by the Windchill bootstrap package
(boot.jar), that support RMI-over-HTTP(S), may be used. The following
properties control the socket factories exported by Windchill RMI Servers (the
default values are null, which result in using the default Java socket factories):
wt.rmi.clientSocketFactory=wt.boot.WTRMIMasterSocketFactory
wt.rmi.serverSocketFactory=wt.util.WrappedRMISocketFactory
Note: RMI-over-HTTP tunneling is enabled only when the client has installed
the bootstrap package (boot.jar). Otherwise, only direct RMI socket connections
to the RMI server host and port are supported.
Windchill includes socket factory WTRMIMasterSocketFactory, which improves
on the J2SE default connection failover logic, which:
Supports tunneling of RMI calls over HTTP and HTTPS regardless of system
properties.
B-9
Supports configurable URL paths for Java RMI CGI compatible proxy script
Uses asynchronous connection attempts for all socket factories to reduce total
connection time on the initial connection.
Port 80
When tunneling RMI over HTTP, the Java RMI specification supports only port
80 (default) for HTTP and a fixed URL path of /cgi-bin/java-rmi.cgi. This is
because in Java 1, a single RMI socket factory is shared by all RMI client stubs.
With a shared socket factory, there is no support for each RMI server to specify its
own unique connection requirements.
Because this limits the desired configuration options, support has been added
allowing the server host, protocol, and port number, to be derived from the
codebase URL where the calling Java code is downloaded.
B-10
If a firewall does not reject connections, then this failover behavior is defeated. In
that case, the client must be configured to use the specific secondary socket
factory that is required. This can be done by setting the clients system property,
wt.boot.socketFactory. The secondary socket factories, used within the master
socket factory, are listed after their explanation in the failover logic list above.
serverHost
minPort
maxPort
Note: By default, the Java RMI servlet is disabled. However, its configuration
elements are included as comments in the web.xml file for the Windchill Web
application.
Configuration Considerations
Firewalls
You must be connected to the Windchill web server to allow the HTTP or HTTPS
port number through. Defaults are 80 and 443 respectively. If RMI clients are
used outside the firewall, then direct connectivity can be supported by allowing
the following two ports through the firewall:
wt.manager.port
B-11
Direct connections to the application port numbers are as secure as forcing RMI
communication to be tunneled over HTTP requests. However, you can disallow
direct connections to the RMI server ports to force all RMI communication to be
tunneled over HTTPS for data privacy or to leverage an HTTP reverse proxy.
The host name used in URLs and RMI stubs, which is controlled by the
java.rmi.server.hostname property, must resolve to an IP address for clients inside
and outside the firewall. If the firewall is performing network address translation,
or is configured to proxy Windchill connections, the host names presented by
Windchill to its clients must be valid for them to connect to the servers. The host
names presented by Windchill are controlled by the various hostname and URL
properties previously described.
B-12
If external users are required to use HTTPS while internal users are allowed to use
HTTP, then dual Windchill servers should be used, one configured with HTTPS
URLs and the other with HTTP URLs. Windchill background processing can
happen on either configuration, as long as all users are able to access these URLs
when e-mail links are followed by the users. The incorrect Web server may
perform a server redirect to tell the users browser to access the appropriate
server.
Note: These servers must be configured to communicate with one another as if
they were in a load balancing cluster.
B-13
B-14
C
Import and Export Policies,
Mapping Rules, and Conflict
Messages
This appendix describes policies and mapping rules, and then describes conflict
messages.
In addition to system defaults and actions available in the user interface, mapping
rules and policy files can be used to control Windchill Import and Export
processes. Mapping rules specify modifications to be made to the XML import or
export files, while XSL-based policy files specify actions to be performed upon
the attribute data of database objects during import or export. Mapping rules can
be used in conjunction with either the import or export actions offered in the user
interface or with policy files, but not both, during any given transaction.
Topic
Page
C-1
C-2
C-3
Mapping Rules
Windchill Import and Export allow mapping that either excludes attribute
information, or maps it to other attributes during exporting and importing
operations. Mapping attributes can adapt data to new environments that cannot
accept the data in its original format. PTC supports three methods of mapping:
Generalized Files -- These files provide rules for either import operations or
export operations. Their names must end in .xml. They are in either of two
specific locations whose names define their functions:
\Windchill\codebase\registry\ixb\export_settings
\Windchill\codebase\registry\ixb\import_settings.
This appendix shows examples of the two type of files in the following two
sections. After the examples you will see a section about properties, and several
sections explaining rules (with examples).
C-4
Mapping Priorities
The four possible sources that control conflict resolution, have the following
priority:
This tag-value pair allows the narrowing down of the elements applicable for the
mapping rule. For example, the following mapping rule will change the value for
tag <number> with value 1 to 4 for all XML files such as WTPart and
WTDocument instances.
<COPY_AS>
<tag>number</tag>
<value>1</value>
<newValue>4</newValue>
</COPY_AS>
C-5
If you wanted the preceding example to apply only to WTPart, the following
example would achieve that by specifying the tag <path> and its value in the
mapping rule:
<COPY_AS>
<tag>number</tag>
<path>WTPart</path>
<value>1</value>
<newValue>4</newValue>
</COPY_AS>
In this case, even though the number of a WTDocument instance is 1, its value
will be still 1 instead of 4 for both import and export.
C-6
<newValue>N-05-*</newValue>
</COPY_AS>
<COPY_AS>
<tag>teamIdentity</tag>
<value>WWWWW*</value>
<newValue>System.Default</newValue>
</COPY_AS>
<COPY_AS>
<tag>folderPath</tag>
<value>*</value>
<newValue>/Administrator/NEW-FOLDER-22</newValue>
</COPY_AS>
<IGNORE_PARENT>
<tag>filename</tag>
<path>content</path>
<value>EngineReq</value>
</IGNORE_PARENT>
</mappingRules>
</userSettings>
C-7
<value>*</value>
<newValue>444-@@</newValue>
</COPY_AS>
<IGNORE_MASTER>
<path>content</path>
<tag>filename</tag>
<value>EngineReq</value>
</IGNORE_MASTER>
COPY Element
By default, all elements in a source XML file are copied into the resulting XML
file, and consequently it is not necessary to specify a rule that copies elements
without alteration. If any rule specifies an action other than copying for an
element, copying does not occur and the other rule controls the result for the
C-8
element. The only element in a rule that specifies copying is COPY, and it has no
sub-element.
COPY_AS Element
Rules that use the COPY_AS element alter an element from a source XML file
and place the altered element in a resulting XML file. A <newValue> sub-element
is required in addition to <tag> and <value> sub-elements. The following
examples show possible syntaxes:
Mapping any Object's Number Attribute to a Number Constructed from the Prefix
"FROM_SITE_AAA_ " and the Same Number
This example shows the number "2222"mapped to "From_Site_AAA_2222"in the
resulting file.
<COPY_AS>
<tag>number</tag>
<value>*</value>
<newValue>From_Site_AAA_*</newValue>
</COPY_AS>
C-9
Mapping any Object's Version to Version "A" and any Iteration to Iteration "1"
<COPY_AS>
<tag>versionInfo/iterationId</tag>
<value>*</value>
<newValue>1</newValue>
</COPY_AS>
Mapping any Object's Team That Begins with "MyTeam" to the Default Team
<COPY_AS>
<tag>teamIdentity</tag>
<value>MyTeam*</value>
<newValue>System.Default</newValue>
</COPY_AS>
Mapping Objects in Subfolders under the "Marketing" Folder to the Same Subfolders
Under the "Publications" Folder Plus Some Folder Mapping Advice
<COPY_AS>
<tag>folderPath</tag>
<value>/Marketing/*</value>
<newValue>/Publications/*</newValue>
</COPY_AS>
An asterisk (*) placed in the new and old value strings in folder mapping rules
results in the creation of new folders in the position of the asterisk that duplicate
the folders that existed in the old path in the position of the asterisk. The following
is the most generalized syntax for such mapping rules:
<COPY_AS>
<tag>folderPath</tag>
<value>PrefixOld*SuffixOld</value>
<newValue>PrefixNew*SuffixNew</newValue>
</COPY_AS>
IGNORE Element
Rules that use the IGNORE element exclude an element in a source XML file
from a resulting XML file. The <tag> and <value> sub-elements are required. The
following example shows a possible syntax.
C-10
IGNORE_PARENT Element
Rules that use the IGNORE_PARENT element exclude the parent of an element
in a source XML file and all the child elements of that parent element from a
resulting XML file. The <tag> and <value> sub-elements are required. As usual,
the <path> element is optional. The following example shows a possible syntax.
Excluding an IBA value Named "Price" from an IBA Holder Such as WTPart
<IGNORE_PARENT>
<tag>ibaPath</tag>
<path>WTPart</path>
<value>Price</value
</IGNORE_PARENT>
In the preceding example, if the following line were deleted, all parent elements in
all XML files with <ibaPath>Price</ibaPath> would be excluded.
<path>WTPart</path>
C-11
<userSettings>
<properties>
xsl.filename=C:\\script1.xsl
</properties>
</userSettings>
This method will be called to get the new value for the specified element of the
source XML file. It returns the element's new value as a return value, or it returns
either of two special values:
wt.ixb.tuner.Tuner. S_IGNORE;
wt.ixb.tuner.Tuner. S_IGNORE_PARENT;
The S_IGNORE return value means (like the IGNORE element) that this element
will be excluded from resulting XML file. The S_IGNORE_PARENT return
value means (like the IGNORE_PARENT element) that the parent of this element
will be excluded from result XML file.
The following example shows the syntax for applying Java programs to map the
value of a number attribute. The example assumes the package wt.ixb and the
class MapByJava:
<METHOD>
<tag> number</tag>
<value>*</value>
<class>wt.ixb.MapByJava</class>
<METHOD>
C-12
Setting the preceding propertys value true allows the import of hierarchical IBA
definitions.
By default in Release 7.0, the default value of the property is false, and that value
allows the creation of hierarchical IBA definitions. A false value for the property
prevents the import of hierarchical IBA definitions, except when you use a
properly written mapping file, called a mapping file. A mapping file maps
hierarchical IBA definitions to non-hierarchical IBAs.
The creation of hierarchical IBA definitions without having the property set true is
likely to have occurred in releases prior to 7.0 because no recommendation to set
the property true existed for those releases. Nested Attribute Organizers are
allowed in R7.0 as they were in prior releases, without regard to the propertys
value.
This section describes the syntax of mapping files that provide rules to map
hierarchical IBA definitions to non-hierarchical IBA definitions. Mapping files
control both import and export and a given mapping file has the same effects on
both import and export. Mapping files can be used at any time and for any XML
files. Mapping files are more likely to be used with Windchill PDMLink than with
Windchill, because Windchill PDMLink can use many containers while
Windchill uses one layer.
A mapping file must map hierarchical IBA definitions to non-hierarchical IBA
Definitions for both IBA definitions and for IBAHolder instances such as WTPart
and TypeDefinition.
C-13
<newValue>TestOrganizer</newValue>
</COPY_AS>
For all XML files to be imported, the preceding mapping rule will change the
values for tag <path> to TestOrganizer, if the original value for this tag is
TestOrganizer/TestString. Changing the values for other XML files other than
ibaDefinitions.xml may not be the result that is expected. For example, values
would change for the file ABC.xml if it contains the following:
<path>TestOrganizer/TestString</path>
A general approach to overcome this problem is to supply the additional path for
the <path> tag. For example, if we enhance the mapping rule to the following
version, the change prevents the modification of the <path> value in ABC.xml:
<COPY_AS>
<path>ibaDefinitions/StringDefinition</path>
<tag>path</tag>
<value>TestOrganizer/TestString</value>
<newValue>TestOrganizer</newValue>
</COPY_AS>
The altered mapping rule would create the following StringDefinition in the
database if it did not already exist:
Test Organizer
NestedTestString
Another concern is mapping the IBA values to the appropriate IBA definitions for
XML files corresponding to IBAHolder. In general terms, if a mapping rule is
supplied for IBA definitions, a mapping rule should be supplied for the related
IBA values. For example, consider a WTPart, Tag_WTPart_0.xml, which has the
IBA values declared by the following block:
<iba>
<ibaPath>TestString/NestedTestString</ibaPath>
<ibaValue>My String value for NestedTestString</ibaValue>
<ibaType>StringValue</ibaType>
</iba>
C-14
The tag <ibaPath> in the preceding code means the full path of the corresponding
IBA definition is determined by disregarding the path of the AtrtibuteOrganizer
where it is nested.
To continue the example, the StringDefinition
TestOrganizer/TestString/NestedTestString is mapped and created as
TestOrganizer/NestedTestString, which allows mapping the definition of the
preceding IBA value to TestOrganizer/NestedTestString as well. Therefore you
could supply the following mapping rule:
<COPY_AS>
<tag>ibaPath</tag>
<value>TestString/NestedTestString</value>
<newValue>NestedTestString</newValue>
</COPY_AS>
Similarly, if you only want to restrict your mapping for WTPart, you could
achieve this by specifying the <path> value in the mapping rule, which is shown
in the following example of the complete rule:
<?xml version="1.0" encoding="UTF-8"?>
<userSettings>
<mappingRules>
<COPY_AS>
<!--The following line is optional-->
<path>ibaDefinitions/StringDefinition</path>
<tag>path</tag>
<value>TestOrganizer/TestString</value>
<newValue>TestOrganizer</newValue>
</COPY_AS>
<COPY_AS>
<!--The following line is optional-->
<path>WTPart/iba</path>
<tag>ibaPath</tag>
<value>TestString/NestedTestString</value>
<newValue>NestedTestString</newValue>
</COPY_AS>
</mappingRules>
<properties>
C-15
#logLevel=4
</properties>
</userSettings>
Conflict Messages
This section describes the conflicts that can arise from importing XML files into
the Windchill database in the processes of Windchill Import and Export. Potential
conflicts come from the fact that Windchill objects being imported exist already in
the Windchill database, and the object properties of the imported and existing
objects do not match. In this explanation, the term Windchill object refers to Parts,
Documents. and EPMDocuments.
The following matrix lists the properties of Windchill objects that can cause the
conflicts. Individual conflicts can be resolved through modification of the
mapping rules. Because this type of resolution must be implemented manually for
each object, it is a costly approach for importing large number of objects.
In general there are three types of conflicts:
Many conflicts are announced by a generic message that the software rewrites to
fit each situation:
Object <type> already exists in database, but has different
value for attribute <type>: eixting value is <type>, new value
is <type>.
C-16
Potential conflict
Behavior
Resolution or Message
User notification
IBA datatype
mismatch
User notification
IBA units of
expression mismatch
User notification
Denominator
mismatch for Ratio
values
User notification
Precision mismatch
for Float, Ratio, and
Unit values
User notification
Existing IBAHolder
has fewer IBAs
User notification
Existing IBAHolder
has more IBAs
User notification
Type Identifier
mismatch
User notification
User notification
User notification
User notification
C-17
Potential conflict
Behavior
Resolution or Message
Template containing
Life Cycle State
cannot be found
User notification
Domain containing
team does not exist
User notification
User notification
User notification
Location (Cabinet)
does not exist
User notification
Location (Folder)
does not exist
Create folder or
user notification,
(as checked)
C-18
Potential conflict
Overridable
Behavior
Resolution or Message
Description
mismatch for IBA
Definition, Attribute
Organizer, and Soft
Type Definition
yes
User
notification
Display Name
mismatch for IBA
Definition, Attribute
Organizer, and Soft
Type Definition
yes
User
notification
Hierarchy Display
Name mismatch for
IBA Definition,
Attribute Organizer,
and Soft Type
Definition
yes
User
notification
Attribute Organizer
does not exist
yes
User
notification
Creating Hierarchical
IBA Definitions not
allowed
no
User
notification
IBA Definition
mismatch
no
User
notification
IBA Definition or
Attribute Organizer
does not exist
yes
User
notification
C-19
Potential conflict
Overridable
Behavior
Resolution or Message
Quantity of Measure
does not exist
yes
User
notification
no
User
notification
Measurement System
mismatch for base
symbol values
no
User
notification
Measurement System
does not exist
yes
User
notification
yes
User
notification
Attribute
UserAttributable
mismatch
no
User
notification
Attribute Instantiable
mismatch
no
User
notification
Attribute Deleted
mismatch
no
User
notification
yes
User
notification
no
User
notification
no
User
notification
no
User
notification
Type constraint
(enforcementRuleClassname: <type>,
bindingRuleClassName: <type>,
enforcementRuleData: <type>, IBA
definition path: : <type>) is expected with
respect to import for: <type>
C-20
Potential conflict
Overridable
Behavior
Resolution or Message
no
User
notification
Dependency Conflicts
Potential conflict
Behavior
Resolution or Message
Referenced Document
does not exist
DescribedBy Document
does not exist
Metadata Conflicts
Name and Number Conflict
Potential conflict
Behavior
Resolution or Message
Imported Number
matches while imported
Name does not match
User notification.
"Warning: Name
mismatch for part number
<part number>"
Conflict is
overridable.
C-21
The life cycle of the object in the XML file doesn't exist in the database, in
which case import fails -- a non-overridable conflict.
The life cycle of the object in the XML file is different from the one in
database, in which case the following import actions yield the following
results:
Import as latest iteration -- The life cycle of the newly created object is
the life cycle of the previous iteration in the database.
Import as new version -- The life cycle of the newly created object is the
life cycle from the XML file
Import as checked out -- The life cycle of the newly created object is the
life cycle of the previous iteration in the database.
Update checked out object in place-- The life cycle of the newly created
object is the life cycle of the checked out object in the database.
Team
C-22
The team of the object in the XML file doesn't exist in the database, in which
case the team of the newly created object is the team of the previous iteration
in the database.
The team of the object in the XML file is different from the one in database, in
which case the following import actions yield the following results:
Import as latest iteration -- The team of the newly created object is the
team from the XML file.
Import as new version -- The team of the newly created object is the team
from the XML file.
Import as checked out -- The team of the newly created object is the team
of the previous iteration in the database. This behavior is chosen because
Update checked out object in place-- The team of the newly created object
is the team of the checked out object in the database. This behavior is
chosen because the team package doesn't provide an API method to
reassign TeamTemplate for an object that is being checked out.
Domain
The domain of the object in the XML file doesn't exist in the database, in
which case import fails -- a non-overridable conflict.
The domain of the object in the XML file is different from the one in
database, in which case the following import actions yield the following
results:
All other actions -- The domain of the newly created object is the domain
of the existing object in the database.
Folder
The domain of the object in the XML file doesn't exist in the database, in
which case import fails -- a non-overridable conflict.
The domain of the object in the XML file is different from the one in
database, in which case the following import actions yield the following
results:
All other actions -- The folder of the newly created object is the folder of
the existing object in the database.
Context
If there is no context mapping file, the object will be imported to the context from
where the import process is launched.
If there is context mapping file, the object will be imported according to the
mapping file. If the mapping file maps the object to a context that doesn't exist,
the import process throws an exception.
C-23
IBA Value
Most conflicts for IBA Values are non-overridable in the following meaning. The
following if violated make non-overridable conflicts:
The IBA type should be the same if the IBA path are the same.
The IBA values should be matching if the IBA path are the same.
The XML file and the existing IBAHolder must have the same IBA values,
including the number of IBA values.
Some conflicts are overridable, for example, the precision for float values, ratio
values, and unit values.
Type Identifier
If the organization of Organization ID included in the export data is not found, the
conflict is overridable. In such a case, if the software is configured to override
conflicts, the default organization is used.
Using an export mapping rule like the one described in this section means that
the custom modeled attributes will be ignored.
The tags, especially the root tag, should be mappable so that the XML files
can be handled by the import system.
The DTD specified in the XML should be mappable so that the new DTD is
recognized and the XML files can be validated by the import system.
C-24
In order to make import successful, the export system can supply a mapping rule
to achieve the preceding three goals. As for this example, the attribute
mySubTypeAttr1 should be ignored and the tag SubTypeOfWTPart should be
changed to WTPart, and the Customer-DTD.dtd should be changed to a DTD,
which is understood by the import system, for example, standard70.dtd.
IXB framework supports two formats of mapping rule file on export in IXB:
XML files and XSL files.
XML Example
<?xml version="1.0" encoding="UTF-8"?>
<userSettings>
<mappingRules>
<IGNORE>
<tag> mySubTypeAttr1</tag>
<value>*</value>
</IGNORE>
<CHANGE_TAG>
<tag>SubTypeOfWTPart</tag>
<newTag>WTPart</newTag>
<newDtd>standard70.dtd</newDtd>
</CHANGE_TAG>
</mappingRules>
</userSettings>
XSL Example
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="SubTypeOfWTPart">
<xsl:choose>
<xsl:when test="name='simplePart'">
<mappingRules>
<IGNORE>
C-25
<tag> mySubTypeAttr1</tag>
<value>*</value>
</IGNORE>
</mappingRules>
<mappingRules>
<CHANGE_TAG>
<tag>SubTypeOfWTPart</tag>
<newTag>WTPart</newTag>
<newDtd>standard70.dtd</newDtd>
</CHANGE_TAG>
</mappingRules>
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Ignoring an Attribute
To ignore an attribute, use the built-in command <IGNORE> in a syntax like the
following:
<IGNORE>
<tag>tagName</tag>
<path>pathOfTheTag</path>
<value>tagValue</value>
</IGNORE>
In the preceding syntax, you can use the wild card * in the following line:
<value>tagValue</value>
C-26
Potential conflict
Behavior
Resolution or Message
User
notification
User
notification
User
notification
C-27
User
notification
User
notification
User
notification
User
notification
User
notification
User
notification
User
notification
User
notification
User
notification
Attribute UserAttributable
mismatch
User
notification
User
notification
User
notification
User
notification
User
notification
C-28
User
notification
User
notification
User
notification
C-29
C-30
D
Customizing Online Help
Page
WebHelp Overview............................................................................................D-2
Customizing Topic Content................................................................................D-3
Customizing Navigation Pane Content ..............................................................D-6
Customizing Topic Appearance .......................................................................D-10
D-1
WebHelp Overview
Windchill solutions deliver online help in the WebHelp format provided by the
eHelp Corporation. WebHelp is a cross-browser, HTML-based format that
provides a three-pane window. The top pane contains buttons to select navigation
features, the left pane contains the table of contents and search form for
navigating and searching the help system; the online help content appears in the
right pane.
In WebHelp, the term topic refers to a single HTML file that is displayed in the
right pane of the WebHelp window. The term WebHelp system refers to a
collection of topic files and the corresponding table of contents and full-text
search files.
Several WebHelp systems are delivered with Windchill. They are stored in
<windchill>/wt/helpfiles/help_xx/online, where <windchill> is the Windchill
installation directory and xx is the two-character language suffix (for example, en
for English).
You do not need a help compiler or other specialized software in order to
customize WebHelp. This appendix assumes that you have access to the online
help files and a text editor.
Customization Summary
WebHelp is a cross-browser format that uses dynamic HTML (DHTML) to
display the table of contents and full-text search navigation tools. The following
table summarizes the customizations you can make in WebHelp:
D-2
Customization
DHTML
Yes
Yes
Yes
Yes
No
Yes
No
Add graphics and text and modify color at the top of the navigation
pane (above the tabs).
No
No
Customization
DHTML
No
1. For important information about linked style sheets, see Customizing Topic Appearance.
The rest of this appendix provides detailed instructions on how to make these
customizations.
Caution: When you customize online help, always work with a copy of the
online help files. After you have ensured that your customizations work properly,
you can copy your changes to the correct directory.
Add standard scripts and script references to the topic <BODY> element.
D-3
//-->
</script>
<style type="text/css">
<!-img_whs1 {border: none; width: 23px; height: 16px; float: none; border-style: none;}
-->
</style>
<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
<!-function reDo() {
if (innerWidth != origWidth || innerHeight != origHeight)
location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
origWidth = innerWidth;
origHeight = innerHeight;
onresize = reDo;
}
onerror = null;
//-->
</script>
<style type="text/css">
<!-div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4;
visibility:hidden;}
-->
</style>
<script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
<script type="text/javascript" language="javascript" src="whver.js"></script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
D-4
Note: In the preceding code, the addTocInfo() value must be changed to reflect
the desired position in the table of contents navigation tool (TOC), and the
setRelStartPage() value must be changed to the name of the WebHelp main file.
To determine the name of the main file for the setRelStartPage() value, open
the WebHelp in a browser. View the source of any topic and search for
setRelStartPage. The value in the setRelStartPage() function is the WebHelp
main file. Use relative path notation if the new topic will reside in a subdirectory.
To determine the value for the addTocInfo() function, open the WebHelp in a
browser, open the contents tab and browse to the desired heading for the new
topic. Open any topic in this heading and search for addTocInfo(). Use the
value in the addTocInfo() function call but replace the existing topic name
with the name of the new topic. The topic will also need to be added to the
table of contents resource file. To add the new topic or a new section of
headings to the contents tab, see Customizing Navigation Pane Content.
Add the following lines immediately before the closing </BODY> tag:
<script type="text/javascript" language="javascript1.2">
<!-if (window.writeIntopicBar)
writeIntopicBar(0);
//-->
</script>
Script elements
Style classes
D-5
All other aspects of existing topics can be customized. You can also add links to
external files, as well as CSS references, other DHTML and JavaScript, forms,
frames, and images, just as you would in any other HTML page.
Note: Although you can reference topics outside the WebHelp directory, you
cannot add such external topics to a WebHelp system's table of contents or fulltext search.
For information about deleting the TOC entry and search results that correspond
to a deleted HTML file, see the next section, Customizing Navigation Pane
Content.
D-6
Note: URL values are relative to the WebHelp system root directory (the
directory containing the whxdata directory). Complete URL paths including
protocol reference are also allowed, but they will be resolved in the client browser
where the help is displayed.
Editing an Entry
To delete a TOC entry or book, remove the <book> or <item> entry from the
whxdata/whtdata##.xml file. Removal of a <book> tag requires removal of the
closing </book> tag per XML rules.
D-7
DHTML Search
Overview
The DHTML navigation pane uses files located in the whxdata directory to
identify and display search results. WebHelp maintains a list of all help topics in
the help, and a list of all words present in those topics. In general, the list of topics
is counted via JavaScript, and each word present in the help is listed in an array
accompanied by the topic numbers of the matching topics.
The search data in WebHelp is built starting with the whxdata/whfts.xml file.
Please see the following example for reference:
<fts>
<chunkinfo url="whfwdata0.xml" first="200" last="made"/>
<chunkinfo url="whfwdata0.xml" first="make" last="zip"/>
<tchunkinfo first="0" last="12" url="whftdata0.xml" />
<tchunkinfo first="13" last="24" url="whftdata1.xml" />
</fts>
Find the values of the <chunkinfo> elements in the above example (there may be
one or more of these elements). If there is only one <chunkinfo> element, all the
words present in the help are located in one file. The url value in each
<chunkinfo> element identifies the XML file with a list of words present in the
help, the first value is the starting word in the current <chunkinfo> file, and the
last value is the ending word in the current <chunkinfo> file.
Find the values of the <tchunkinfo> elements in the above example (there may be
one or more of these elements). The first value of the current <tchunkinfo>
element is the help topic number of the first topic in the current <tchunkinfo>
topic list. The last value of the <tchunkinfo> element is the help topic number of
the last topic in the current <tchunkinfo> topic list. The url value is the file name
of the current tchunkinfo topic list.
D-8
For search, the list of help topics present in Webhelp is contained in files named
whxdata/whftdata##.xml (from the <tchunkinfo> elements above). See the
example below (this is the whftdata0.xml file referenced in the first <tchunkinfo>
element above, xml header omitted):
<ftstdata>
<topic
<topic
<topic
<topic
<topic
<topic
<topic
<topic
<topic
<topic
<topic
<topic
<topic
</ftstdata>
The number of topics in the list matches the range of numbers specified in the
<tchunkinfo> element in the whxdata/whfts.xml file (zero through twelve,
inclusive; total thirteen).
For search in WebHelp, the list of words present in the help topics is contained in
files named whdata/whfwdata##.xml (from the <chunkinfo> elements above). See
the example below (this is a portion of the whfwdata0.xml file referenced in the
first <chunkinfo> element above):
<ftswdata>
<key name="200"> 3,6, </key>
<key name="2000"> 1,2,14, </key>
<key name="25"> 6,16,17, </key>
<key name="32"> 1, </key>
<key name="40"> 3,6, </key>
<key name="50"> 6, </key>
<key name="60"> 1,15,19,21 </key>
<key name="64"> 21,19,1,2, </key>
<key name="abl"> 1, </key>
<key name="accept"> 1,6,2, </key>
<key name="acces"> 11,12,9,0,10,1,3,6,5,8,4,7, </key>
<key name="accessibl"> 3,6,5,8, </key>
<key name="accord"> 12, </key>
...
<key name="locat"> 1,2, </key>
<key name="logo"> 18,1, </key>
<key name="low"> 0, </key>
<key name="made"> 0, </key>
</ftswdata>
The <key> elements are listed alphabetically by name value, the list of numbers
between the <key> opening and closing tags is terminated with a comma (,), and
D-9
that the list of numbers corresponds to the topic numbers referenced in the
<tchunkinfo> elements above. The numbers between the <key> opening and
closing tags should be organized by relevance, with most relevant topic number
first.
Deleting Results
To prevent a topic from appearing in search results, remove the topic number
corresponding to the relevant topic from the number list between the <key>
opening and closing tags in each whxdata/whfwdata##.xml file. To identify the
topic number, open each whxdata/whftdata##.xml file until the desired topic
reference is located. Note the number of the <topic> element by counting from the
top of the list starting with zero. Open the whxdata/whfts.xml and find the
<tchunkinfo> element with the same url name as the whxdata/whftdata##.xml file
where the <topic> reference is present. Note the start value. The topic number is
the start value of the correct <tchunkinfo> element plus the count number you
noted above.
In the whftdata0.xml file shown above, the "Creating a Library" <topic> element
is topic number three (topic number three counting from the top, with
<tchunkinfo> first value zero).
D-10
The following table lists the styles that you are most likely to use in your topics.
Style
Description
P.Topic-Text-Bulleted
P.Topic-Text-Subbulleted
P.Topic-Text-Numbered
P.Topic-Text-SubNumbered
P.Table-Heading
P.Table-Text
P.Syntax
P.Syntax-indent
Note: Both CSS files include style selectors that contain the word "kadov." Do
not modify these selectors; they are used by WebHelp scripts. (You do not need to
define corresponding kadov selectors for new styles you create.)
D-11
D-12
Index
A
Adding
content holder data formats, 7-4
folders, 3-10
hosts, 3-9
Architecture
three-tier, A-3
Web-based, A-2
attribute mapping, 10-9
download behavior, 10-11
explicit, 10-10
implicit, 10-10
upload behavior, 10-10
Authentication, 1-381-39
troubleshooting, 1-391-40
user, A-6, B-3
B
Background queues. See Queues
Backup
and replica sites, 4-26
process, 1-34
bandwidth, 10-25
Bootstrap client, 2-12-3
configuration file, 2-3
JAR file cache location, 2-3
Bootstrap package
properties, 2-42-7
versioning, 2-7
Bulk Index Tool, 9-6, 9-7
Bulk loading, 9-6
C
Caches
central cache vault, 3-4
local, 4-23
mirroring in, 4-25
moving data from, to master site, 4-26
vaults for, 4-25
Canceling revaulting schedule items, 3-20
Central Cache Vault, 3-4
Index-1
D
data compression, 10-24
Database components, A-17
date format, 10-9
Default value, setting, 1-16
Delegates
creating, 1-32
preference hierarchy, 1-30
scope, 1-33
Deleting
folders, 3-11
revaulting schedule items, 3-21
vaulting rules, 3-16
Dependency conflicts, C-21
Desktop Integration, 1-25
Downloading
JAR files, 2-8
E
Editing
property files, 1-2
user preferences, 1-33
Enterprise search, 1-25
Event Console, 10-25
Export, 6-1
Access control, 6-22
EPMDocuments, 6-9
EPMDocuments as Checked Out, 6-10
graphical user interface, 6-11
Hierarchical Instance Based Attribute Definitions,
C-12
mapping rules, C-4
Index-2
F
File Size Limit for Content Replication, 4-20
File Vault Administrator, 3-4, 3-83-12
File vaults, 10-23
adding, 3-10
creating policies for, 3-133-16
creating with FvLoader, 5-1, 5-2
deleting, 3-10
deleting folder, 3-11
external, 3-1
overview, 3-2
external in replication, 4-2
maintaining, 3-12
properties for, 3-6
replica, 4-2
rules for, 3-133-14
creating, 3-15
deleting, 3-16
summary, 3-2
updating, 3-10
See also Revaulting
Folders
adding, 3-10
deleting, 3-11
updating, 3-10
Forcing Content to Vault, 3-21
Full-scale replica site, 4-11
FvLoader, 5-1, 5-2
H
heap size, 10-24
Hierarchical Instance Based Attribute Definitions,
C-12
Hierarchy
preference, 1-30
scope, 1-31
Hosts
adding, 3-9
choosing names, B-7
moving for server with external vaults, 3-24
updating, 3-9
HTTP, 10-26
gateway, A-6
server, A-6
HTTPS, 10-26
I
ie.properties file, 1-37
Import, 6-1
Access control, 6-22
Conflict messages, C-16
EPMDocuments, 6-9
EPMDocuments as Checked Out, 6-10
graphical user interface, 6-16
Hierarchical Instance Based Attribute Definitions,
C-12
mapping rules, C-4
overridable conflicts, C-22
properties, 6-22
summary, 3-2
XSL-based policy files, C-2
Index Policy Manager, 9-3
Indexing, 9-3, A-20
file content, A-20
policies, A-21
properties for, 9-13
publishing, A-21
INI files
about, 10-6
date format, 10-9
overriding, 10-7
specifying templates, 10-8
internal organization, 1-23
Internationalization, A-3
J
JAR files
downloading, 2-8
importing and exporting, 6-2
security, 2-9
Java applets, A-5
Java database connectivity (JDBC), A-3
Java Mapping, C-12
Java Performance Guide, 10-25
Java platform support, A-2
Java property files. See Property files
Java RMI servlet, B-11
Java Server Pages, 1-18
Java system property settings
bootstrap client, 2-6
JSPs. See Java Server Pages
K
Keys
content replication, 4-4
creating, 4-10
L
latency, 10-25
Lightweight replica site, 4-11
Load balancing, 1-361-37
Local Upload, 4-22
log, 1-6, 10-25
Log files, 1-9
and replica sites, 4-26
e-mail, 1-10
maintaining, 1-34
method server, 1-9
queues, 8-5
usage, A-17
viewing, 1-6
M
Mapping rules, C-1
Context mapping files, C-12
Java mapping, C-12
METHOD Element, C-12
overview, C-4
special rules, C-4
XSL transformation, C-11
Master sites, 4-5
configuration, 4-14
local cache, 4-26
Maximum File Size for Content Replication, 4-20
Meeting Center, 1-19
message log, 10-25
metadata compression, 10-24
Metadata conflicts, C-21
METHOD Element, C-12
Method server
log file, 1-9
Method Servers, 3-3
component, A-14
home page, 1-18
multiple
load balancing for, 1-361-37
Microsoft Office, 1-25
Mounts
creating, 3-11
updating, 3-11
Moving server with external vaults to new host, 3-24
Index-3
PTC
documentation, xxii
technical support, xxi
P
parameter mapping, 10-9
explicit, 10-10
implicit, 10-10
Performance Tuning, 10-24
Policies for Import and Export, C-1
Preferences
creating, 1-33
defining scopes, 1-29
delegates, 1-30, 1-33
editing, 1-33
hierarchy, 1-291-30
hierarchy, defined, 1-29
macros, 1-30
managing, 1-32
removing, 1-33
scopes, 1-32
structure, defined, 1-29
Property files
See also wt.properties file
editing, 1-2
listing values, 1-17
modifying, 1-6, 1-7
Proxy servers
client-side, B-12
Meeting Center, 1-20
server-side, B-12
Index-4
R
Reforming custom modeled attributes, C-24
Removing user preferences, 1-33
Replica sites, 4-22
configuration, 4-14
creating, 4-7
installing, 4-11
Replication Administrator, 4-5
restricted organization, 1-22
RetrievalWare
backup, 1-34
index loader, A-22
indexing, A-21
libraries, 9-8
purging, 9-12
Revaulting, 3-163-21
schedule items, 3-17, 3-18
Revaulting History window, 3-18
RMI, 10-26, B-8
RMI-over-HTTP, B-9
Runtime environment, A-1
Runtime services chapter, 1-1
S
Scopes, preferences, 1-32
secret.text, 1-37
secret.text2, 1-37
Security
Infrastructures, B-1
JAR files, 2-9
Server, 10-23
Server codebase property, B-5
Server Hostname Property, B-8
Server Managers, 1-18
site.xconf, 1-3, 1-10
T
Technical support, xxi
Threshold detection, 1-37
U
Unrestricted Organizations group, 1-23
Updating
content holder data formats, 7-5
folders, 3-10
hosts, 3-9
mounts, 3-11
revaulting schedule items, 3-20
URL generation, B-4
Usage Report utility, 1-26
User preferences. See Preferences
Users
authenticating, 1-381-39, A-6
preferences, 1-29
V
Vault Configuration window, 3-8
Vaulting Rule window, 3-15
Vaulting rules. See File vaults, rules for
vaults, 10-23
Vaults. See File vaults
Viewing
revaulting results, 3-18
revaulting schedule items, 3-20
sites in tree view, 3-4
X
XCONF files, 1-3
xconf.dtd, 1-4
xconfmanager, 1-2, 1-10
XSL transformation, C-11
W
Web browsers, A-4
WebEx, 1-19
Index-5