The Artima Developer Community
Sponsored Link

Python Buzz Forum
Screencast: manage content with Plone, develop front end web app with your favorite Python framework

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Carlos de la Guardia

Posts: 219
Nickname: cguardia
Registered: Jan, 2006

Carlos de la Guardia is an independent web developer in Mexico
Screencast: manage content with Plone, develop front end web app with your favorite Python framework Posted: Feb 4, 2009 12:38 PM
Reply to this message Reply

This post originated from an RSS feed registered with Python Buzz by Carlos de la Guardia.
Original Post: Screencast: manage content with Plone, develop front end web app with your favorite Python framework
Feed Title: I blog therefore I am
Feed URL: http://blog.delaguardia.com.mx/feed.atom
Feed Description: A space to put my thoughts into writing.
Latest Python Buzz Posts
Latest Python Buzz Posts by Carlos de la Guardia
Latest Posts From I blog therefore I am

Advertisement

I have been working in a project for the Library of Congress of Chile, where they needed one single instance of Plone to manage multiple web sites. All of those are high traffic site, so serving them from Plone was not an option.

Right around the time when we were designing a solution, the ContentMirror product was released. This product allows us to mirror the content from a Plone site into a relational database and is a key piece of the system we have developed, which uses that relational database to pull the content for use by an independent web framework.

On the Plone side, the system consists of several parts:

  • The plone content management backend site.
  • ContentMirror configured to mirror all published content.
  • A web site definition product for Plone to create sites and assign content to them from a content area on the Plone instance.
  • JQuery and CSS grid based layout tools for defining visual site layouts in Plone, independent of the Plone layout.
  • A new JQuery page composition tool to interactively build front pages using tiles. This tool can be easily extended with independent packages.
  • A simple theming strategy that allows the site managers to register themes using simple packages that consist mostly of images and a CSS stylesheet.

It's worth noting that the page composition tools will be available separately so that they can be used independently of the whole system.

Once the webistes are mirrored into the database, any framework can be used to present the content. We developed a simple Python library that uses SQLAlchemy to help developers access the content and another one that helps assembling the pages, with hooks for adding content from other sources.

For our first front end implementation we decided to use repoze.bfg, which is a very lightweight framework that uses many familiar Zope concepts. It's also very fast. Our benchmarks show that serving the same Plone content out of the repoze.bfg application is almost 100 times faster than with Plone (and it's still dynamic).

But of course, a picture is worth a thousand words, so I made a screencast of the whole system in action (it's around 20 minutes long).

Keep in mind that though we use repoze.bfg in this case, any Python framework could use our Python libraries to access and use the content. We are also working on a simple Plone product that will produce a static version of the sites.

This will all be open sourced, of course. We are shooting for a late March release, hopefully in time for PyCon, where I'll be speaking about this project. I hope I see you there.


Read: Screencast: manage content with Plone, develop front end web app with your favorite Python framework

Topic: WSGI and cooperation Previous Topic   Next Topic Topic: Review: Expert Python Programming

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use