Registrar un widget de Commerce Composer

Utilice el programa de utilidad de carga de datos para registrar el widget en la infraestructura de Commerce Composer y suscriba la tienda al widget.

Antes de empezar

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

  • Para poder utilizar el widget personalizado en la herramienta Commerce Composer, debe registrar el widget con la infraestructura de Commerce Composer. La infraestructura mantiene un solo registro, que incluye todos los widgets registrados y las tiendas que pueden utilizar los widgets en páginas. Para registrar un widget, utilice el programa de utilidad de carga de datos para cargar el identificador de widget y la XML de definición en la tabla de base de datos PLWIDGETDEF.
  • Si el widget debe mostrar el contenido en varios idiomas, cargue la relación entre la descripción del widget que se almacena dentro de la tabla PLWIDGETDEF y el idioma de la información. Debe cargar esta información de relación en la tabla PLWIDGETDEFDESC. El idioma de la información de widget está asociado a una entrada en la tabla de base de datos LANGUAGE.
  • También debe suscribir una tienda al widget para poder utilizar el widget en un diseño de página para esa tienda. Use el programa de utilidad de carga de datos para cargar una suscripción de tienda en el widget. Esta relación de suscripción se almacena en la tabla de base de datos PLSTOREWIDGET.

Procedimiento

  1. Prepare el archivo de entrada de carga de datos que contiene la información de identificador, descriptiva y de definición correspondiente al widget personalizado.
    1. Vaya al directorio donde la Transformación JET ha generado los archivos de código fuente.

      workspace_dir\target_folder\DataLoad\widget

      Donde
      target_folder
      La carpeta o el proyecto especificado como valor para el parámetro targetFolder en el archivo XML de entrada de patrón. Si no ha especificado un valor para el parámetro targetFolder, la target_folder es la carpeta o el proyecto donde se encuentra el archivo XML de entrada de patrón.
    2. Abra el archivo registerWidgetDef.csv para editarlo. De forma predeterminada, el archivo CSV generado incluye información que se ha especificado en el archivo XML de entrada de patrón. La Transformación de JET utiliza el contenido del archivo de entrada de patrón para establecer valores para las columnas obligatorias en el archivo CSV.
      Para obtener información sobre las columnas en el archivo CSV generado y los datos que puede incluir para las columnas, consulte Archivo de entrada registerWidgetdef.
    3. Especifique si el widget va a ser un widget a nivel de sitio o a nivel de tienda. Si desea que el widget sea un widget a nivel de tienda, establezca el valor de la columna WidgetStoreUniqueID o WidgetStoreIdentifier en el archivo CSV de modo que sea el ID de la tienda. Si desea que el widget sea a nivel de sitio, no establezca un valor para ninguna de estas columnas. De forma predeterminada, la Transformación JET especifica el valor para establecer el widget como un widget a nivel de sitio.
    4. Opcional: Actualice el archivo CSV de modo que incluya todas las propiedades configurables adicionales que deben incluirse en el XML de definición de widget para el widget personalizado. El XML de definición de widget debe incluirse como el valor para la columna WidgetDefinitionXML en el archivo CSV.
      Para incluir más propiedades configurables para el widget, utilice el formato:
      <widget-property name="" required="" datatype=""/> 
      Donde
      name
      El nombre de la propiedad.
      required
      Identifica si la propiedad es obligatoria y debe tener un valor. Establezca el valor para este atributo en true si la propiedad debe tener un valor que esté establecido por un usuario.
      datatype
      El tipo de datos del valor que la propiedad espera establecer como valor. Por ejemplo, el tipo de datos puede ser String, Boolean o Integer.
      Por ejemplo,
      <widget-property name="storeId" required="false" datatype="java.lang.String"/> 

      Para cada propiedad configurable que establezca dentro del XML de definición, el objeto del Management Center y las definiciones de vista de propiedades del widget deberán dar soporte a las propiedades. Las definiciones de elementos de escaparate del widget también deben dar soporte al manejo o la visualización de los datos configurados que se devuelven. Para ver ejemplos de propiedades configurables que puede establecer para el widget, revise las propiedades configurables para los widgets que se proporcionan de forma predeterminada con HCL Commerce. Para obtener más información, consulte Propiedades de widget de Commerce Composer.

    5. Actualice el XML de definición dentro del CSV para que incluir el widget dentro de cualquier otro grupo de restricción de widgets.
      De forma predeterminada, el XML de definición incluye los grupos de restricción de widgets que se establecen para el widget durante la generación del código fuente. Utilice una lista separada por comas para incluir el widget dentro de más grupos de restricción de widgets. El XML de definición de un widget que se incluye dentro de dos grupos de restricción de widgets puede parecerse al siguiente código:
      <Definition>
        <widget-property name="widgetRestrictionGroups"> 
          <value>CategoryPage,CatalogEntryPage, AnyPage</value>
        </widget-property>
      </Definition>
    6. Opcional: Actualice el XML de definición de widget en el archivo CSV de modo que incluya todos los archivos de CSS, imágenes y JavaScript, o todas las propiedades predefinidas.
      Utilice el siguiente formato para establecer el valor para las propiedades o los archivos:
      <widget-property name="" value=""/> 
      Donde
      name
      Se trata del nombre de la propiedad predefinida o la declaración de inclusión para identificar el tipo de elemento que se está incluyendo. Por ejemplo, para incluir un archivo JavaScript, especifique _pgl:javaScriptInclude.
      valor
      El valor para las propiedades predefinidas, o la vía de acceso para el archivo de CSS, de imagen o JavaScript. Si está incluyendo elementos, puede especificar varios valores. Por ejemplo:
      <widget-property name="_pgl:javaScriptInclude">
          <value>${jsAssetsDir}javascript/Widgets/swipe.js</value> 
          <value>${staticAssetContextRoot}/Widgets/Common/javascript/Recommendation.js</value>
    7. Opcional: Si el widget debe manejar datos que no sean las propiedades que se almacenan en la tabla de base de datos de PLWIDGETNVP, especifique un gestor de widgets en el XML de definición de widget en el archivo CSV para manejar los datos.
      Un gestor de widgets maneja el almacenamiento persistente y la recuperación de datos de widgets ampliados distintos de las propiedades de widgets básicas. Puede utilizar un gestor de widgets para añadir cualquier lógica adicional al crear, actualizar o eliminar un widget. Por ejemplo, el widget de Enlaces incluye un Título de visualización cuando el widget se visualiza en una página de tienda. El Título de visualización es una pieza de contenido de marketing que se visualiza en el widget. Cuando un usuario del Management Center establece el contenido que se utiliza para el Título de visualización, debe utilizarse un gestor de widgets para guardar el valor. Para identificar un gestor de widgets, incluya el siguiente código en el XML de definición de widget:
      widget-manager j2ee element
      El valor para este elemento especifica la clase del gestor de widgets para un widget. Utilice el siguiente formato para establecer la clase del gestor de widgets:
        <widget-manager j2ee=""/> 
      Por ejemplo, el siguiente código especifica el gestor de widgets para el widget de Recomendación de contenido:
        <widget-manager j2ee="com.ibm.commerce.pagelayout.widget.management.impl.ContentRecommendationWidgetManager"/> 
      requireEMS property
      Si el widget requiere una Zona de e-Marketing para visualizar los datos que el widget genera, incluya esta propiedad. Por ejemplo, si el widget genera datos a través de una actividad de marketing, como las recomendaciones de entrada de catálogo o contenido, el widget debe utilizar una Zona de e-Marketing para visualizar los datos generados. Esta propiedad identifica que la infraestructura del Commerce Composer debe crear una Zona de e-Marketing para que el widget la utilice para mostrar datos. Utilice el siguiente código, con el valor de propiedad establecido en true, para crear una Zona de e-Marketing para el widget:
      <widget-property name="requireEMS"> 
        <value>true</value>    
      serializeActionPath property
      El valor de esta propiedad define la vía de acceso de acción dentro de archivo de configuración de Struts del widget personalizado. Si la vía de acceso de acción que especifique no existe, deberá añadir una entrada en el archivo de configuración de Struts para crear la vía de acceso de acción del widget. Este archivo de configuración de Struts correlaciona la vía de acceso de acción con una JSP. A continuación, el archivo SerializeLayoutWidget.jspf llama a este archivo JSP para manejar los datos de widget que no estén almacenados en la tabla PLWIDGETNVP. Utilice el siguiente formato para especificar la página de acción de serialización en el XML de definición:
      <widget-property name="serializeActionPath"> <value></value> 
      Por ejemplo, la vía de acceso de acción de serialización para el widget de Recomendación de contenido se especifica con la siguiente propiedad:
      <widget-property name="serializeActionPath"> 
        <value>SerializeLayoutWidget-ContentRecommendationWidget</value>

      Para obtener más información sobre el gestor de widgets, consulte Definir un gestor de widgets.

    8. Guarde el archivo.
      Como ejemplo para ayudarle a especificar el XML de definición para el widget, el siguiente código es el XML de definición del widget de cabecera que no contiene ninguna propiedad configurable. Este XML de definición define sólo los grupos de restricción de widgets que dentro de los cuales se incluye el widget de cabecera.
      <Definition>
        <widget-property name="widgetRestrictionGroups"> 
          <value>CategoryPage,CatalogEntryPage</value>
        </widget-property>
      </Definition>
      El siguiente código es el XML de definición para el widget de Recomendación de contenido, que da soporte a actividades web:
      <Definition>
        <widget-property name="widgetRestrictionGroups">
          <value>AnyPage,CatalogEntryPage,CategoryPage,SearchPage</value>
        </widget-property>
        <widget-manager j2ee="com.ibm.commerce.pagelayout.widget.management.impl.ContentRecommendationWidgetManager"/>
        <widget-property name="requireEMS">
          <value>true</value>
        </widget-property>
        <widget-property name="requireDefaultContent">
          <value>true</value>
        </widget-property>
        <widget-property name="serializeActionPath">
          <value>SerializeLayoutWidget-ContentRecommendationWidget</value>
        </widget-property>
        <widget-property name="emsName" required="false" datatype="java.lang.String"/>
        <widget-property name="widgetOrientation" >
          <value>horizontal</value>
        </widget-property>
        <widget-property name="pageSize">
          <value>4</value>
        </widget-property>
        <widget-property name="displayPreference">
          <value>1</value>
        </widget-property>
        <widget-property name="showFeed">
          <value>false</value>
        </widget-property>
        <widget-property name="_pgl:javaScriptInclude">
          <value>${staticAssetContextRoot}/Widgets/com.ibm.commerce.store.widgets.ContentRecommendation/javascript/video.js</value>
        </widget-property>
      </Definition>  
  2. Prepare el archivo de entrada de carga de datos que incluya la información para suscribir la tienda al widget personalizado.
    1. Vaya al directorio workspace_dir\target_folder\DataLoad\widget
    2. Abra el archivo subscribeWidgetDef.csv para editarlo. De forma predeterminada, el archivo CSV generado incluye la información especificada en el XML de entrada de patrón. La Transformación de JET utiliza el contenido del archivo de patrón para establecer valores para las columnas obligatorias en el archivo CSV.
      Para obtener información sobre las columnas en el archivo CSV generado y los datos que puede incluir para las columnas, consulte Archivo de entrada subscribeWidgetdef.
    3. Asegúrese de que el valor de la columna WidgetDefIdentifier es el identificador correcto para el widget. Este nombre debe coincidir con el valor de la columna WidgetDefIdentifier en el archivo registerWidgetdef.csv. De forma predeterminada, el valor de esta columna es el valor especificado para el parámetro del identificador en el archivo XML de entrada de patrón para la Transformación JET.
    4. Guarde el archivo.
  3. Configure el programa de utilidad de carga de datos para cargar la información de widget personalizado.
    La Transformación JET genera los archivos de configuración de carga de datos necesarios para cargar la información de suscripción y registro de widgets.
    1. Vaya al directorio workspace_dir\target_folder\DataLoad.
    2. Abra el archivo de configuración de entorno de carga de datos wc-dataload-env.xml para editarlo.
      El archivo configura las variables de entorno del programa de utilidad de carga de datos, tales como los valores de base de datos, el programa de resolución de ID y el grabador de datos.
    3. Actualice el archivo de modo que coincida con los valores de base de datos y entorno.
      Para obtener más información, consulte Configurar los valores de entorno de carga de datos. Puede especificar un valor para el identificador de tienda en este archivo o especificar el identificador de tienda al ejecutar el programa de utilidad de carga de datos para cargar los archivos CSV. El identificador de tienda se utiliza para identificar la tienda que se suscribe al widget. El identificador de tienda es sensible a las mayúsculas y minúsculas. Puede encontrar el valor del identificador de tienda dentro de la columna IDENTIFIER de la tabla de base de datos STOREENT.
    4. Guarde el archivo.
  4. Ejecute el programa de utilidad de carga de datos.
    1. En un programa de utilidad de línea de mandatos, vaya al directorio WCDE_installdir\bin.
    2. Ejecute el siguiente mandato para cargar los archivos de entrada para registrarse y suscribirse al widget:

      dataload.bat ..\workspace\target_folder\DataLoad\widget\wc-dataload-widget.xml

      Donde
      target_folder
      La carpeta o el proyecto especificado como valor para el parámetro targetFolder en el archivo XML de entrada de patrón. Si no ha especificado un valor para el parámetro targetFolder, la target_folder es la carpeta o el proyecto donde se encuentra el archivo XML de entrada de patrón. Si ha movido los archivos de entrada de carga de datos y de configuración generados, especifique la vía de acceso al directorio adecuada para el archivo de orden de carga de datos.
    3. Verifique los resultados de la carga de datos.
    Para obtener más información sobre cómo usar el programa de utilidad de carga de datos para cargar información de widget, consulte Ejemplo: Cargar widgets de Commerce Composer.