Building Another Editing Website

There are a lot of ways to build software.  One picks and chooses different solutions as different needs become evident.  For speed, PHP or an Object-Oriented development environment like Ruby on Rails or Django are good.  But if one needs the monolithic production environment for an editing program, one must choose a toolkit like Plone, with all its overhead instead.

I felt pretty good about the software developments I had made using Plone to create the New Holland Press newspaper.  The site produced .PDFs right from editor’s copy!  But it was slow.  Now that I want to create a new technical journal I want a similar site that is a bit more speedy.

I liked the way objects could be stored in the Plone database.  One could adapt the software for an object like a ImageFrame and create a WatermarkedImageFrame.  All this without making changes to any database schema or taking “round-trips” to carefully edit the existing data so that the new product would work.  All that you had to do (practically) was to create the new WatermarkedImageFrame.  Of course it had to fit into the entire framework of the site and you had to learn how to do that.  The framework was a bit more complicated than PHP.

I came up with PHPZope as a way to harvest the data that was stored so neatly in the Plone database so that it could be presented on a PHP site.  The name is really a misnomer – it really should be called PHP-Pickle.  It almost is done and almost succeeds at reading Python Pickles and turning them into a PHP Array.  The new product (see previous post) does not seem to deal with Zope persistence properly however.

What I would like to do is design an editing environment using Python.  A logged in user would be able to create a new document, edit it, proofread it and print it.  The functions to do this would be built using Python’s correct object-oriented design and persistence that preserves the object’s state.  Then PHP Pickle would create a fast website for viewing the results!

Leave a Reply

Your email address will not be published. Required fields are marked *