5

We have an ECL provider which work in our Sandbox and Development environments which are all single server Tridion CM instances.

We have now moved this code to our QA environment which has a single CM/CME environment and two dedicated publishing servers. The ECL provider works fine (we can browse ECL items, link to them and preview them in our templates) on the CME machine. However when we try to publish, we recieve the following error on the publishing server (and in the publishing queue):

The item ecl:778-XX-163599235-XXSet-file does not exist.

It seems that I have not configured the publisher correctly. So far I have:

  1. Added my provider to the folder C:\ProgramData\SDL\SDL Tridion\External Content Library\AddInPipeline\AddIns
  2. Configured the ExternalContentLibrary.xml to be identical to the CME machine
  3. Confirmed that <add assemblyFileName="C:\Tridion\bin\Tridion.ExternalContentLibrary.TcmExtension.dll"/> is in the Tridion.ContentManager.config file

I have validated that when the publishing service is running on the CME machine that the ECL provider works as expected.

What could I be missing? What services need to be running on a dedicated publishing server to make ECL work, and where might I find additional logs to trace the cause of the problem.

UPDATE

The complete error is:

Component: Templating
Errorcode: 0
User: NT AUTHORITY\SYSTEM

StackTrace Information Details:
   at Tridion.ExternalContentLibrary.DomainModel.UserContext.GetMountPoint(IEclUri eclUri)
   at Tridion.ExternalContentLibrary.DomainModel.UserContext.ResolveEclUri(TcmUri tcmUri, String& fileName)
   at Tridion.ExternalContentLibrary.DomainModel.EclSession.TryGetEclUriFromTcmUri(String tcmUri)
   at Tridion.ExternalContentLibrary.AddInPipeline.V2.DirectAdapters.AddInV2.EclSessionHostToAddInAdapter.TryGetEclUriFromTcmUri(String tcmUri)
   at UrbanCherry.Net.SDLTridion.Templates.PublishMediaSet.Transform(Engine engine, Package package)
   at Tridion.ContentManager.Templating.Assembly.AssemblyMediator.Transform(Engine engine, Template template, Package package)
   at Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.RunTemplate(Engine engine, Package package, String templateUri, String className)
   at Tridion.Templating.CSharpTemplate.CSharpSourceTemplate.Transform(Engine __engine, Package __package)
   at Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.Transform(Engine engine, Template template, Package package)
   at Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template template, Package package)
   at Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package package, TemplateInvocation templateInvocation, Template template)
   at Tridion.ContentManager.Templating.Compound.CompoundTemplateMediator.Transform(Engine engine, Template templateToTransform, Package package)
   at Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template template, Package package)
   at Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package package, TemplateInvocation templateInvocation, Template template)
   at Tridion.ContentManager.Templating.Engine.TransformItem(Template template, IdentifiableObject itemToRender)
   at Tridion.ContentManager.Templating.TemplatingRenderer.Render(ResolvedItem resolvedItem, PublishInstruction instruction, PublicationTarget target, RenderedItem renderedItem, RenderContext renderContext)
3
  • There is nothing special for a Publishing only service besides it does not need the UI Extension. Did you restart the TcmServiceHost after editing the config file for ECL? Mar 13, 2014 at 15:11
  • Well only th publishing service normally runs on that machine. Do I need the service host for ECL? All other items render and publish fine without it? Could the publisher be connecting to the service host on the CME Machine. I did try starting the TCMServiceHost but it didn't help. Mar 13, 2014 at 18:52
  • Sorry, I have lost track of which processes host TOM.NET, and which processes calls the CoreService. I do not think there is a requirement to have the service host running. Not sure what cause the error though - it is the error I would suspect if the config file does not contain a mountpoint with ID 778. If the provider would not load I would expect another error. Mar 14, 2014 at 12:42

1 Answer 1

2

It turns out that ExternalContentLibrary.xml was NOT identical on all machines :(

Your Answer

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

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