Hello,
I have created a distribution target, and i want to link an object with it. So i have created a new document, but when I go to the information page of this document, in the actions menu, there is not "Add distribution target" to link them.
Do you have any idea of what is the problem?
Thanks for your help.
Documents can only be mapped if associated with WTParts.
planned for a next Windchill release ....
Thanks for your replies. So I assume I have to create a WTPart and to associate it with my document. But how can I create this WTPart?
WTPart is "Article" in french.
You can create it in a Product/Library/Project folder . the action button is a little grey gear
Or can I create an other type of objects (not a document) that I can associate with a distribution target without using WTPart?
Not in Windchill 10 ... or may be ProcessPlan in MPMLink, I don't remenber.
But what is your need ? Cause the distibustion target is designed to define in which 3rd party system. Commonly an ERP, you want to publish a WTPart Bill of material ... For Manufacturing purposes, etc ...
I work on a R&D project, and my need is to link an object with a distribution target, and when this object status is modified, the distribution target triggers the publication workflow and send a message to a JMS queue.
So I don't know what type of object I can associate with my distribution target, and I tried with a simple document.
Thank you very much, I succeed to associate an object with a distribution target. But my other problem is I don't know how to configure my distribution target to publish in a JMS queue when the associate object status change.
Do you have any idea?
The lifecycle state and the Worflow that will be lauched (Out of the box it should be ESI Workflow and state RELEASED) are set in Preferences
For JMS queue, I can not help you in detail. Some Configurations in Preferences, directly in Distribution target also.
have a look in the PTC guides. ESI or ERPConnector ...
I tried with this file:
<NmLoader>
<csvBeginESITarget handler="com.ptc.windchill.esi.load.LoadESI.beginCreateESITarget">
<csvtypedef>com.ptc.windchill.esi.tgt.ESITarget|com.ptc.GenericJMSQueue</csvtypedef>
<csvnumber>000000102</csvnumber>
<csvname>JMS Queue Test</csvname>
<csvdescription>Target writes to custom queue</csvdescription>
<csvtaskURI>net/esi/ExportToJMSQueue.xml</csvtaskURI>
</csvBeginESITarget>
<csvIBAValue handler="wt.iba.value.service.LoadValue.createIBAValue">
<csvdefinition>QueueName</csvdefinition>
<csvvalue1>myqueue</csvvalue1>
<csvvalue2></csvvalue2>
<csvdependency_id></csvdependency_id>
</csvIBAValue>
<csvEndESITarget handler="com.ptc.windchill.esi.load.LoadESI.endCreateESITarget" />
</NmLoader>
(Queue Name is an attribute of my distribution target)
I tried to load this file using wt.load.LoadFromFile. But my distribution "JMS Queue Test" doesn't appear in Utilities/Manage Distribution Target... So I don't know if it is possible to do the same thing without using a file to load
It looks like the loadFile to create the Destination target in Windchill (you can also do it directly in Windchill UI, not only by load)
Not to create the JMS queue ...
You have to set up a JMS queue on a server and then configure the Destination Target to publish on it....
You may not want to use the concept of distribution targets at all for this. Instead, maybe consider:
- Use an advanced lifecycle for the afffected document type.
- Have a workflow start when the document reaches a certain state. That workflow could handle whatever you're currently attempting to trigger via distribution targets, including possibly any needed assignments to users to handle needed branching or choices. It could also include checks / verificiation / confirmation of the results.
Thank you but in my project I have to use distribution targets. I have set up a JMS queue on my server, and I have created a part that I have linked with my distribution target. But when I change the state of my part from working to released, I have no messages published in my queue. I assume that I have to configure something to say the name of my queue, but I don't know how...
it's a bit late answering but maybe i can help you a little.
jms is managed in infoengine menu in administration for the site.
you must define a property sets such like that for instance :
dn: ptcServiceName=net.xxdomainxxx.aiaJmsService,<base>
ptcRuntimeServiceName: net.xxdomainxxx.aiaJmsService
objectClass: ptcApplicationService
objectClass: ptcApplicationProperties
objectClass: top
ptcMetaType: JMS Service
ptcServiceName: net.xxdomainxxx.aiaJmsService
ptcProperty: net.xxdomainxxx.aiaJmsService.jms.lib=D:\PHSI\products\ptc\Windchill_10.0\Windchill\srclib\weblogic
ptcProperty: net.xxdomainxxx.aiaJmsService.jms.CtxFactory=weblogic.jndi.WLInitialContextFactory
ptcProperty: net.xxdomainxxx.aiaJmsService.jms.baseUri.principal=weblogic
ptcProperty: net.xxdomainxxx.aiaJmsService.jms.baseUri=t3://soaprod.xxdomainxxx.net:8001
ptcProperty: net.xxdomainxxx.aiaJmsService.msg.queueConnectionFactory=jms/aia/AIA_PLM_QUEUE_CF
ptcProperty: net.xxdomainxxx.aiaJmsService.jms.baseUri.password=encrypted.net.xxdomainxxx.aiaJmsService.jms.baseUri.password
Also you'll need an adapter using the following property :
ptcProperty: net.xxdomainxxx.xxyourhostxx.Windchill.jms.defaultService=net.xxdomainxxx.aiaJmsService
then in addition you must create your distribution targets in manage distribution menu and validate they are active (or you won't be able to load from file the part association to the target).
Your target should have properties set a bit like that for instance :
Effectivity Format: | yyyy/MM/dd HH:mm:ss | |
ESI Response Meta Information File Path: | $CODEBASE$/ext/ph/Manuf-ESIResponseMetaInfo.xml | |
Task Uniform Resource Identifier: | ext/ph/ExportToJMS.xml | |
JMS Queue Name: | jms/aia/AIA_PLM_US1_QUEUE | |
XSL Password: | ||
XSL DB User: | ||
XSL Parameters: | ||
XSL URL: | ext/ph/Manuf-Transformation.xsl |
hope this will help.
regards,