PageLayout: Layout Noun

The Layout noun is used to model a layout, which can be applied to a particular page. This noun is used for authoring purposes only and is not used in the store. A Layout noun is composed of a description, schedule, page locations, widgets, and widget configuration properties. Each layout belongs to one store, one device classification, and one layout group(also referred to as page type). A layout has a state ('Active', 'InActive', 'MarkForDelete') and specifies whether it is considered a template for creating new layouts, or it is a completed layout.

BOD Summary

Access Profile and Expression Builder columns are for Get BOD only.
BOD Action Code / Access Profile Action Expression Service Provided Sample XML Message Client Library / Expression Builder
ProcessLayout Create /Layout[i] Creates a new page layout.
The relationship between a page layout and a store, which is provided in the request (context), is created in the database.
A create a new page layout operation should be followed by a ChangePage service to set the SEO properties and the SEO URL of the page.
You can use the create a new page layout action to create the following data:
  • Page layout name
  • Starting Template Identifier
  • Priority
  • Start Date
  • End Date
  • Device Class
  • Template
  • State
Request
Response

PageLayoutFacadeClient.processLayout(ProcessLayoutType)
Delete /Layout[1] Deletes a page layout and all associated page locations and widgets.
Request
Response

PageLayoutFacadeClient.processLayout(ProcessLayoutType)
ChangeLayout Add /Layout[1]/PageLocation[1] Adds a page location association for a page layout.
A page layout can be associated to multiple search terms and pages. A page layout can also not have any associations to seach terms or pages.
Request1 (Add a search term page location)
Response1

Request2 (Add a content page location)
Response2

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Add /Layout[1]/Widget[1] Adds a new widget to a page layout.
Containers are a type of widget that includes slots that widgets can be nested within. This service adds widget containers to a layout. After you add a widget container to a layout, you must create slots in the page layout definition for every slot that is available in the widget container. You can add all the slots to the definition by calling the /Layout[1]/Widget[1]/ChildSlot[1] expression several times.
Widgets are functional components that fit into the slots on a page layout. Widgets have an administrative name, sequence and properties. Widgets are sequenced inside of a slot because multiple widgets can be placed within the same slot. Widget properties are name and value pairs that can be stored. All widgets have different properties.
Some widgets support extended data properties. These properties are handled individually by a widget manager and can be saved by making subsequent calls using the expression /Layout[1]/Widget[1]/ExtendedData[1].
Request1 (Add a container to a page layout)
Response1

Request1 (Add a widget to a page layout)
Response1

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Add /Layout[1]/Widget[1]/ExtendedData[1] Adds extended data to a widget.
Widgets can manage the storage and retrieval of data using the default widget manager or a custom widget manager. Passing in extended data invokes the widget management service for the widget. If the extended data type begins with IBM_, the default widget manager will handle the data storage. For example, extended data with the type IBM_DisplayTitle will be stored as a language specific title for the widget. All other data is managed by the custom widget manager that is specified in the widget definition.
Request
Response

Request2 (Add a display title to a widget)
Response2

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Add /Layout[1]/Widget[1]/ChildSlot[1] Creates a single slot on a page layout.
When a page layout is being created, the creation process typically starts from a page layout template that has a set of slots defined. To use the page layout template as a starting point, all slots in the template must be saved to the new page layout. This service allows for the creation of all slots on the specified page layout.
Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Update /Layout[1] Changes an existing page layout.
Use this action to update the following data:
  • Page layout name
  • Starting Template Identifier
  • Priority
  • Start Date
  • End Date
  • Device Class
  • Template
  • State
Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Update /Layout[1]/PageLocation[1] Changes an existing page layout location.
Use this service to update targeted search terms or pages.
Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Update /Layout[1]/Widget[1] Changes a widget on a page layout.
Use this service to update a widget administrative name, sequence or properties.
Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Change /Layout[1]/Widget[1]/ExtendedData[1] Changes extended data of a widget.
Updating extended data of a widget invokes the widgets manager to handle data updates.
Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Remove /Layout[1]/Widget[1]/ExtendedData[1] Deletes a fragment of extended data in a widget.
Removing extended data of a widget invokes the widgets manager to handle data updates.
Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
Delete /Layout[1]/PageLocation[1] Removes a page or search term location from a layout. Request
Response

PageLayoutFacadeClient.changeLayout(ChangeLayoutType)
GetLayout IBM_Admin_Summary IBM_Admin_Details /Layout[LayoutIdentifier[(UniqueID='$layoutId$')]] Gets page layout details by unique ID. Request
Response

getLayout
IBM_Admin_Summary IBM_Admin_Details /Layout[LayoutIdentifier[(UniqueID=)]] Gets details for several page layouts given a list of unique IDs. Request
Response

fetchLayoutsById
IBM_Admin_Summary IBM_Admin_Details /Layout[@template='$isTemplate$'] Gets all page layouts or layout templates for a store.
When @template is true, only layout templates are returned.
Request
Response

getLayout
IBM_Admin_Layout_Locations /Layout[LayoutIdentifier[UniqueID='$layoutId$']]/PageLocation Gets all of the assigned page layout locations for the page layout that is specified by the unique ID. Request
Response

 
IBM_Admin_Summary IBM_Admin_Details /Layout[PageLocation[Page[@pageGroup='$pageGroup$' and PageIdentifier[UniqueID='$pageId$']]]] Gets all page layouts that are assigned to a particular page. Request
Response

fetchLayoutsByPage
IBM_Admin_Summary /Layout[@deviceClass='$deviceClass$' and template] Gets the list of Layout templates by device class. Request
Response

fetchLayoutTemplatesByDeviceClass
IBM_Admin_Summary IBM_Admin_Details /Layout[@template='$isTemplate$' and search(LayoutIdentifier/ExternalIdentifierType/Name='$name$')] Gets a list of layouts that satisfy search criteria. This action uses the search syntax so the queried layout name can contain wildcards(*).

When @template is true, only layout templates are returned.
Request
Response

searchLayouts
IBM_Admin_Summary IBM_Admin_Details /Layout[search(LayoutIdentifier/ExternalIdentifierType/Name='$layoutName$')] Gets a list of layouts that satisfy search criteria. This action uses the search syntax so the queried layout name can contain wildcards(*). Request
Response

searchLayouts
IBM_Admin_Summary IBM_Admin_Details /Layout[Widget[WidgetProperty[Name='emsId' and Value='$eMarketingSpotId$']]] Gets a list of page layouts that are associated with the specified e-marketing spot ID. Request
Response

 
IBM_Admin_Details /Layout[Widget[WidgetIdentifier[UniqueID='$widgetId$']] and ExtendedData[DataType='$type$']] Gets layouts that contain a widget that uses a type of extended data. Request
Response

 

Access Profile

Some sample XML request and response web service messages are provided for each noun. These sample messages might not include all properties or attributes. To view a sample message that includes other properties or attributes, enable logging and tracing for the appropriate component and then call the web service to set or change the properties or attributes. Review the corresponding log file to see the request or response information.

Access Profile Data Returned
IBM_Store_Summary
  • Layout\LayoutIdentifier\UniqueID
  • Layout\LayoutIdentifier\ExternalIdentifier(@ownerID)\Name
  • Layout\LayoutIdentifier\ExternalIdentifier(@ownerID)\StoreIdentifier\UniqueID
  • Layout\AdminDescription
  • Layout\Schedule\Priority
  • Layout\Schedule\StartDate
  • Layout\Schedule\EndDate
This access profile is designed for use with the Commerce Composer Tool. This profile returns the basic information of a page layout.
IBM_Admin_Details IBM_Store_Summary
+
  • Layout\TemplateIdentifier\UniqueID
  • Layout\TemplateIdentifier\ExternalIdentifier(@ownerID)\Name
  • Layout\TemplateIdentifier\ExternalIdentifier(@ownerID)\StoreIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\WidgetIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\WidgetIdentifier\Name
  • Layout\Widget(@widgetSequence)\WidgetDefinitionIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\WidgetDefinitionIdentifier\ExternalIdentifier\Identifier
  • Layout\Widget(@widgetSequence)\WidgetDefinitionIdentifier\ExternalIdentifier\StoreIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\Slot\InternalSlotId
  • Layout\Widget(@widgetSequence)\Slot\PositionProperty
  • Layout\Widget(@widgetSequence)\Slot\SlotType
  • Layout\Widget(@widgetSequence)\Slot\SlotIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\Slot\SlotIdentifier\Name
  • Layout\Widget(@widgetSequence)\WidgetProperty(@sequenceOrder)\Name
  • Layout\Widget(@widgetSequence)\WidgetProperty(@sequenceOrder)\Value
  • Layout\Widget(@widgetSequence)\WidgetProperty(@sequenceOrder)\StoreIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\ExtendedData(@sequenceOrder)\UniqueID
  • Layout\Widget(@widgetSequence)\ExtendedData(@sequenceOrder)\Identifier
  • Layout\Widget(@widgetSequence)\ExtendedData(@sequenceOrder)\DataType
  • Layout\Widget(@widgetSequence)\ExtendedData(@sequenceOrder)\Attributes(@language)\Attribute(@name)
  • Layout\Widget(@widgetSequence)\ExtendedData(@sequenceOrder)\StoreIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\ChildWidget(@widgetSequence)
  • Layout\Widget(@widgetSequence)\ParentWidget\UniqueID
  • Layout\Widget(@widgetSequence)\ParentWidget\Name
  • Layout\Widget(@widgetSequence)\ChildSlot\InternalSlotId
  • Layout\Widget(@widgetSequence)\ChildSlot\PositionProperty(@name)
  • Layout\Widget(@widgetSequence)\ChildSlot\SlotType
  • Layout\Widget(@widgetSequence)\ChildSlot\SlotIdentifier\UniqueID
  • Layout\Widget(@widgetSequence)\ChildSlot\SlotIdentifier\Name
  • Layout\PageLocation(@groupNumber)\PageLocationID
  • Layout\PageLocation(@groupNumber)\ActivityID
  • Layout\PageLocation(@groupNumber)\StoreIdentifier\UniqueID
  • Layout\PageLocation(@groupNumber)\Page(@applyToSubPage @pageGroup @propagateToSubLevels)
  • Layout\PageLocation(@groupNumber)\Page\PageIdentifier\UniqueID\ExternalIdentifier(@ownerID)\Name
  • Layout\PageLocation(@groupNumber)\Keyword
  • Layout\PageLocation(@groupNumber)\Schedule\Priority
  • Layout\PageLocation(@groupNumber)\Schedule\StartDate
  • Layout\PageLocation(@groupNumber)\Schedule\EndDate
This access profile is designed for use with the Commerce Composer Tool. This profile returns the detailed information of a page layout.

XSD files