0

After upgrading from 9.3 to 10.1, the 'Robot detection enabled' checkbox is uncheackable in form settings. Compared with docs:

  • Xdb enabled
  • XdbTracking enabled
  • AutoDetectBots enabled
  • @Html.Sitecore().VisitorIdentification() is used on the layout

What else should I check to make it configurable?

enter image description here

2
  • did you check if xdb is working properly? maybe some xconnect ssl certificates are not configured fine and it cannot enable the robot detection Commented Nov 16, 2021 at 13:09
  • 1
    Marketing apps work fine, see some data there, no errors. Commented Nov 16, 2021 at 13:31

1 Answer 1

1

There are 4 factors which have impact on the checkbox:

  • Xdb.Enabled setting
  • Xdb.Tracking.Enabled setting
  • Analytics.AutoDetectBots setting
  • and result of XdbSettings.HasValidLicense call.

If I remember correctly, if you can open /sitecore/client/Applications/ExperienceAnalytics/Dashboard url without errors, that means that license is valid for xDB.

Have you changed any of the settings or license file after you tried Forms Editor for the first time? Maybe it's cached that checkbox should be disabled?

You can try the following url /formbuilder/load?id=&sc_formmode=new&sc_formlang=en&sc_site=shell&_=SOME_RANDOM_VALUE and see the source of the response. It's not easy to read it but you should see something like

isRobotDetectionAvailable":true,"

or false.

If you see true in response, try new incognito browser or potentially even recycle Sitecore.

I checked that in Sitecore 10.1.1 FormViewModel depends on IRobotDetection. Check in showconfig if you have an implementation of IRobotDetection registered, most probably like that:

<register 
  serviceType="Sitecore.ExperienceForms.Tracking.IRobotDetection, Sitecore.ExperienceForms"
  implementationType="Sitecore.ExperienceForms.Analytics.Tracking.RobotDetection, Sitecore.ExperienceForms.Analytics"
  lifetime="Transient"
  patch:source="Sitecore.ExperienceForms.Tracker.config"/>

In Sitecore 10.1.0 there is no IRobotDetection. Instead there is RobotDetectionHelper which uses the following code:

public static bool IsRobotDetectionAvailable => 
  Settings.GetBoolSetting("Xdb.Enabled", false) && 
  Settings.GetBoolSetting("Xdb.Tracking.Enabled", false) && 
  Settings.GetBoolSetting("Analytics.AutoDetectBots", false);

You may create a test page or just try it in debug to see what are the values of those setting in your web app and which of them is causing issues.

7
  • As I mentioned in my question, the settings are enabled. And I do see data in ExpAnalytics app... Seeing false here, even in incognito: isRobotDetectionAvailable&quot;:false,&quot; Commented Nov 16, 2021 at 13:57
  • No typos in setting names? Have you checked showconfig if none of them are overwritten?
    – Marek Musielak
    Commented Nov 16, 2021 at 14:13
  • I added one more thing you can check in showconfig to my answer
    – Marek Musielak
    Commented Nov 16, 2021 at 14:18
  • Yep... looks like that is the issue. The RobotDetection registration appeared in 10.1.1 and 10.1.2 but it does not exist in 10.1.0 Initial Release. Thanks Marek! Commented Nov 16, 2021 at 17:37
  • I'm based on 10.1.0 where there is no Robot Detection neither in config, nor in assemblies... But I do see missing CI registration exception.. Commented Nov 16, 2021 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.