MVC frameworks and content management systems

malte on 2005-11-20T13:23:30

One major point that is missing from most MVC frameworks in my opinion is a solid integration with content management systems.

Most dynamic websites will also have some kind of content component. In some situations you might get away with generating static pages with the CMS while using the same basic template for the dynamic pages. However, for more complex pages where you might want to do cross-selling on all pages or you want to have the dynamic pages integrated into the navigation which is generated by the CMS this won't work for you.

The solution is a system that fully integrates static and dynamic pages in a single system. What we did for this website was to add an extra field to the article entity of the content management system. You can now tell an article that it really is a dynamic page with a certain action for the MVC framework. Links to this article within the CMS will now automagically point to the controller of the MVC framework and the controller knows that while generating the page it is supposed to take the article from the CMS to complete it's page generation.

In the project above we used a proprietary content management system with a proprietary MVC framework. We are considering switching all our development to Catalyst. Build in integration with a system like Bricolage (and something that is easier to install than Bricolage) would be a big selling point.


Krang and CGI::Application

samtregar on 2005-11-21T20:12:35

Where I work we've had a pretty easy time integrating with apps running CGI::Application on the front-end. Krang publishes two types of files for the dynamic app: an instance stub (.pl) and one or more templates files (.tmpl). The template files are processed in a two-pass rendering where Krang sets up the static-content stuff and then the front-end app can mix in the dynamic content. The result is dynamic applications that can be configured and published via Krang just like static content.

When I get some time I'm going to document how this works in an article or a HOWTO.

-sam

Re:Krang and CGI::Application

samtregar on 2005-11-21T20:14:54

God damn it. This site really needs an edit button. Here's how that was supposed to look:

Where I work we've had a pretty easy time integrating Krang with apps running CGI::Application on the front-end. Krang publishes two types of files for the dynamic app: an instance stub (.pl) and one or more templates files (.tmpl). The template files are processed in a two-pass rendering where Krang sets up the static-content stuff and then the front-end app can mix in the dynamic content. The result is dynamic applications that can be configured and published via Krang just like static content.

When I get some time I'm going to document how this works in an article or a HOWTO.

-sam