HCL Commerce Enterprise

Habilitar el soporte de espacios de trabajo para una tabla personalizada en un módulo de servicio BOD de HCL Commerce existente

Añadir soporte de espacios de trabajo a una tabla de contenido gestionado personalizada consiste en crear un archivo XML para identificar la tabla o tablas que se gestionan y ejecutar el script UpdateWorkspaceSchema existente para crear las tablas en todos los espacios de trabajo.

Antes de empezar

Un aspecto clave de la habilitación del soporte de espacios de trabajo es clasificar los datos como elementos de contenido gestionado o elementos operativos gestionados. La diferencia entre datos de contenido y operativos se trata con todo detalle en el apartado Modelo de datos de espacios de trabajo. Debe comprender si las tablas que desea gestionar utilizando espacios de trabajo son de contenido u operativas antes de realizar esta tarea.

Procedimiento

  1. Si no lo ha creado todavía, cree un archivo XML de gestor de recursos para contener las personalizaciones de espacios de trabajo. Realice uno de los subpasos siguientes:
    1. Para un módulo de servicio de HCL Commerce, no modifique el archivo de gestores de recursos predeterminado. Cree un archivo que contenga "-ext" en el nombre:
      • HCL Commerce Developerworkspace_dir\wc\xml\content-management\servicemodulename.resource-managers-ext.xml
    2. Para un módulo de servicio personalizado que haya creado, cree el archivo siguiente:
      • HCL Commerce Developerworkspace_dir\wc\xml\content-management\ servicemodulename.resource-managers.xml
  2. Abra el archivo en un editor de texto o de XML y añada las líneas siguientes para empezar el archivo:
    <wc:ResourceContainer xmlns:wc="http://www.ibm.com/xmlns/prod/WebSphereCommerce" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.ibm.com/xmlns/prod/WebSphereCommerce xsd/wc-resource-managers.xsd">
    
    <wc:Definition id="10001" name="MyServiceModuleNameResourceContainer" 
    className="com.ibm.commerce.context.content.resources.DSLResourceContainer">
    </wc:Definition> 

    El elemento wc:Definition define el contenedor de recursos que el módulo de servicio utiliza. Todos los módulos de servicio BOD utilizan className="com.ibm.commerce.context.content.resources.DSLResourceContainer" como se muestra en el ejemplo. El único valor que debe cambiar del XML de ejemplo es id. El valor de id es un entero exclusivo, no utilizado anteriormente por HCL Commerce u otras personalizaciones de espacios de trabajo. IBM se reserva los valores comprendidos entre 1 y 9999. Utilice un valor por encima de 10000.

  3. Para añadir soporte de espacios de trabajo para una tabla gestionada por contenido, añada líneas similares al ejemplo siguiente en el archivo:
    <wc:ManagedResources>
    	
    	<wc:ManagedResource id="1" name="STORE" resource="STORE" resourceClassName="" 
    		resourceManagerClassName="com.ibm.commerce.context.content.resources.DSLResourceManager" managed="true" resourceKeys="STORE_ID">
    		<wc:RelatedManagedResource resourceContainer="TutorialStoreResourceContainer" managedResource="STOREENT"/>
    	</wc:ManagedResource>
    	
    	<wc:ManagedResource id="2" name="STOREENT" resource="STOREENT" resourceClassName="" 
    		resourceManagerClassName="com.ibm.commerce.context.content.resources.DSLResourceManager" managed="true" resourceKeys="STOREENT_ID">
    	</wc:ManagedResource>
    	
    	<wc:ManagedResource id="3" name="STOREENTDS" resource="STOREENTDS" resourceClassName="" 
    		resourceManagerClassName="com.ibm.commerce.context.content.resources.DSLResourceManager" managed="true" resourceKeys="LANGUAGE_ID,STOREENT_ID">	
    		<wc:RelatedManagedResource resourceContainer="TutorialStoreResourceContainer" managedResource="STOREENT"/>
    	</wc:ManagedResource>	
    		
    	<wc:ManagedResource id="4" name="STORELANG" resource="STORELANG" resourceClassName="" 
    		resourceManagerClassName="com.ibm.commerce.context.content.resources.DSLResourceManager" managed="true" resourceKeys="STOREENT_ID">
    		<wc:RelatedManagedResource resourceContainer="TutorialStoreResourceContainer" managedResource="STOREENT"/>		
    	</wc:ManagedResource>
    Notes:
    • El contenedor de recursos es el nombre del contenedor que define el recurso relacionado. El contenedor de recursos se lista en el elemento de definición. Por ejemplo:
      <wc:Definition 
      		id="100" 
      		name="TutorialStoreResourceContainer" 
      		className="com.ibm.commerce.context.content.resources.DSLResourceContainer"/>
    • Es necesario un elemento de recurso gestionado para cada tabla gestionada por contenido.
    • El elemento de recurso gestionado relacionado relaciona un recurso con otro recurso. En el ejemplo, las tablas STORE, STOREENTDS y STORELANG están relacionadas con la tabla STOREENT. Si una entrada en la tabla STOREENT está bloqueada, los datos relacionados en las otras tres tablas también están bloqueados.
    • Los ID de recurso gestionado son exclusivos para cada contenedor de recursos. No obstante, para los casos en los que añade recursos gestionados a un contenedor de recursos de HCL Commerce existente, se recomienda utilizar valores superiores a 10000, para evitar posibles colisiones.
    • El atributo resourceClassName se establece siempre en una serie vacía para las implementaciones basadas en la Capa de servicios de datos. Este atributo solo lo utilizan los espacios de trabajo de HCL Commerce Accelerator.
    • resourceKeys es una lista separada por comas de las columnas que comprenden la clave primaria de la tabla. Por ejemplo, resourceKeys="LANGUAGE_ID,STOREENT_ID".
  4. Añada líneas similares al ejemplo siguiente para cada tabla operativa que desee añadir a espacios de trabajo:
    <wc:OperationalResources>
     <wc:OperationalResource name="DMACTATTR" resourceClassName="" managed="true" resource="DMACTATTR"/>   
     <wc:OperationalResource name="DMELESTATS" resourceClassName="" managed="true" resource="DMELESTATS"/>   
     <wc:OperationalResource name="DMTRIGSND" resourceClassName="" managed="true" resource="DMTRIGSND"/>   
     <wc:OperationalResource name="DMUSERBHVR" resourceClassName="" managed="true" resource="DMUSERBHVR"/>   
     <wc:OperationalResource name="DMEMSPOTSTATS" resourceClassName="" managed="true" resource="DMEMSPOTSTATS"/>   
    </wc:OperationalResources>
  5. Cierre el archivo con las líneas siguientes:
    		<wc:PublishRequest uniqueTransaction="false"/>
    	</wc:ResourceContainer>
    
    Nota: El elemento <wc:PublishRequest> se utiliza para indicar si se han de mantener las transacciones para este archivo completo (el contenedor de recursos) separadas de las otras cuando se publica un espacio de trabajo. Si se establece en true, las transacciones para este resourceContainer se publicarán por separado. Si se establece en false, las transacciones se agruparán para todos los resourceContainers.
  6. Ejecute Destinos ANT: CM_updateWorkspacesSchema para actualizar espacios de trabajo, utilizando la configuración que acaba de proporcionar.