SDL Live Content describes the use case for Renderers as "manipulating the output produced by the rendering process" for Component Presentations. This falls between Content Manager and Content Delivery, specifically under Content Distribution / Publishing.
Rather than adding a Template Building Block (TBB) to all templates, we can use a custom renderer to "globally" change all CP's output. We can also use a renderer to publish item types not currently rendered. We can add a custom resolver for this item type along with a custom renderer and CD-side code.
We would implement IRenderer under Tridion.ContentManager.Publishing.Rendering in a .NET project and add the resulting dll to the CMS's GAC.
Questions
I can see how we would use a renderer to maybe manipulate or even wrap all outputted markup or maybe wrap all CPs.
- Is this for "raw" manipulation of whatever our templates output? In other words, do we get access to any of the CM or CD APIs?
- Does this renderer logic apply to all publications and templates in a given CMS instance?
- The documentation refers to item types, are those Tridion item types such as TBBs?
Bart Koopman also describes how Custom Renderers work in the context of the other extension points in How To Tackle Integrations article on SDLTridionWorld.
I understand is distinct from Delivery-Side Renderers described by Jaime Santos Alcón?