Mappage entre des objets du Management Center et des noms WebSphere Commerce
Les groupes de paramètres d'URL définissent la relation entre des objets du Management Center et des noms HCL Commerce.
Pour transformer une demande d'URL en demande BOD (Business Object Documents) de traitement (Process) ou de modification (Change), vous devez décrire le nom qui permet de générer les expressions d'action appropriées. Ensuite, vous devez définir les paramètres d'URL comme éléments et attributs du nom. La définition d'URL déclare les groupes de paramètres contenant le nom de paramètre d'URL pour le mappage d'élément et d'attribut de nom.
Groupes de paramètres d'URL (URLParameterGroup)
Les paramètres d'URL sont définis dans un groupe en tant que jeu en commentaire de noms de paramètre d'URL correspondant à un nom ou une partie de nom spécifique. Vous pouvez utiliser des groupes de paramètres d'URL afin de vous assurer que des noms de paramètre d'URL courants sont utilisés pour représenter les objets du Management Center et la façon dont ils sont reliés à des éléments de nom.
Outre la déclaration du nom de paramètre d'URL pour une définition d'élément ou d'attribut de nom, un groupe de paramètres d'URL peut inclure d'autres groupes de paramètres d'URL. Lorsque des objets du Management Center qui partagent un groupe commun sont représentés différemment dans l'application Web Management Center, certains groupes de paramètres d'URL peuvent être réutilisés. Par exemple, si un nom représente un objet récapitulatif du Management Center et que l'URL doit déclarer des instances spécifiques de cet objet, vous pouvez utiliser les groupes de paramètres inclus afin de réutiliser le mappage. Les éléments de niveau inférieur peuvent être identiques et réutiliser les mêmes noms de paramètre d'URL. Les éléments de niveau supérieur peuvent utiliser un autre ensemble de noms de paramètre d'URL pour mieux représenter le mode selon lequel l'application Web Management Center modélise l'objet du Management Center.
- workspace_dir\LOBTools\WebContent\WEB-INF\config\com.ibm.commerce.component\wc-component-clientobjects.xml
<!-- The following URL parameter group defines the URL parameters that represent the Management Center product,
kit, and bundle objects and how they relate to the catalog entry noun. -->
<_config:URLParameterGroup name="CatalogEntry" 1
noun="CatalogEntry">
<!-- Map the properties of the primary object to elements and attributes of the catalog entry -->
<_config:URLParameter name="catentryId"
nounElement="/CatalogEntryIdentifier/UniqueID" 2
key="true" 3
return="true" 4 />
<_config:URLParameter name="typeCode" nounElement="/@catalogEntryTypeCode" />
<_config:URLParameter name="catenttypeId" nounElement="/@catalogEntryTypeCode" />
<_config:URLParameter name="ownerId" nounElement="/CatalogEntryIdentifier/ExternalIdentifier/@ownerID" key="false" return="true" />
<_config:URLParameter name="partnumber" nounElement="/CatalogEntryIdentifier/ExternalIdentifier/PartNumber" return="true"/>
<_config:URLParameter name="parentCatalogGroupId" nounElement="/ParentCatalogGroupIdentifier/UniqueID"/>
<_config:URLParameter name="parentCatalogEntryId" nounElement="/ParentCatalogEntryIdentifier/UniqueID" />
<_config:URLParameter name="sequence" nounElement="/@displaySequence" key="true"/>
<!-- Declaring the generic property prefix that has the built-in UserData support -->
<_config:URLParameter name="x_" nounElement="/UserData/UserDataField" type="UserData" 5 />
<!-- Include the child objects -->
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryExtraProperties" 6/>
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryDescription" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryDescriptionOverride" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryListPrice" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryInventory" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryAttributes" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntryAttributesAllowedValue" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntrySeoAttributes" />
<_config:IncludeURLParameterGroup urlParameterGroup="CatalogEntrySeoURL" />
</_config:URLParameterGroup>
<!-- The following URL parameter group defines the URL parameters that represent the Management Center product description object
and how they relate to the catalog entry description element that is part of the catalog entry Noun -->
<_config:URLParameterGroup name="CatalogEntryDescription" noun="CatalogEntry">
<!-- Map the product description properties to the catalog description elements and attributes -->
<_config:URLParameter name="catentryId" nounElement="/CatalogEntryIdentifier/UniqueID" key="true" return="true" />
<_config:URLParameter name="descriptionLanguageId" nounElement="/Description/@language" key="true" return="true" />
<_config:URLParameter name="name" nounElement="/Description/Name" key="false" />
<_config:URLParameter name="sDesc" nounElement="/Description/ShortDescription" key="false" />
<_config:URLParameter name="lDesc" nounElement="/Description/LongDescription" key="false" />
<_config:URLParameter name="tImage" nounElement="/Description/Thumbnail" key="false" />
<_config:URLParameter name="fImage" nounElement="/Description/FullImage" key="false" />
<_config:URLParameter name="keyword" nounElement="/Description/Keyword" key="false" />
<!-- Declaring the generic property prefix that has the built-in UserData support to add additional description information -->
<_config:URLParameter name="xdesc_" nounElement="/Description/Attributes" type="UserData" />
</_config:URLParameterGroup>name de UserData ne peut contenir qu'un trait de soulignement unique, qui doit suivre immédiatement le préfixe. Par exemple, le fragment de code suivant identifie un objet UserData en tant que "x_myParam"
<_config:URLParameter name="x_myParam" nounElement="/UserData/UserDataField" type="UserData" />
- 1
name - Nom du paramètre d'URL.
- 2
nounElement - Elément ou attribut du nom auquel la valeur est associée. Pour mapper à un élément, utilisez le format
nounElement="/ElementName". Pour mapper à un attribut, utilisez le formatnounElement="/ElementName/@AttributeName". - 3
key - Facultatif. Identificateur unique du nom ou type complexe du nom. La valeur par défaut est false.
- 4
return - Facultatif. Indique si l'élément noun doit être inclus dans la réponse lors de la génération de l'objet réponse. La valeur par défaut est false sauf si la valeur de l'attribut key est true.
- 5
type - Facultatif. Type de données de l'élément ou de l'attribut de nom. Si la valeur de
UserDataest indiquée, le mappage du paramètre d'URL revêt une signification particulière et le nom du paramètre d'URL commence par l'attribut de nom indiqué. Les paramètres d'URL de typeUserDataoù le nom de l'élément fait partie du nom du paramètre d'URL ont un comportement d'analyse syntaxique propre. Le nom et la valeur sont mappés sur un nouvel objet, comme indiqué par l'attributnounElement. Vous pouvez également indiquer l'élémentUserDataAssociationpour un mappage d'objet plus complexe. - 6
IncludeURLParameterGroupurlParameterGroup - Indique un groupe de paramètres d'URL déclaré à inclure dans le groupe de paramètres d'URL en cours. Au moment de l'exécution, les noms des paramètres d'URL des groupes de paramètres d'URL inclus sont fusionnés afin de décrire un nom de paramètre d'URL complet pour le mappage d'élément ou d'attribut de nom.
- allowEmpty
- Facultatif. Indique si la valeur de ce paramètre peut être vide. Si tel n'est pas le cas, une erreur d'application est créée afin que le service ne s'exécute pas. La valeur par défaut est true.
<_config:URLParameter name="attrValValue" nounElement="/CatalogEntryAttributes/Attributes/StringValue/Value" key="false" return="false"allowEmpty="false"/> - actionExpression
- Facultatif : Indique si l'expression d'action est créée dans l'instruction de modification afin de spécifier que ce nom (ou une partie modifiable du nom) a été modifié. La valeur par défaut est
true, sauf si la valeur de l'attributkeyesttrue. Dans le fragment de code suivant, le paramètre d'URLparentCategoryIdinclut l'attributactionExpression:<_config:URLParameter name="parentCategoryId" nounElement="/ParentCatalogGroupIdentifier/UniqueID" key="false" return="true"actionExpression="true"/>
- Une définition de nom pour répertorier les noms et les parties de nom d'un module de service. Campaign est un nom sans partie. Le nom Activity inclut la partie CampaignElement.
<_config:NounDefinitions> <_config:Noun name="Campaign"/> <_config:Noun name="Activity"> <_config:NounElement name="CampaignElement" part="true"/> </_config:Noun> <_config:Noun name="MarketingEmailTemplate"/> ... </_config:NounDefinitions> - Une définition d'URL pour lier les noms de paramètre d'URL du Management Center à des noms HCL Commerce. Le fragment de code suivant associe le nom Activity indiqué dans le fragment de code précédent à la partie CampaignElement.
<_config:URLParameterGroup name="Activity" noun="Activity"> <_config:URLParameter name="activityId" nounElement="/ActivityIdentifier/UniqueID" key="true" return="true" /> <_config:URLParameter name="campaignId" nounElement="/CampaignIdentifier/UniqueID" key="false" /> <_config:URLParameter name="name" nounElement="/ActivityIdentifier/ExternalIdentifier/Name" /> <_config:URLParameter name="storeId" nounElement="/ActivityIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID" key="false" return="true" /> <_config:URLParameter name="storeentId" nounElement="/ActivityIdentifier/ExternalIdentifier/StoreIdentifier/UniqueID" key="false" return="true" /> <_config:URLParameter name="version" nounElement="/Version" /> <_config:URLParameter name="published" nounElement="/PublishedVersion" /> <_config:URLParameter name="state" nounElement="/State" return="true"/> <_config:URLParameter name="startdate" nounElement="/StartDate" nillable="true" /> <_config:URLParameter name="enddate" nounElement="/EndDate" nillable="true" /> <_config:URLParameter name="repeatable" nounElement="/Repeatable" /> <_config:URLParameter name="priority" nounElement="/Priority" /> <_config:URLParameter name="activityType" nounElement="/Format" /> <_config:URLParameter name="description" nounElement="/Description" /> <_config:URLParameter name="flowxml" nounElement="/RuntimeXMLDefinition" /> <_config:URLParameter name="experimentType" nounElement="/ExperimentFormat" /> <_config:URLParameter name="templateType" nounElement="/TemplateFormat" /> <_config:URLParameter name="x_" nounElement="/UserData/UserDataField" type="UserData" /> <_config:IncludeURLParameterGroup urlParameterGroup="CampaignElement"/> </_config:URLParameterGroup> <_config:URLParameterGroup name="CampaignElement" noun="Activity"> <_config:URLParameter name="activityId" nounElement="/ActivityIdentifier/UniqueID" key="true" return="false" actionExpression="false" /> <_config:URLParameter name="parentElementName" nounElement="/CampaignElement/ParentElementIdentifier/Name" /> <_config:URLParameter name="PROPERTY_sequence" nounElement="/CampaignElement/ElementSequence" /> <_config:URLParameter name="PROPERTY_elementName" nounElement="/CampaignElement/CampaignElementIdentifier/Name" /> <_config:URLParameter name="PROPERTY_elemTemplateName" nounElement="/CampaignElement/CampaignElementTemplateIdentifier/ExternalIdentifier/Name" /> <_config:URLParameter name="PROPERTY_elemTemplateType" nounElement="/CampaignElement/CampaignElementTemplateIdentifier/ExternalIdentifier/CampaignElementFormat" /> <_config:URLParameter name="elemTemplateName" nounElement="/CampaignElement/CampaignElementTemplateIdentifier/ExternalIdentifier/Name" /> <_config:URLParameter name="elemTemplateType" nounElement="/CampaignElement/CampaignElementTemplateIdentifier/ExternalIdentifier/CampaignElementFormat" /> <_config:URLParameter name="PROPERTY_" nounElement="/CampaignElement/CampaignElementVariable" type="UserData" > <_config:ParameterAssociation name="ASSOCIATEDPROPERTY_sequence_" value="/SequenceOrder" /> </_config:URLParameter> <_config:URLParameter name="xelem_" nounElement="/UserData/UserDataField" type="UserData" /> </_config:URLParameterGroup>