Are you manually setting up a Tridion Deployer and using a guide such as Nuno’s excellent post titled Manually configuring a Tridion 2011 .NET Content Deployer Instance? Is it working? If so, move on, this article is not for you. If not, or you would like to learn how to troubleshoot a Deployer to publish to the Broker Database – read on.

Deployer debugging overview

The Deployer can run as a Windows service or a Website. In this article I discuss the option to run it as a website. I prefer this option as it allows me to run multiple Deployers on 1 machine and I also feel I have more control over it. Read Nuno’s post above for details about how to setup a manual Deployer. I’m going to highlight a way to debug the Deployer and describe one tiny issue that costs me hours of frustration.

I’m using IIS and in the end of the article I have my file setup. Notice I have a logs folder in there. The location of this folder is configured in the logback.xml file. Snippet from logback.xml:

  <property name="log.pattern" value="%date %-5level %logger{0} - %message%n"/>
    <property name="log.history" value="7"/>
    <property name="log.folder" value="c:/tridion/deployer-Broker/log"/>
    <property name="log.level" value="Info"/>
    <property name="log.encoding" value="UTF-8"/>

This tells my Deployer to put the logs for it (and not for anything else) in the log folder. This is not the default setting and I do suggest you change it to a specific folder per Deployer. After changing any config file we need to restart the Deployer. This can be done by recycling the App Pool or simply doing an ‘iisreset’ if you’re on your own local dev machine.

The other thing to notice is my license file is in the config folder. And here was my fatal mistake – my license file was called ‘cd_license.xml’ and Tridion assumes it is called ‘cd_licenses.xml’ or I can manually put the name in on the bottom of the cd_storage_conf.xml config file. Big thanks to Mihai Cădariu for Yet Another Tridion answer that saved me time and my sanity.

The solution

Tridion uses Filesystem bindings (and not the DB ones in the config file you specified) as a fallback and default when it cannot find or load the cd_licenses.xml file. It logs this in the cd_core.log file and not the cd_deployer.log file. In fact, the cd_deployer.log file looks normal and doesn’t give us any clues it’s using the fallback Filesystem Deployer due to a license issue.

Summary

Tridion deployment is at the heart of every Tridion implementation. Setting up and configuring a Deployer is a task often done by Developers on a new system, such as my Azure Tridion 2013 SP1 instance (Medium instance, SQL Server 2012 instance type, runs great!). Following Nuno’s guide we can quickly get one setup. However, debugging it and finding small problems is sometimes not so easy. I hope this small tip helps show some insight into one potential issue and how to solve it.

Directory: C:\tridion\deployer-Broker

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         3/17/2014   3:12 PM            bin
d----         3/17/2014  10:20 AM            log
-a---         3/17/2014   3:13 PM          0 dir.txt
-a---        11/10/2013   9:29 PM        121 HTTPUpload.aspx                                                           

    Directory: C:\tridion\deployer-Broker\bin

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         3/17/2014   8:55 AM            config
d----         3/17/2014   3:12 PM            lib
-a---        11/10/2013   9:29 PM     172032 netrtsn.dll
-a---        11/10/2013   9:29 PM      22528 Tridion.ContentDelivery.Configuration.dll
-a---        11/10/2013   9:29 PM     114688 Tridion.ContentDelivery.dll
-a---        11/10/2013   9:29 PM    1323008 Tridion.ContentDelivery.Interop.dll
-a---        11/10/2013   9:29 PM    1149952 xmogrt.dll                                                                

    Directory: C:\tridion\deployer-Broker\bin\config

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        11/10/2013   9:29 PM       8057 cd_deployer_conf.xml
-a---          3/6/2014   4:57 PM       3896 cd_license.xml
-a---         3/17/2014   3:00 PM      18233 cd_storage_conf.xml
-a---         3/17/2014   8:58 AM       4552 logback.xml                                                               

    Directory: C:\tridion\deployer-Broker\bin\lib

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        11/10/2013   9:29 PM      62983 activation.jar
-a---        11/10/2013   9:29 PM     445288 antlr.jar
-a---        11/10/2013   9:29 PM       4467 aopalliance.jar
-a---        11/10/2013   9:29 PM      68851 cd_ambient.jar
-a---        11/10/2013   9:29 PM     261870 cd_broker.jar
-a---        11/10/2013   9:29 PM      71286 cd_cache.jar
-a---        11/10/2013   9:29 PM     288893 cd_core.jar
-a---        11/10/2013   9:29 PM     577390 cd_datalayer.jar
-a---        11/10/2013   9:29 PM     153291 cd_deployer.jar
-a---        11/10/2013   9:29 PM     125330 cd_dynamic.jar
-a---        11/10/2013   9:29 PM      30301 cd_linking.jar
-a---        11/10/2013   9:29 PM     231515 cd_model.jar
-a---        11/10/2013   9:29 PM     115099 cd_tcdl.jar
-a---        11/10/2013   9:29 PM     154957 cd_undo.jar
-a---        11/10/2013   9:29 PM      82881 cd_wai.jar
-a---        11/10/2013   9:29 PM      16130 cd_wrapper.jar
-a---        11/10/2013   9:29 PM     575389 commons-collections.jar
-a---        11/10/2013   9:29 PM     160519 commons-dbcp.jar
-a---        11/10/2013   9:29 PM      96203 commons-pool.jar
-a---        11/10/2013   9:29 PM     313898 dom4j.jar
-a---        11/10/2013   9:29 PM      38643 easylicense.jar
-a---        11/10/2013   9:29 PM    2189117 guava.jar
-a---        11/10/2013   9:29 PM      81271 hibernate-commons-annotations.jar
-a---        11/10/2013   9:29 PM    4253629 hibernate-core.jar
-a---        11/10/2013   9:29 PM     475305 hibernate-entitymanager.jar
-a---        11/10/2013   9:29 PM     102661 hibernate-jpa-2.0-api.jar
-a---        11/10/2013   9:29 PM     648253 javassist.jar
-a---        11/10/2013   9:29 PM      89967 jaxb-api.jar
-a---        11/10/2013   9:29 PM     867801 jaxb-impl.jar
-a---        11/10/2013   9:29 PM      60768 jboss-logging.jar
-a---        11/10/2013   9:29 PM      11209 jboss-transaction-api_1.1_spec.jar
-a---        11/10/2013   9:29 PM      17308 jcl-over-slf4j.jar
-a---        11/10/2013   9:29 PM      19146 jdbcpool.jar
-a---        11/10/2013   9:29 PM      51484 json-smart.jar
-a---        11/10/2013   9:29 PM     246709 logback-classic.jar
-a---        11/10/2013   9:29 PM     327911 logback-core.jar
-a---        11/10/2013   9:29 PM     278281 serializer.jar
-a---        11/10/2013   9:29 PM      25962 slf4j-api.jar
-a---        11/10/2013   9:29 PM     331474 spring-aop.jar
-a---        11/10/2013   9:29 PM      53079 spring-asm.jar
-a---        11/10/2013   9:29 PM     589253 spring-beans.jar
-a---        11/10/2013   9:29 PM     106819 spring-context-support.jar
-a---        11/10/2013   9:29 PM     829601 spring-context.jar
-a---        11/10/2013   9:29 PM     442400 spring-core.jar
-a---        11/10/2013   9:29 PM     176283 spring-expression.jar
-a---        11/10/2013   9:29 PM     401762 spring-jdbc.jar
-a---        11/10/2013   9:29 PM     378235 spring-orm.jar
-a---        11/10/2013   9:29 PM     246036 spring-tx.jar
-a---         2/17/2012  11:45 AM     584207 sqljdbc4.jar
-a---        11/10/2013   9:29 PM      23346 stax-api.jar
-a---        11/10/2013   9:29 PM    3176148 xalan.jar                                                                 

    Directory: C:\tridion\deployer-Broker\log

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         3/17/2014   2:56 PM    1284686 cd_core.2014-03-17.log
-a---         3/17/2014   2:56 PM     394916 cd_deployer.2014-03-17.log
-a---         3/17/2014   2:56 PM       3442 cd_monitor.2014-03-17.log
-a---         3/17/2014  10:20 AM          0 cd_preview.2014-03-17.log
-a---         3/17/2014   2:56 PM      14790 cd_transport.2014-03-17.log

I changed the port # my Tridion CMS uses for the backend GUI then received the following error:

Unable to connect to remote server error

at System.Net.HttpWebRequest.GetRequestStream(TransportContext&amp; context) at System.Net.HttpWebRequest.GetRequestStream() at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()

&nbsp;

Tridion uses the WCF-based Core Service to retrieve items from the GUI. To solve the issue follow the steps in this post which describes how to change the WCF port number in the web.config

Today I installed Tridion 2013 SP1 using my MVP Tridion license with 1 named user.  The first time I loaded the UI I received this message:  “Can not continue due to license violation. The number of named users in your system (1) exceeds the limit specified in the license: 1.”

This is a known issue and to solve it you can download hotfix 87411 from this link after logging into TridionWorld  download  https://www.sdltridionworld.com/images/CM_2013.1.0.87500_tcm89-21270.zip   Special thanks to Raimond Kempees for the information about this hotfix.

I am using a Windows 2012 SQL Server server instance on Windows Azure.  The location where the Tridion.ContentManager.dll file needs to be copied is different than the readme.  The location is C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Tridion.ContentManager\v4.0_7.1.0.1290__360aac4d3354074b

I removed the old DLL and put the new one in, started my Tridion services and CMS website up and was ready to rock and roll.

Now it’s time to get my Blueprint created, starting with my Empty Master!

 

Today the best and quickest way to get an answer to your Tridion question is at the Tridion StackExchange site. StackOverflow was created in 2008 and shortly after in 2009 they opened up the platform for other topics to have their own Q&A site.

In 2009 the only place for having Tridion questions answered was the password-protected Tridion forum. Created in 2001 the forum was a great place for asking and answering questions in the small but active Tridion community. However, over time it got a little slow and more difficult to find answers to questions. It was also only open to those who had a login from Tridion Customer Support.

Realizing the potential of StackExchange to help power the active Tridion community, Dave Houlker proposed the Tridion StackExchange forum in 2011 and info about it can be found here.  As of March, 2014 it boasts the following statistics:

  • 643 visits a day
  • 4.6 questions a day
  • 98% answered
  • 834 total users, 153 avid users

It’s possible to configure StackOverflow to send us an email when a new question arrives.  Some people keep the Tridion StackExchange site open in a tab (and the # of new questions shows immediately), however, I prefer to use the email method.  Over the Christmas holidays I disabled all my auto-emailing scripts and until now have not had it enabled.  I noticed I visited the site a lot less, and also answered a lot less questions.  Enabling the email trigger is not so straight forward and here I want to describe how to set it.

  1. Select edit, Advanced from the Favorite Tag menu
  2. Configure the tag subscription

I have the website send me an email 15 minutes with the new questions and this helps me to answer faster and also keep up to speed on topics related to Tridion.

I am a big fan of automation and the email filter was the best way to stay on top of the forum and also answer more questions (= more points).  However, recently it got disabled and as a result I stopped visiting so frequently and also my points started to lag.

I hope you enjoy this tip.  I also like to automate the opening of my timesheet (and other routine tasks) and previously wrote an article about automating Firefox to open at the same time every day to my timesheet site.

Good luck with automating these tasks to make them painless.