Correlación entre los objetos del Management Center y los nombres
Los grupos de parámetros de URL definen la relación entre los objetos del Management Center y los nombres de HCL Commerce.
Cuando se transforma una solicitud de URL en una solicitud de BOD de proceso o BOD de cambio, debe describir el nombre para crear las expresiones de acciones adecuadas. A continuación, debe definir los parámetros de URL como elementos y atributos en el nombre. La definición de URL describe los grupos de parámetros que contienen el nombre de parámetro de URL para la correlación de elementos y atributos de nombre.
Grupos de parámetros de URL (URLParameterGroup)
Los parámetros de URL se definen en un grupo como un conjunto comentado de nombres de parámetros de URL que corresponden a un nombre específico o una parte de nombre. Puede utilizar los grupos de parámetros de URL para garantizar que los nombres de parámetros de URL comunes se utilicen para representar objetos del Management Center y cómo se relacionan con elementos de nombre.
Además de declarar el nombre de parámetro de URL en elemento de nombre o definición de atributo, un grupo de parámetros de URL también puede incluir otros grupos de parámetros de URL. Cuando los objetos del Management Center que comparten un grupo común se representan de forma diferente en la aplicación web del Management Center, algunos grupos de parámetros de URL pueden reutilizarse. Por ejemplo, si un nombre representa un objeto abstracto del Management Center y el URL declara instancias específicas de dicho objeto, puede utilizar los grupos de parámetros incluidos para reutilizar la correlación. Los elementos de nivel inferior pueden ser los mismos y se pueden reutilizar los mismos nombres de parámetros de URL. No obstante, los elementos de nivel superior pueden utilizar un conjunto diferente de nombres de parámetros de URL para representar mejor cómo la aplicación web del Management Center modela el objeto del 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
para UserData solamente puede contener un único carácter de subrayado, que debe ir inmediatamente después del prefijo. Por ejemplo, el fragmento de código siguiente identifica un objeto UserData como "x_myParam"
<_config:URLParameter name="x_myParam" nounElement="/UserData/UserDataField" type="UserData" />
- 1
name
- El nombre del parámetro de URL.
- 2
nounElement
- El elemento o atributo del nombre con el que se asocia el valor. Para correlacionar con un elemento, utilice el formato
nounElement="/ElementName"
. Para correlacionar con un atributo, utilice el formatonounElement="/ElementName/@AttributeName"
. - 3
key
- Opcional. El identificador exclusivo del nombre o el tipo completo del nombre. El valor predeterminado es false.
- 4
return
- Opcional. Especifica si el elemento de nombre debe incluirse en la respuesta cuando se crea el objeto de respuesta. El valor predeterminado es false a menos que el valor del atributo de clave sea true.
- 5
type
- Opcional. El tipo de datos de elemento o atributo de nombre. Si se especifica un valor de
UserData
, la correlación de parámetros URL tiene un significado especial y el nombre de parámetro URL empieza por el atributo del nombre especificado. Los parámetros URL de tipoUserData
donde el nombre del elemento forma parte del nombre de parámetro URL tienen un comportamiento de análisis especial. El nombre y el valor están correlacionados con un objeto nuevo, según lo indicado mediante el atributonounElement
. También puede especificar un elementoUserDataAssociation
para una correlación de objetos más compleja. - 6
IncludeURLParameterGroupurlParameterGroup
- Especifica un grupo de parámetros URL declarados que se incluirán como parte del grupo de parámetros URL actuales. Durante la ejecución, los nombres de parámetro de URL de los grupos de parámetros de URL incluidos se fusionan para describir un nombre de parámetro de URL completo para la correlación de elementos o atributos de nombre.
- allowEmpty
- Opcional. Especifica si el valor de este parámetro puede estar vacío. Si no puede estarlo, se crea un error de aplicación para que el servicio no se ejecute. El valor predeterminado es true.
<_config:URLParameter name="attrValValue" nounElement="/CatalogEntryAttributes/Attributes/StringValue/Value" key="false" return="false"
allowEmpty="false"
/> - actionExpression
- Opcional: Especifica si la expresión de la acción debe crearse en el verbo Change para especificar que este nombre o una parte modificable de él se ha modificado. El valor predeterminado del atributo es
true
, salvo que el valor del atributokey
seatrue
. En el fragmento de código siguiente, el parámetro de URLparentCategoryId
incluye el atributoactionExpression
:<_config:URLParameter name="parentCategoryId" nounElement="/ParentCatalogGroupIdentifier/UniqueID" key="false" return="true"
actionExpression="true"
/>
- Una definición de nombre para listar los nombres y partes de nombre de un módulo de servicio. El nombre Campaign es un nombre sin partes. El nombre Activity incluye la parte 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>
- Una definición de URL para enlazar nombres de parámetros de URL desde los nombres del Management Center hasta HCL Commerce. El siguiente fragmento de código correlaciona el nombre de la actividad que se muestra en el fragmento de código anterior con la parte 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>