Archivos de configuración de tienda

La personalización y configuración de la tienda requiere modificar, o añadir y extender los archivos de configuración en el archivador web de tiendas personalizadas (Store server) en el crs-web.war. Las siguientes secciones muestran en detalle los archivos específicos, sus ubicaciones y sus funciones para la personalización de la tienda. Además, también se detalla el archivo de configuración en el Transaction server que es necesario modificar para el Store server.

Ubicaciones de archivos

La siguiente tabla se describe la ubicación de archivos fundamentales dentro del Store server y donde es necesario colocarlos para que sustituyan sus originales en el archivador web de tiendas ampliadas. Asegúrese de replicar la estructura de archivos jerárquica completa y de añadir el convenio de denominación -ext a los archivos personalizados.
Nota: El archivador empresarial de HCL Commerce (WC.ear) no está en el Store server. Hay un archivo empresarial crs.ear, que está en el archivador de tienda, que está disponible en el Store server. El archivador WC.ear es el archivador empresarial para el Transaction server.
Directorio original Directorio de extensión
crs-web.war/ crs-web.war/
crs.ear/ crs-web.war/

Archivos de configuración del servidor de tienda

HCL CommerceEnterprise Archive (WC.ear)
  • workspace_dir/WC/xml/config/com.ibm.commerce.foundation/wc-component.xml

    El archivo de configuración del componente de fundamento de HCL Commerce en el Transaction server. Para la tienda, esta configuración incluye variables que son necesarias para la invalidación de la memoria caché del escaparate, vista previa de tienda y para la representación de plantillas de correo electrónico (archivos JavaServer Page).

    <_config:configgrouping name="RemoteStoreConfiguration">
    <!-- value to remote store web host name -->
    <_config:property name="wc.store.remote.webHostName" value="host_name"/>
    <!-- value to remote store web host HTTP port number -->
    <_config:property name="wc.store.remote.webNonSSLPort" value="port"/>
    <!-- value to remote store web host HTTPS port number -->
    <_config:property name="wc.store.remote.webSSLPort" value="port"/>
    <!-- value to remote store context root -->
    <_config:property name="wc.store.remote.webContextPath" value="store_context_path"/>
    <!-- value to remote store preview context root -->
    <_config:property name="wc.store.remote.previewContextPath" value="preview_context_path"/>
    
    Donde:
    nombre_host
    Nombre de host del servidor web de la tienda. Se utiliza para la representación de plantillas de correo electrónico y la vista previa de tienda.
    port
    Número de puerto para el servidor web de tienda. Se utiliza para la representación de plantillas de correo electrónico y la vista previa de tienda.
    • El número de puerto no SSL predeterminado es 8080.
    • El número de puerto SSL predeterminado es 8443.
    vía_acceso_contexto_tienda
    La vía de acceso de contexto no de vista previa para páginas de tienda. Se utiliza para la representación de plantillas de correo electrónico. Puede determinar el contexto predeterminado al visualizar el contenido del archivo de configuración wc-store.xml en su Externalized Customization workspace. Este archivo se encuentra en el directorio crs\xml\config. Dentro del archivo, localice el elemento InstanceProperties/Websphere/WebModule. La vía de acceso de contexto predeterminada para las páginas de tienda se define en Module que tiene la propiedad name con un valor Stores. La vía de acceso de contexto predeterminada para las páginas de tienda es /webapp/remote/stores.
    vía_acceso_contexto_vista_previa
    La vía de acceso de contexto de vista previa de tienda para páginas de tienda. Se utiliza para la representación de vista previa de tienda. Puede determinar el contexto predeterminado al visualizar el contenido del archivo de configuración wc-store.xml en su Externalized Customization workspace. Este archivo se encuentra en el directorio crs\xml\config. Dentro del archivo, localice el elemento InstanceProperties/Websphere/WebModule. La vía de acceso de contexto de vista previa de tienda predeterminada está dentro del Module que tiene la propiedad namecon un valor Preview. La vía de acceso de contexto de vista previa predeterminada es /webapp/remote/preview.

Store serverEnterprise Archive (crs.ear)
  • crs.ear/xml/config/wc-store.xml
    Las siguientes secciones de este archivo son personalizables:
    • <config/InstanceProperties/WebSphere/WebModule>
    • <config/InstanceProperties/Instance>
    • <config/InstanceProperties/Instance@enableDialogActivity>
    • <config/InstanceProperties/WhiteListProtection>
    • <config/InstanceProperties/XSiteScriptingProtection>
    • <config/Components>
    • <config/NonEncryptedParameters>
    • <config/SEOConfiguration>
    • <config/DoubleClieckMonitoredCommands>
    Nota: enableDialogMarketing es la única opción de configuración personalizable que es exclusiva de HCL Commerce on Cloud. Esta característica se inhabilita de forma predeterminada. Cuando está habilitada, los sucesos de marketing se desencadenan a través del canal web. Esta característica permite al sistema de marketing en el Transaction server evaluar el comportamiento del usuario basándose en reglas de marketing.

    Para más información sobre estos valores y secciones personalizables, consulte Archivo de configuración del servidor de tienda (wc-store.xml).

archivador web de tiendas
  • crs-web.war/crs/xml/mapper/SEOUrlMapper.xml

    La configuración de formato de correlacionador de URL de SEO. Este archivo no es personalizable directamente. Si desea cambiar la configuración de formato de correlacionador de URL de SEO, debe cambiar el valor config/SEOConfiguration dentro de wc-store.xml. Para obtener más información sobre la construcción de URL compatibles con SEO, consulte Constructing SEO-friendly URLs by using pattern files en la documentación de HCL Commerce Version 9.

  • crs-web.war/WEB-INF/AliasConfig.xml

    La configuración de alias que utiliza el código de alias y el código bean de alias.

archivador web de tiendas
  • crs-web.war/WEB-INF/xml/config/bi/biConfig.xml

    La configuración de integración de Coremetrics. Puede modificarse directamente. Para obtener detalles sobre el archivo biConfig.xml y cómo actualizarlo, consulte Updating the biConfig.xml file en la documentación de HCL Commerce Version 9.

  • crs-web.war/crs/xml/config/wc-attribute-masking.xml

    La configuración de enmascaramiento para el registro. Puede modificarse directamente. Para obtener más información sobre el enmascaramiento en el registro, consulte Logging and tracing en la documentación de HCL Commerce Version 9.

  • crs-web.war/WEB-INF/xml/seo/stores/storeDir/SEOURLPatterns.xml
    Las configuraciones de patrones de URL de SEO. Puede modificarse directamente. Para obtener más información sobre la construcción de URL compatibles con SEO, consulte Constructing SEO-friendly URLs by using pattern files en la documentación de HCL Commerce Version 9.
    Nota: Los archivos SEOURLPatterns-ext.xml todavía pueden utilizarse para personalizar los patrones de URL de SEO. Sin embargo, el archivo SEOURLPatterns.xml predeterminado no se actualiza automáticamente durante una migración. Este archivo debe migrarse manualmente desde los nuevos releases.

Plantilla REST

Las plantillas REST definen formatos de petición para los servicios REST que se ejecutan con controladores Spring en el Store server. Cada controlador de acción llama a los servicios REST definidos en las plantillas REST para ejecutar la lógica de negocio. Los servicios REST que están definidos en las plantillas REST se agrupan por definiciones de recursos y cada definición de recurso se subdivide en definiciones de método:
  • Un recurso se caracteriza por una vía de acceso que es un prefijo URI que es común para un grupo de servicios REST.
  • Cada definición de método se caracteriza por la vía de acceso restante después de la vía de acceso de recurso en el URI completo de un servicio REST.
Cada recurso o método tiene un nombre. Un nombre de recurso y un nombre de método deben identificar de forma exclusiva un servicio REST. Para cada definición de método, hay una plantilla definida para componer una petición REST de los parámetros de una petición web. Para cada controlador de acción Spring, el nombre de recurso y el nombre de método del servicio REST que se va a ejecutar con este controlador está definido por una propiedad de la definición de este controlador en el archivo XML de configuración de Spring.
  • crs-web.war/WEB-INF/xml/config/componentDir/rest-template-config.xml

    Estos archivos contienen la configuración de plantilla REST para cada componente.

    El contenido de estos archivos aparece así:

    <resource path="{serverHost}/{contextPath}/store/{storeId}/loginidentity" name="loginIdentityHandler">
    <serverParam name="serverHost">$WCParam.serverHost</serverParam>
    <serverParam name="storeId">$WCParam.storeId</serverParam>
    …
    <method name="logonAndChangePassword" httpMethod="POST" path="">
    <template>
    <![CDATA[{"logonId" :
          "$logonId","logonPassword" :
          "$logonPasswordOld","logonPasswordNew" :
          "$logonPassword","logonPasswordVerify"
          : "$logonPasswordVerify"}]]>
    </template>
    </method>
    …
    </resource>
    Donde:
    resource
    El recurso REST.
    path
    El URL del recurso REST. La variable de este URL cambia dinámicamente. Por lo tanto, debe escribirse entre corchetes ('{}') y su valor se define con las entradas serverParam siguientes.
    name
    Nombre de recurso definido del servicio.
    serverParam
    Este elemento es un subelemento dentro de la etiqueta del recurso.

    Las variables que se utilizan en la vía de acceso del recurso. Las variables serverHost, contextPath e storeId se resuelven automáticamente en los valores del servidor de fondo HCL Commerce basándose en el esquema de petición actual y la modalidad de vista previa. Otros parámetros se obtienen de los parámetros de petición actual.

    method
    Este elemento es un subelemento dentro de la etiqueta del recurso.

    Definición del método.

    name
    Nombre del método definido. Junto con el nombre de recurso, se convierte en la propiedad de parámetro que está definida en la definición del controlador de acción. Por ejemplo, para este ejemplo de servicio, el parámetro es loginIdentityHandler.logonAndChangePassword.
    httpMethod
    El método HTTP para esta petición REST.
    path
    La parte de método del recurso REST del URL. Por ejemplo, la vía de acceso de método para el servicio /store/{storeId}/person/@self es @self. Si este parámetro se deja vacío, entonces el URL de la vía de acceso del recurso es el URL completo.
    plantilla
    Los valores de entrada necesarios en la petición REST en formato JSON. Para los servicios POST, PUT y DELETE, el cuerpo JSON está en este formato de plantilla. Para los servicios GET, las variables de la plantilla se añaden en el URL como parámetros de petición. Los valores de variable se encuentran en las propiedades de petición utilizando los valores de las plantillas sin símbolo de dólar como el nombre de propiedad de petición. Si un valor de variable no tiene el símbolo de dólar, el valor de la variable en la plantilla es el valor compuesto en la petición REST.
Nota: No es necesario configurar el formato de respuesta REST para la plantilla REST. El servidor de transacción configura el formato de respuesta.

Archivos de configuración de Spring

  • crs-web.war/WEB-INF/spring/storeDir/controllers.xmlimporta todos los demás archivos de definición de controlador.
  • crs-web.war/WEB-INF/spring/storeDir/views.xmlimporta todos los demás archivos de definición de vista.
Importante:
  • La mejor práctica recomendada es modificar estos archivos mediante el convenio de denominación -ext y utilizar identificadores de tienda en las entradas de controlador y vista.
  • Las entradas de Spring en controllers.xml y views.xml fuera de las carpetas de tienda individuales se aplican a todas las tiendas. Si estos archivos se modifican directamente, se añaden configuraciones delta a las carpetas de tienda de nuevas tiendas que se publicarán más adelante. Las configuraciones delta se utilizan porque los archivos que no son -ext no son compatibles con la tienda de inicio proporcionada predeterminada. Si personaliza la nueva tienda para que sea compatible con las configuraciones globales modificadas, puede eliminar estos archivos de configuración.