MJR's slef-reflections

photo

Posting Ahead

Thu, 15 May 2008 09:52:52 +0100

I'm convinced by The Argument for Posting Ahead [Network Blogging] so why didn't I set it up for my recent trip?

Well, a while ago, I had a bit of an email discussion with Steve about delayed posting features for Chronicle which I think ended with the addition of chronicle-spooler to the released files. I initially suggested ignoring a post when its Date is in the future, like Wordpress does, but I think that wouldn't be backwards-compatible and isn't as flexibile as it could be.

chronicle-spooler works by moving files from a spool dir into a live dir. I'd forgotten how much it confuses me when files on a "static" site start moving themselves around. It means I have to merge before upload, which isn't a big change, but still annoying.

So, I've added the following lines to chronicle to skip entries with a Publish header in the future:-

--- chronicle-2.7/bin/chronicle.orig	2008-05-15 10:13:55.000000000 +0100
+++ chronicle-2.7/bin/chronicle	2008-05-15 10:13:43.000000000 +0100
@@ -607,7 +607,8 @@
         #  Read the entry and store all the data away as a
         # hash element keyed upon the (unique) filename.
         #
-        $results{ $file } = readBlogEntry($file);
+        my $result =  readBlogEntry($file);
+        if ($result) { $results{ $file } = $result; }
     }
 
     #
@@ -1479,7 +1480,7 @@
     my $tags    = "";    # entry tags.
     my $body    = "";    # entry body.
     my $date    = "";    # entry date
-    my $publish = "";    # entry publish date - *ignored*

+    my $publish = "";    # entry publish date
 
     open( ENTRY, "<", $filename ) or die "Failed to read $filename $!";
     while ( my $line = <ENTRY> )
@@ -1527,6 +1528,14 @@
     }
     close(ENTRY);
 
+    # MJR - embargo stuff until its publish date.
+    # Steve recommends using chronicle-spooler,
+    # but I want uploaded files to stay where I put them,
+    # else I get my local copy confused.
+    if (($publish ne "") && (str2time($publish) > time())) {
+    	return 0;
+    }
+
     #
     #  Determine the input format to use.
     #

I think that's compatible with chronicle-spooler, too...

Tags: life, software, web.

Comments are moderated (damn spammers) but almost anything sensible gets approved (albeit eventually). If you give a web address, I'll link it. I won't publish your email address unless you ask me to, but I'll email you a link when the comment is posted, or the reason why it's not posted.

This is copyright 2008 MJ Ray. See fuller notice on front page.