HCL Commerce Version 9.1.8.0

La tienda en vivo no muestra actualizaciones de índice de precios de sku

En un escaparate en vivo, las páginas almacenadas en memoria caché no se actualizan en el escaparate después de cambiar el precio y la reindexación de un código de artículo de producto, aunque la API REST muestra que han cambiado.

Problema

Un conjunto determinado de circunstancias puede dar lugar a un problema de almacenamiento en memoria caché con el escaparate en vivo:
  1. Usted o un cliente ha navegado por un conjunto de páginas de escaparate en vivo. Esto hace que estas páginas se almacenen en memoria caché para uso futuro.
  2. Puede cambiar el precio del código de artículo del producto de tales páginas almacenadas en memoria caché como una tarea de espacio de trabajo bajo el grupo de tareas publicación rápida en Management Center .
  3. La vista previa de la tienda muestra que las páginas se han actualizado correctamente para mostrar el nuevo precio. También lo hace la API REST, por ejemplo,
    http://server-address:server-port/search/resources/store/1/productview/byId/yourproductId
    donde server-address:server-port es el URL para el servidor de búsqueda y yourproductId es el identificador numérico para el producto.
  4. En el escaparate en vivo, vaya a la página de visualización de productos para yourproductId . Se sigue visualizando la información de precio del artículo antiguo (almacenado en memoria caché).

Causa

De forma predeterminada, MiFi está configurado con un procesador de invalidación que envía una solicitud de invalidación a la memoria caché para los elementos que se han cambiado. No obstante, no todas las tiendas utilizan dependencia los mismos ID para desencadenar la invalidación. Esto puede provocar que un mensaje de invalidación entrante no coincida con ningún ID esperado dentro de una tienda determinada. Estas solicitudes de invalidación no coincidentes se pierden.

Solución

Puede utilizar la API de actualización de Ingest para especificar que los ID de dependencia deben enviarse con un formato determinado y con determinados valores. Hacer esto requiere dos llamadas a la API de actualización.

  1. Llame para cambiar el formato de dependencia y los valores de Push-to-Live.
    PUT http://Ingest_Host:Ingest_Port/connectors
    BODY
    {
        "name": "push-to-live",
        "pipes": [
            {
                "name": "WorkspacePublishing",
                "label": "Workspace Fine Grain Invalidations",
                "properties": [
                    {
                        "name": "properties.Product Invalidation Template",
                        "value": "storeId:partNumber:{supportedStoreId}:{productPartNumber};storeId:partNumber:{supportedStoreId}:{partNumber};storeId:categoryId:{supportedStoreId}:{parentCategoryId}",
                        "scope": {
                            "name": "Workspace Publishing Invalidations.WorkspacePublishInvalidation",
                            "type": "PROCESSOR"
                        }
                    }
                ]
            }
        ]
    }
    
  2. Llame para cambiar el formato de dependencia y los valores de publicación rápida.
    PUT http://Ingest_Host:Ingest_Port/connectors
    BODY
    {
        "name": "auth.publish",
        "pipes": [
            {
                "name": "PublishWorkspaceChange",
                "label": "Workspace Approval",
                "properties": [
                    {
                        "name": "properties.Product Invalidation Template",
                        "value": "storeId:partNumber:{supportedStoreId}:{productPartNumber};storeId:partNumber:{supportedStoreId}:{partNumber};storeId:categoryId:{supportedStoreId}:{parentCategoryId}",
                        "scope": {
                            "name": "Workspace Publishing Invalidations.WorkspacePublishInvalidation",
                            "type": "PROCESSOR"
                        }
                    }
                ]
            }
        ]
    }
    

Con este cambio en la plantilla, las solicitudes de invalidación después de los cambios de precio de SKU ahora serán reconocidas y ejecutadas por todos los escaparates.