Fonctionnalités de gestion des données > Gestion des modifications > Administration de la gestion des modifications > Conversion d'un attribut de texte enrichi en attribut de texte simple
  
Conversion d'un attribut de texte enrichi en attribut de texte simple
Comme l'éditeur de texte enrichi a été introduit dans Windchill 11.1 F000, tout lot d'objet de modification exporté vers Windchill 11.0 M030 exclut les attributs de texte enrichi, par exemple longDescription, longProposedSolution et longReason. Toutefois, vous pouvez personnaliser le système source pour convertir les attributs de texte enrichi exportés à partir de la source en attributs de texte simple. La personnalisation supprime les attributs existants : description, proposedSolution et reason. Elle convertit les attributs : longDescription en description, longReason en reason, et longProposedSolution en proposedSolution. Par conséquent, les valeurs de texte enrichi sont converties en valeurs de texte simple.
Pour effectuer la personnalisation, procédez comme suit :
1. En fonction du type d'objet de modification, accédez au fichier respectif à partir de ce chemin : <WT_HOME>\codebase\registry\XSLRepo\11.0.M030 :
WTChangeActivity2.xsl
WTChangeIssue.xsl
WTChangeOrder2.xsl
WTChangeRequest2.xsl
WTVariance.xsl
* 
Dans cet exemple, nous utilisons le fichier WTChangeIssue.xsl.
2. Ajoutez les lignes de code suivantes dans le fichier :
a. Pour supprimer l'attribut description existant :
<xsl:template match="WTChangeIssue/description"></xsl:template>
b. Pour remplacer l'attribut longDescription par description :
<xsl:template match="WTChangeIssue/longDescription">
<description>
<xsl:call-template name="plainTextFilter" />
</description>
</xsl:template>
* 
Le code appelle également un modèle XSL nommé plainTextFilter, qui sera défini par la suite.
c. Pour importer le modèle plainTextFilter :
<xsl:import href="plainTextFilter.xsl" />
3. Créez un fichier nommé plainTextFilter.xsl à l'emplacement : <WT_HOME>\codebase\registry\XSLRepo\11.0.M030, puis ajoutez les lignes de code suivantes dans le fichier :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:filter="java:com.custom.text.conversion.PlainTextConverter" >
<xsl:template name="plainTextFilter">
<xsl:value-of select="filter:convertToPlainText(.)" disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
Ce faisant, la méthode convertToPlainText d'une classe personnalisée com.custom.text.conversion.PlainTextConverter est appelée. Cette méthode contient une valeur de chaîne de texte enrichi en tant que paramètre d'entrée et retourne une valeur de chaîne de texte simple.
4. Créez une classe nommée PlainTextConverter pour définir la classe personnalisée indiquée ci-dessus :
package com.custom.text.conversion;
import org.apache.commons.lang.StringEscapeUtils;
import com.ptc.core.richtext.HTMLText;
public class PlainTextConverter {
public static String convertToPlainText(String rawText) {
HTMLText htmlAttr;
String plainText = " ((null))";
try {
if (null != rawText && !rawText.isEmpty()) {
htmlAttr = HTMLText.newHTMLText(rawText);
plainText = htmlAttr.getPlainText();
plainText = StringEscapeUtils.escapeXml(plainText);
}
} catch (Exception exp) {
exp.printStackTrace();
}
return plainText;
}
}
* 
La classe doit être disponible dans le chemin de classe Windchill, par exemple <windchill_home>\codebase\com\custom\text\conversion.
Une fois que vous avez effectué les étapes décrites ci-dessus, le lot créé pour Windchill 11.0 M030 contient les attributs description, proposedSolution et reason avec des valeurs de texte simple converties à partir de texte enrichi.
Répétez l'étape 2 pour l'ensemble des objets de modification et des attributs de texte enrichi que vous souhaitez convertir.