Sample: Loading Commerce Composer layouts
Before you begin
This sample requires a published store that is based on the Aurora starter store and the Commerce Composer tool. Ensure that the following tasks are complete:- Review the Commerce Composer data load best practices. Follow these best practices when you load Commerce Composer assets with the Data Load utility.
About this sample
A Commerce Composer layout is an arrangement of layout widgets within a layout template that is used to render a store page. A layout contains one or more widgets that are placed in specific slots in the template. The properties (name-value pairs) of each widget are set to specific values. To create a layout, you can use the Data Load utility to load the layout information into the HCL Commerce database.
- SampleHomePageLayout
- SampleStaticContentLayout
- SampleDepartmentPageLayout
- SampleContentPageLayout
- SampleDefaultContentPageLayout
For more information about Commerce Composer layouts and the components that make up a layout, see Commerce Composer layout architecture.
- utilities_root/samples/DataLoad/CommerceComposer/layout
- WCDE_installdir\samples\DataLoad\CommerceComposer\layout
- utilities_root/samples/DataLoad/CommerceComposer/template
- WCDE_installdir\samples\DataLoad\CommerceComposer\template
If you are using this sample to help you load Commerce Composer layout information that exists in another instance, you can use the Data Extract utility to generate the input files for loading your layout data. You can use the Data Extract utility to extract the existing layout data. Then, you can edit configuration files for this sample to load the files that are generated by the Data Extract utility. For a sample that demonstrates how to use the Data Extract utility to extract layout data, see Sample: Extracting Commerce Composer layouts.
Sample input file | Description |
---|---|
CSV
XML
For more information about the data that is included in this file, see layout input file |
The Data Load utility uses this sample input file to load layout templates and layouts into a store so that Management Center users can use the layouts in the Commerce Composer tool The Data Load utility loads the information within the input file into the PAGELAYOUT, and PLTEMPLATEREL database tables. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.LayoutMediator Business object configuration file
|
CSV
XML
For more information about the data that is included in this file, see layoutWidgetRelationship input file |
This sample input file loads a layout template container and adds widgets into the layout template slots to create a layout. The Data Load utility loads the information within the input file into the PLWIDGET, and PLWIDGETREL database tables. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.WidgetMediator Business object configuration file
|
CSV
XML
For more information about the data that is included in this file, see subscribeWidgetdef input file |
This sample input file loads information to subscribe widgets and template
containers to a store. To subscribe a store to a widget, the widget must be registered within the
HCL Commerce database and Commerce Composer framework. A store must subscribe
to specific widgets and containers so that these objects can be used in the Commerce Composer tool
for that store. The widgets that are used in this sample are registered by default when you enable
the Commerce Composer tool. This sample loads two subscribeWidgetdef.csv files:
The Data Load utility loads the information within the input file into the PLSTOREWIDGET database table. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.SubscribeWidgetDefinitionMediator Business
object configuration file
|
CSV
XML
For more information about the data that is included in this file, see widgetnvp input file |
This sample input file loads information to set the properties of the widgets
that included in the slots for the layout that you are loading with this sample. The Data Load utility loads the information within the input file into the PLWIDGETNVP database table. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.WidgetNVPMediator Business
object configuration file
|
CSV
XML
For more information about the data that is included in this file, see registerWidgetdef input file |
This sample input file loads information to register a new widget or template container for use in the Commerce Composer tool. In this sample, the input file loads information to register the template containers for the layout. This input file is also loaded as part of the sample for loading a Commerce Composer layout template. The Data Load utility loads the information within the input file into the PLWIDGETDEF, and PLWIDGETDEFDESC database tables. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.registerWidgetdefMediator Sample business object configuration file for loading this information:
|
CSV
XML
For more information about the data that is included in this file, see template input file |
This sample input file loads information that defines a template that can be
used to create a layout. This input file is also loaded as part of the sample for loading a Commerce Composer layout template. The Data Load utility loads the information within the input file into the PAGELAYOUT database table. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.WidgetMediator Business
object configuration file
|
CSV
XML
For more information about the data that is included in this file, see slotDefinition input file |
This sample input file loads information to define the slots within a
container for a specific template. Each slot is defined with x and y coordinates. This input file is also loaded as part of the sample for loading a Commerce Composer layout template. The Data Load utility loads the information within the input file into the PLWIDGETSLOT database table. The Data Load utility uses the following business object mediator and business object configuration file to load the data within this input file: Business object mediator com.ibm.commerce.pagelayout.dataload.mediator.WidgetSlotsMediator Business
object configuration file
|
Procedure
- On a command line, go to the WCDE_installdir\bin directory.
- Open a command line in the . Change the directory to utilities_root/bin directory. For information about entering and leaving containers, see Running utilities from the Utility server Docker container.
- Enter the following command to run the sample data load order file for a Commerce Composer layout and load the information
for this sample:
- ./dataload.sh ../samples/DataLoad/CommerceComposer/layout/wc-dataload-layout.xml
- dataload ..\samples\DataLoad\CommerceComposer\layout\wc-dataload-layout.xml
For more information about configuring and running the Data Load utility, see Configuring and running the Data Load utility.
Verifying results
Verify that the Commerce Composer tool layout information is loaded by reviewing the data load summary report. For more information about the location and contents of this summary report, see Verifying the results of the data load.
select * from PLWIDGETDEF where IDENTIFIER like 'Sample%';
select * from PLWIDGETDEFDESC where PLWIDGETDEF_ID in (select PLWIDGETDEF_ID from PLWIDGETDEF where IDENTIFIER
like 'Sample%');
select * from PLSTOREWIDGET where PLWIDGETDEF_ID in (select PLWIDGETDEF_ID from PLWIDGETDEF where IDENTIFIER
like 'Sample%');
select * from PAGELAYOUT where name like 'Sample%';
select * from PLTEMPLATEREL where PAGELAYOUT_ID in (select PAGELAYOUT_ID from PAGELAYOUT where NAME
like 'Sample%');
select * from PLWIDGET where PAGELAYOUT_ID in (select PAGELAYOUT_ID from PAGELAYOUT where name
like 'Sample%');
select * from PLWIDGETREL where PLWIDGET_ID_CHILD in (select PLWIDGET_ID
from PLWIDGET where PAGELAYOUT_ID in (select PAGELAYOUT_ID
from PAGELAYOUT where name like 'Sample%'));
select * from PLWIDGETSLOT where PAGELAYOUT_ID in (select PAGELAYOUT_ID from PAGELAYOUT where name
like 'Sample%');
select * from PLWIDGETNVP where PLWIDGET_ID in (select PLWIDGET_ID
from PLWIDGET where PAGELAYOUT_ID in (select PAGELAYOUT_ID from PAGELAYOUT where NAME like 'Sample%'));
Ensure
that the data within the sample input files exists within the appropriate database tables.Open a layout for editing and in the Layout Assignments section, add an entry into the Pages table to assign the layout to a page.
Removing the sample data from the HCL Commerce database
To remove the sample data from your database, run the sample again but with the
value for the delete column for all entries within the files set to 1
. By setting
the value for this column to 1
, the Data Load utility deletes the data that is
identified in the CSV file from your database.
- utilities_root/samples/DataLoad/CommerceComposer/layout
- WCDE_installdir\samples\DataLoad\CommerceComposer\layout
- db2 -tvf ../samples/DataLoad/CommerceComposer/layout/Cleanup.sql
- sqlplus user_name/password@ database_name@ ../samples/DataLoad/CommerceComposer/layout/Cleanup.sql