Novell Global Sales Conference – Orlando

Woo. Off to sunny Orlando in a few weeks for the annual sales conference. I missed last year; I was on paternity leave.

I’m running three days of ‘Endpoint management training’ for the global pre-sales and technical teams.

I’m juggling the agenda right now – should include:

– Advanced ZCM scenarios; scale, deployment, labs etc
– ZENworks Endpoint Security Management
– ZENworks Patch Management Services update
– Vista deployment and migration lab
– roundtable, roadmap, updates etc

Pre-exam prep

Superstition? Maybe.

I always listen to “Dreams Never End” by New Order before every exam I’ve taken. Ever since mock GCSEs in 1987.

ITIL Managers Certificate

Back in London to sit the two, three hour papers for the Managers Certificate.

Fingers crossed; first one Wednesday afternoon, second on Thursday morning.

ZENworks Configuration Management – building a custom agent deployment package

A long title for a short post.

The default agent deployment packages created during Primary Server installation are hard coded to the Fully Qualified DNS Name and the static IP address of your server. All well and good for a single server; but what about:

  • DNS round robin
  • servers behind static NAT
  • etc

Here’s how to build a custom agent deployment package with either no server details (add them via registration at deployment time) or with a single DNS name.

Continue reading “ZENworks Configuration Management – building a custom agent deployment package”

Securing a WordPress blog

 I’ve been hosting a family blog and photo site for a good friend for over a year.

They decided recently to ‘lock down’ the site and restrict access to both the blog and the photos to family and friends only.

I spent some of yesterday doing this.

I’ve extensively use WPG2 to integrate WordPress and Gallery2 – and I use the permissions and roles within Gallery2 to successfully limit access to pictures. The most striking example of this is with my sisters Cub Scout web site; non members can read blog posts; but not view pictures.

Securing the WordPress side was a little more tricky. Drupal has a very strong permissions module -especially useful for the anonymous user. Nothing like that for WordPress.

In the end I used the post-levels plugin from Filipe Fortes – it needed some SQL mungling to work with WordPress 2.3 – but the end results were pretty good.

gtr.com

post-levels update for WordPress 2.3

I made an update for the post-levels plugin so it works with WordPress 2.3

The plugin was throwing sql errors.

WordPress database error: [Column ‘post_id’ in field list is ambiguous]
SELECT post_id, meta_value FROM wp_postmeta, (wp_posts LEFT JOIN wp_postmeta as pl_wp_postmeta ON (wp_posts.ID = pl_wp_postmeta.post_id)) WHERE post_id = ID AND meta_key = ‘links_to’ AND (post_status = ‘static’ OR (wp_posts.post_status = ‘publish’ OR (wp_posts.post_status = ‘private’ AND (pl_wp_postmeta.meta_key = ‘post_level’ AND pl_wp_postmeta.meta_value <= 1 ))))

WordPress database error: [Column ‘post_id’ in field list is ambiguous]
SELECT post_id, meta_value FROM wp_postmeta, (wp_posts LEFT JOIN wp_postmeta as pl_wp_postmeta ON (wp_posts.ID = pl_wp_postmeta.post_id)) WHERE post_id = ID AND meta_key = ‘links_to_target’ AND (post_status = ‘static’ OR (wp_posts.post_status = ‘publish’ OR (wp_posts.post_status = ‘private’ AND (pl_wp_postmeta.meta_key = ‘post_level’ AND pl_wp_postmeta.meta_value <= 1 ))))

Here’s the fix:

 

function postlevels_query_cleanup($sql)
{
    global $wpdb;

// fix for WordPress 2.3
// evilzenscientist – 2 Oct 07

    $sql = preg_replace(“/post_id/”, “wp_postmeta.post_id”, $sql);
    $sql = preg_replace(“/, meta_value/”, “, wp_postmeta.meta_value”, $sql);
    $sql = preg_replace(“/meta_key/”, “wp_postmeta.meta_key”, $sql);

// end

 

Here’s the new plugin. It’s not really tested – except it works for me.

Oops

The magic of blogging 😉 I posted to Cool Blogs instead of my own.