HCL Commerce Version 9.1.9.0 or later

Troubleshooting: Error gets displayed for all new templates in upgraded db environment for Page Composer.

Several new templates and widgets are added to Page Composer version 9.1.9.0.

Problem

If you have an existing store which was configured to use Page Composer prior to HCL Commerce version 9.1.9.0, you will need to configure your store to recognize these new templates and widgets. If you attempt to select a new template or widget without configuring your store, you will see a message indicating that the widget does not exist.

Solution

Additional layout templates and widgets' definitions are added for the React base store Page Composer tool in version 9.1.9.0 compared to version 9.1.8.0.
Table 1. PLWIDGETDEFINITON_ID Identifier
PLWIDGETDEFINITON_ID Page name
-8005 Cart page
-8006 Checkout page
-8007 Order confirmation page
-8008 Bundle page
-8514 Bundle widget
-8515 Content carousel widget
  • In order to make layout templates and widgets available in Management Center for store, run the following SQL to add widget subscriptions for those Widget Definitions.
    INSERT INTO PLSTOREWIDGET (PLSTOREWIDGET_ID, STOREENT_ID, PLWIDGETDEF_ID, STATE) VALUES (UNIQUE_PLSTOREWIDGET_ID, STOREFRONTASSETSTORE_ID, -8005, 1);
    INSERT INTO PLSTOREWIDGET (PLSTOREWIDGET_ID, STOREENT_ID, PLWIDGETDEF_ID, STATE) VALUES (UNIQUE_PLSTOREWIDGET_ID, STOREFRONTASSETSTORE_ID, -8006, 1);
    INSERT INTO PLSTOREWIDGET (PLSTOREWIDGET_ID, STOREENT_ID, PLWIDGETDEF_ID, STATE) VALUES (UNIQUE_PLSTOREWIDGET_ID, STOREFRONTASSETSTORE_ID, -8007, 1);
    INSERT INTO PLSTOREWIDGET (PLSTOREWIDGET_ID, STOREENT_ID, PLWIDGETDEF_ID, STATE) VALUES (UNIQUE_PLSTOREWIDGET_ID, STOREFRONTASSETSTORE_ID, -8008, 1);
    INSERT INTO PLSTOREWIDGET (PLSTOREWIDGET_ID, STOREENT_ID, PLWIDGETDEF_ID, STATE) VALUES (UNIQUE_PLSTOREWIDGET_ID, STOREFRONTASSETSTORE_ID, -8514, 1);
    INSERT INTO PLSTOREWIDGET (PLSTOREWIDGET_ID, STOREENT_ID, PLWIDGETDEF_ID, STATE) VALUES (UNIQUE_PLSTOREWIDGET_ID, STOREFRONTASSETSTORE_ID, -8515, 1);
  • Replace UNIQUE_PLSTOREWIDGET_ID: with an integer value of your choice, that is the unique primary key of PLSTOREWIDGET table. For example, 9999.
  • Replace STOREFRONTASSETSTORE_ID: with the StorefrontAssetStore ID of your store. This can be found in the STOREENT table. For OOTB Emerald Store front asset store EmeraldSAS, it is 12501.
There are additional Content pages and SEO definitions added in the HCL Commerce version 9.1.9.0 for React-based store. These pages are CartPage, CheckOutPage, and OrderConfirmationPage. If you are upgrading from HCL Commerce version 9.1.8.0, in order to be able to modify the widgets assignment for those pages using the Page Composer tool, run the below SQLs to add definitions into the HCL Commerce version 9.1.9.0 database for your store.
  1. For Cart page
    • Insert into PLPAGE (PLPAGE_ID,ADMINNAME,MEMBER_ID,STOREENT_ID,PAGELAYOUTTYPE_ID,DELETABLE,ADMINNAMEEDITABLE,URLCONFIGURABLE,OPTCOUNTER) values.
       ({CART_PAGE_UNIQUEID},'CartPage',STOREFRONTASSETSTORE_MEMBER_ID,{STOREFRONTASSETSTORE_ID},'Content',0,0,0,1);
    • Insert into SEOPAGEDEF (SEOPAGEDEF_ID,PAGENAME,STOREENT_ID,LASTUPDATE,CREATEDTIME,OPTCOUNTER) values.
      (CART_PAGE_SEOPAGEDEF_UNIQUEID,'Content_CART_PAGE_UNIQUEID',STOREFRONTASSETSTORE_MEMBER_ID,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1);
    • Insert into SEOPAGEDEFDESC (SEOPAGEDEF_ID,LANGUAGE_ID,TITLE,META_DESC,META_KEYWORD,IMAGE_ALT_DESC,LASTUPDATE,CREATEDTIME,OPTCOUNTER) values.
      (CART_PAGE_SEOPAGEDEF_UNIQUEID,-1,'<seo: StoreName/>|Cart','<seo: StoreName/> shopping cart','<seo: StoreName/>','Image for <seo: StoreName/> cart page',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1);
    • Insert into SEOPAGEDEFOVR (SEOPAGEDEFOVR_ID, SEOPAGEDEF_ID, APPLY_TO_CHILD, OBJECTTYPE, OBJECT_ID, OPTCOUNTER) values.
      (CART_PAGE_SEOPAGEDEFOVR_UNIQUEID, {CART_PAGE_SEOPAGEDEF_UNIQUEID}, 1, 'Content', 'CART_PAGE_UNIQUEID', 1);
    • Insert into SEOURL (SEOURL_ID,TOKENNAME,TOKENVALUE,OPTCOUNTER) values.
      ({CART_PAGE_SEOURL_UNIQUEID},'StaticPagesToken','{CART_PAGE_UNIQUEID}',1);
    • Insert into SEOURLKEYWORD (SEOURLKEYWORD_ID,SEOURL_ID,LANGUAGE_ID,STOREENT_ID,URLKEYWORD,STATUS,OPTCOUNTER) values.
      ({CART_PAGE_SEOURLKEYWORD_UNIQUEID},{CART_PAGE_SEOURL_UNIQUEID},-1,STOREFRONTASSETSTORE_ID,'cart',1,1);
  2. For Checkout page
    • Insert into PLPAGE (PLPAGE_ID,ADMINNAME,MEMBER_ID,STOREENT_ID,PAGELAYOUTTYPE_ID,DELETABLE,ADMINNAMEEDITABLE,URLCONFIGURABLE,OPTCOUNTER) values.
      (-7000,'checkoutPage',7000000000000004501,13001,'Content',0,0,0,1);
    • Insert into SEOPAGEDEF (SEOPAGEDEF_ID,PAGENAME,STOREENT_ID,LASTUPDATE,CREATEDTIME,OPTCOUNTER) values.
      (CHECKOUT_PAGE_SEOPAGEDEF_UNIQUEID,'Content_CHECKOUT_PAGE_UNIQUEID',STOREFRONTASSETSTORE_MEMBER_ID,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1);
    • Insert into SEOPAGEDEFDESC (SEOPAGEDEF_ID,LANGUAGE_ID,TITLE,META_DESC,META_KEYWORD,IMAGE_ALT_DESC,LASTUPDATE,CREATEDTIME,OPTCOUNTER) values.
      ({CHECKOUT_PAGE_SEOPAGEDEF_UniqueID},-1,'<seo: StoreName/>|checkout','<seo: StoreName/> checkout','<seo: StoreName/>','Image for <seo: StoreName/> checkout page',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1);
    • Insert into SEOPAGEDEFOVR (SEOPAGEDEFOVR_ID, SEOPAGEDEF_ID, APPLY_TO_CHILD, OBJECTTYPE, OBJECT_ID, OPTCOUNTER) values.
      ({CHECKOUT_PAGE_SEOPAGEDEFOVR_UniqueID}, {CHECKOUT_PAGE_SEOPAGEDEF_UniqueID}, 1, 'Content', '{CHECKOUT_PAGE_UniqueId}', 1);
    • Insert into SEOURL (SEOURL_ID,TOKENNAME,TOKENVALUE,OPTCOUNTER) values.
      ({CHECKOUT_PAGE_SEOURL_UniqueID},'StaticPagesToken','{CHECKOUT_PAGE_UniqueId}',1);
    • Insert into SEOURLKEYWORD (SEOURLKEYWORD_ID,SEOURL_ID,LANGUAGE_ID,STOREENT_ID,URLKEYWORD,STATUS,OPTCOUNTER) values.
      (Unknown macro: {CHECKOUT_PAGE_SEOURLKEYWORD_UniqueID}
      ,{CHECKOUT_PAGE_SEOURL_UniqueID},-1,{storefrontassetstoreId},'checkout',1,1); }}
  3. For Order confirmation page
    • Insert into PLPAGE (PLPAGE_ID,ADMINNAME,MEMBER_ID,STOREENT_ID,PAGELAYOUTTYPE_ID,DELETABLE,ADMINNAMEEDITABLE,URLCONFIGURABLE,OPTCOUNTER) values.
      (-6000,'order confirmationPage',7000000000000004501,13001,'Content',0,0,0,1);
    • Insert into SEOPAGEDEF (SEOPAGEDEF_ID,PAGENAME,STOREENT_ID,LASTUPDATE,CREATEDTIME,OPTCOUNTER) values.
      ({ORDER_CONFIRMATION_PAGE_SEOPAGEDEF_UniqueID},'Content_{ORDER_CONFIRMATION_PAGE_UniqueId}',{storefrontassetstoreMemberId},CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1);
    • Insert into SEOPAGEDEFDESC (SEOPAGEDEF_ID,LANGUAGE_ID,TITLE,META_DESC,META_KEYWORD,IMAGE_ALT_DESC,LASTUPDATE,CREATEDTIME,OPTCOUNTER) values.
      ({ORDER_CONFIRMATION_PAGE_SEOPAGEDEF_UniqueID},-1,'<seo: StoreName/>|order confirmation','<seo: StoreName/> order confirmation','<seo: StoreName/>','Image for <seo: StoreName/> order confirmation page',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1);
    • Insert into SEOPAGEDEFOVR (SEOPAGEDEFOVR_ID, SEOPAGEDEF_ID, APPLY_TO_CHILD, OBJECTTYPE, OBJECT_ID, OPTCOUNTER) values.
      ({ORDER_CONFIRMATION_PAGE_SEOPAGEDEFOVR_UniqueID}, {ORDER_CONFIRMATION_PAGE_SEOPAGEDEF_UniqueID}, 1, 'Content', '{ORDER_CONFIRMATION_PAGE_UniqueId}', 1);
    • Insert into SEOURL (SEOURL_ID,TOKENNAME,TOKENVALUE,OPTCOUNTER) values.
      ({ORDER_CONFIRMATION_PAGE_SEOURL_UniqueID},'StaticPagesToken','{ORDER_CONFIRMATION_PAGE_UniqueId}',1);
    • Insert into SEOURLKEYWORD (SEOURLKEYWORD_ID,SEOURL_ID,LANGUAGE_ID,STOREENT_ID,URLKEYWORD,STATUS,OPTCOUNTER) values.
      ({ORDER_CONFIRMATION_PAGE_SEOURLKEYWORD_UniqueID},{ORDER_CONFIRMATION_PAGE_SEOURL_UniqueID},-1,{storefrontassetstoreId},'order-confirmation',1,1);
  4. After inserting values, refresh the registry or restart the transaction server.
  5. Re-build the search index.