Running PxTAL
Px Bundle Support
Bundle Compatibility
TAL supports PTC Arbortext Content Delivery 7.1, 7.1.3.0, 7.1.3.1, and 7.1.4.0 bundles. The version is identified based on publishing information present in the bundle. See the 7.1.4.0 Software Matrix at https://www.ptc.com/en/support/refdoc/... for details.
* 
You must load either 7.1, 7.1.3.0, 7.1.3.1, or 7.1.4.0 bundles. You cannot load different types.
Bundle Limitations
Following are some limitations for bundle data:
Do not use the “#” character in filenames that are in PTC Arbortext Content Delivery bundles.
If a filename contains this character, the transform and load process will fail with the following error:
[ERROR,ProcessActionHandler] Failed node: fetchApplicableFilesForPartsList within flow:getRegistryFromIMANSubFlow_PD , reason #path to a partslist item(The system cannot find the file specified) java.io.FileNotFoundException:#path to a partslist item(The system cannot find the file specified)
Do not use the vertical bar ( | ) character in APEX property values unless you are using it to represent a logical OR.
Px Bundle Contents
A Px bundle consists of the folders and files shown in the following table:
Name
File/Folder
Description
com.ptc.arbortext.windchill.partlist.PartList
Folder
Contains part lists as referenced from *-DMPmap.xml. The folder name is usually the type name based on which data is created in SIM/SP.
com.ptc.ptcnet.DynamicDocument
Folder
Contains dynamic documents as referenced from *-DMPmap.xml. Typically, the contents is specific to DITA XML, General XML, PDF, or images. The folder name is usually the type name based on which data is created in SIM/SP.
reps
Folder
Contains associated images for *_Hierarchy.xml.
*_Hierarchy.xml
File
Product Hierarchy file providing the hierarchical information of the product structure.
*_Hierarchy.xml.meta
File
Product Hierarchy metadata file
*-DMPmap.xml
File
Information Structure (IS) or Publication Structure (PS) file, which usually provides a table of contents. Data is also present in the hierarchical structure.
*-DMPmap.xml.meta
File
IS or PS companion metadata file
OptionsDefinition.xml
File
List of Options and Choices definition along with its association to the context (PH or IS).
partThumbnails.zip
File
Images associated with parts.
ProductInstances.xml
File
Product Instance file providing the serial number to context mapping. This file contains multiple values in a single file.
publishInfo.xml
File
Metadata information related to the published bundle. It typically indicates bundle ID, published date, locale, bundle sequence, and a flag indicating whether this is a full or incremental bundle.
The file contains a parameter Bundle-Source to identify the bundle owner. If this property does not exist, TAL defaults to using the property orgName from the Rootobjects of the bundle source.
Whether a bundle is full or incremental is determined by the following properties:
JobSpecification/@increment
JobSpecification/@incremental
A full bundle will have values as increment="0" or incremental="false". An incremental bundle will have values as increment="1" or incremental="true".
The language of the bundle is identified by the Language parameter under the JobSpecification element:
<JobSpecification
…………………………..
<Parameter token="com.ptc.arbortext.
wvs/Language">
<Value>ja</Value>
</Parameter>
<Parameter token="Language">
<Value>ja</Value>
</Parameter>
……………….
</JobSpecification>
ReadyForTAL
File
Zero-byte sentinel file indicating the bundle is ready for TAL. If this file is not present, then the bundle will not be processed.
referencedObjects.xml
File
Indicates various objects referenced from different objects.
In a typical IS bundle, this contains the URI of the context (as a target attribute) to which it is connected through relatedContext.xml. The details about the URI and related objects is also in this file, as is the PRODUCT details related to the ServiceInformation attribute.
referencedParts.xml
File
Part specific file providing the details of all parts referenced from the parts list.
relatedContexts.xml
File
Indicates the context to which the bundle (typically IS or PS) is associated.
relatedParts.xml
File
Provides information on part relations, such as Alternate, Supersession, and Cross Reference.
translation.xml
File
Provides the localized values of the localized attributes used in different business objects such as PH, IS, PS, PL, IEXML, PDFM, Graphics and Part.
excludedObjects.xml
File
Provides the URIs of content to be gets deleted from previous published content.
ModelItemPartObjects.xml
File
Generic IE artifact used to create links from a source IEXML to zero or more related IEXML objects.
contentMap.xml
File
Mapping file providing URI to physical file mappings. Also holds values for checksum, meta checksum, and collected date used to decide whether data needs to be loaded.
Information Structures and Publication Structures
The *-DMPMap.xml file represents the IS or PS file. The components of these entities are described in this section. The terminology used comes from the language used in SIM/SP. For example, IsRoot is the wt.part.WTPart soft type ending in …|com.ptc.sis.IsRoot.
Information structures contain the following nodes:
Nodes <topicref>
IsRoot
IsGroup
ContentRef (that is Content Holder)
Usage Links from parent node to child
Service Effectivity targeting any of the above nodes
Selected representations of these nodes
The structure might reference Graphics, XML Documents, or Parts lists. It also might get metadata from these referenced objects.
As the IS title update change is in the transform area, the IS root node title update (based on the TOC code) will only take effect after ReTAL.
Publication structures contain the following nodes:
Nodes (including the generated hook) <topicref>
PsRoot
PsSection
PsToc
PsIndex
ContentRef
Usage Links from parent node to child
Service Effectivity targeting any of the above nodes
The structure might reference XML Documents or Parts lists. It also might get metadata from these referenced objects.
A typical node from one of these structures would look like the following:
<topicref id="..."
href="uri of node"
copy-to="relative path of Information Element (IE)"
format="dita|pdf|xml|…"
...>
In an incremental bundle with no changes to the Information Elements, the copy-to attribute is not present.
Information Elements
All information elements are comprising of the main content and its metadata. The following different types of content are supported in Px bundles.
Partslist Components
Partlist itself
Image GDD (graphic dynamic document) or its post published GDD
Primary content,
Its representations
Its attachments
PartListItem
Part
Usage Links from parent node to child
Service Effectivity targeting any of the above
XML Document Components
Primary DD (dynamic document)
Its metadata
Its primary content
Referenced Image
Primary content
Its representations
Its attachments
XML content resolved during the publishing process
Xinclude
DITA topic reference
DITA conref, conkeyref, and so forth
Cross references to external XML Documents are not components of the entity.
Graphic Content
Primary GDD (graphic dynamic document)
Its metadata
Its primary content
Its representations
Its attachments
Part
Part
Metadata (master and instance)
Related parts
Service effectivity that targets the part
Thumbnails
Currently parts are extracted as well as published, but publishing does not consider it an entity, but rather a component of a parts list. Publishing currently includes related parts.
Service Effectivity Markup
Service effectivity is not an entity, but is information associated with many entities. It represents the filtering information on the different IE objects. It appears as metadata inside any object that it targets. For example:
<Metadata ...
<Property token="ServiceEffectivity">
<Value>(OR (AND (PRODUCT '0000016602') (INSTANCE 'SUV_WE_EV4_SN001'
'SUV_WE_EV4_SN002')) (AND (PRODUCT '0000016610') (INSTANCE
'SUV_WE_EE_SN002' 'SUV_WE_EE_SN001')) (AND (PRODUCT '0000016611')
(INSTANCE 'SUV_WF_EV6T_SN001' 'SUV_WF_EV6T_SN002')) (AND (PRODUCT
'0000016617') (INSTANCE )))</Value>
</Property>
...
</Metadata>
Bundle Types
In PTC Arbortext Content Delivery there are two types of Px bundles. The type of bundle is identified based on the publishInfo.xml file.
The following types are supported:
PH bundle
This type of bundle carries the information about the unified Product Hierarchy and related Product Instance. Usually this bundle has the following types of data:
Product Hierarchy (PH) (*Hierarchy.xml)
Product Instances (PI) (ProductInstances.xml)
Options and Choices (OptionsDefinitions.xml)
PublishInfo.xml
IS or PS bundle
These types of bundles carry the information about the Information Structure (IS) or Publication Structure (PS). Usually this bundle has the following types of data:
relatedContext.xml
IS
Information Elements (IEXML, PDFM, Graphics, Parts List) – Usually connected through IS
Generic Information Elements
Parts associated with parts lists
Part Relations
Part Related documents
Options and Choices
Symptom Tree
PublishInfo.xml
Non-Product bundle
This bundle is like the IS bundle, but without the relatedContext.xml file. This indicates the bundle is not associated with any product context. Usually these types of bundles are associated with a category that is defined in the publishInfo.xml file.
Identifying the Context and Category of a Bundle
Context information indicates the product context to which an item is associated to. In PTC Arbortext Content Delivery the context is used to store, filter, and locate various items in the system. Usually an IS or PS bundle is associated with a context. Note that a PH bundle is not associated to any context, as this type of bundle is itself the context. In PTC Arbortext Content Delivery PH bundles are loaded into every segment
In a Px bundle, there is a relatedContext.xml file that is used to identify the context to which the bundle is associated. Note that a bundle can refer to a single or multiple contexts. Following is part of the relatedContext.xml file. The src attribute refers to the IS or PS. The target attribute refers to context information.
For example:
The category of a bundle is in the PublishInfo.xml file. For example:
Bundle Sentinel Files
Sentinel files are special zero byte files created in the bundle to signal different states of processing. The following sentinel files might be present:
ReadyForTAL
This file is generated by the bundle owner. Presence of this file means the bundle is generated completely and can be processed by TAL.
PrepTAL
This file is created when multiple bundles are loaded at once with the transform and load task.
TransformInProgress_Collection or TransformInProgress_BundleID
The name of this file is determined by whether you have enabled content sharing. It is named TransformInProgress_Collection when content sharing is not enabled. It is named TransformInProgress_BundleID when content sharing is enabled. The file is created when the transform is in progress.
TransformFailed_Collection or TransformFailed_BundleID
The name of this file is determined by whether you have enabled content sharing. It is named TransformFailed_Collection when content sharing is not enabled. It is named TransformFailed_BundleID when content sharing is enabled. This file is created by the transform task when it begins its execution. The file is deleted if the transform task is successful.
TransformCompleted_Collection or TransformCompleted_BundleID
The name of this file is determined by whether you have enabled content sharing. It is named TransformCompleted_Collection when content sharing is not enabled. It is named TransformCompleted_BundleID when content sharing is enabled. This file is created by the transform task when it begins its execution. This file is created on the successful completion of the transform task for a collection.
tal_completed
This file is created when the transform task is done.
tal_failed
This file is created when the transform task fails.
Excluding Objects From a Bundle
If there are objects that you want to specifically exclude from a bundle, then you need to include the excludedObjects.xml file in the bundle. In this file is a series of Object tags where you provide the id and uri of the objects you do not want to load with the bundle.
Following is an example of this file:
<?xml version="1.0" encoding="UTF-8"?>
<ExcludedObjects>
<Object id="PartListItem_8153223"
uri="x-wc://com.ptc.arbortext.windchill.partlist.PartListItem:8153223"/>
<Object id="PartListItem_8153222"
uri="x-wc://com.ptc.arbortext.windchill.partlist.PartListItem:8153222"/>
<Object id="WTPartMaster_8118901"
uri="x-wc://f5e0179d8f894049:wt.part.WTPartMaster:0069313461"/>
<Object id="WTPartMaster_8118955"
uri="x-wc://134e815ca9117606:wt.part.WTPartMaster:0069313463"/>
<Object id="WTPartMaster_8118947"
uri="x-wc://ce2ace730699a033:wt.part.WTPartMaster:0069313462"/>
<Object id="EPMDocumentMaster_8143009"
uri="x-wc://file=0000020874.png"/>
</ExcludedObjects>