Override system "URL not found" template in Intershop 7.10?

190 views Asked by At

We are trying to override the default template for the "URL not found" page. The template name is URLError.isml and it is located in the sld_system_app cartridge. When we try to override the template via "Override existing" wizard, the template doesn't get found, even though the sld_system_app is in the cartridge dependency hierarchy:

enter image description here

At the same time, any pipeline from the same cartridge (sld_system_app) can normally be overriden. For example we can override the URLMapping.pipeline which is using the URLError.isml:

enter image description here

It is the same for any ISML template located in the sld_system_app cartridge. None of the templates can be overriden.

Is there some way of overriding the default ISML or do we really need to override the pipeline to do so?

UPDATE #1:

We have managed to get the wizard working, after some studio restarts and cleaning the target and refreshing gradle dependencies. However, after creating the template through the wizard, deploying the file on the server and restarting the server, the override is still not working. We are still getting the system page.

This is the overriden template in our custom cartridge:

enter image description here

And this is the content of the cartridgelist.properties:

cartridges=\
    libs \
    runtime \
    3rd_oracle \
    pf_cartridge \
    pf_objectgraph \
    pf_objectgraph_guice \
    servletengine \
    component \
    file \
    emf \
    pf_extension \
    pf_property \
    jmx \
    app \
    messaging \
    pf_kafka \
    cache \
    pipeline \
    isml \
    orm \
    configuration \
    businessobject \
    core \
    orm_oracle \
    orm_mssql \
    wsrp \
    rest \
    bc_authorization \
    bc_repository \
    bc_spreadsheet \
    bc_foundation \
    bc_i18n \
    bc_application \
    bc_auditing \
    bc_region \
    bc_service \
    bc_mail \
    bc_ruleengine \
    report \
    bc_auditing_orm \
    bc_organization \
    bc_approval \
    bc_validation \
    bc_address \
    bc_address_orm \
    bc_user \
    bc_user_orm \
    bc_captcha \
    bc_pdf \
    bc_processchain \
    bc_processchain_orm \
    ui_web_library \
    ac_captcha_recaptcha \
    ac_mail \
    ac_ruleengine_drools \
    ac_pdf_flyingsaucer \
    pf_axis2 \
    ac_eureka \
    bc_transport \
    bc_transport_orm \
    bc_transport_azure \
    dev_swagger \
    pf_jrockit \
    dev_lilith \
    etest \
    tool_webtest \
    dev_query \
    pf_objectgraph_test \
    pf_businessobject_test \
    pf_core_test \
    pf_rest_test \
    pf_orm_test \
    orm_oracle_test \
    orm_mssql_test \
    pf_property_test \
    pf_messaging_test \
    bc_foundation_test \
    bc_service_test \
    bc_auditing_test \
    bc_application_test \
    bc_i18n_test \
    bc_validation_test \
    bc_user_test \
    bc_address_test \
    bc_approval_test \
    ac_ruleengine_drools_test \
    bc_processchain_test \
    ui_web_library_test \
    pf_axis2_test \
    bc_handler_chain \
    bc_urlrewrite \
    bc_image \
    xcs \
    bc_shipping_data \
    bts \
    btc \
    monitor \
    smc \
    bc_pricing \
    bc_pmc \
    bc_pmc_auditing \
    bc_pmc_validation \
    bc_preview \
    bc_preview_orm \
    pmc_rest \
    bc_search \
    bc_mvc \
    bc_productbinding \
    bc_customer_segment \
    bc_customer \
    bc_customer_orm \
    bc_catalog \
    bc_catalog_orm \
    bc_product \
    bc_product_orm \
    bc_product_validation \
    bc_rating \
    bc_rating_orm \
    bc_product_rating \
    bc_product_rating_orm \
    bc_customer_catalog_filter \
    bc_customer_catalog_filter_orm \
    bc_wishlist \
    bc_wishlist_orm \
    bc_addresscheck \
    bc_basket \
    bc_basket_orm \
    bc_basket_service \
    bc_order \
    bc_order_orm \
    bc_order_service \
    bc_warranty \
    bc_profanitycheck \
    bc_requisition \
    bc_tendering \
    bc_giftpackaging \
    bc_shipping \
    bc_promotion \
    bc_recommendation \
    bc_marketing \
    bc_marketing_impex \
    bc_abtest \
    bc_abtest_orm \
    bc_payment \
    bc_payment_orm \
    bc_giftcard \
    bc_taxation \
    bc_product_pricing \
    bc_product_pricing_orm \
    bc_orderprocess \
    bc_order_impex \
    bc_payment_service \
    bc_gdpr \
    bc_store \
    bc_store_orm \
    bc_dashboard \
    bc_dashboard_orm \
    sld_system_app \
    as_system \
    sld_pmc \
    sld_pdf \
    sld_preview \
    sld_mcm \
    sld_ch_b2c_base \
    sld_ch_sf_base \
    ac_bmecat \
    sld_enterprise_app \
    sld_ch_base \
    sld_ch_partner_plugin \
    sld_ch_consumer_plugin \
    ac_giftcard_std \
    ac_payment_std \
    ac_taxation_std \
    ac_customer_segment_std \
    sld_ch_b2c_image \
    app_sf_rest \
    app_sf_rest_b2c \
    app_sf_rest_smb \
    app_sf_rest_recomm \
    ac_oci \
    ac_cxml \
    ac_order_export_xml \
    ac_order_submission_service \
    ac_order_history_service \
    ac_order_status_import_xml \
    migration \
    sld_ch_consumer_orderimport_es64 \
    app_bo_rest_job \
    app_bo_catalog \
    app_bo_dashboard \
    app_bo_gdpr \
    as_backoffice \
    ac_search_solr \
    ac_search_solr_bo \
    ac_addresscheck_demo \
    ac_payment_demo \
    ac_customer_segment_demo \
    ac_webhook_inventory \
    as_contactcenter \
    app_sf_contactcenter_rest \
    app_bo_contactcenter_cobrowsing \
    ac_gtm \
    ac_gtm_google_analytics \
    ac_gtm_sf \
    app_bo_transport \
    dev_handler_chain \
    dev_organizationinfo \
    dev_bostyleguide \
    dev_basketinfo \
    dev_apiinfo \
    dev_payment \
    bc_pmc_test \
    bc_handler_chain_test \
    bc_xcs_test \
    bc_shipping_test \
    bc_mvc_test \
    bc_product_test \
    bc_product_orm_test \
    bc_bts_test \
    bc_pricing_test \
    bc_requisition_test \
    bc_marketing_test \
    bc_marketing_impex_test \
    bc_preview_test \
    sld_preview_test \
    ac_customer_segment_std_test \
    bc_customer_test \
    bc_customer_catalog_filter_orm_test \
    bc_wishlist_test \
    ac_giftcard_std_test \
    bc_warranty_test \
    bc_promotion_test \
    bc_basket_test \
    sld_ch_b2c_base_test \
    sld_enterprise_app_test \
    sld_ch_consumer_plugin_test \
    bc_catalog_test \
    ac_taxation_std_test \
    bc_product_pricing_test \
    bc_order_test \
    bc_payment_test \
    bc_orderprocess_test \
    sld_pmc_test \
    app_bo_cms_test \
    app_bo_dashboard_test \
    bc_search_test \
    bc_store_test \
    bc_image_test \
    bc_dashboard_test \
    app_bo_test \
    app_sf_contactcenter_rest_test \
    app_sf_rest_test \
    ac_search_solr_test \
    bc_urlrewrite_test \
    bc_product_rating_orm_test \
    ac_order_submission_service_test \
    test_app_sf \
    test_app_cm \
    pmc_unit_testing \
    commerce_management_b2c_component \
    core_a1 \
    app_core_a1 \
    bc_a1_orm \
    service_a1_esb \
    service_a1_siebel \
    service_a1_sap \
    ac_payment_cccorvus \
    app_sf_responsive \
    app_sf_responsive_cm \
    app_sf_responsive_b2c \
    app_sf_responsive_smb \
    as_responsive \
    app_sf_responsive_gdpr \
    app_sf_a1_tomato \
    app_sf_a1_tomato_cm \
    app_sf_a1_shop \
    app_sf_a1_shop_cm \
    as_a1 \
    app_bo_a1 \
    dev_storefront \
    app_sf_responsive_test
2

There are 2 answers

0
Renato Dragišić On BEST ANSWER

The problem was that we were trying to override the template from the intershop.SLDSystem application in our custom storefront cartridge that wasn't assigned to that application.

Since we don't override any other functionalities of that application, we have decided to go with a different approach instead of overriding the template.

Alternative solution is:

  1. Define a BO short link that redirects /urlerror to Error-Start?ErrorCode=PageNotFound
  2. Override Error-Start pipeline and add handling for the "PageNotFound" error code ending with a custom template
3
Bas de Groot On

There should be no need to override the pipelines. To be honest I have no idea why your wizard isn't showing the .isml templates. On my ISH 7.9 The override wizard shows all .isml files from the sld_system_app cartridge as soon as I add compile group: 'com.intershop.business', name: 'sld_system_app' to the build.gradle file of my custom cartridge and refresh the gradle dependencies.

A possible solution would be to override the URLError.isml file manually and see if that works. To do this recreate the folder structure staticfiles/cartridge/templates/default/application in your custom cartridge and create the URLError.isml in there manually.