November Happy Hour will be moved to Thursday December 5th.

Issues with find.js from dl.episerver.net in China

Vote:
 

We have an Episerver DXC application that is working ok in most geolocations but is failing to serve https://dl.episerver.net/13.0.5/epi-util/find.js in China. 

Episerver Support are investigating, but have not yet found a solution to fix the issue, which I suspect is related to "the great firewall". So I wanted to share this with everyone and see if there are any other ways to resolve it.

Version Info

  • Episerver CMS 11.10.6
  • Episerver Commerce 12.15.1
  • Episerver Find 13.0.5

Identifying the issue

We used https://www.dotcom-tools.com/website-speed-test.aspx to test website load times from various geolocations and identified that https://dl.episerver.net/13.0.5/epi-util/find.js was failing to load in China.

I'm not aware of many tools around that test China, if you know any others please let me know.

What we have tried so far

Episerver Support recommended we try the following, but unfortunately, it hasn't resolved the issue;

Step-by-step guide

----------------------

The steps below add a change to the web.config that reduces the number of calls to dl.episerver.net but the correct version must first be determined.
  1. Determine the version of Find installed on the Web App. Do this by examining the packages.config file (for example, <package id="EPiServer.Find" version="12.7.1" targetFramework="net462" />) or the <assemblyBinding> section in the web.config; for example, the following assemblyBinding indicates that Find is version 12.7.1.0:
    <dependentAssembly>
    <assemblyIdentity name="EPiServer.Find" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-12.7.1.0" newVersion="12.7.1.0" />
    </dependentAssembly>
  2. Add the following line to the configSections area of the web.config:

    <section name="episerver.find.ui" type="EPiServer.Find.UI.FindUIConfiguration, EPiServer.Find.UI" />
  3. Add the following line just prior to the <sysytem.web> section, and include the Find version determined in Step 1 (use the first three version places):

    <episerver.find.ui clientSideResourceBaseUrl="https://dl.episerver.net/12.7.1" />
  4. After the changes are deployed, monitor the External services calls to ensure there is a reduction in dl.episerver.net calls.

What I'm thinking to try next

I'm wondering if we can serve this JS from our domain, rather than the client request it from dl.episever.net 

Can anyone recommend this approach?

#203255
Edited, Apr 13, 2019 7:22
Vote:
 

Many locked down (with no or limited internet access) sites with a find implementation use the approach described in

http://dmytroduk.com/techblog/customizing-how-statistics-tracking-scripts-are-loaded-on-pages-when-using-episerver-find/

I.e. hosting the resources (js/css) on the site domain and pointing the clientSideResourceBaseUrl here.

#203428
Edited, Apr 23, 2019 14:49
Vote:
 

Thanks Daniel, that's exactly what I was looking for. I'll follow up / confirm once it's deployed.

#203519
Apr 26, 2019 4:30
Vote:
 

Good news, this approach resolved the issue;
http://dmytroduk.com/techblog/customizing-how-statistics-tracking-scripts-are-loaded-on-pages-when-using-episerver-find/

You can see in the screenshot below that the JS file is now served in China directly from our own domain rather than from https://dl.episerver.net/13.0.5/epi-util/find.js.

#204275
May 24, 2019 2:42
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.