A new era

After about 5 years I had the urge to move on – concerning my current blog. All these years Zope/Plone served me very well, but I just couldn’t really keep up with maintaining Plone and paying the attention it deserved. Also update to newer versions started to be a pain, and I just could afford the time to get new features in place.

OK – so this was the starting point to look for a new home; and here we are now. WordPress offered a lot of what I wanted from a blog-system, so I though – hell, give it a try.

The Migration

The worst thing about moving to WordPress was getting all of my existing content over. So I had to get about 170 blog posts and several other posts out of the Zope-Database and into WordPress. Fortunately I found a very good posts about how to move from Plone to WordPress. Basically I followed the steps outlined there.

To get my blog-posts, which are based on CoreBlog2, I had to modify the page-template a little, to find the right items in my plone catalog.

The next step was to convert the xml to an Moveable-Type format. Apposed to Len I didn’t do anything to convert my URL – at least not at this point. So the moveable-type format was now ready to be imported. Since CoreBlog allowed for posts to be grouped into categories as well as to have keywords assign, I decided to map the categories (contained in the element tag2) to PrimaryCategories and to map the keywords from Plone to Moveable Type keywords.

<xsl:text>&#xa;-----&#xa;KEYWORDS:&#xa;</xsl:text>
<xsl:for-each select="keyword">
<xsl:value-of select="." />,
</xsl:for-each>

So now I had my posts imported into WordPress. The last step was to make sure that at least some URLs would still work. Unfortunately I missed to get the names of the posts just as they where before – but I couldn’t find any Moveable Type property to specify the name of a post. So I doubt that this is actually possible – at least not with Moveable Types. And this was the way I had chosen, so I was stuck with “wrong” post-names.

But fortunately the post-dates where correct and unique. So created a little XSLT to generate update-statements for the WordPress database.

<?xml version="1.0"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" encoding="UTF-8" omit-xml-declaration="no" indent="yes" />
    <xsl:template match="/">
        <xsl:for-each select="//post">
update wp_posts set post_name='<xsl:value-of select="textFix" />' where post_date='<xsl:value-of select="creationDate" />';
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

So that took care of that.

I’m actually surprised how smooth this went – let’s see if nothing is missing.

Feeding the RSS

So I finally got around to enable RSS-feeding of my plone site. Currently this is only limited to the blog … but that’s just a matter of configuration.

In retrospective this wasn’t so hard to do, so I wonder why I didn’t do this before 🙂

OK, so how is this done? First of all you need to enable portal_syndication in the ZMI, and make the portal-action for syndication visible as well. Next you need to enable syndications explicitly for a certain object (folder).

Last you might want to edit the rss-template from the skins-folder (portal_skins/plone_templates/rss_template) to include the content body as well as just the description. To do this you have to add:

<content:encoded
xmlns:content="http://purl.org/rss/1.0/modules/content/">
<span
tal:replace="structure python:
'\074![CDATA['+obj_item.getBody()+']]\076'">
Content
</span>
</content:encoded>

just below the description element.

Problems with ATPhoto and Plone 2.5.2

I use the ATPhoto product to add a photo-album to my websites. What I like about ATPhoto is, that it features a slide-show, but even better is the capability to identify the orientation of pictures and rotate them accordingly. This is neat, especially when you’re dealing with a lot of images taken by a digital camera that puts the orientation information into the EXIF-data. Another nice feature is the bulk-upload. You can zip your pictures and upload the zip-file instead of uploading each picture individually.

Well, anyway! So I had the currently available version of ATPhoto (1.0 alpha buld 53) installed. But after upgrading Plone to 2.5.2 I got an error when clicking on the individual images.

Unfortunately there is no newer version of the ATPhoto product available (is it still being developed, or should I lookout for some new product? Well, by now Plone features some basic photo-album features out of the box, since version 2.1.x). But luckily there is a bugfix at the subversion-repository available. There is also a collective issue that covers this problem.

To install the new version you have to completly remove the old installation (I would recomend move the atphoto folder to some temporary location) and then place the HEAD-revision of the subversion repository in the atphoto folder.

After restarting Plone my photo-album worked again, just like before 🙂