Personalizar la integración de canal de información web: Llenar un URL o su contenido con una tabla personalizada

Sin la personalización, los mediadores que se proporcionan con la función de integración de canal de integración web cargan datos únicamente en tablas de bases de datos específicas. Para cargar contenido en otras tablas, debe utilizar el mediador com.ibm.commerce.foundation.dataload.businessobjectmediator.TableObjectMediator durante el proceso de carga.

Sin la personalización, los mediadores que se proporcionan con la función de integración de canal de información web cargan datos en las tablas ATCHAST, ATCHTGT, ATCHREL y CMFILE. El contenido del URL, el origen del contenido, el título del contenido o el nombre de la correlación de canal de información pueden pasar al mediador TableObjectMediator.

Antes de empezar

Asegúrese de configurar el archivo de configuración de entorno del programa de utilidad de carga de datos.

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

Esta tarea muestra cómo configurar un archivo de configuración de objeto de negocio que puede utilizarse para llenar una tabla personalizada. En el archivo de configuración de objeto de negocio, debe configurar los valores para que el creador de objeto de negocio identifique las columnas de tabla que se van a llenar con datos durante el proceso de carga. También debe asegurarse de que todos los IDResolve están configurados.

Procedimiento

  1. Cree un archivo Web-feed-config.xml.
    1. Vaya al directorio siguiente:
      • WCDE_installdir\samples\DataLoad\Content\WebFeed
    2. Copie el archivo sample-Web-Feed-config.xml de ejemplo. Cambie el nombre de la copia del archivo.
      Por ejemplo, puede renombrar el archivo para que sea Web-Feed-config.xml.
      Nota: Puede pegar el archivo copiado en otro directorio. Para esta tarea, la vía de acceso para la ubicación del archivo copiado permanece en el directorio WebFeed. Si no pega el archivo copiado en un directorio distinto, actualice las vías de acceso en los siguientes pasos para utilizar la vía de acceso al archivo de configuración copiado.
    3. Abra el archivo para editarlo. Actualice el archivo de modo que satisfaga sus requisitos.
      Utilice el content:URLAttachment en el elemento config:content. Asegúrese de que el siguiente elemento se especifica dentro del archivo con el elemento generate establecido en "false":
      <config:dataLoadConfigFile generate="false" envFileLocation="envFile_Path">configFile_Path</config:dataLoadConfigFile>
      Donde
      envFile_Path
      La vía de acceso al archivo de configuración de entorno del programa de utilidad de carga de datos.
      configFile_Path
      La vía de acceso al archivo de configuración de carga de datos que se va a utilizar con el programa de utilidad de canal de información web.
    4. Guarde y cierre el archivo.

      Para obtener más información sobre cómo actualizar el archivo de ejemplo para crear su propio archivo de configuración del programa de utilidad de canal de información web, consulte Configurar el programa de utilidad de canal de información web.

  2. En un programa de utilidad de línea de mandatos, vaya al siguiente directorio:
    • LinuxWC_installdir/bin
    • HCL Commerce DeveloperWCDE_installdir\bin
  3. Ejecute el programa de utilidad webFeedLoad con la opción GenerateDataLoadConfigOnly:
    • Linux./webFeedLoad.sh ../samples/DataLoad/Content/Web-feed-config.xml -DGenerateDataLoadConfigOnly=true -Dwaspath=WC_ear -DlogFileWithTimestamp=true
    • HCL Commerce DeveloperwebFeedLoad.bat ..\samples\DataLoad\Content\Web-feed-config.xml -DGenerateDataLoadConfigOnly=true -DlogFileWithTimestamp=true
    Se genera un archivo wc-loader-URLAttachment.xml dentro del directorio especificado en Web-feed-config.xml para el archivo de configuración de orden de carga de datos. Por ejemplo, si el archivo Web-feed-config.xml especifica un directorio temp, el archivo wc-loader-URLAttachment.xml se puede generar en el siguiente directorio:
    • LinuxWC_installdir/samples/DataLoad/Content/WebFeed/temp/wc-loader-URLAttachment.xml
    • HCL Commerce DeveloperWCDE_installdir\samples\DataLoad\Content\WebFeed\temp\wc-loader-URLAttachment.xml
  4. Abra el archivo generado de configuración de objeto de negocio wc-loader-URLAttachment.xml para su edición. Añada un BusinessObjectBuilder para las tablas personalizadas en las que desee cargar datos con TableObjectMediator.
    Por ejemplo, si desea cargar datos en las bases de datos COLLDESC, ATCHREL y COLLATERAL, la configuración del creador de objeto de negocio puede parecerse al siguiente fragmento de código. Puede utilizar un enfoque parecido para cargar datos en otras tablas.
    <_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.TableObjectBuilder">
    <!-- 
    Table:   COLLATERAL
    Columns: COLLATERAL_ID,COLLTYPE_ID,STOREENT_ID,NAME
    -->
    <_config:Table name="COLLATERAL" >
     <_config:Column name="COLLATERAL_ID" value="CollateralId" valueFrom="IDResolve">
      <_config:IDResolve tableName="COLLATERAL" generateNewKey="true">
      </_config:IDResolve>
     </_config:Column>
     <_config:Column name="COLLTYPE_ID" value="1" valueFrom="fixed">
     </_config:Column>
     <_config:Column name="NAME" value="Name">
     </_config:Column>
     <_config:Column name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/>
    </_config:Table>
    
    <!-- 
    Table:   COLLDESC
    Columns: COLLATERAL_ID,LANGUAGE_ID
    -->
    <_config:Table name="COLLDESC" >
     <_config:Column name="COLLATERAL_ID" value="CollateralId" valueFrom="IDResolve">
      <_config:IDResolve tableName="COLLATERAL" primaryKeyColumnName="COLLATERAL_ID" >
       <_config:UniqueIndexColumn name="NAME" value="Name"/>
       <_config:UniqueIndexColumn name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/>
      </_config:IDResolve>
     </_config:Column>
     <_config:Column name="LANGUAGE_ID" value="langId" valueFrom="BusinessContext">
     </_config:Column>
    </_config:Table>
    
    <!--
    Table: ATCHREL
    Columns: OBJECT_ID, ATCHOBJTYP_ID, ATCHRLUS_ID, ATCHTGT_ID 
    -->
    <_config:Table name="ATCHREL" >
     <_config:Column name="ATCHREL_ID" value="AtchRelId" valueFrom="IDResolve">
      <_config:IDResolve tableName="ATCHREL" generateNewKey="true">
      </_config:IDResolve>
     </_config:Column>
     <_config:Column name="ATCHOBJTYP_ID" value="4" valueFrom="fixed">
     </_config:Column>
     <_config:Column name="ATCHRLUS_ID" value="0" valueFrom="fixed">
     </_config:Column>
     <_config:Column name="OBJECT_ID" value="CollateralId2" valueFrom="IDResolve">
      <_config:IDResolve tableName="COLLATERAL" primaryKeyColumnName="COLLATERAL_ID" >
       <_config:UniqueIndexColumn name="NAME" value="Name"/>
       <_config:UniqueIndexColumn name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/> 
      </_config:IDResolve>
     </_config:Column>
     <_config:Column name="ATCHTGT_ID" value="AttachmentId" valueFrom="IDResolve">
      <_config:IDResolve tableName="ATCHTGT" primaryKeyColumnName="ATCHTGT_ID" >
       <_config:UniqueIndexColumn name="IDENTIFIER" value="Category"/>
       <_config:UniqueIndexColumn name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/> 
       <_config:UniqueIndexColumn name="MEMBER_ID" value="storeOwnerId" valueFrom="BusinessContext"/> 
      </_config:IDResolve>
     </_config:Column>
    </_config:Table>
    
    <_config:BusinessObjectMediator className="com.ibm.commerce.foundation.dataload.businessobjectmediator.TableObjectMediator"/>
    </_config:BusinessObjectBuilder>
  5. Ejecute el programa de utilidad webFeedLoad sin la opción especificada GenerateDataLoadConfigOnly.
    • Linux./webFeedLoad.sh ../samples/DataLoad/Content/Web-feed-config.xml -Dwaspath=WC_ear -DlogFileWithTimestamp=true
    • HCL Commerce DeveloperwebFeedLoad.bat ..\samples\DataLoad\Content\Web-feed-config.xml -DlogFileWithTimestamp=true

Resultados

Las tablas de base de datos que se especifican en el archivo de configuración de objeto de negocio se llenan con los datos que ha cargado. En concreto, las tablas COLLATERAL y COLLDESC se llenan con contenido HTML. Cualquier otra tabla especificada se rellena con los datos adecuados.