Be the first to like this
This presentation was given at Magnolia Conference 2013 by Thomas Körner, Senior IT Consultant at Kreuzwerker: http://www.kreuzwerker.de.
Building a full featured web application raises an old question: implement or integrate features from existing software components. Starting a new project with a CMS involved raises an old question: What kind of data should be managed by a CMS and what should be handled elsewhere? To what degree should business logic reside inside the CMS? Editorial content belongs in the CMS, a Ruby on Rails application handles the rest.
Our task was to replace a social community platform providing features like private messaging, friendships, uploading and organizing photos and videos, as well as public question and answer sections. The original implementation was based on an old version of Drupal without a chance to be extended. The customer, one of the biggest cruise lines in Germany, wanted to enrich the platform by serving community games and polls as well as all kind of marketing events. Moreover, there was a high demand on integrating the application into the company web publishing strategy.
Based on the challenging customer requirements, our architecture was built on the following cornerstones: Magnolia CMS serving the static editorial content, a Ruby on Rails application managing all user interactions within the web page. Both software parts are coupled by using a Varnish reverse proxy aggregating page elements using Edge Side Includes (ESI).
The talk will walk the auditorium through the technical solution of integrating Magnolia with Rails applications by focusing on how to separate editorial content from user generated content, rendering concerns, weaving CMS and Rails content and managing multiple admin interfaces. It will focus on how to deal with such an architecture from the developer's point of view by outlining pitfalls and benefits.