Personalización de la efectividad de servicio
Utilice los pasos siguientes para añadir atributos y tipos personalizados de objetos de efectividad de servicio a la lista presentada en el menú desplegable Tipo del cuadro de diálogo Gestionar aplicabilidad y la ficha Efectividad de servicio del cuadro de diálogo Editar filtro.
1. Consulte el fichero de configuración:
codebase/com/ptc/arbortext/windchill/serviceEffectivityFilter
/server/serviceEffectivityConfig.xml
En este fichero se define una lista de atributos que corresponde con la lista de objetos disponibles para seleccionar en el menú Tipo para la configuración y el filtrado de la efectividad de servicio.
|
Antes de editar este fichero, añádalo al área segura de los ficheros personalizables para asegurarse de que no se sobrescriba durante una actualización o instalación posterior. Para obtener más información, consulte Setting Up a Directory Structure for Managing Customized Files and Text Tailoring en este centro de ayuda.
|
2. Consulte la utilidad
Gestión de tipos y atributos para obtener los nombres internos de los atributos que desee incluir. En esta utilidad se deben crear los nuevos atributos personalizados. Para obtener más información, consulte
Uso de la utilidad Gestión de tipos y atributos.
3. En serviceEffectivityConfig.xml, cree una entrada ServiceEffectivtyType con el formato siguiente para declarar el atributo:
<ServiceEffectivityType name="seLotNumber" renderer="com.ptc.arbortext.windchill.serviceEffectivityFilter.client.ui.
renderers.configTypes.DefaultCustomConfigType" effectivityType="com.ptc.arbortext.windchill.siscore.serviceeff.
ServiceEffectivity"/>
Donde, en este ejemplo:
◦ name es el nombre interno del atributo Efectividad de servicio. Debe coincidir con el nombre interno del atributo definido en Gestión de tipos y atributos.
◦ renderer es la clase Java que determina los campos que se muestran para el tipo y cómo deben gestionarse en la interfaz de usuario. Por defecto, se trata del tipo DefaultCustomConfigType genérico. Este creador de representaciones genera una visualización simple (el nombre mostrado del atributo y un campo de texto Value).
Se puede crear un creador de representaciones personalizado para implementar ServiceEffectivityConfigType y declararlo en este atributo.
El creador de representaciones también determina cómo se transfieren los atributos personalizados al filtro en el objeto JSON.
◦ effectivityType es el nombre interno del tipo de efectividad de servicio (objeto) en el que se ha creado el atributo personalizado. Puede ser un subtipo de ServiceEffectivity. Debe coincidir con el nombre interno del tipo definido en Gestión de tipos y atributos.
4. Vuelva al fichero serviceEffectivityConfig.xml y cree una entrada para el atributo en el contexto del tipo de objeto del nodo raíz de la estructura como, por ejemplo, WTPart. Esta entrada es necesaria para mostrar el atributo en el menú desplegable Tipo del objeto pertinente.
Cree una entrada csvalid para el elemento ServiceEffectivityInstance pertinente con el formato siguiente:
<csvalid serviceeffectivitytype="seLotNumber"/>
A continuación se muestra un ejemplo de una entrada completa de ServiceEffectivityInstance para WTPart:
<ServiceEffectivityInstance objectType="wt.part.WTPart,wt.part.WTPartMaster,wt.part.alternaterep.WTPartAlternateRep"
objectMaster="wt.part.WTPartMaster">
<csvalid serviceeffectivitytype="serialNumber"/>
<csvalid serviceeffectivitytype="date"/>
<csvalid serviceeffectivitytype="seLotNumber"/>
</ServiceEffectivityInstance>
Donde serialNumber y date son las entradas por defecto del fichero, y seLotNumber es el atributo personalizado.
|
El orden de las entradas csvalid de este fichero determina el orden de los tipos en los menús desplegables.
|
5. Guarde los cambios en serviceEffectivityConfig.xml según las convenciones descritas en Setting Up a Directory Structure for Managing Customized Files and Text Tailoring en este Centro de ayuda.
Para utilizar atributos personalizados eficazmente al filtrar por la efectividad de servicio, cree un delegado de filtro personalizado para controlar la comparación entre el objeto de filtro y los objetos de efectividad de servicio. Consulte
Creación de un delegado de filtro personalizado.
Creación de un delegado de filtro personalizado para los atributos de efectividad de servicio personalizados
En Windchill se proporciona un delegado para administrar atributos de efectividad de servicio al aplicar filtros (omita el salto de línea):
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
Este delegado se puede desestimar para proporcionar uno personalizado mediante una propiedad del servicio en Windchill:
1. Cree un fichero XCONF que contenga el nuevo valor adecuado para la propiedad:
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
El siguiente documento XML es un comando XCONF para gestionar objetos de efectividad de servicio al aplicar filtros:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configuration
SYSTEM "xconf.dtd">
<Configuration targetFile="codebase/typedservices.properties">
<Service context="default" name="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilterFactory">
<Option requestor="WCTYPE|com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivity"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"/>
</Service>
<Service context="default" name="wt.filter.NavigationFilterDelegate2">
<Option cardinality="singleton" requestor="null"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"
selector="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilter"/>
</Service>
</Configuration>
Cambie la referencia DefaultServiceEffectivityDelegate bajo el atributo serviceClass para reflejar el nuevo delegado personalizado.
2. Utilice la utilidad xconfmanager para actualizar las propiedades de los servicios Windchill. El siguiente comando permite registrar el fichero nuevo y su contenido:
xconfmanager -i codebase/custom/myServiceXconfFile.properties.xconf -p