Modification du délégué (Creo Elements/Direct Drafting)
Délégué standard
Windchill propose un mécanisme standard permettant de transmettre des informations supplémentaires associées au document CAO en tant que paramètres système personnalisés.
Pour personnaliser les paramètres, définissez la préférence côté serveur Client Workgroup Manager > Mappage des attributs système et des propriétés du fichier personnalisés au niveau du site.
La valeur est une liste d'attributs supplémentaires d'objets associés au document CAO qui s'affichent dans l'outil CAO sous la forme de paramètres ou de propriétés.
La valeur est une liste séparée par des virgules de paires de propriétés CAO et d'attributs Windchill dans le format suivant :
<name_of_CAD_property>:<relatedObjectCode>.<WindchillAttributeName>
Où :
Valeur
Description
Valeurs possibles
name_of_CAD_property
Il s'agit du nom du paramètre ou de la propriété dans l'outil CAO
PART_REVISION
relatedObjectCode
Il s'agit de la chaîne utilisée pour identifier l'objet associé
docMaster
associatedPart
relatedECN
promote
WindchillAttributeName
Il s'agit du nom logique ou du nom interne de l'attribut dans Windchill pour l'objet associé
attributs de type paramétré sur le document CAO maître
Attributs de l'article
attribut de type paramétré sur l'article associé de type booléen, date, entier, réel, réel avec unités ou chaîne
lifeCycleState
lifecycleTemplate.name
name
number
orgid
view.identity
partType
Pour les avis de modification associés
number
orgid
resolutionDate
Pour la promotion
number
promotionDate
orgid
approvers
approbationDates
reviewers
reviewDates
* 
Pour les attributs de type paramétré, les valeurs envoyées à l'outil CAO correspondent aux valeurs d'affichage dans la Page d'informations de l'objet. Les valeurs d'affichage utilisent les préférences Traitement des attributs et les paramètres Gestion d'attributs et de types, mais ne prennent pas en charge les personnalisations d'affichage complexes à l'aide d'utilitaires de données pour le rendu.
Cette fonctionnalité ne peut être utilisée que si vous ne disposez pas d'un délégué personnalisé côté serveur CustomModeledAttributesDelegate pouvant être utilisé pour insérer des paramètres (voir la section suivante pour le délégué personnalisé).
Pour l'article associé :
Cette fonctionnalité prend en charge les articles associés au Document CAO avec les informations de propriétaire, d'image collaborative, d'image et de contenu collaboratif.
La version de l'article sélectionnée est similaire au tableau d'articles associés de la page d'informations du Document CAO.
Si plusieurs révisions du même article sont associées au document CAO, le système renvoie la dernière révision de chaque article.
Plusieurs articles peuvent être renvoyés si le système est configuré pour autoriser plusieurs associations de génération, avec la préférence côté serveur Opérations > Association automatique > Autoriser le document CAO à générer plusieurs articles définie sur Oui. Dans ce cas, les informations de chaque article associé sont renvoyées en format délimité. Le séparateur utilisé est défini par la préférence côté serveur Client Workgroup Manager > Séparateur d'attributs système personnalisés pour plusieurs objets associés.
Pour les avis de modification associés :
Lorsque la révision du document CAO intervient dans l'avis de modification en tant qu'objet résultant, les attributs relatifs à l'avis de modification sont envoyés au paramètre CAO.
Si la révision du document CAO intervient dans plusieurs Avis de modification, le séparateur utilisé est défini par la préférence côté serveur Client Workgroup Manager > Séparateur d'attributs système personnalisés pour plusieurs objets associés.
Les avis de modification rejetés ne sont pas répertoriés.
Pour la demande de promotion :
Lorsque la version du document CAO intervient dans la demande de promotion, les attributs relatifs à cette demande sont envoyés au paramètre CAO.
Si la version du document CAO intervient dans plus d'une Demande de promotion, le séparateur utilisé est défini par la préférence côté serveur Client Workgroup Manager > Séparateur d'attributs système personnalisés pour plusieurs objets associés.
La demande de promotion rejetée n'est pas répertoriée.
Délégué personnalisé
Windchill propose un délégué côté serveur pouvant être utilisé pour insérer des paramètres dans un article d'application auteur dès son téléchargement. Ce mécanisme permet de transmettre des informations du serveur vers l'application auteur, où elles peuvent être utilisées comme tout autre paramètre d'application auteur (par ex., pour donner des informations sur le traçage de formes). Les paramètres commençant par PTC ou PROI sont considérés comme des paramètres système réservés et ne peuvent être propagés en cas de personnalisation. S'ils sont ajoutés dans la personnalisation, ils sont ignorés par le service de téléchargement.
* 
Si vous configurez le système pour qu'il utilise un délégué personnalisé, les attributs définis dans la préférence côté serveur Client Workgroup Manager > Mappage des attributs système et des propriétés du fichier personnalisés ne sont pas utilisés. Seul le délégué PTC vérifie cette préférence.
Les paramètres personnalisés sont fournis au client lors du téléchargement et ne sont pas mis à jour lors d'une session de l'application CAO après une opération Windchill (une intégration par exemple). Par ex., si un paramètre personnalisé reçoit la valeur d'un numéro de document CAO, sa valeur est fournie au client pendant le téléchargement. Si le document CAO est ensuite renuméroté, la valeur dans la session de l'application auteur ou dans le cache du client n'est pas automatiquement mise à jour. Le mécanisme de délégué de service Windchill est utilisé pour permettre la personnalisation.
Les étapes suivantes expliquent le processus de personnalisation :
1. Créez une classe Java implémentant l'interface ModeledAttributesDelegate dans un emplacement propre au client, séparé des classes PTC (par exemple, <WT_HOME>\com\acme). Voici la définition de l'interface :
package com.acme.download;
import static org.junit.Assert.assertTrue;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate;
import java.util.Iterator;
import wt.epm.EPMDocument;
import wt.fc.collections.WTCollection;
import wt.fc.collections.WTHashSet;
import wt.preference.PreferenceHelper;
import wt.util.WTException;
/**
* When CustomizedModeledAttributesDelegate is configured following modeled attributes would be added to the CAD
* Document, which would be combination of custom CURRENT_DATE parameter along with Parameters configured in mentioned
* preference "Mapping Custom System Attributes and File Properties". For eg.When preference "Mapping Custom System
* Attributes and File Properties" set with value as
* -CREO_PART_REVISION:associatedPart.revision,CREO_PART_VIEW:associatedPart.view.identity,ECN_NUMBER:relatedECN.number
* Modeled attributes on CAD Document would be- CREO_PART_REVISION=A, ECN_NUMBER=00192, CREO_PART_VIEW=Design,
* CURRENT_DATE=2023/10/11 05:07
*/
public class CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate {
private static final String CUSTOM_SYSTEM_PARAMS_PREF = "system.attribute.mapping.custom";
private static final String PROE = "PROE";
private static final String CURRENT_DATE = "CURRENT_DATE";
// getAvailableAttributes() returns
// HashMap<String, Object> which contains
// HashMap<Attribute name, Attribute type> @Override
public HashMap getAvailableAttributes() {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() :Returning an empty list of modeled Attributes.");
return new HashMap();
}
/**
* Returns a map of modeled attributes for the EPMDocument objects in the provided collection. This method retrieves
* the modeled attributes from the PTC default implementation.
*
* @param collection a collection of EPMDocument objects for which to retrieve the modeled attributes
* @return a map of modeled attributes for the provided EPMDocument objects
* @throws WTException if an exception occurs while retrieving the modeled attributes
*/
@Override
public HashMap getModeledAttributes(
final Collection collection)
throws WTException {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() ");
String prefValue = (String) PreferenceHelper.service.getValue(CUSTOM_SYSTEM_PARAMS_PREF,
PROE);
System.out.println("CustomizedModeledAttributesDelegate prefValue " + prefValue);
HashMap objVsAttrNameVsValue = new HashMap();
// Fetching only EPMDocuments from input collection.
WTCollection inEPMDocs = new WTHashSet(collection).subCollection(EPMDocument.class);
Iterator persistableIterator = inEPMDocs.persistableIterator();
if (prefValue != null && (!prefValue.isBlank())) {
while (persistableIterator.hasNext()) {
EPMDocument anEPMDoc = (EPMDocument) persistableIterator.next();
objVsAttrNameVsValue = super.getModeledAttributes(collection);
Map<String, String> attrNameVsValueMap = (Map<String, String>)objVsAttrNameVsValue.get(anEPMDoc);
assertTrue(attrNameVsValueMap != null);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
LocalDateTime now = LocalDateTime.now();
attrNameVsValueMap.put(CURRENT_DATE, dtf.format(now).toString());
System.out.println("CustomizedModeledAttributesDelegate attrNameVsValueMap " + attrNameVsValueMap);
return objVsAttrNameVsValue;
}
}
System.out
.println("Could not find CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate");
return objVsAttrNameVsValue;
}

} // end class
2. Les attributs système personnalisés fournis par PTC sont disponibles en standard dans DefaultModeledAttributesDelegate. Toutefois, le fichier site.xconf (qui se trouve dans <Windchill>) peut être modifié de manière à pointer vers votre service de personnalisation sur le serveur :
Utilisez le chemin de votre classe à la place de la valeur de serviceClass (autrement dit, remplacez com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate par le chemin de votre classe). Par exemple :
<Service context="default"
name="com.ptc.windchill.uwgm.proesrv.c11n.ModeledAttributesDele
gate" targetFile=codebase/service.properties">
<Option cardinality="singleton"
requestor="java.lang.Object"
serviceClass="com.acme.download.CustomizedModeledAttributesDelegate"/>
</Service>
Utilisez l'outil xconfmanager pour appliquer les modifications au fichier service.properties (exécutez xconfmanager -p).
3. Relancez le serveur de méthodes.
Est-ce que cela a été utile ?