Monday, March 22, 2010

Rendering Engine and Context

In the fresh baked Magnolia 4.3 we introduced the rendering engine. Why? Well all started when I supervised the creation of some new architecture diagrams. My colleague is a technical writer, a good one, but still I had a hard time to explain the rendering process and potential integration scenarios.
At some point, lacking other explanations, I introduced the rendering engine which finally helped us to visualize the system. A backbox, a centralized thing responsible for taking a content and producing HTML results.

Here are the two diagrams (existing long before any line of code)

A) Request processing


B) Rendering Engine



More and more I started to use that inexistent thing. Finally when the gate keeper already started to close the gate I wrote two concept pages about how to implement that thing:


For Magnolia 4.3 we just introduced the rendering engine but not yet the rendering context which, once introduce too, will make all that really powerful. The context will provide things like: writer, outputstream, link transformer, parameters ... and will make the rendering completely independent of the request processing.

Funny is, that when I went back to my coworker and informed him that I implemented the rendering engine, he was only surprised that it didn't exist before ;-)

2 comments:

Anonymous said...

Is this related to the following from the 4.3 release notes?

http://documentation.magnolia-cms.com/releases/4-3.html
> Paragraphs can be rendered independently
> via the URL; opens door for integration with
> other systems by allowing to get and render
> content snippets. (Ajax, REST, ...)

And if yes: do you know where to find details on that?

(Thanks!)

Philipp Bärfuss said...

It is kind of related as the rendering filter now delegates to the rendering engine which can render both: pages and paragraphs

To render a paragraph you simply use the path to the paragraph instead of the path to the page. That's all.