Getting the YouTube ECL Connector to work with DXA

I successfully hooked up the YouTube ECL Connector into Tridion 2013 SP1 a while ago without any problems but it’s taken up until now for me to build the functionality to render out the YouTube videos in DXA.

I thought this was going to be easy but once again I couldn’t find any steps in the documentation on how to do this so I thought I would show you how I did it.

My first thought was to temporarily extend the Item List schema to add in a Multimedia field called eclTest that allowed my ExternalContentLibraryStubSchema-youtube Multimedia Schema.

I then extended the ItemList Model with a new property mapping to my new field and used created as a type of EclItem (which is built in to DXA 1.2)

 public EclItem EclTest { get; set; }

I opened the Component and updated the Ecl Test field to point towards a YouTube ECL video.

I then published the Publish Settings Page which contains the schema field definitions as well as publishing the Home Page which contains this updated Component.

I then updated my view to render out the new field: @Model.EclTest.Url

I then ran my local DXA web application but it unfortunately blew up:

ERROR - Unable to map field 'eclTest' to property of type 'Sdl.Web.Common.Models.EclItem'.
 Sdl.Web.Common.DxaException: Unable to map field 'eclTest' to property of type 'Sdl.Web.Common.Models.EclItem'. ---> System.MissingMethodException: Cannot create an abstract class.

What I didn’t realise is that the EclItem class is an abstract class and what I needed to do is to create a new class that Inherited from ECLItem and update my ItemList Model to use that type. Rick explained this over on Stack Exchange.

So I created a public class called YouTubeEclItem and then mapped the entity to the stub schema that is created in the CME

[SemanticEntity(CoreVocabulary, "ExternalContentLibraryStubSchema-youtube")]
 public class YouTubeEclItem : EclItem

I can then update the field in the ItemList Model to be a YouTubeEclItem instead:

 public YouTubeEclItem EclTest { get; set; }

I then ran the application and it worked! I had a YouTube URL rendered out!

I hope this helps anyone else out that go stuck with this too.

Getting the YouTube ECL Connector to work with DXA

DXA Preview Plugin for DXA 1.2 and SDL Tridion 2013 SP1

Mark Williams has created a really useful Alchemy Plugin to preview DXA websites in Tridion. Unfortunately for me this was only for the DD4T Tridion 2013 Provider and I needed it for 2013 SP1 as I am building a DXA 1.2 website.

Away I went to get the source from Github to modify the 2013 SP1 Provider that DXA 1.2 uses but I soon realised I was modifying the wrong version. One Stack Exchange question later, Bart had hooked me up with the exact version that I needed to modify which was 2.0.5-beta.

So I have modified the Page Provider to bring over the same code that Mark wrote and voila! I have a working DXA Preview Alchemy Plugin for DXA 1.2 and the DD4T 2013 SP1 Provider.

Only the TridionPageProvider.GetContentByURL() method is modified and here is the code:

Hopefully this will help somebody in the same situation.

DXA Preview Plugin for DXA 1.2 and SDL Tridion 2013 SP1

SDL Tridion 2013 64 Bit Oracle Data Access Components (ODAC)

Whilst setting up the Content Manager for SDL Tridion 2013 SP1 the installation steps in the online manual aren’t very clear for where to get your ODAC components from.

The steps in the manual say:

Download the Oracle client software from the following location: Download and unpack it to a location of your choice, then start the 64-bit Oracle client installer.

But that took me to a section on the Oracle website to do with Visual Studio which completely confused me.

The ODAC Components that worked great for me were these ones:

I downloaded the 64-bit ODAC 12c Release 4 ( for Windows x64

The downloaded file name is:

You can then install the required items which are Oracle Services for Microsoft Transaction Server and Oracle Data Provider for .NET

This installer also creates your TNSNAMES.ORA file too which is useful. The other installers I used didn’t do this.

Once the installer is finished then restart your server and then you will be able to run the SDL Tridion installer or the Powershell scripts.

These same ODAC components work if you are developing a DD4T or DXA solution locally too.

SDL Tridion 2013 64 Bit Oracle Data Access Components (ODAC)