HCL Commerce Version 9.1.12.0 or later

Poussez les personnalisations vers l'environnement de production

Une fois que vous avez activé l'indexation de magasin de ressources de catalogue (CAS) dans votre environnement de production, vous êtes prêt à pousser vos personnalisations vers l'environnement de production.

Before you begin

Pour créer la personnalisation dans NiFi suivez les étapes de personnalisation de la marge bénéficiaire dans l'environnement de création.

Procedure

  1. Déployez l'environnement opérationnel HCL Commerce en suivant les instructions dans la rubrique Déploiement de HCL Commerce version 9.1 à l'aide de Docker Compose (pour une utilisation hors production).
  2. Exécutez l'utilitaire stagingprop comme illustré ci-dessous dans le Utility server Docker container de l'environnement de création :
    ./stagingprop.sh -scope all -dbtype db2 -sourcedb source_db_server:db_port/db_name 
    -sourcedb_user AuthDbUsername -sourcedb_passwd AuthDbPassword -destdb dest_db_server:db_port/db_name -destdb_user LiveDbUsername 
    -destdb_passwd livedbpassword -trace 1
    Note: Pour plus d'informations, voir Utilitaire Stagingprop.
  3. Créez un connecteur à l'aide d'Ingest pour l'environnement opérationnel à l'aide du même processus que celui que vous avez utilisé dans l'environnement de création, comme décrit dans Créer un connecteur personnalisé à l'aide d'Ingest. Utilisez le contenu suivant.
     
    { 
        "name": "custom.live.cas", 
        "description": "This is the connector for the custom processing using CAS index model for LIVE", 
        "pipes": [ 
            { 
                "name": "ProfitMarginSchemaUpdateConnector" 
            }, 
            { 
                "name": "ProfitMarginDatabaseConnectorPipe", 
                "properties": [ 
                    { 
                        "name": "Database Driver Location(s)", 
                        "value": "${LIVE_JDBC_DRIVER_LOCATION}", 
                        "scope": { 
                            "name": "Database Connection Pool", 
    
                            "type": "CONTROLLER_SERVICE" 
                        } 
                    }, 
                    { 
                        "name": "Database Driver Class Name ", 
                        "value": "${LIVE_JDBC_DRIVER_CLASSNAME}", 
                        "scope": { 
                            "name": "Database Connection Pool", 
                            "type": "CONTROLLER_SERVICE" 
                        } 
                    }, 
                    { 
                        "name": "Database Connection URL", 
                        "value": "${LIVE_JDBC_URL}", 
                        "scope": { 
                            "name": "Database Connection Pool", 
                            "type": "CONTROLLER_SERVICE" 
                        } 
                    }, 
                    { 
                        "name": "Database User", 
                        "value": "${LIVE_JDBC_USER_NAME}", 
                        "scope": { 
                            "name": "Database Connection Pool", 
                            "type": "CONTROLLER_SERVICE" 
                        } 
                    }, 
                    { 
                        "name": "Password", 
                        "value": "${LIVE_JDBC_USER_PASSWORD}", 
                        "scope": { 
                            "name": "Database Connection Pool", 
                            "type": "CONTROLLER_SERVICE" 
                        } 
                    } 
                ] 
            }, 
            { 
                "name": "Terminal" 
            } 
        ] 
    } 
     
    Note:

    Pour obtenir des instructions sur la création de ProfitMarginSchemaUpdateConnector et de ProfitMarginDatabaseConnectorPipe, voir l'étape 13 sur Configurer le connecteur dans NiFi.

  4. Associez les groupes de processus personnalisés au connecteur.
    1. Ajoutez le groupe de processus custom.live.cas - ProfitMarginSchemaUpdateConnector avant le groupe de processus live.reindex.cas-Store, comme indiqué ci-dessous.

    2. Ajoutez le groupe de processus custom.live.cas – ProfitMarginDatabaseConnectorPipe avant live.reindex.cas - Envoyer le produit au groupe de processus Elasticsearch, comme indiqué ci-dessous.

  5. Utilisez la commande Push-to-live pour copier les valeurs AUTH Search Index et Profit Margin dans l'environnement opérationnel.
    POST: https://CommerceServerHostname:TransactionServerPort/wcs/resources/admin/index/dataImport/build?connectorId=push-to-live&storeId=catalogAssetStoreId 
    GET: https://CommerceServerHostname:TransactionServerPort/wcs/resources/admin/index/dataImport/status?jobStatusId=jobNumber 
  6. Vérifiez que la zone de marge bénéficiaire est indexée.
    1. A l'aide d'un client REST, exécutez la commande POST suivante pour vérifier que les données de l'index de recherche sont disponibles.
      GET: http://ElasticSearchServerName:ElasticSearchServerPort/live.catalogAssetStoreId.product/_search ?q=id.catentry:10001 
    2. Vérifiez que la zone de marge bénéficiaire est indexée à l'aide du contenu suivant.
                          "x_custom": { 
                              "x_profitMargin": 44.0 
                          } 
  7. Modifiez le mappage du nom de la zone de données utilisateur pour mapper la zone Marge bénéficiaire à une donnée utilisateur à l'aide de l'API de configuration.
    1. Redémarrez le service Query.
    2. Depuis le client REST, exécutez la commande suivante :
      POST: http://ElasticSearchHostname:ElasticSearchPort/search/resources/api/v2/configuration?nodeName=component&envType=envtype 
      envtype est auth si vous travaillez dans un environnement de création ou live si vous êtes dans un environnement de production.

      Utiliser l'authentification de base : username en tant que spiuser et password en tant que spiuserPassword.

      Note: Le mot de passe par défaut de l'utilisateur spiuser est passw0rd pour HCL Commerce 9.1.0.0 à 9.1.8.0 et QxV7uCk6RRiwvPVaa4wdD78jaHi2za8ssjneNMdu3vgqi pour HCL Commerce version 9.1.9.0 ou ultérieure.
      Utilisez le code suivant pour le corps de la requête.
      { 
          "valuemappingservice": { 
              "valuemapping": [ 
                  { 
                      "internalName": "CatalogEntryUserDataFieldNameMapping", 
                      "externalName": "CatalogEntryUserDataFieldNameMapping", 
                      "valuemap": [ 
                          { 
                              "externalValue": "ProfitMargin", 
                              "internalValue": "x_custom.x_profitMargin" 
                          } 
                      ] 
                  } 
              ] 
          } 
      } 
    3. Redémarrez le service Query.
  8. Modifier le magasin pour afficher la marge bénéficiaire dans l'aperçu du magasin .
  9. Vérifier que la marge bénéficiaire est visible dans l'aperçu du magasin de l'environnement de production en suivant les instructions de Test de la personnalisation.