I've seen the following cd_dynamic_conf
section in a few examples online (on YATB and SO).
<TCDLEngine>
<Renderer Class="com.tridion.tcdl.TCDLRenderer">
<Properties>
<Property Name="prop1" Value="value1" />
<Property Name="prop2" Value="value2" />
</Properties>
</Renderer>
</TCDLEngine>
The schema (schemas/cd_dynamic_conf.xsd
) and documentation (requires login) suggest Renderer
doesn't belong. For example, I see in cd_core log:
2013-07-30 20:09:28,848 ERROR XMLConfigurationReader - Error while validating file 'cd_dynamic_conf.xml' with schema 'schemas/cd_dynamic_conf.xsd'. cvc-complex-type.2.4.a: Invalid content was found starting with element 'Renderer'. One of '{Properties, TagBundle}' is expected.
The custom SDL Live Content example (requires login) has:
<?xml version="1.0" encoding="UTF-8"?>
<TCDLEngine>
<Properties>
<Property Name="myEngineProperty" Value="myEngineValue" />
</Properties>
<Tags>
<Tag Namespace="tcdl" Name="FooApp">
<Handler Class="com.mycompany.FooAppTagHandler" />
</Tag>
</Tags>
</TCDLEngine>
In a related ServerFault post at least in 2013 and UGC TagBundle is okay directly under TCDLEngine
.
Is the Renderer
node needed and can I remove it? Or in other words, does this control my setup's TCDLRendering?
Update: Removing the parent Renderer
node and just leaving properties seems to work okay (after restarting everything). The xsd might be outdated then. Sorry, got this backwards--the old format is outdated, the documentation and xsd seem to be correct. See answer below.
<!--<Renderer Class="com.tridion.tcdl.TCDLRenderer">-->
<Properties>
<Property Name="prop1" Value="value1"/>
<Property Name="prop2" Value="value2"/>
</Properties>
<!--</Renderer>-->
Examples appreciated but I'll report back any followup. I'd imagine we'd at least want to optionally use the Properties section.
<Renderer Class="com.tridion.tcdl.TCDLRenderer">
probably isn't needed. But it seems significant enough that I'd rather check to be sure.