In complex pages, it can be hard to work backwards from a bit of output HTML in the browser, back to the component that originated the markup.
This feature adds rendering of comments that provide trace output of which component is currently currently:
BEGIN Index:loop (context:Index.tml, line 15)-><li>
<Unable to render embedded object: File (pagelink (context:Index.tml, line 16)--><a href="/abstractcomponentdemo">Abstract Component Demo</a><) not found.-
Note that the BEGIN comment includes both the complete component id in the page and the location of that in the template. With just the component id it can still be unclear which component is being referenced without the line number.
For security purposes, this feature cannot be enabled in production mode. In non-production mode it can be enabled two ways:
- Setting the symbol "tapestry.component-render-tracing-enabled" to "true" (default: false)
- Setting the request query parameter "t:component-trace" on the URL to "true". This allows enabling for a specific request when you need it in development rather than having it on all the time.
Note that rendering comments are based on the component lifecycle. Thus in some case where post-render DOM manipulation is performed the markup my not longer be in the correct rendering comments.