Select Page

PHP XML parsing bug – a workaround and a fix

One thing I didn’t find in my testing and change control was a PHP and XML parsing bug.

Documented in several places – libxml2 2.7.x and greater have a known issue.

One workaround is to force in libxml2 version 2.6.x

Not the most glamorous fix – but opensuse.org has the old libraries from openSUSE 11.0

The better (but more complex) fix is to upgrade PHP to 5.2.9 and libxml2 to 2.7.3

opensuse.org has the correct pieces from openSUSE 11.1

http://www.peteware.com/blog/2009/01/fixing-libxml2-php-wordpress-and-the-missing-angle-brackets/

http://www.peteware.com/blog/2008/12/wordpress-libxml2-bug/

http://josephscott.org/archives/2008/12/problems-with-libxml2-for-wordpress-xml-rpc-users/

http://josephscott.org/archives/2009/03/conclusion-of-libxml2-issues-use-php-529-libxml2-273/

WordPress filesystem abstraction – and automatic updates

Way back in the not-so-distant past the only way to update WordPress was to download (wget/ftp) updates, plugins and themes, unpack them and perform the update/install.

It is possible to pull the latest builds from subversion – but that’s really focused on the core hacker.

New in WP 2.7 was the ability to update automatically.

There were a few challenges with this – permissions, PHP modules, various host implementations – but I found it generally quite successful.

I found a great FAQ here – http://dd32.id.au/2009/02/20/wordpress-filesystem-abstraction-faq/

From the same author is a very cool plugin – core-control – it lets you enable and disable various transports – and shows the status of them.

Consolidation and acquisitions in the Systems Management space

Never a dull moment watching Systems Management.

I remember talking with Ronni Colville from Gartner in early 2000 about how what was then known as “Enterprise Software Distribution” would always keep evolving – but would never really change.

Today the challenges are many – mobility, bandwidth, expectations of users, privacy, security, compliance – all tied into a real budget squeeze.

At the same time there is a continuing trend towards consolidation.

In the past week or so we have seen Configuresoft, Solidcore and most recently Cassatt be acquired.

My gut feeling – most of the virtualisation management, run-book automation and niche players will be gone by year end.

A wave of smaller ISVs are rising to replace them. I’ve met with some great new talent in this space – and just as I discussed with Ronni in 2000 – it’s still the same problem to solve.

WordPress themes

Hunting around for the ‘right’ theme – my hacks to Regulus by Ben Gillbanks are still doing an admirable job.

I’ve dragged the theme through a miriad of WordPress alphas, betas and releases; and added a stack of plugins and widgets to the side.

My ideal is a clean, two-column, widget-ready theme. Fast to load – and able to support the Gallery2 integations.

Fixing _weak_escape errors in WordPress 2.8

I’m hoping this saves someone some searching.

I upgraded a couple of blogs to WordPress 2.8 beta early this morning – and I had problems with a single plugin – Audit Trail by John Godley.

The symptom was that on login you got a blank screen and Apache/PHP threw this:

[Fri May 29 11:59:05 2009] [error] [client 10.0.0.1] PHP Fatal error:  Call to undefined method AT_Auditor::_weak_escape() in /www/<foo>/wp-includes/wp-db.php on line 487, referer: http://<foo>/wp-login.php?redirect_to=/

The plugin itself is nicely written – and as part of the safety mechanism it uses wpdb::escape to explode out anything before injecting to the database.

One change in WP 2.8 looks like it affects this – login redirects are now urlencoded by default – http://core.trac.wordpress.org/ticket/9817 – and that looks like it’s clashing with the line above.

The temporary fix for me is to modify part of the plugin to not call into wp::db – and instead assume that the url has already been exploded out.

wp-content/plugins/audit-trail/models/audit.php

line 173

//               $operation = wpdb::escape ($operation);

The risk for my implementation seems small – I’m only using audit-trail to track logins and logouts.

So if you are hunting down some generic <function>::_weak_escape errors in WordPress 2.8 beta – take a trawl through your plugins and see if there is a wpdb::escape call. There may be some relatively low impact fixes out there.

ZENworks for Toasters

This goes back a long, long way.

Summer 2000 I was talking to an audience of customers and resellers in South Africa about how the directory, identity-driven management and ZENworks specifically could manage anything. The concepts of management by exception and the extensibility of the Novell Directory Services (as it was then known) were ideal for this.

We were joking around concepts of management – and we came on ZENworks for Toasters.

Some Java fun in ConsoleOne – and we had a cool demo plugin for our internal Systems Engineers.

installwizard

create

props

Adding movies to the family blog

I’ve finally got the movie to web thing down to a pretty efficient process.

Video (AVI or AVCHD) –> Sony Vegas –> Flash Video studio (convert to flv) –> Amazon S3

I’m using the Flash Video Player plugin for WordPress – it’s nice and clean. Using Amazon S3 lets me put video in a datacenter in the US or Europe for pennies. That means my servers at home and my uplink don’t get killed by family viewing the lastest videos; it also means a measurable improvement in their experience. Viewing a video served from Amazon S3 in Europe to grandpa via DSL in London is very acceptable.

System Center Partner Solutions Guide – April 2009

Originally posted on TechNet blogs.

Finally the team got the Partner Solutions Guide to print.

Here is a proof copy (right) next to the 2007 partner guide on the left.

System Center Partner Solutions Guide

This will be printed and shipped to Las Vegas  – in time for the Microsoft Management Summit.

A big thanks to all of the System Center partners who provided their information, proofed and re-proofed their submissions. I hope you all find this guide useful – and another benefit of being in the System Center Alliance.