MetaBlog Post Extension

MetaBlog Post Extension is a Graffiti plug-in that will allow you to set several post properties when posting via the MetaBlog API by including some tokens in your post body.  I created this plug-in in response to a comment to my original Publishing to Graffiti CMS from Diarist post that asked about setting the Include on the Home Page property of a post when posting.

Installing MetaBlog Post Extension

Once you have the plug-in, you can either place it into your /bin directory yourself (via file copy or FTP), or use the File Browser in Graffiti.  To use the File Browser, go go the Graffiti control panel > Site Options > Utilities > File Browser.   Select the bin folder from the folder list and then click the Add Files link. Locate NinoB.Graffiti.PlugIns.dll and upload it.

Now, as all plug-ins are disabled by default, it must be enabled.  In the Graffiti control panel, navigate to Site Options > Plug-Ins.  Locate the ‘MetaBlog Post Extension’ entry and click the Enable link.  Once enabled, it will look like this:

MetablogPostExtension

 Configuring MetaBlog Post Extension

There is no configuration for this plug-in.

Using MetaBlog Post Extension

In your post, add one (or more) of the following tokens:

[homepage] Sets the ‘Include on the Home Page’ property.
[draft] Sets the Publish Status to ‘Draft’
[enablecomments:true] Enables comments for this post if comments are disabled by default on new posts.
[enablecomments:false] Disables comments for this post if comments are disabled by default on new posts.
[tags:<comma-delimited-tag-list>] Sets the tags for the post.

 Here is an example using Windows Live Writer:

testpost

Here is an example using Diarist:

DiaristTestPost 

Download the plug-in here!

Notes

I have only tested this from Windows Live Writer (WLW), Microsoft Word 2007, and Diarist, so your YMMV (your mileage may vary). Any HTML that your blogging tool may prefix or suffix the token text with is not removed, so if your tool actually submits <p>[draft]</p>, the <p></p> will be left behind after the post is processed.

I would appreciate any feedback – please leave a comment to this post, or contact me directly.  Enjoy!

Graffiti CMS 1.2 Released

The folks at Telligent have released version 1.2 of Graffiti CMS.  If you are already running v1.1, the upgrade is dead simple – it is just a file overlay.  As fast as you can copy/ftp the files, you are upgraded. 

Granted, it took me a few more minutes because I put my entire website under source control (and usually don’t version binaries, but made an exception here), so I had to perform a check-out and check-in as well as the FTP up to my site host.  ..and the upgrade worked without issue (as one would expect).

Here’s the fix list (which is also on the page linked to above):

· Corrected Gravatar markup

· Dictionary references (%{}) in macros now work correctly

· PostsByTagAndCategory no longer returns an exception if no posts are found or an invalid tag or category is passed

· Now trapping invalidly formatted email addresses on the Contact form

· Time settings in error log now reflect the time zone offset

· Deleting navigation links containing special characters now works correctly

· Control Panel post category filtering is now maintained when “older posts” and then “newer posts” are clicked

· Updated VistaDB database engine to current version

· EveryoneRole no longer counts as a content publisher when it doesn’t have edit/publish rights.

· Search results now respect permissions

· Categories tree sidebar item in Control Panel now reflects posts correctly with same-named sub categories.

· Revision dropdown in Control Panel now shows the correct time/date stamp for each revision

· Corrected Comments paging in the Control Panel

· Corrected the XSS issue

Note that we also had these bugs logged, but our testing showed that the fixes were already present in Graffiti 1.1:

· Directory Path not found for FileBrowser in Mono

· Dashboard – GetFeeds throwing object ref not set

· Case sensitivity issue in TagCloud

· Bug posting with special characters in title with Live Writer

Graffiti Post Comments On January 23

On a recent post, an astute reader (and commenter) noticed that his comment (and all comments on that post) were appearing as ‘January 23, 2008’.  I looked. Yikes! He was correct.  Hmmm.

I hit the Graffiti forums and found a few threads that mentioned it, but no fixes. Time to take a peek on my own.  Once in the control panel, navigate to Presentation > Themes > Personalize (for the current theme). Next, click post.view to bring up the markup template behind an individual post.

At this point I thought the first step would be to just perform a search for the string ‘January 23’.  Makes sense, correct?  You bet.  So, I did; I found the string. And then I was sad. Here is what I found:
<a href=”#comment-$comment.Id” title=”Permanent link to this comment” rel=”bookmark”>January 23, 2008</a>

Hard-coded. That certainly explains it. Goofy theme author.

Next, I pulled up the post.view for the default Graffiti 1.1 theme. Oh, it is hard-coded here, too. More sadness.  Not the theme author’s fault. Well, not entirely.

Enough being sad, let’s get happy.  The fix for this faux pas is simple:

1) locate ‘January 23, 2008’ in your post.view template.  delete.

2) replace with: $macros.FormattedDate($comment.Published)    
     My comment link now looks like this:
     <a href=”#comment-$comment.Id” title=”Permanent link to this comment”  rel=”bookmark”>$macros.FormattedDate($comment.Published)</a>

3) Click the Save Changes button.

This will now list the date for a comment using a format that appears like this: ‘Tuesday, December 02 2008’. Spiffy!  Fixed.

Next steps?  Ask your favorite Graffiti 1.1 theme author to verify that, if they copied some parts of the default theme, they fixed this item in their theme.  Also, you will need to check this (and perhaps fix it) for any other theme that you use as well.

Oh, and what is so swell about January 23? Not certain, but a few things have happened on January 23.

Publishing to Graffiti CMS from Diarist

Some folks out there (like me, on occasion) prefer to use a client application for blogging from their Windows Mobile device, as opposed to using a web interface.  The client I like to use (which I have also used with Community Server) is Diarist  Diarist (download here) (note: requires .NET Compact Framework 2.0) from Kevin Daly.

I recently had cause to hard reset my Windows Mobile 6.1 Professional Edition device, so I needed to reinstall all of my apps.  Diarist, of course, being one of them.  It is also telling that I have not blogged from my device since before I switched from Community Server to Graffiti CMS, but that’s another story.

After launching Diarist for the first time, click the Menu soft key, then Weblog > Add > Generic MetaWeblog as in Figure 1.

GenericMetaWeblog

Figure 1

Once on the screen for entering blog information, enter in the API URL, username, password, and blog URL (see Figure 2).  For Graffiti CMS, the MetaWeblog endpoint is at /api/MetaBlog.ashx.  If your site is at http://yoursite.com, the URL for the MetaWeblog endpoint (i.e. API URL) would be http://yoursite.com/api/MetaBlog.ashx. After entering this information, click the Confirm soft key and you are ready to post to your blog!

APIInfo

 

Update: Check out my additional post on this topic for an even easier way to configure Diarist

And now, with Graffiti CMS power

Telligent Community Server is a good product, but a bit overkill for a single blog instance like this.  I have been looking for a turnkey solution to replace it, and I have found that in Telligent’s Graffiti CMS (1.1).

For my readers who subscribe to my feed (powered by FeedBurner), you will be blissfully ignorant of any changes; visitor’s to my site will notice some changes in layout.  They will also notice that my file downloads are currently unavailable – I will have this addressed shortly. 

After some trial and error (and re-reading the documentation <gasp!>), I achieved a flawless import of all my existing posts in CS to Graffiti (well done, Telligent).  I have set up redirects (so everyone using the old CS-based URLs won’t get lost, but the old-old URLs I was redirecting in CS are now toast) using James Avery’s Graffiti.Redirect (0.2).   Also, I have installed Graffiti Extras; however, I’m having some trouble getting the Windows Mobile theme selector to work correctly, but that seems to be an issue with this extension – stay tuned for some updates there.

Having gone through several CS version upgrades, I will say that the migration to Graffiti was painless by comparison (and frankly, painless overall).  Nice to see the product quality improvement, Telligent. Seriously, I wanted to love CS (2.x, 2007.x) with all my heart, but, damn it, there was some cruft in there that was just painful to deal with.

This time, it’s all milk and honey.  <AustinPowersVoice>Yeah, baby.</AustinPowersVoice>     Well done, Telligent, and I look forward to the 2.0 release.

 

Note: I was not bribed, threatened, blackmailed, blackballed, coerced, spammed, given the evil eye, or otherwise influenced by Telligent or their employees (even the ones here in Ohio) to write this ‘review’. I’m just seriously happy with this product.