Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Dear All,
I have been trying to understand what configurable links are in windchill. Also I have created subtypes for four configurable links also and created parent child relationship but after that I don't how data is being mapped or connected between wtpart and document.
Even after searching for documentation everywhere I could only find a few links which would talk about configurable link but they are no different from PTC Help center. Can somebody please explain what configurable links are in Windchill in layman terms and also provide some links to understand what Configurable links are?
Solved! Go to Solution.
Sure I can
1. Example: Attach document to CAD-document
The customer want's to add e.g. an excel calculation sheet to connect with an EPMDocument. Sure he could attach it directly as attachment of the Cad-Document, but then he has no history and also he can't open it with the office integration. So I created a configurable link to attach a WTDocument to a CAD-Document.
2. Example: Running changes in a product
The management wants to have an overview over their products. So they also need to know how many changes in a product are currently running or have been closed. I created a configurable link between parts and change notice. So each time a part is added to the affected table, it will automatically connect all the top end item with the change order. With this customization it's possible to see on the end item which changes are attached and the other way around, which end items are affected by the change notice.
There are many other use cases.
E.g. connect a creo material file with the raw material.
Connect two parts with a special connection.
etc.
Configurable links are very powerful. There are 4 different link types:
All these link types have different behaviours. e.g. the Revision Link is like the describe link but it allows you to connect an object to a released WTPart. With the describe link you need to have modify rights to connect an object.
First you need to create a subtype of the Link. Then you define in the relationship tab which objects are allowed to linke together. e.g. Change Notice and subtype of a WTDocument. or. EPMDocument and WTDocument, or...
To implement a configurable link you need to specify multiple xconf properties, modify the actions and action models and also create some resource bundle to localize the table names.
Unfortunately sometimes they aren't very well implemented into Windchill. One big problem is, that the collector doesn't work! And also modifying link attributes is also a pain.
I have implemented these links multiple times and yes, they are powerful.
Hi @BjoernRueegg ,
Thank you so much for the detailed explanation regarding Configurable links. I have got a starting point now. I even setup a configurable link after that, but what is the actual use of it is somewhat I am missing. I couldn't find any use case or an example on why it is used in industry? Can you please give a small example on why it is used in industry?
Sure I can
1. Example: Attach document to CAD-document
The customer want's to add e.g. an excel calculation sheet to connect with an EPMDocument. Sure he could attach it directly as attachment of the Cad-Document, but then he has no history and also he can't open it with the office integration. So I created a configurable link to attach a WTDocument to a CAD-Document.
2. Example: Running changes in a product
The management wants to have an overview over their products. So they also need to know how many changes in a product are currently running or have been closed. I created a configurable link between parts and change notice. So each time a part is added to the affected table, it will automatically connect all the top end item with the change order. With this customization it's possible to see on the end item which changes are attached and the other way around, which end items are affected by the change notice.
There are many other use cases.
E.g. connect a creo material file with the raw material.
Connect two parts with a special connection.
etc.
Wow, that was such a clear example!! I am very much grateful to you.
Hope you won't mind if I ask another question?
If I create two document subtypes, can I link each other automatically instead of manual linking in configurable link. For example, if I create a document of subtype A, automatically a document with subtype B should be created and attached to subtype A in configurable link where subtype A will be the master reference. Can this be done with customizing configurable link?
This would be a typical windchill customizing which needs to be programmed in Java.
Hi @BjoernRueegg,
Yes now I am trying this with customization. But also wanted to understand what configurable links were and with it is it possible to achieve the requirement. As you said configurable links are very powerful and I will try to explore them in depth. Thank you so much for your time, help and sharing knowledge regarding configurable links.
Suppose two wtdocuments attached with same WTpart .I want delete one of them so how can we do that ?
Any API?
@AA_9841156 Are you talking about configurable links?
You can search the right configurable link and delete it:
WTSet links = ConfigurableLinkHelper.service.getConfigurableLinks(persistable, roleBObjects, helper.getConfigLinkTypeId());
if (links != null && links.size() > 0) {
PersistenceHelper.manager.delete(links);
}
I am using this below api.
WTCollection links = linkService.getConfigurableLinks(set, "roleBObject", typeIdentifier);
links = links != null ? links : new WTArrayList();
Iterator itr = links.persistableIterator();
while (itr.hasNext()) {
ConfigurableDescribeLink link = (ConfigurableDescribeLink) itr.next();
PersistenceServerHelper.manager.remove(link);
PersistenceHelper.manager.refresh(wtPart);
but errror is coming.
Caused by: java.lang.NullPointerException
at wt.fc.PersistenceServerHelper.<clinit>(PersistenceServerHelper.java:99)
@AA_9841156 then I guess the link object is null. Are you searching the correct link? It's not the roleAObject or so?
Have you ever created a configurable link to a WTChangeActivity2 ?
I need that, but I can't load the relationship contraint to do so...
This is OOTB not available, but you can add the object classes with following property:
<Property name="CONFIGURABLE_LINK_ROLE_CLASSES" overridable="true" targetFile="codebase/wt.properties" value="wt.epm.EPMDocument,wt.change2.WTChangeActivity2"/>
Wow! Thank you! This seems to be it!
with CONFIGURABLE_LINK_ROLE_CLASSES set to wt.epm.EPMDocument,wt.maturity.PromotionNotice, EPMDocument becomes available for selection in the New Relationship Constraint window, but not PromotionNotice.
This post seems to be the only documentation on PTC knowledgebase referencing this property. We need to get tech support to put out at least an article about it.
Can't find also no case about this topic. I heard from this property during a PTC MPMLink training in 2015.
Hello,
I am new with configurable links and have some questions.
Thanks.