Tag Archive

ActionScript 3.0 ajax algorithms animation art as3 as3soundeditorlib blog community computer art computer vision digg eclipse employment flash google analytics IDE image-manipulation image-segmentation imagemagick Ithaca Ithaca NY java hosting jobs lightlink local mod_python MVC mysql News open source parser pseudo physics python renderer runtime SoundEditor svg svn tomcat versioning web-2.0 web-applications web technology wordpress

Content versioning in Wordpress

I am blogging some more serious content — content that will be carefully edited over time. I need version control. Wordpress stores pages and posts in the database — making it hard to version content. Sure, you could store old versions, and write a bunch of custom software to diff recordsets. I have a better idea — store content on the filesystem. Then you can use subversion. DB storage is nonstandardized.

I’m going to start learning a RubyOnRails blogging package — whichever one I think is going to be dominant. I’m not sure if it’s Typo or Mephisto, or something else.

I hope that whatever tool I choose, it saves posts in the filesystem.

I know at least one tool that saves posts in the filesystem — blosxom does — this software is being used by a bunch of the pragmatic programmers people. Downside — it’s perl, and probably it doesn’t have the nouveau web services support that WordPress and the emerging ROR platforms have.

I may look into hacking WordPress to save content where I want it to be saved. One person has posted a plugin that stores versions in the database, but it’s old. Another has posted a plugin that allows you to insert a tag in the content pane that links to a text file on disk. Of these, I like the first solution best since it lets me keep editing in WordPress and by using ScribeFire.

Database versioning

We are looking into a lightweight way to track database changes in ‘raw’ php — actually not quite raw, but a pretty wimpy homegrown framework — and I just discovered that SQLyog has a command history, so I can record the alter table statements.