Meilleures pratiques pour le chargement de données de catalogue

Les meilleures pratiques suivantes sont recommandées lorsque vous vous servez de l'utilitaire de chargement de données pour charger des données de catalogue.

Informations générales

Veillez à charger les objets de catalogue, de catégorie et d'entrée de catalogue dans le magasin qui possède les objets.Lorsque vous vous servez de l'utilitaire de chargement de données pour charger des entrées de catalogue, de catégorie ou d'entrée de catalogue, veillez à spécifier le magasin qui possède ces objets. Spécifiez cette appartenance dans le fichier de configuration de l'ordre de chargement de données. Lorsque l'utilitaire de données crée, remplace ou supprime un objet, l'identificateur de propriétaire de magasin est utilisé pour résoudre l'identité de l'objet. Ensuite, il exécute l'opération demandée.

Catalogue

Initialisez le dictionnaire d'attributs. Le modèle d'attribut du dictionnaire d'attributs est plus efficace que l'attribution d'attributs spécifiques à chaque produit. Le dictionnaire d'attributs facilite le partage des données et monopolise moins de lignes dans la base de données. Spécifiez l'utilisation de ce dictionnaire dans le fichier de configuration de chargement de données.
<_config:property name="initAttributeDictionary" value="true" />

Entrée de catalogue

Utilisez le médiateur approprié. CatalogEntryMediator est assez général pour charger des entrées de catalogue, leurs descriptions, les relations, les prix, les codes de calcul, les attributs, les données d'optimisation pour les moteurs de recherche et d'autres informations liées dans un fichier d'entrée. Toutefois, si vous chargez seulement une partie spécifique des informations, par exemple la description, utilisez CatalogEntryDescriptionMediator. Les médiateurs spécifiques sont plus précis et efficaces.

Servez-vous de l'utilitaire de chargement de données en mode mise à jour pour charger les modifications mineures apportées aux entrées de catalogue et à leurs descriptions.Vous pouvez vous servir de l'utilitaire de chargement de données en mode mise à jour pour ne charger que des informations d'entrée de catalogue et de description d'entrée de catalogue. En mode mise à jour, l'utilitaire compare les données d'entrée de catalogue qui se trouvent dans le fichier d'entrée aux données correspondantes pour les entrées de catalogue dans la base de données. Ensuite, il remplace ou ajoute des données uniquement pour les colonnes qui sont spécifiées dans le fichier d'entrée. Les autres colonnes restent inchangées. Pour plus d'informations sur la configuration et l'exécution de l'utilitaire de chargement de données en mode mise à jour, voir Scénario : Chargement de mise à jour d'entrée de catalogue.

Servez-vous de l'utilitaire de chargement de données afin de charger des informations d'optimisation pour les moteurs de recherche pour les entrées de catalogue. Si votre site utilise l'optimisation pour les moteurs de recherche et prévoit de charger des adresses URL d'optimisation pour les moteurs de recherche avec l'utilitaire de chargement de données, vous devez inclure le paramètre loadSEO associé à la valeur "true". Ce paramètre doit être défini dans le fichier de configuration de l'ordre de chargement des données au format suivant :
<_config:property name="loadSEO" value="true"/>
Lorsque vous exécutez l'utilitaire afin de charger des informations d'optimisation pour les moteurs de recherche, vous devez inclure le paramètre Dinstance et une valeur pour identifier votre instance. Assurez-vous que les fichiers pour l'instance que vous spécifiez se trouvent dans le répertoire utilities_root/instances/instance_name et que vous y avez accès. Lorsque l'optimisation pour les moteurs de recherche est activée initialement pour un magasin, l'utilitaire seourlkeywordgen est utilisé pour générer des adresses URL d'optimisation pour les moteurs de recherche et des mots clés pour votre magasin. Toutefois, après cette génération initiale des adresses URL d'optimisation pour les moteurs de recherche et des mots clés, servez-vous de l'utilitaire de chargement de données avec le paramètre loadSEO activé afin de charger des informations d'URL d'optimisation pour les moteurs de recherche au lieu de réexécuter l'utilitaire seourlkeywordgen. Pour que vous puissiez charger les informations liées à l'optimisation pour les moteurs de recherche lorsque vous chargez des données d'entrée de catalogue avec l'utilitaire de chargement de données, vos fichiers d'entrée doivent comporter les informations d'optimisation pour les moteurs de recherche conjointement aux données de catalogue. Pour plus d'informations sur la façon de structurer vos fichiers d'entrée pour les entrées de catalogue de sorte qu'ils incluent des informations d'optimisation pour les moteurs de recherche, voir CatalogEntrySEO.
Remarque : lorsque vous définissez une valeur à charger dans la colonne de base de données SEOURLKEYWORD.URLKEYWORD pour une entrée de catalogue, veillez à ce qu'elle ne contienne pas de caractère non valide. La liste des caractères non valides pour un mot clé d'adresse URL d'optimisation pour les moteurs de recherche est configurée avec la propriété invalidURLCharactersList dans le fichier de configuration de composant d'infrastructure (wc-admin-component.xml). Pour plus d'informations sur cette propriété, voir Propriétés de configuration dans le composant d'infrastructure.

Servez-vous de l'utilitaire de chargement de données pour créer un produit parent avant de charger l'UGS enfant.Vous pouvez utiliser le chargement d'entrée de catalogue pour créer le produit parent alors que vous créez les UGS enfant. Pour améliorer les performances, il est préférable d'utiliser le chargement de données pour charger le produit parent spécifique avant de charger les SKU enfant. En chargeant le produit parent avant de charger les UGS enfant, vous pouvez ignorer la tâche de mise en cache des produits parent et de leurs attributs liés.

Supprimez l'ancienne relation à la catégorie parent avant de déplacer une entrée de catalogue dans une autre catégorie parent. Pour déplacer une entrée de catalogue d'une catégorie parent à une autre, vous devez d'abord supprimer l'ancienne relation parent-enfant. Vous pouvez alors créer une relation. Par exemple, pour déplacer l'entrée de catalogue avec le numéro de référence "Test-PN-10001" depuis la catégorie "Accessoire" vers la catégorie "Pantalons", deux enregistrements sont nécessaires dans le fichier d'entrée :
PartNumber,ParentGroupIdentifier,Sequence,Delete
Test-PN-10001,Accessory,2,1
Test-PN-10001,Pants,1,0
La deuxième ligne supprime l'ancienne relation et la troisième ligne ajoute la nouvelle relation parent-enfant. Configuration de l'utilitaire de chargement de données pour ce scénario :
<_config:mapping xpath="CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" />
<_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier"  /> 

Spécifiez les types de relation lors du chargement des entrées de catalogue enfant dans des relations d'offre groupée ou de kit. Lorsque vous chargez des entrées de catalogue enfant dans des relations d'offre groupée ou de kit, le type de relation constitue une zone facultative du fichier d'entrée. Cependant, vous pouvez indiquer cette zone dans le fichier d'entrée afin d'optimiser les performances du chargement de données. Si cette zone n'est pas renseignée, l'utilitaire de chargement de données extrait le type de l'entrée de catalogue depuis la base de données. Le type de relation correspondant est créé en fonction du type de l'entrée de catalogue.

Utilisez l'option de marquage pour suppression lorsque vous supprimez une entrée de catalogue. Le comportement par défaut pour supprimer une entrée de catalogue est de marquer celle-ci pour sa suppression. Ce comportement signifie que l'indicateur de marquage pour suppression de cette entrée de catalogue dans la base de données a pour valeur '1'. L'entrée de catalogue n'est pas supprimée physiquement de la base de données. Bien que vous puissiez modifier cette option de suppression par défaut afin de supprimer physiquement l'entrée de catalogue, il est recommandé d'utiliser l'option de marquage pour suppression par défaut. Cette marque par défaut permet de garantir que les articles de la commande qui font référence à cette entrée de catalogue supprimée ne sont pas retirées suite à la suppression en cascade dans la base de données.

HCL Commerce EnterpriseNe chargez pas d'entrée de catalogue dans un magasin de site étendu avec des références qui dupliquent des références d'entrée de catalogue héritées.Lorsque vous chargez de nouvelles entrées de catalogue dans un magasin de site étendu, vos nouvelles entrées de catalogue peuvent comporter des références qui constituent des doublons des références d'entrées de catalogue héritées. Une entrée de catalogue de magasin de site étendu et une entrée de catalogue de magasin de ressources de catalogue peuvent avoir la même référence car les entrées de catalogue appartiennent à des magasins différents. S'il existe des références en double, les fonctions de magasin qui extraient les entrées de catalogue en fonction de la référence seulement peuvent se comporter de façon inattendue ou générer une erreur. Par exemple, si une fonction de magasin utilise la référence pour extraire une seule entrée de catalogue mais trouve deux entrées de catalogue possédant la même référence, une erreur peut survenir. Veillez à ce que les références des entrées de catalogue que vous chargez n'existent pas pour des entrées de catalogue héritées. Si votre magasin de site étendu n'inclut pas de référence en double, vous pouvez utiliser l'outil Catalogues afin de changer les références pour vos entrées de catalogue de magasin de site étendu.

Supprimez l'entrée de catalogue afin de supprimer les données UserData. Pour supprimer des données utilisateur (UserData), supprimez complètement l'entrée de catalogue qui les contient. Vous pouvez également charger des zones vides dans les tables UserData.

Eviter les dépendances circulaires

Les catégories peuvent être définies avec une relation parent-enfant dans le catalogue. Par exemple, "Eclairages" peut être un parent de "Ampoules", "Ampoules" peut à son tour être un parent de "Eclairages festifs", etc. Dans cette hiérarchie, si "Eclairages" est ajouté en tant qu'enfant de "Ampoules" ou "Eclairages nocturnes" ou en tant qu'enfant de l'une des catégories plus bas dans la même hiérarchie, il crée une dépendance circulaire dans les données. Lors du chargement des données, lorsque l'application tente de générer la hiérarchie dans la mémoire, elle peut ne jamais trouver de nœuds terminaux et se poursuivre dans des cycles infinis, puisque l'un des parents est ajouté en tant qu'enfant dans la même hiérarchie. Ce scénario peut entraîner des problèmes de mémoire et de performances.

Pour éviter de tels problèmes de performances, évitez d'inclure des dépendances circulaires dans le catalogue.

Catégorie (groupe de catalogue)

Supprimez l'ancienne relation à la catégorie parent avant de déplacer une catégorie dans une autre catégorie parent. Lorsque vous déplacez une catégorie d'un groupe parent vers un autre groupe parent, supprimez la catégorie de l'ancien groupe parent avant de l'ajouter au nouveau groupe parent. Par exemple, pour déplacer le groupe "Accessory" de l'ancien groupe parent "Womens Fashions" vers le nouveau groupe parent "Mens Fashions", deux lignes doivent être spécifiées dans le fichier d'entrée. La seconde ligne supprime l'ancienne relation et la troisième ajoute la nouvelle relation.

GroupIdentifier,ParentGroupIdentifier,Sequence,Delete
Accessory,Womens Fashions,2,1
Accessory,Mens Fashions,3,0
Configuration de l'utilitaire de chargement de données pour ce scénario :
<_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="GroupIdentifier" />
<_config:mapping xpath="topCatalogGroup" value="TopGroup" />
<_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier" />
<_config:mapping xpath="displaySequence" value="Sequence"  />
<_config:mapping xpath="" value="Delete"  deleteValue="1"/>
Servez-vous de l'utilitaire de chargement de données afin de charger des informations d'optimisation pour les moteurs de recherche pour les catégories.Si votre site utilise l'optimisation pour les moteurs de recherche et prévoit de charger des adresses URL d'optimisation pour les moteurs de recherche avec l'utilitaire de chargement de données, vous devez inclure le paramètre loadSEO associé à la valeur "true". Ce paramètre doit être défini dans le fichier de configuration de l'ordre de chargement des données au format suivant :
<_config:property name="loadSEO" value="true"/>
Lorsque vous exécutez l'utilitaire afin de charger des informations d'optimisation pour les moteurs de recherche, vous devez inclure le paramètre Dinstance et une valeur pour identifier votre instance. Lorsque l'optimisation pour les moteurs de recherche est activée initialement pour un magasin, l'utilitaire seourlkeywordgen est utilisé pour générer des adresses URL d'optimisation pour les moteurs de recherche et des mots clés pour votre magasin. Toutefois, après cette génération initiale des adresses URL d'optimisation pour les moteurs de recherche et des mots clés, servez-vous de l'utilitaire de chargement de données avec le paramètre loadSEO activé afin de charger des informations d'URL d'optimisation pour les moteurs de recherche au lieu de réexécuter l'utilitaire seourlkeywordgen. Pour que vous puissiez charger les informations liées à l'optimisation pour les moteurs de recherche lorsque vous chargez des données de catégorie avec l'utilitaire de chargement de données, vos fichiers d'entrée doivent comporter les informations d'optimisation pour les moteurs de recherche conjointement aux données de catalogue. Pour plus d'informations sur la façon de structurer vos fichiers d'entrée pour les catégories de sorte qu'ils incluent des informations d'optimisation pour les moteurs de recherche, voir CatalogGroupSEO.
Remarque : lorsque vous définissez une valeur à charger dans la colonne de base de données SEOURLKEYWORD.URLKEYWORD pour une catégorie, veillez à ce qu'elle ne contienne pas de caractère non valide. La liste des caractères non valides pour un mot clé d'adresse URL d'optimisation pour les moteurs de recherche est configurée avec la propriété invalidURLCharactersList dans le fichier de configuration de composant d'infrastructure (wc-admin-component.XML). Pour plus d'informations sur cette propriété, voir Propriétés de configuration dans le composant d'infrastructure.

Lorsque vous chargez des données de catégorie et que l'utilitaire génère un mot clé d'adresse URL d'optimisation pour les moteurs de recherche, l'utilitaire peut générer un mot clé d'adresse URL d'optimisation pour les moteurs de recherche différent si un mot clé en double est rencontré. Lorsque l'utilitaire génère un mot clé d'adresse URL d'optimisation pour les moteurs de recherche pour une catégorie, il utilise d'abord le nom de la catégorie comme mot clé d'adresse URL d'optimisation pour les moteurs de recherche. Si le mot clé est déjà utilisé par une autre catégorie, l'utilitaire génère un mot clé différent avec le nom et l'identificateur de la catégorie. Si ce mot clé n'est toujours pas unique, l'utilitaire génère un mot clé avec le nom, l'identificateur et l'ID de langue de la catégorie. Par exemple, si vous chargez des données pour la catégorie "Shirts", l'utilitaire tente d'abord de générer le mot clé d'optimisation pour les moteurs de recherche "Shirts". Si une autre catégorie utilise déjà ce mot clé, il tente alors de générer un mot clé qui inclut également l'identificateur de catégorie, par exemple 10001. Si ce deuxième mot clé, "Shirts10001", est aussi utilisé par une autre catégorie, il inclut alors l'ID de langue, "-1", afin de générer le mot clé "Shirts10001-1". Pour plus d'informations sur la génération de mots clés d'adresse URL d'optimisation pour les moteurs de recherche lorsque des mots clés en double existent, voir Création d'URL de vitrine descriptives lorsque des mots clés en double existent.

Chargez des données pour plusieurs langues dans des fichiers distincts. Même si l'utilitaire de chargement de données prend en charge le chargement de catégories avec des descriptions multilingues dans un seul fichier d'entrée, il est recommandé de charger chaque langue dans un fichier d'entrée propre. En effet, les fichiers d'entrée des différentes langues peuvent utiliser un paramètre de codage différent, et l'utilisation de plusieurs fichiers facilite la gestion. Par exemple, les langues codées sur deux octets, comme le chinois, utilisent un codage différent.

Ne vous servez pas de l'utilitaire de chargement de données afin de charger des modifications apportées à la hiérarchie de catégories pour des catégories liées.L'utilitaire de chargement de données et la fonction de téléchargement de catalogue dans le centre de gestion ne peuvent pas gérer le chargement des données de hiérarchie pour les catégories liées. Si vous vous servez de l'utilitaire de chargement de données ou de la fonction de téléchargement de catalogue pour changer la hiérarchie d'une catégorie, le processus de chargement ne synchronise pas les données pour les catégories liées. Par exemple, si vous supprimez une catégorie enfant ou changez la catégorie parent, les modifications ne sont pas reflétées dans les catégories liées. Les catégories liées conservent la hiérarchie d'origine. Si les catégories liées ne sont pas mises à jour avec les modifications séparément, vous pouvez rencontrer des erreurs lorsque vous parcourez les catégories dans votre magasin. Vous pouvez vous servir de l'utilitaire de chargement de données ou de la fonction de téléchargement de catalogue afin d'ajouter ou de retirer des entrées de catalogue d'une catégorie. Lorsque vous chargez des changements vers les affectations d'entrée de catalogue d'une catégorie, le processus ne procède pas à la synchronisation des changements à travers toutes les catégories liées.

Attribut

Utilisez le dictionnaire d'attributs pour les attributs.Le dictionnaire d'attributs facilite le partage des données et monopolise moins de lignes dans la base de données. Pour plus d'informations, voir Dictionnaire d'attributs. Lorsque vous utilisez le dictionnaire d'attributs, il est recommandé de respecter les meilleures pratiques. Pour plus d'informations, voir Conseils d'utilisation du dictionnaire d'attributs.

Chargez des attributs et les valeurs autorisées simultanément.Les attributs et leurs valeurs autorisées peuvent être chargés ensemble ou séparément. Par souci de simplicité et de maniabilité, il est recommandé de les charger ensemble depuis le même fichier d'entrée. Le chargement distinct des valeurs d'attribut propose un chargement plus granulaire. Utilisez-le si vous devez charger des détails (comme Field1, Field2, Field3, Image1, Image2) pour chaque valeur d'attribut.

Chargez les relations d'entrée de catalogue et d'attribut en chargeant la relation d'UGS et de valeur d'attribut.Après avoir chargé les attributs et leurs valeurs admises dans le dictionnaire d'attributs, chargez directement la relation entre la SKU du produit et la valeur d'attribut. La relation entre produit et attribut est gérée automatiquement par le médiateur de chargement de données.

Configurez l'utilitaire de chargement de données afin de réutiliser des valeurs affectées.Vous pouvez permettre à l'utilitaire de chargement de données de partager des valeurs d'attribut affectées lorsque la même valeur est nécessaire pour plusieurs entrées de catalogue. En partageant des valeurs d'attribut affectées dans plusieurs entrées de catalogue, vous pouvez réduire le nombre de valeurs en double que l'utilitaire créé dans la base de données. La réduction du nombre de valeurs en double peut améliorer les performances d'extraction des informations d'attribut depuis la base de données. Lorsque vous permettez à l'utilitaire de réutiliser des valeurs affectées, il ne crée que la première instance d'une valeur incluse dans le fichier d'entrée. Ensuite, il réutilise cette valeur pour toutes les autres instances dans lesquelles il charge la même valeur pour un attribut. Pour en savoir plus sur l'activation de la fonction de réutilisation des valeurs d'attributs affectées, voir Réutilisation de valeurs d'attribut affectées avec l'utilitaire de chargement de données.