HCL Commerce Enterprise

Habilitar el control de cambios para una parte de nombre

En los casos en los que el nombre se puede dividir en partes que se pueden modificar de forma independiente, la información de control de cambios también puede ser independiente. Los mediadores de partes se pueden registrar en mediadores de control de cambios que gestionan la parte de nombre al ampliar el archivo wc-business-object-mediator.xml.

Nota: El archivo wc-business-object-mediator.xml no se puede ampliar para personalizar el mediador de componentes.

Antes de empezar

  1. Habilitar el soporte de espacios de trabajo para una tabla personalizada en un módulo de servicio BOD de HCL Commerce existente
  2. Habilitar el control de cambios para un nombre

Por qué y cuándo se efectúa esta tarea

Una parte de nombre cambiada heredará la información de control de cambios del nombre padre de forma predeterminada. No obstante, si dicha parte se ha configurado de forma explícita para tener control de cambios independiente, se utiliza un registro CMMETADATA separado para gestionar la información de control de cambios para dicha parte del nombre.

Para configurar el control de cambios en una parte específica de un nombre:

Procedimiento

  1. Inicie HCL Commerce Developer.
  2. Identifique el archivo de configuración de mediador de objetos de negocio donde configurará esta parte de nombre. En la mayoría de los casos, habrá creado el archivo siguiendo los pasos indicados en el apartado Habilitar el control de cambios para un nombre. No obstante, si está habilitando un control de cambios adicional para una parte de nombre que forma parte de un nombre de HCL Commerce predeterminado que ya está configurado en los archivos de configuración predeterminados, necesita crear un archivo nuevo para las extensiones.
    1. Determine la ubicación correcta del archivo de configuración con el que desea trabajar, basándose en los criterios siguientes:
      • Si habilita un control de cambios para una parte de nombre que forma parte de un módulo de servicio de HCL Commerce predeterminado, Haga clic en el botón derecho del ratón en la carpeta WC\config\com.ibm.commerce.myservicemodulename-ext.
      • Si habilita un control de cambios para una parte de nombre que forma parte de un módulo de servicio personalizado, Haga clic en el botón derecho del ratón en la carpeta WC\config\com.ibm.commerce.myservicemodulename.
    2. Si wc-business-object-mediator.xml no existe en ese directorio, seleccione Nuevo > Otros > XML > XML > Siguiente. Si el archivo ya existe, continúe con el paso siguiente.
    3. Seleccione Crear un archivo XML desde cero.
    4. Haga clic en Siguiente.
    5. Llame al archivo: wc-business-object-mediator.xml.
    6. Haga clic en Finalizar.
  3. Los mediadores para un nombre están definidos en el elemento <_config:object> para el nombre. En extensiones a configuraciones de mediadores de objetos de negocio existentes, necesitará copiar este elemento con objeto de añadir mediadores para nombres y partes de nombres. En muchas personalizaciones, este archivo (y el elemento <_config:object> adecuado) ya se habrán generado automáticamente como parte de la ejecución del asistente de Capa de servicios de datos. No debe modificar nunca los archivos de configuración de mediador de objetos de negocio de HCL Commerce, puesto que se pueden sobrescribir cuando aplique actualizaciones a HCL Commerce.
  4. Los mediadores para un nombre están definidos en el elemento <_config:mediator> para el mediador de nombre. En extensiones a configuraciones de mediador de objeto de negocio existentes, necesitará copiar este elemento con objeto de añadir mediadores para partes de nombres. En muchas personalizaciones, este archivo (y el elemento <_config:mediator> adecuado) ya se habrán generado automáticamente como parte de la ejecución del asistente de Capa de servicios de datos.
  5. Añada un elemento <_config:part-mediator> para el elemento <_config:mediator>. Establezca el atributo interfaceName en com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.BusinessObjectMediator. Puesto que la implementación de mediador de parte está acoplada con la implementación de mediador de control de cambios para el nombre, no es necesaria ninguna interfaz exclusiva.

    Por ejemplo:

    <_config:part-mediator interfaceName="com.ibm.commerce.foundation.server.services.dataaccess.bom.mediator.BusinessObjectMediator">
    
  6. Cree un elemento <_config:part-mediator-implementation> con una className de com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectPartMediatorImpl. Esta es la implementación del mediador de parte que el mediador de control de cambios está esperando y del que depende. Cualquier mediador de parte de control de cambios debe ser esta clase o una subclase de esta clase.
    Por ejemplo:
    		<_config:part-mediator-implementation className="com.ibm.commerce.context.content.locking.ChangeControlBusinessObjectPartMediatorImpl">
    
  7. Añada un elemento <_config:mediator-properties> y, en éste, elementos <_config:mediator-property> para la implementación de mediador de parte. Se suministran una explicación de los valores y un conjunto de ejemplo de elementos de configuración:
    objectPath
    Una propiedad obligatoria que identifica la parte de nombre a la que está aplicando el control de cambios. El valor es la expresión de XPath que apunta a la parte del nombre.
    uniqueIDProperty
    La propiedad del nombre que resuelve el identificador. Establezca este valor en uniqueID. Se trata del valor que se encuentra en la columna BOKEY1 de la tabla CMMETADATA.
    resourceManagerId
    resourceManagerId es una propiedad obligatoria que es el valor utilizado en la columna CMRESMGR_ID de la tabla CMMETADATA. El ID del gestor de recursos debe ser un gestor de recursos definido (que se correlaciona con una tabla), para el módulo de servicio, que se encuentra en uno de los archivos siguientes:
    • HCL Commerce Developer workspace_dir\wc\xml\content-management\ servicemodulename.resource-managers.xml
    • WC_installdir\wc.ear\xml\content-management\servicemodulename.resource-managers.xml
    • HCL Commerce Developerworkspace_dir\wc\xml\content-management\servicemodulename.resource-managers-ext.xml
    • WC_installdir\wc.ear\xml\content-management\servicemodulename.resource-managers-ext.xml

    Defina el resourceManagerId cuando ejecute los pasos en Habilitar el soporte de espacios de trabajo para una tabla personalizada en un módulo de servicio BOD de HCL Commerce existente.

    La muestra de código siguiente muestra una definición completa:
    			 <_config:mediator-properties>
    			 	<_config:mediator-property name="objectPath" value="Association"/>
    			 	<_config:mediator-property name="uniqueIDProperty" value="uniqueID"/>
    			 	<_config:mediator-property name="resourceManagerId" value="18"/>
    			 </_config:mediator-properties>
    
  8. Opcional: Se pueden especificar propiedades adicionales de la mediación de parte de control de cambios:
    1. Se puede especificar una uniqueIDProperty para indicar la propiedad del objeto que indica el valor que se almacena en la columna BOKEY2 de la tabla CMMETADATA. Especifique esta propiedad si la propiedad de objeto es una lista y cada elemento de la lista tiene información de control de cambios separada asociada a éste. Si la lista completa comparte la misma información de control de cambios, esta propiedad no es obligatoria.