Configuration du générateur d'objet métier de composant
Utilisez
BaseBusinessObjectBuilder pour générer un objet métier de composant qui repose sur les propriétés de configuration spécifiées et les données d'entrée. Vous pouvez configurer ce générateur en définissant des sous-éléments et des valeurs d'attribut dans le fichier de configuration d'objet métier.Procédure
-
Ouvrez le fichier de configuration de l'objet métier wc-loader-object.xml que vous devez configurer.
Si vous devez créer un fichier, copier un exemple de fichier de configuration d'objet métier, tel que le fichier wc-loader-catalog.xml et renommer le fichier. Des exemples de fichier de configuration d'objet métier sont fournis pour différents objets de composant à l'intérieur des répertoires spécifiques aux composant dans le répertoire suivant :
utilities_root/samples/DataLoad
WCDE_installdir/samples/DataLoad
-
Recherchez l'élément
<_config:BusinessObjectBuilder>. -
Associez la valeur d'attribut
classNameà la classe de générateur d'objet BaseBusinessObjectBuilder.Par exemple, le fragment suivant spécifie la classe de génération d'objet métier de base :<_config:BusinessObjectBuilderclassName="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder"packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="AttributeDictionaryAttributeType" > </_config:BusinessObjectBuilder> -
Spécifiez le nom du module de composants d'objet métier.
Spécifiez cet attribut avec l'élément
packageNamequi correspond au composant que vous mettez à jour.Composant packageName Catalogue com.ibm.commerce.catalog.facade.datatypes.CatalogPackageCommerce Composer com.ibm.commerce.pagelayout.facade.datatypes.PageLayoutPackageInventory com.ibm.commerce.inventory.facade.datatypes.InventoryPackageMarketing. com.ibm.commerce.marketing.facade.datatypes.MarketingPackageMarketing (Contenu) com.ibm.commerce.content.facade.datatypes.ContentPackageMembre com.ibm.commerce.member.facade.datatypes.MemberPackagePrix com.ibm.commerce.price.facade.datatypes.PricePackageLe fragment suivant spécifie le module de catalogue pour la classe de générateur d'objet métier :<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload. businessobjectbuilder.BaseBusinessObjectBuilder"packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage">dataObjectType="AttributeDictionaryAttributeType" > </_config:BusinessObjectBuilder> -
Spécifiez le type d'objet de données pour l'objet métier.
Spécifiez cet attribut avec l'élément
dataObjectType. Le type d'objet de données est différent pour chaque type de composant d'objet métier :Composant Types d'objet de données pris en charge Catalogue CatalogTypeCatalogGroupTypeCatalogEntryTypeAttributeDictionaryAttributeType
Commerce Composer LayoutTypePageTypeWidgetDefinitionType
Inventory InventoryAvailabilityTypeExpectedInventoryRecordTypeInventoryReceiptType.
Marketing. - ActivityType
- AttachmentType
- CampaignType
- MarketingContentType
- MarketingSpotType
Membre PersonTypeMemberGroupTypeOrganizationType
Prix PriceListTypePriceConstantTypePriceEquationTypePriceRuleType
Le fragment suivant spécifie le type d'objet de données d'attribut de dictionnaire d'attributs :<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage"dataObjectType="AttributeDictionaryAttributeType"> </_config:BusinessObjectBuilder> -
Spécifiez les mappages de données pour l'objet métier. Spécifiez les mappages dans l'élément
<_config:DataMapping>.Dans cet élément, un ou plusieurs éléments<_config:mapping>peuvent être spécifiés.Vous pouvez définir les mappages de données à l'aide des attributs suivants.xpath- Chemin
xpathvers la propriété dans l'objet métier. value- La valeur
valueest alimentée dans l'objet métier. Il s'agit généralement d'une clé et la valeur réelle dépend de l'attributvalueFrom.Remarque : Si la valeur que vous définissez n'est pas utilisée dans le fichier d'entrée de chargement de données, l'utilitaire de chargement de données ne génère aucune erreur et n'enregistre aucun message. valueFrom- L'attribut
valueFromindique comment résoudre la valeur. La valeur par défaut estInputData. Les valeurs valueFrom suivantes sont prises en charge :InputData: Il indique que la valeur provient deInputData.Fixed: La valeur est une valeur fixe.
deleteValue- L'indicateur de suppression indique si l'objet métier doit être supprimé.
BusinessObjectMediator- Nom de classe pour le médiateur d'objet métier que l'utilitaire de chargement de données doit utiliser pour écrire les données dans la colonne de base de données appropriée. Pour plus d'informations sur la spécification d'un médiateur d'objet métier, voir Configuration du fichier de configuration d'objet métier.
-
Spécifiez le médiateur d'objet métier pour le chargement de l'objet métier.
Spécifiez la classe et les attributs de médiateur dans l'élément
<_config:BusinessObjectMediator>. Les attributs qui peuvent être spécifiés pour un médiateur sont définis comme suit :className- Classe de médiateur d'objet métier que l'utilitaire de chargement de données doit utiliser pour remplir un objet métier avec les données figurant dans le fichier d'entrée. Pour plus d'informations sur les médiateurs fournis disponibles, voir pour l'utilitaire de chargement de données médiateurs d'objets métier.
componentId- Identificateur du composant pour l'objet métier. La liste ci-dessous identifie les ID de composant pour chaque composant :
- Composant de catalogue : com.ibm.commerce.catalog
- Composant de gestion des stocks : com.ibm.commerce.inventory
- Marketing :
com.ibm.commerce.marketing - Marketing (contenu) :
com.ibm.commerce.content - Composant du prix : com.ibm.commerce.price
- Composante de membre : com.ibm.commerce.member
- Composant de Commerce Composer : com.ibm.commerce.pagelayout
Le fragment suivant configure un générateur d'objet métier de composant pour le chargement de données de liste de prix :<_config:BusinessObjectMediator className="com.ibm.commerce.price.dataload.mediator.OfferMediator" componentId="com.ibm.commerce.price"> </_config:BusinessObjectMediator> -
Spécifiez les propriétés configurables pour le médiateur d'objet métier dans un
<_config:property>.Chaque instance de cet élément définit une propriété facultative propre au médiateur d'objet métier spécifié. Chaque médiateur peut comporter une ou plusieurs propriétés, ou bien aucune. Pour définir une propriété configurable, vous devez définir les attributs suivants pour la propriété :- Définissez l'attribut
name- Nom de la propriété. - Définissez l'attribut
value- Valeur de la propriété.
Par exemple, le fragment ci-dessous configure l'élément de médiateur d'objet métier pour le chargement des données d'attribut de dictionnaire d'attributs. Le médiateur spécifié dans cet exemple est com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeMediator. Ce fragment spécifie également deux propriétés qui configurent ce médiateur :<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="AttributeDictionaryAttributeType" > ...<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeMediator" componentId="com.ibm.commerce.catalog" > <_config:property name="allowChangeAttributeType" value="true" /> <_config:property name="validateAttribute" value="true" /> </_config:BusinessObjectMediator></_config:BusinessObjectBuilder>Remarque : Si vous supprimez des objets de catalogue au cours d'une opération de chargement, vous pouvez configurer le médiateur d'objet métier afin de marquer pour suppression des objets de catalogue au lieu de les supprimer physiquement. En marquant un objet pour suppression, vous garantissez que l'objet continue d'exister pour les transactions, les promotions ou les activités l'incluant ou l'utilisant. Vous pouvez exécuter l'utilitaire de nettoyage de base de données ultérieurement afin de supprimer les objets marqués pour suppression une fois que l'objet n'est plus nécessaire. Afin de marquer un objet pour suppression, vous devez utiliser un médiateur qui prend en charge la mise à jour de la colonne MARKFORDELETE dans la base de données pour l'objet.- Par défaut, le médiateur CatalogEntryMediator prend en charge l'opération de marquage pour suppression pour les entrées de catalogue. Pour définir le marquage d'un indicateur de suppression, entrez les informations suivantes dans l'élément
<_config:BusinessObjectMediator>du fichier de configuration d'objet métier :
Si la propriété<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator" componentId="com.ibm.commerce.catalog"> <_config:property name="markForDelete" value="true" /> </_config:BusinessObjectMediator>markForDeleten'est pas fournie ou n'est pas associée à la valeur"false"pour les entrées de catalogue, le médiateur CatalogEntryMediator associe les objets à l'indicateur de marquage pour suppression. - Le médiateur CatalogGroupMediator prend en charge l'opération de marquage pour suppression. Pour définir le marquage d'un indicateur de suppression, entrez les informations suivantes dans l'élément
<_config:BusinessObjectMediator>du fichier de configuration d'objet métier :
Si la propriété<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog"> <_config:property name="markForDelete" value="true" /> </_config:BusinessObjectMediator>markForDeleten'est pas fournie ou n'est pas associée à la valeur"true"pour les catégories, le médiateur CatalogGroupMediator supprime physiquement les objets de la base de données.
- Si vous configurez l'utilitaire de chargement de données afin de charger des informations d'optimisation pour les moteurs de recherche, les informations d'optimisation pour les moteurs de recherche pertinentes pour l'objet sont supprimées si vous avez marqué l'objet pour suppression.
- Si votre magasin utilise la recherche HCL Commerce, l'index de recherche est régénéré afin de supprimer les objets de catalogue qui sont marqués pour suppression et afin de supprimer les relations concernant ces objets.
- Définissez l'attribut
- Facultatif :
Pour inclure les objets que vous chargez dans l'index de recherche HCL Commerce, spécifiez le médiateur d'index de recherche pour l'objet métier que vous chargez.
Vous devez aussi spécifier le mappage de données pour l'objet à inclure dans l'index de recherche.
Afin de spécifier le médiateur d'index de recherche et le mappage de données, créez une deuxième configuration de générateur d'objet métier pour l'indexation de l'objet métier. Ajoutez-la après l'élément
</_config:BusinessObjectBuilder>qui ferme la configuration de générateur d'objet métier initiale. Pour la liste des médiateurs d'index de recherche disponibles, voir pour l'utilitaire de chargement de données médiateurs d'objets métier.Par exemple, le fragment suivant spécifie le médiateur d'index de recherche pour le chargement des catégories et des données à inclure dans l'index de recherche :<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType= "CatalogGroupType" > <_config:DataMapping> ... </_config:DataMapping> <_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupMediator" componentId="com.ibm.commerce.catalog" /> </_config:BusinessObjectBuilder> <!-- Catalog Group Search Index --> <_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogGroupType" > <_config:DataMapping> <!-- The unique reference number of the category --> <_config:mapping xpath="CatalogGroupIdentifier/UniqueID" value="GroupUniqueId" /> <!-- The identifier of the category --> <_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="GroupIdentifier" /> <!-- The unique reference number of the store that owns the category --> <_config:mapping xpath="CatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" /> <!-- The unique reference number of the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/UniqueID" value="ParentGroupUniqueId" /> <!-- The identifier of the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier" /> <!-- The unique reference number of the store that owns the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID" value="ParentStoreUniqueId" /> <!-- The identifier of the store that owns the parent category --> <_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="ParentStoreIdentifier" /> <!-- The identifier of the catalog --> <_config:mapping xpath="Attributes/CatalogIdentifier" value="CatalogIdentifier" /> </_config:DataMapping> <_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogGroupRelationshipSearchIndexMediator" componentId="com.ibm.commerce.catalog" > </_config:BusinessObjectMediator> </_config:BusinessObjectBuilder>Pour vous aider à configurer le mappage de données pour un objet, reportez-vous aux fichiers de configuration d'objet métier qui sont fournis par défaut. Les fichiers fournis sont à utiliser avec l'outil Téléchargement du catalogue. Ils se trouvent dans le répertoire suivant :
utilities_root/ts.ear/xml/config/com.ibm.commerce.catalog/dataload
workspace_dir\WC\xml\config\com.ibm.commerce.catalog\dataload
- wc-loader-AD-attribute-allowed-values.xml
- wc-loader-catalog-entry.xml
- wc-loader-catalog-group.xml
- wc-loader-catalog-group-description.xml