Is DD4T v2.2.1 compatible with DXA 1.8 (.NET), for a Web 8.5 environment? I would think yes as the DD4T component is on the CM side and DXA is CD, but haven't tested.

DD4T.TridionTemplates v2.2.1 was released March 2017, and v2.2.2 was released Feb 2018. DXA 1.8 was released Nov 2017.
https://github.com/dd4t/DD4T.TridionTemplates/releases

Updating to DD4T 2.2.2 would be preferable so as to be on the latest version, but as this version was released after DXA 1.8 not sure if there are any compatibility issues there.

== Edit: Added question context ==

The prod 8.5 environment is intermittently seeing the issue described in forum link, on a running instance. This issue in turn was linked to a DD4T issue

Intermittent issue with accessing page - DXA

https://github.com/dd4t/DD4T.Core/issues/100

For the DD4T issue, it looks like the suggested action is to:

  1. Update the Newtonsoft.Json package to the latest version, which is 11.0.
  2. Update to the latest version of DD4T templates.
  3. Republish pages.
  • DXA ships with its own version of DD4T TBBs and has not been tested with other versions. Any particular reason why you want to use an untested combination? – Rick Pannekoek Nov 12 at 19:05
  • Have updated question with reasons for considering an untested combination. – Terry Kim Nov 12 at 20:14
  • Have you considered upgrading to DXA 2.0 (which doesn’t use DD4T at all by default)? – Rick Pannekoek Nov 13 at 18:15
  • Thanks both. Upgrading is certainly the long-term goal, suggesting Velmurugan's answer in the interim. – Terry Kim Nov 13 at 18:25

As Rick mentioned DXA ships it's own version of DD4T TBBs for DXA 1.8 from https://github.com/sdl/dxa-content-management/tree/release/1.8

I can see DXA 1.8 Web application uses following DD4T framework version. https://github.com/sdl/dxa-web-application-dotnet/blob/release/1.8/Sdl.Web.Tridion/packages.config

<package id="DD4T.Core" version="2.1.1.144-alpha" targetFramework="net452" />

<package id="DD4T.Model" version="2.1.0" targetFramework="net452" />

<package id="DD4T.Providers.SDLWeb8.CIL" version="2.1.0" targetFramework="net452" />

In order to fix the "Intermittent issue with accessing page - DXA Website issue"

Try to Fork the DD4T.Model 2.1.0 release branch source and Update the class JSONSerializerService in DD4T.Serialization project library the following code changes, refer to this fix here in the latest version.

        private object _lock = new object();
        private JsonSerializer _serializer = null;
        public JsonSerializer Serializer
        {
            get
            {
                if (_serializer == null)
                {
                    lock (_lock)
                    {
                        if (_serializer == null)
                        {
                            _serializer = new JsonSerializer
                            {
                                NullValueHandling = NullValueHandling.Ignore
                            };
                            _serializer.Converters.Add(new FieldConverter());
                            _serializer.Converters.Add(new FieldSetConverter());
                        }
                    }
                }

                return _serializer;
            }
        }       

Recompile and copy the DD4T.Serialization.dll to your web app and test fully before moving this dll to PROD.

I hope it will fix the issue and helps.

  • Will take some time to verify, marking this as answered.. thanks Velmurugan. – Terry Kim Nov 19 at 21:24

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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