Saturday, May 24, 2014

Tracing in SDL Tridion 2013 SP1 - A walk in the park, or.. beach

Some time ago, a little birdie told me in SDL Tridion 2013 SP1, all windows services can be started in debug mode.
While I have not made the time to check this out, I have through experience and some focused searches discovered that tracing has been taken to yet another higher level.
Some of the logs below will be familiar from previous versions, however, there are a few surprises you won't mind finding out about.
Like a walk on the beach, where tracing back the same path you took to arrive where you are can be both nostalgic and new, here is a collection of traces to walk you from the Content Manager to the Content Delivery and back in case you need to revisit some points in time..


WhatWhere (log or trace file)How (Config file & Steps)
CME Javascript/CSSBrowser Developer Tools (eg. Sources and Console tabs)
IE
Firefox Firebug
Chrome 
http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-9652A9DD-3E44-44ED-98C8-28A7FF955CA0

%TRIDION_HOME% WebRoot\Configuration\system.config
1. Disable JS/CSS minifiers
<filters>
    <filter for="Script" type="Tridion.Web.UI.Resources.Filters.JScriptMinifier, Tridion.Web.UI.Resources.Filters" enabled="never">
...
<filter for="Style" type="Tridion.Web.UI.Core.Configuration.Resources.Filtering.CssCompressorFilter, Tridion.Web.UI.Core" enabled="never" />
2. Refresh browser
3. Can call GUI urls with mode=js
4. Check Sources, Console tabs in browser developer tools to set breakpoints and/or follow execution or variable values
IIS%SystemDrive%\inetpub\logs\LogFiles\ <ID of Web site>Usually enabled, if disabled, check how to enable depending on IIS version
CMS Events%SystemRoot%\System32\Winevt\Logs\ Tridion.evtx
%SystemRoot%\System32\Winevt\Logs\ Tridion Content Manager.evtx
Enabled by default, look for them in the Windows Event Viewer console
CMS Core ServiceOwn trace
%TRIDION_HOME%\bin\TcmServiceHost.exe.config

http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-FE919074-22B4-4A00-BDB7-92EF0DC20C3C
CME Server Log / CMS WCF%TRIDION_HOME%\web\WebUI\WebRoot\ Tridion.Web.trace
%TRIDION_HOME%\web\WebUI\WebRoot\bin\web.config

http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-16AB0377-ECB7-4FCC-9EB3-128F75AF1E90
CMS Workflow ServiceOwn trace%TRIDION_HOME%\bin\TcmWorkflowAgent.exe.config
CMS Search IndexerOwn trace%TRIDION_HOME%\bin\TcmSearchIndexer.exe.config
CMS Batch ProcessorOwn trace%TRIDION_HOME%\bin\TcmBatchProcessor.exe.config
CMS Publisher ServiceTRIDION_HOME%\bin\TcmPublisher.exe.config

Tridion.ContentManager.Publisher.log
To run publisher in debug mode from command line: not supported, not documented, unexpected results: dies when user running it logs off?
-only to be done in Production envs under Customer Support request

publisherpath>TcmPublisher.exe /debug
----------------
To have publisher log to file:
- In MMC set "Publisher settings" - "Activate logging to publisher actions" option to "true", don't need to restart COM+ or Publisher
- Check "c:\program files\tridion\log\Tridion.ContentManager.Publisher.log"
- (It doesn't track when rendering in TemplateBuilder template tool)
- Publisher log configurable in : \Tridion\bin\TcmPublisher.exe.config
CM Transportc:\tridion\log\cd_transport_<date>.log
%TRIDION_HOME%\config\logback.xml

<property name="log.level" value="ALL"/> or
<property name="log.level" value="TRACE"/>
CD Transport
c:\tridion\log\cd_core_<date>.log
%TRIDION_DEPLOYER_HOME%\bin\config\logback.xml

http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-DF88578C-8B32-4933-A6F5-939DA3275D95
CD Deployer
c:\tridion\log\cd_core_<date>.log
Normal Trace and Hibernate Trace
%TRIDION_DEPLOYER_HOME%\bin\config\logback.xml

<property name="log.level" value="ALL"/> or
<property name="log.level" value="TRACE"/>
-----------------------------------------------------
<root level="ON">
     <appender-ref ref="rollingCoreLog"/>
</root>
OutBoundEmailC:\Program Files (x86)\Tridion\Log\OutBoundEmail.log
%TRIDION_HOME%\config\OutboundEmail.xml

<Log>
        <Folder>C:\Program Files (x86)\Tridion\log</Folder>
        <Level>5</Level>
</Log>
UGC%TRIDION_HOME%\web\WebUI\WebRoot\ Tridion.Web.Trace
1. Backup %TRIDION_HOME%\web\WebUI\WebRoot\Tridion.UGC.Model.dll
2. Replace with %TRIDION_HOME%\web\WebUI\WebRoot\trace\Tridion.UGC.Model.dll
3. Reset IIS



As with any logging in general, beware lots and lots of data will be accumulated in a very short amount of time.
So
- focus your actions
- limit the number of users in the system during tracing
- check there is enough memory available
- check there is enough storage available

and.. don't forget to turn off the traces when done investigating!
Happy tracing!

Friday, May 2, 2014

Quantifying Rambles

Recently I've come across a concept which oddly I had partaken as a matter of fact, part of life, encountered in my daily routines and more so pretty much everywhere else I turned around.

I'm talking about the myriad of little devices tracking here, there, everywhere, from time to calories, from steps we take to where we are and where we go, and the concept behind it I've come to know is called QS or quantifying self.

Being both a sci-fi fan and a techy, my mind inventoried a quick little list of hot wearable technology:
- watches
- cell phones
- fit bands
- tablets
- chips

.. and then raced ahead on what else is in prototype mode and/or about to hit the market..
- tracking rings and fit bracelets

.. all capturing, analyzing and measuring themselves or any one person in a given context or scenario.

So then my train of thought took a light curve and I began wondering what life would be like soon enough, what I'd be spending my time using in my working environment.  How would I handle all this semantic data physically, and what would connect me to the software I work with?  The concept is not new, but what's changing is the hardware.

From quantifying self to quantifying content, I think there will emerge a more proprietary standard platform of software to enable communication between devices and even between devices and people!  We are probably already seeing some of it reflected in the meta of responsive design, where HTML is now changing to account for context and descriptive attributes in its format as a language, founded on the principles of XML.

Already today, I can connect to SDL Tridion using my phone, my tablet, my laptop and so why not in the near future, from anything else I might happen to wear.  For instance, I could be walking in a botanical garden wearing the new Google glasses and presented with more in-depth information about the flowers I'm looking over feel inspired to create a new marketing campaign spun from African orchids.  I could press my bracelet and open a projection of the GUI which by now may have morphed into a semantic taxonomy of sorts, ready for me to begin quantifying content, tip-tap, quick selections, move on to typing a few key sentences and off it goes, workflow-ed for approval and review, prepped for publishing in a cloud.

Perhaps another even shorter path to my web_of_things Content Manager could come directly prepped with all the data, and I would simply instruct it at a touch to insert itself in the software for other tracking, management, analysis and use.

The technology is in motion, like spring, it has only just begun to blossom.  Soon enough intelligent-data-aware objects will drive much of what we are and do; set the wheels in motion and start thinking about what this might mean to you.  Start classifying your content and quantifying your future business.