Data Load utility best practices for Commerce Composer

The following best practices are recommended when using the Data Load utility to load Commerce Composer data.


Layout templates

Do not load layout templates that include widgets with user-defined content.
When the Data Load utility loads layout template information, any widget that is predefined within the template cannot be edited by a user in the Commerce Composer tool. The user cannot remove the predefined widget from the template with the Commerce Composer tool. To edit the predefined widget, an administrator or developer must update the widget information in the WebSphere Commerce database with the Data Load utility or directly with SQL statements. If users do not need to define or configure content for a widget, we can predefine the inclusion of the widget within a template slot when loading the layout template information.


Layouts

Do not load layouts that include widgets with user-defined content
When the Data Load utility loads layout information, any widget that is predefined within the layout cannot be edited by a user in the Commerce Composer tool. The user cannot remove the predefined widget from the layout with the Commerce Composer tool. To edit the predefined widget, an administrator or developer must update the widget information in the WebSphere Commerce database with the Data Load utility or directly with SQL statements. If users do not need to define or configure content for a widget, we can load a layout that includes this widget.

Use widgets that always return content for display when you include widgets within tabbed layout template slots for layouts that we are loading.
When a store page renders, the Commerce Composer framework checks whether tabbed slots in the layout include a widget, not whether the widget returns content. If any tabbed slot includes a widget, the tab displays on the store page, even when the widget does not display any content. When you include widgets in tabbed slots, consider including only widgets that always return content, such as default content, to ensure that the tabs on your page are not empty.


Pages

Set the cache size for the Data Load utility to be zero when loading layout assignments information.
If you remove a layout assignment and then add or update the layout assignment within the same load operation, the load process can encounter errors. If the Data Load utility retrieves unique ID data from the cache memory for objects that are already removed or changed earlier during the load process, errors can occur. When you load layout assignment information set the cache size to zero to prevent the Data Load utility from retrieving unique ID information from the cache memory.
To set the value for the cache size, update the data load environment configuration file. The cache size element is defined within the ID resolver element in the file. The cache size element sets the cache memory allocation for the ID resolver. For more information about updating the environment configuration file, see Configure the data load environment settings. Clear the marketing registry when you update the layout assignment for a page.
When we use the Data Load utility to update the layout assignment for a page, the page might not use the newly assigned layout in store preview or on the storefront. When the Data Load utility loads a layout assignment, the utility loads information into the database. The e-Marketing Spot that the Commerce Composer uses for the layout assignment on a page is static and can be cached. If you use the Data Load utility while your server is running, the cached assignment remains and the store page can continue to use this cached layout assignment instead of your newly loaded layout assignment. The Data Load utility cannot refresh the marketing registry to clear the cached layout assignment. Whenever you load layout assignment information to update the layout assignment for a page while your server is running, manually clear the marketing registry after the load process completes. Update the registry through the Administration Console to clear the marketing caches. For more information about updating this registry, see Updating registry components.
Invalidate the dynamic cache for the store pages after you load a new layout assignment for a page.
If your server is running when loading a new layout assignment for a page, the store page can still use the previous layout if the store page was cached. To ensure that the store page uses the new layout assignment, manually invalidate the DynaCache. Site administrators can invalidate the cache by restarting the server, or by running the an invalidation URL within the WebSphere Commerce Administration Console browser. By default, the URL to clear the dynamic cache is in the format:


For more information about invalidating this cache, see DynaCacheInvalidation URL.