<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MaisonBisson.com &#187; bsuite</title>
	<atom:link href="http://maisonbisson.com/blog/post/tag/bsuite/feed/" rel="self" type="application/rss+xml" />
	<link>http://maisonbisson.com</link>
	<description>A bunch of stuff I would have emailed you about.</description>
	<lastBuildDate>Sat, 14 Nov 2009 20:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wufoo Forms WordPress Embed Shortcode</title>
		<link>http://maisonbisson.com/blog/post/13446/wufoo-forms-wordpress-embed-shortcode/</link>
		<comments>http://maisonbisson.com/blog/post/13446/wufoo-forms-wordpress-embed-shortcode/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 16:35:30 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[embedding]]></category>
		<category><![CDATA[shortcode]]></category>
		<category><![CDATA[shortcodes]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wufoo]]></category>
		<category><![CDATA[Wufoo forms]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13446</guid>
		<description><![CDATA[
I tossed this together a while ago, and it even made it in to bSuite for a time, but I don&#8217;t have a need for it anymore, and I&#8217;m cleaning house.

function shortcode_wufoo( $arg ){
 // [wufoo id=z7x4m0 domain=place.wufoo.com]

 $arg = shortcode_atts( array(
 'id' =&#62; FALSE,
 'domain' =&#62; FALSE,
 'height' =&#62; 500,
 ), $arg );

 if( [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13446"><!-- &nbsp; --></abbr>
<p>I tossed this together a while ago, and it even made it in to <a href="http://maisonbisson.com/bsuite/">bSuite</a> for a time, but I don&#8217;t have a need for it anymore, and I&#8217;m cleaning house.</p>
<pre class="brush: php;">
function shortcode_wufoo( $arg ){
 // [wufoo id=z7x4m0 domain=place.wufoo.com]

 $arg = shortcode_atts( array(
 'id' =&gt; FALSE,
 'domain' =&gt; FALSE,
 'height' =&gt; 500,
 ), $arg );

 if( !$arg['id'] || !$arg['domain'] )
 return( FALSE );

 return( str_replace( array( '%%id%%','%%domain%%','%%height%%' ), array( $arg['id'], $arg['domain'], $arg['height'] ), '&lt;iframe height=&quot;%%height%%&quot; allowTransparency=&quot;true&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; style=&quot;width:100%; border:none&quot; src=&quot;https://%%domain%%/embed/%%id%%/&quot;&gt;&lt;a href=&quot;http://%%domain%%/forms/%%id%%/&quot;&gt;Fill out my Wufoo form!&lt;/a&gt;&lt;/iframe&gt;' ));
}
add_shortcode( 'wufoo', 'shortcode_wufoo' );
</pre>
<p>Download the simple plugin here: <a href="http://maisonbisson.com/files/2009/03/wufoo_shortcodephp.txt"><code>wufoo_shortcode.php</code></a>. Save it as <code>wufoo_shortcode.php</code>, upload it to your WordPress&#8217; <code>wp-content/plugins/</code> directory, then activate it.</p>
<p>To use it you&#8217;ll have to have a <a href="http://wufoo.com/">Wufoo account</a> and forms. Then simple put in a shortcode like this <code>[wufoo id=z7x4m0 domain=place.wufoo.com]</code> in one of your posts or pages. The <a href="http://collingswoodlib.org/contact-us/contact-director/">result will look like this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13446/wufoo-forms-wordpress-embed-shortcode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Slideshare WordPress Embed Shortcode</title>
		<link>http://maisonbisson.com/blog/post/13448/slideshare-wordpress-embed-shortcode/</link>
		<comments>http://maisonbisson.com/blog/post/13448/slideshare-wordpress-embed-shortcode/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 16:30:13 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[embedding]]></category>
		<category><![CDATA[shortcode]]></category>
		<category><![CDATA[shortcodes]]></category>
		<category><![CDATA[slideshare]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13448</guid>
		<description><![CDATA[
I&#8217;m cleaning house in bSuite, and I&#8217;ve decided that this shortcode function for embedding Slideshare items in WordPress needs to go. Rather than totally toss it away, however, I&#8217;m posting it here in case somebody else finds it useful.

	function shortcode_slideshare&#40; $arg &#41;&#123;
		// [slideshare id=211578&#38;amp;doc=misty-holland-1198496990903941-2&#38;amp;w=425]
&#160;
		$arg = shortcode_atts&#40; array&#40;
			'id' =&#38;gt; FALSE,
		&#41;, $arg &#41;;
&#160;
		if&#40; ! $arg&#91;'id'&#93; &#41;
			return&#40; FALSE [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13448"><!-- &nbsp; --></abbr>
<p>I&#8217;m cleaning house in <a href="http://maisonbisson.com/bsuite/">bSuite</a>, and I&#8217;ve decided that this shortcode function for embedding Slideshare items in WordPress needs to go. Rather than totally toss it away, however, I&#8217;m posting it here in case somebody else finds it useful.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">function</span> shortcode_slideshare<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$arg</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// [slideshare id=211578&amp;amp;doc=misty-holland-1198496990903941-2&amp;amp;w=425]</span>
&nbsp;
		<span style="color: #000088;">$arg</span> <span style="color: #339933;">=</span> shortcode_atts<span style="color: #009900;">&#40;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arg</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> <span style="color: #000088;">$arg</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">return</span><span style="color: #009900;">&#40;</span> <span style="color: #009900; font-weight: bold;">FALSE</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'%%id%%'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arg</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'
&lt;div id=&quot;slideshare-%%id%%&quot; class=&quot;embed slideshare&quot;&gt;&lt;object width=&quot;425&quot; height=&quot;348&quot; data=&quot;https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=%%id%%&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&lt;param name=&quot;src&quot; value=&quot;https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=%%id%%&quot; /&gt;&lt;/object&gt;&lt;/div&gt;
'</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'slideshare'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'shortcode_slideshare'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13448/slideshare-wordpress-embed-shortcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tricky Uses of bSuite</title>
		<link>http://maisonbisson.com/blog/post/12934/tricky-uses-of-bsuite/</link>
		<comments>http://maisonbisson.com/blog/post/12934/tricky-uses-of-bsuite/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 16:55:14 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12934</guid>
		<description><![CDATA[
After writing the project page for wpSMS I didn&#8217;t have much more to say in a blog post announcing it. The cool thing about writing Pages in WordPress is that I can create a taxonomy like /projects/wpsms/ to place them in. The downside is that new pages never appear in the RSS feed.
So I need [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12934"><!-- &nbsp; --></abbr>
<p>After writing the <a href="http://maisonbisson.com/projects/wpsms/">project page for wpSMS</a> I didn&#8217;t have much more to say in <a href="http://maisonbisson.com/blog/post/12911/wpsms-wordpress-plugin-sends-sms-messages/">a blog post announcing it</a>. The cool thing about <a href="http://codex.wordpress.org/Pages">writing Pages in WordPress</a> is that I can create a taxonomy like <code>/projects/wpsms/</code> to place them in. The downside is that new pages never appear in the RSS feed.</p>
<p>So I need both the page and a blog post to announce it. I could have simply copied the content from the wpSMS page into a blog post, but that creates confusion and splits the audience between the two pages. Instead, I&#8217;m using two bSuite features: the <code>[inclu</code><code>de]</code> <a href="http://maisonbisson.com/bsuite/shortcodes/">shortcode</a> and the post redirection support.</p>
<ol>
<li>Create the page.</li>
<li>Start a new post.
<ol>
<li>In the post body put the <a href="http://maisonbisson.com/bsuite/shortcodes/#12141_include_1"><code>include</code> shortcode</a> like this: <code>[inclu</code><code>de post_id="123" field="post_content"]</code>.</li>
<li>In the custom fields put an entry with the key: &#8220;redirect&#8221; and the full URL to to your page.</li>
</ol>
</li>
<li>Relax, you&#8217;re done.</li>
</ol>
<p>The include shortcode will copy all the content from the page (so you don&#8217;t have to manage it twice), and the redirect custom field will tell bSuite to redirect anybody trying to read that post to your page.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12934/tricky-uses-of-bsuite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do WordPress Pages Better With bSuite</title>
		<link>http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/</link>
		<comments>http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 19:27:14 +0000</pubDate>
		<dc:creator>Casey</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[innerindex]]></category>
		<category><![CDATA[list_pages]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[shortcodes]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress as CMS]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12651</guid>
		<description><![CDATA[
a href=&#8221;http://wordpress.org/&#8221;>WordPress&#8216; Pages feature makes the popular blogging platform a sophisticated CMS. bSuite adds a few features to make it even better.
   
Write excerpts, tag, and categorize your pages
WordPress excerpts are an underused but powerful feature that allow you to explain to your readers why they should read the page you wrote. Tagging [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12651"><!-- &nbsp; --></abbr>
<p><div class="contents innerindex"><h3>Contents</h3><ol><li><a href="http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/#12651_write-excerpts-tag-a_1">Write excerpts, tag, and categorize your pages</a></li><li><a href="http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/#12651_automatically-insert_1">Automatically insert anchors in your page</a></li><li><a href="http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/#12651_automatically-list-s_1">Automatically list sub-pages</a></li><li><a href="http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/#12651_automatically-list-s_2">Automatically list sub-pages with excerpts</a></li></ol></div><a href="http://wordpress.org/">WordPress</a>&#8216; <a title="Pages « WordPress Codex" href="http://codex.wordpress.org/Pages">Pages</a> feature makes the popular blogging platform a sophisticated CMS. <a href="http://maisonbisson.com/bsuite/">bSuite</a> adds a few features to make it even better.</p>
<p><a title="excerpt by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/2885151603"><img class="alignnone" title="Use excerpts to help readers quickly understand your content" src="http://farm4.static.flickr.com/3064/2885151643_143679b546_t.jpg" alt="excerpt" width="100" height="100" /></a> <a title="bSuite cms small by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/1959579190/"><img class="alignnone" title="This table of contents links to anchors within the page" src="http://farm3.static.flickr.com/2313/2541990070_c20c030532_t.jpg" alt="bSuite cms small" width="100" height="100" /></a> <a title="list_pages by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/2885163657/"><img class="alignnone" title="Each staff member gets her own page, the list_pages shortcode brings them together" src="http://farm4.static.flickr.com/3014/2885163697_81049399bb_t.jpg" alt="list_pages" width="100" height="100" /></a> <a title="list_pages shortcode with excerpts by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/2885986260/"><img class="alignnone" title="Here's the list_pages shortcode showing excerpts in conjunction with the innerindex shortcode on each sub-page" src="http://farm4.static.flickr.com/3107/2885986286_b396ca5117_t.jpg" alt="list_pages shortcode with excerpts" width="98" height="100" /></a></p>
<h3 id="12651_write-excerpts-tag-a_1" >Write excerpts, tag, and categorize your pages</h3>
<p>WordPress excerpts are an underused but powerful feature that allow you to explain to your readers why they should read the page you wrote. Tagging and categorization of pages help improve the findability of those pages, especially in search engines. Native WordPress doesn&#8217;t support excerpts, tags, or categories for pages, but bSuite does. Whenever you edit a page you&#8217;ll see the same tools that you do when writing posts.</p>
<h3 id="12651_automatically-insert_1" >Automatically insert anchors in your page</h3>
<p>There&#8217;s nothing wrong with long pages, but you can make it easier for your readers to navigate them by if you break it up into sections. When you use the <a href="http://maisonbisson.com/bsuite/shortcodes/#12141_innerindex_1">innerindex</a> shortcode, bSuite will insert an automatically index of all the headings (the <a href="http://en.wikipedia.org/wiki/HTML_element#Headings">h1 through h6 tags</a>) in your page. This also works in regular blog posts.</p>
<h3 id="12651_automatically-list-s_1" >Automatically list sub-pages</h3>
<p>You can easily <a href="http://codex.wordpress.org/Pages#Organizing_Your_Pages">organize pages</a> into any structure that suits your content, but having to manually manage all the links into that hierarchy can be tiresome. The <a title="» Shortcodes MaisonBisson.com" href="http://maisonbisson.com/bsuite/shortcodes/#12141_list_pages_1">list_pages</a> shortcode solves that in a jiffy. Options to the shortcode allow you to set how deep the list is and other features.</p>
<h3 id="12651_automatically-list-s_2" >Automatically list sub-pages with excerpts</h3>
<p>One especially useful feature of the <a title="» Shortcodes MaisonBisson.com" href="http://maisonbisson.com/bsuite/shortcodes/#12141_list_pages_1">list_pages</a> shortcode is the ability to include the excerpt from each of the listed pages. You can even put the <a href="http://maisonbisson.com/bsuite/shortcodes/#12141_innerindex_1">innerindex</a> shortcode in the excerpt (see that at work <a title="» bSuite 4 MaisonBisson.com" href="http://maisonbisson.com/bsuite/#12138_details_1">here</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12651/do-wordpress-pages-better-with-bsuite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bSuite 4 beta 2</title>
		<link>http://maisonbisson.com/blog/post/12149/bsuite-4-beta-2/</link>
		<comments>http://maisonbisson.com/blog/post/12149/bsuite-4-beta-2/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 19:19:40 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite bstat]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12149</guid>
		<description><![CDATA[
I announced the bSuite 4 public beta not long ago, now I&#8217;ve just posted a new version to SVN that addresses some of the bugs and fleshes out some of the features. I have yet to update the bSuite page, but here&#8217;s a preview of what&#8217;s new or changed:

Additional stats reports
WP2.5-style tag input tools on [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12149"><!-- &nbsp; --></abbr>
<p>I announced the <a href="http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta" title="» bSuite 4 Public Beta">bSuite 4 public beta</a> not long ago, now I&#8217;ve just posted a <a href="http://svn.wp-plugins.org/bsuite/tags/4beta2/">new version to SVN</a> that addresses some of the bugs and fleshes out some of the features. I have yet to update the <a href="http://maisonbisson.com/blog/bsuite" title="» bSuite 4">bSuite page</a>, but here&#8217;s a preview of what&#8217;s new or changed:</p>
<ul>
<li>Additional stats reports</li>
<li>WP2.5-style tag input tools on the Page edit screen*</li>
<li>WP2.5-style category selector on the Page edit screen*</li>
<li>WP2.5-style excerpt input on the Page edit screen*</li>
<li>For multi-author sites: ability to grant edit permissions by role for each page (with a configurable default)</li>
<li>An “include” shortcode that makes it easy to show content from one post or page on another.</li>
</ul>
<p>About the new shortcode, use it like this:<br />
<code>[inclu</code><code>de post_id=“1234” url=“a url to a post or page in your blog” field=“post_excerpt”]</code></p>
<p>One of <code>post_id</code> or <code>url</code> is required; <code>field</code> is optional and defaults to <code>post_excerpt</code> first, then to <code>post_content</code> if there is no excerpt.</p>
<p>*Why would you want to input tags, set categories, or add an excerpt to a Page? They help readers find and explore our content. What&#8217;s so wrong with that?</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12149/bsuite-4-beta-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>bSuite 4 Public Beta</title>
		<link>http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta/</link>
		<comments>http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 22:00:00 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite bstat]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=12142</guid>
		<description><![CDATA[
I&#8217;ve had a lot of features on the table for bSuite for a while, but this recently discovered comment from John Pratt (whose Smorgasboard.net is a lot of fun), kicked me into gear to actually get working on it again. The result is bSuite 4, which is probably what bSuite 3 should have been all [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12142"><!-- &nbsp; --></abbr>
<p>I&#8217;ve had a lot of features on the table for bSuite for a while, but this <a href="http://wordpress.org/support/topic/143666#post-659957">recently discovered comment</a> from John Pratt (whose <a href="http://www.smorgasbord.net/">Smorgasboard.net</a> is a lot of fun), kicked me into gear to actually get working on it again. The result is <a href="http://maisonbisson.com/blog/bsuite/">bSuite 4</a>, which is probably what bSuite 3 should have been all along.</p>
<p><a href="http://www.flickr.com/photos/maisonbisson/2513646929/" title="bSuite4 vs. caching by misterbisson, on Flickr"><img src="http://farm3.static.flickr.com/2382/2513646929_0a0053b3a7_m.jpg" width="229" height="240" alt="bSuite4 vs. caching" style="float: right; border: 1px solid light-gray; margin: 0 0 6px 6px;" /></a>The big news is that I&#8217;ve finally revamped stats tracking to work with caching mechanisms like WP Cache, <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a>, Varnish, or whatever else. I&#8217;ve also got the search word highlighting working again, and that&#8217;s cache-friendly too. Yay for javascript, I say.</p>
<p>And in addition to making the stats cache-friendly, I&#8217;ve made them a little smarter, faster, and more useful. bSuite now tracks sessions, and reports both the number of page loads and the number of visitors to your site. To improve performance, stats are first recorded to a small table for incoming hits, then periodically processed (“migrated”) into the tables used to report stats. This reduces contention and improves write speeds for incoming stats hits.</p>
<p>The stats report now gets graphs for both the previous 24 hours and 30 days of activity. And because unlike external stats solutions, bSuite is integrated into your site, it can also report on your most popular tags and categories based on traffic.</p>
<p>I&#8217;ve also implemented a large number of improvements, bug fixes from the previous versions. Big thanks go to <a href="http://borkweb.com/">Matthew Batchelder</a> (who helped with the javascript code), <a href="http://taisteal.atomiclemur.com/">Jon Link</a> (who both pointed out a lot of bugs in bSuite 3 and helped answer questions in the forums), <a href="http://nosheep.net/">Zach Tirrell</a> (who helped develop migration strategy ages ago), and to everybody who&#8217;s posted a comment or review related to bSuite.</p>
<p>This is beta software, and some things definitely don&#8217;t work. The stats are working solidly, the other features appear free of catastrophic bugs, and I&#8217;ve had it running (in various stages of development) here at MaisonBisson for a month now. Still, read <a href="http://maisonbisson.com/blog/bsuite#12138_license-warranty_1">the warranty</a> (there is none) and don&#8217;t blame me if Boba Fett jumps out of your server after installing it.</p>
<p>Get the details at the <a href="http://maisonbisson.com/blog/bsuite/">bSuite page</a>, download bSuite <a href="http://wordpress.org/extend/plugins/bsuite/download/">4beta1 here</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12142/bsuite-4-public-beta/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Language Translation Icon</title>
		<link>http://maisonbisson.com/blog/post/12003/language-translation-icon/</link>
		<comments>http://maisonbisson.com/blog/post/12003/language-translation-icon/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 17:41:53 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[language translation]]></category>
		<category><![CDATA[translate icon]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/12003/language-translation-icon</guid>
		<description><![CDATA[

We all need a recognized icon to represent “translate this.” We&#8217;ve got one for feeds and social bookmarking, but where&#8217;s our translate icon? A lot of folks simply use flags, but that&#8217;s a bad idea because they&#8217;re “nationalistic, and represent ideals, boundaries, and political beliefs, but do not represent a language.” 
Joe Lee has developed [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12003"><!-- &nbsp; --></abbr>
<p><a href="http://www.flickr.com/photos/maisonbisson/2097427487/" title="translate icon by misterbisson, on Flickr"><img src="http://farm3.static.flickr.com/2264/2097427487_854acde562_o.png" width="512" height="512" alt="translate icon" /></a></p>
<p>We all need a recognized icon to represent “translate this.” We&#8217;ve got one for <a href="http://www.feedicons.com/">feeds</a> and <a href="http://alexking.org/projects/share-icon">social bookmarking</a>, but where&#8217;s our translate icon? A lot of folks simply use flags, but <a href="http://maisonbisson.com/blog/post/10468/international-symbols" title="» International Symbols">that&#8217;s a bad idea</a> because they&#8217;re “nationalistic, and represent ideals, boundaries, and political beliefs, but do not represent a language.” </p>
<p><a href="http://wiki.laptop.org/go/User:Leejc">Joe Lee</a> has developed <a href="http://wiki.laptop.org/go/User:Leejc/Icons">a few icons</a> for use in the OLPC project, and they look good. The only problem I have with them is in trying to make them work at 16&#215;16 pixels. I developed the icon above (and <a href="http://www.flickr.com/photos/maisonbisson/2098205368/">the 16&#215;16 version</a>) to support the new <a href="http://www.flickr.com/photos/maisonbisson/2062004151/">Bookmark Share (&#038; Translate)</a> feature in <a href="http://maisonbisson.com/blog/bsuite">bSuite</a> (<a href="http://maisonbisson.com/blog/bsuite?bsuite_share=1">see it at work</a>). It&#8217;s simply a mashup of Joe&#8217;s work (<a href="http://wiki.laptop.org/go/Image:Translate_icon1.svg">this</a>) with the feed icon (there&#8217;s an Adobe Illustrator version in the <a href="http://www.feedicons.com/index.php?download=3">developer pack</a>). </p>
<p>This particular icon has a few problems (it could easily be confused with “reload”), and I&#8217;d love to see something better. Any suggestions (that fit a 16 x 16 square)?</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/12003/language-translation-icon/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>bSuite 3 Released</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 17:45:33 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite 3]]></category>
		<category><![CDATA[cms enabler]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11988/bsuite-3-released</guid>
		<description><![CDATA[
I started bStat in 2005 when I ported my blog from pMachine to WordPress and needed to bring over the tools I&#8217;d built to identify popular stories and recent comments. I renamed it bSuite when I added tagging and other features to it. Now it&#8217;s bSuite 3.
Get it here. Get installation details here, and users [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11988"><!-- &nbsp; --></abbr>
<div class="innerindex">
<h3>Contents:</h3>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11988_features_1">Features</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11988_cms-enabling-goodies_1">CMS enabling goodies</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11988_hacking-goodies_1">Hacking goodies</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11988_widgets_1">Widgets</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11988_recognition_1">Recognition</a></li>
</ol>
</div>
<p>I started bStat in 2005 when I ported my blog from pMachine to WordPress and needed to bring over the tools I&#8217;d built to identify popular stories and recent comments. I renamed it bSuite when I added tagging and other features to it. Now it&#8217;s <a href="http://maisonbisson.com/blog/bsuite" title="» bSuite">bSuite 3</a>.</p>
<p><a href="http://wordpress.org/extend/plugins/bsuite/" title="WordPress › bSuite « WordPress Plugins">Get it here</a>. Get <a href="http://maisonbisson.com/blog/bsuite#10833_installation_1">installation details here</a>, and users of previous versions should <a href="http://maisonbisson.com/blog/bsuite/bstat#11904_upgrading_1">check the upgrade instructions here</a>. </p>
<h3 id="11988_features_1" >Features</h3>
<ul>
<li>Tracking of page loads for each post and page.</li>
<li><a href="http://www.flickr.com/photos/maisonbisson/1959580086/">Popular posts/pages widget</a> and function to surface the posts your readers most, well, read.</li>
<li><a href="http://www.flickr.com/photos/maisonbisson/1958754687/">Reports</a> on <a href="http://www.flickr.com/photos/maisonbisson/1959579894/">top stories, climbing and falling stories</a>, and <a href="http://www.flickr.com/photos/maisonbisson/2064242368/">referrers</a>.</li>
<li>A <a href="http://www.flickr.com/photos/maisonbisson/2064427798/">related posts widget</a>, function, <a href="http://maisonbisson.com/blog/post/11973/object-based-vs-ego-based-social-networks-vs-wow-and-second-life/related">and page</a> to help readers find more posts in your blog.</li>
<li>A <a href="http://www.flickr.com/photos/maisonbisson/2062004151/">share links widget</a>, function, <a href="http://maisonbisson.com/blog/post/11965/memory-intimacy-and-the-web/share">and page</a> to help readers bookmark, share, translate, and get feeds to your posts.</li>
<li><a href="http://www.flickr.com/photos/maisonbisson/1959579190/">Innerindex</a> to provide structure to long posts and pages.</li>
<li>Includes a <a href="http://maisonbisson.com/blog/bsuite/tag-importer">generic tag importer</a> that will convert tags from previous versions of bSuite as well as from a number of other <a href="http://maisonbisson.com/blog/bsuite/tag-importer#11975_recognized-tags_1">recognized formats</a>.</li>
</ul>
<h3 id="11988_cms-enabling-goodies_1" >CMS enabling goodies</h3>
<ul>
<li>Adds excerpt field to the page editing screen.</li>
<li>Adds category selector to the page editing screen.</li>
<li>A <a href="http://www.flickr.com/photos/maisonbisson/1959579370/">pagemenu</a> thingie (token) to list the child pages of the current page.</li>
</ul>
<h3 id="11988_hacking-goodies_1" >Hacking goodies</h3>
<ul>
<li><a href="http://maisonbisson.com/blog/bsuite/tokens">Tokens</a> are thingies you put in the post of page content that get replaced with the results of a PHP function. A number of tokens are <a href="http://maisonbisson.com/blog/bsuite/tokens#11974_built-in-tokens_1">built in</a>, but they&#8217;re extendable; <a href="http://maisonbisson.com/blog/bsuite/slideshow" title="bSuite Slideshow">bSuite Slideshow</a> offers one example of how another plugin could leverage tokens.</li>
</ul>
<h3 id="11988_widgets_1" >Widgets</h3>
<ul>
<li><a href="http://www.flickr.com/photos/maisonbisson/2062004151/">Share links</a></li>
<li><a href="http://www.flickr.com/photos/maisonbisson/2064427798/">Related posts</a></li>
<li><a href="http://www.flickr.com/photos/maisonbisson/1959580086/">Popular posts</a></li>
<li>Popular search terms</li>
<li><a href="http://www.flickr.com/photos/maisonbisson/1958755371/">Recently commented posts</a></li>
</ul>
<h3 id="11988_recognition_1" >Recognition</h3>
<ul>
<li><a href="http://nosheep.net/">Zach</a>, <a href="http://borkweb.com/">Matt</a>, and <a href="http://spiralbound.net/">Cliff</a> have all offered more than their share of help throughout the development process.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bsuite Bug Fixes (release b2v7)</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 13:14:17 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug fix]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[recommendation system]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[recommender]]></category>
		<category><![CDATA[recommending]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[search engine highlighting]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[search term highlighting]]></category>
		<category><![CDATA[sehl]]></category>
		<category><![CDATA[stable]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tag relationships]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11613/#bsuite-bug-fixes-release-b2v7</guid>
		<description><![CDATA[
Work on bsuite3 is progressing well, thanks to help from Zach and Matt, who are collaborating with me on completely rearchitecting how stats are collected and reported. This, however, is not bs3. It&#8217;s a transitional release intended to fix some bugs in b2 and make upgrading easier. This upgrade is recommended for all current bsuite [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11613"><!-- &nbsp; --></abbr>
<div class="innerindex">
<h3>Contents:</h3>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_bsuite-features_1">bsuite Features</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_fixedchangedadded_1">Fixed/Changed/Added</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_installation_1">Installation</a>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_upgrading_1">Upgrading</a></li>
</ol>
</li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_commands_1">Commands</a>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_clear-bsuite_speedca_1">Clear bsuite_speedcache</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_rebuild-bsuite-tag-i_1">Rebuild bsuite tag index</a></li>
</ol>
</li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_options_1">Options</a>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_minimum-userlevel-to_1">Minimum userlevel to view bsuite reports</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_output-default-css_1">Output default CSS</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_default-pulse-graph-_1">Default pulse graph style</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_suggest-related-entr_1">Suggest related entries in post</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_tag-input-format_1">Tag input format</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_highlight-search-wor_1">Highlight search words and offer search help</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_filter-incoming-sear_1">Filter incoming search terms using comment moderation and blacklist words</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_ignore-hits-from-reg_1">Ignore hits from registered users at or above userlevel</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_ignore-hits-from-the_1">Ignore hits from these IP numbers</a></li>
</ol>
</li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_tag-support_1">Tag Support</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_using-bsuite-functio_1">Using bsuite Functions</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_known-bugs_1">Known Bugs</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11613_money-grubbing_1">Money Grubbing</a></li>
</ol>
</div>
<p>Work on bsuite3 is progressing well, thanks to help from <a href="http://nosheep.net/">Zach</a> and <a href="http://borkweb.com/">Matt</a>, who are collaborating with me on completely rearchitecting how stats are collected and reported. This, however, is not bs3. It&#8217;s a transitional release intended to fix some bugs in b2 and make upgrading easier. This upgrade is recommended for all current bsuite users and new users.</p>
<h1 id="11613_bsuite-features_1" >bsuite Features</h1>
<ul>
<li>Tracks page loads (hits)</li>
<li>Tracks search terms used by visitors ariving at your site via search engines</li>
<li>Reports top-performing stories via a function that can be included in the sidebar</li>
<li>Reports recent comments via a function that can be included in the sidebar</li>
<li>Reports top search terms via a function that can be included in the sidebar</li>
<li>Outputs a pulse graph of activity on your site or specific stories</li>
<li>Lists related posts at the bottom of the current post’s content</li>
<li>Suggests posts that closely match the search criteria for visitors who arrive via search engines</li>
<li>Integrates <a href="http://maisonbisson.com/blog/post/10861/">bsuite_speedcache</a></li>
<li>Does some <a href="http://maisonbisson.com/blog/post/10922/">stuff with tags</a></li>
</ul>
<h1 id="11613_fixedchangedadded_1" >Fixed/Changed/Added</h1>
<ul>
<li>As mentioned above, a huge-but-invisible feature here is that this version includes some pieces that will make it easy to transition to the new plugin.</li>
<li>MySQL errors while creating the tables should now be fixed. It&#8217;s my shame that these have persisted so long.</li>
<li>The plugin now &#8220;rebuilds the tags table&#8221; as soon as you activate it. This is a good thing, but if you&#8217;ve got a huge number of posts (or a really short max execution time) it might cause a problem (please leave a comment if it does).</li>
<li>The related posts feature now works even if you aren&#8217;t tagging your posts. If there are no tags, the post&#8217;s title is used as a search string.</li>
<li>This list is probably incomplete and in some other way inaccurate. It’s not intentional, I’m just sloppy. Please leave comments with bug reports or corrections, I’ll do what I can to fix them.</li>
<li>Finally, I’m now hosting the download on a new server, so it won’t be subject to .Mac’s bandwidth consumption limits.</li>
</ul>
<p><span id="more-11613"></span></p>
<h1 id="11613_installation_1" >Installation</h1>
<ul>
<li>Download and unzip <a href="http://oz.plymouth.edu/~cbisson/projects/bsuite.zip">bsuite.zip</a></li>
<li>Place bsuite.php in you wp-content/plugins directory</li>
<li>Place spacer.gif in your wp-content directory</li>
<li>Log in to your WordPress <a href="http://codex.wordpress.org/Administration_Panels">admin panel</a> and <a href="http://codex.wordpress.org/Managing_Plugins#Plugin_management">activate the plugin</a>, then visit the new bsuite submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a>. This will allow bsuite to create its database tables.</li>
<li>Stats collection will start automatically; you can see the results in the new bsuite Reports submenu of your Dashboard</li>
<li>Once installed, be sure to enable the options and consider customizing the look by adding the bsuite CSS to your theme’s CSS (<a href="http://oz.plymouth.edu/~cbisson/projects/bsuite.css">sample CSS here</a>).</li>
<li>In order to view the stats reports reports on your public pages, you’ll need to add the display functions to your pages.</li>
</ul>
<h2 id="11613_upgrading_1" >Upgrading</h2>
<ul>
<li>Upgrades from earlier versions of bsuite are easy, just replace the old <code>bsuite.php</code> file with the new one.</li>
<li>Don’t forget to visit the bsuite submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a> so you can setup any new features.</li>
</ul>
<h1 id="11613_commands_1" >Commands</h1>
<p>The bsuite submenu of the options has a few command buttons:</p>
<ul>
<li>
<h2 id="11613_clear-bsuite_speedca_1" >Clear bsuite_speedcache</h2>
<p>The cache improves performance, but can sometimes get stale before its time. This command clears it.</li>
<li>
<h2 id="11613_rebuild-bsuite-tag-i_1" >Rebuild bsuite tag index</h2>
<p>bsuite maintains its tag index with every story edit. Use this command to bring old-content into the index or if you’ve edited the content in way WP doesn’t know about.</li>
</ul>
<h1 id="11613_options_1" >Options</h1>
<p>The bstat submenu of the options tab has a few configurable settings:</p>
<ul>
<li>
<h2 id="11613_minimum-userlevel-to_1" >Minimum userlevel to view bsuite reports</h2>
<p>The options are restricted to administrators, but you can choose who can view the reports.</li>
<li>
<h2 id="11613_output-default-css_1" >Output default CSS</h2>
<p>Some of the bsuite functions require CSS styles not found in the average style sheet. This will output default styles.</li>
<li>
<h2 id="11613_default-pulse-graph-_1" >Default pulse graph style</h2>
<p>This sets how values are interpolated in drawing the pulse graph. Experiment with the options to see how they work.</li>
<li>
<h2 id="11613_suggest-related-entr_1" >Suggest related entries in post</h2>
<p>This will insert a block of links at the tail of each (tagged) post’s content with links to related posts at your site.</li>
<li>
<h2 id="11613_tag-input-format_1" >Tag input format</h2>
<p>Name your style: square brackets or angle brackets / <code>&lt;tags></code> or <code>[tags]</code>.</li>
<li>
<h2 id="11613_highlight-search-wor_1" >Highlight search words and offer search help</h2>
<p>The first part of this should be obvious, but the real trick here is using those search words to offer other related content from your site to visitors. It works (and looks) a lot like the option above, but the suggestions only appear when search words are detected.</li>
<li>
<h2 id="11613_filter-incoming-sear_1" >Filter incoming search terms using comment moderation and blacklist words</h2>
<p>Referrer spam is as much of a problem as trackback spam. There are a few tricks in bstat to prevent the problem, but here’s one you can configure. Selecting this option tells bstat to not display search terms that contain words in your moderation list or blacklist.</li>
<li>
<h2 id="11613_ignore-hits-from-reg_1" >Ignore hits from registered users at or above userlevel</h2>
<p>No author wants to skew their stats just by poking around their own site.</li>
<li>
<h2 id="11613_ignore-hits-from-the_1" >Ignore hits from these IP numbers</h2>
<p>Sites with low traffic may find that activity by authors severely skews the stats tracking. Enter an IP address here to ignore it.</li>
</ul>
<h1 id="11613_tag-support_1" >Tag Support</h1>
<p>Until WordPress adopts a standardized way to manage tags, we’ll have to deal with things like this.</p>
<p>bsuite recognizes tags in three forms:</p>
<ul>
<li>Any link with a <a href="http://microformats.org/wiki/reltag"><code>rel=“tag”</code> attribute</a></li>
<li>Any number of single tags like this: <code>&lt;tag></code>tag name<code>&lt;/tag></code></li>
<li>A block of comma-delimited tags like this: <code>&lt;tags></code>WordPress, WordPress Plugin<code>&lt;/tags></code></li>
</ul>
<p>This appears to make it compatible with a number of existing tag management strategies now in use — including those used by <a href="http://ecto.kung-foo.tv/archives/001368.php">Ecto</a> and <a href="http://">SimpleTags</a>.</p>
<p>Tags are mapped to Technorati, but a future version will include an option to set other tag resolvers.</p>
<h1 id="11613_using-bsuite-functio_1" >Using bsuite Functions</h1>
<p>Function usage is unchanged from <a href="http://maisonbisson.com/blog/post/11390/">the last version</a>. Among the things at the top of the list for bs3: widgets.</p>
<h1 id="11613_known-bugs_1" >Known Bugs</h1>
<p>None yet, but I’m sure I’m forgetting something. Report what you find in the comments below.</p>
<h1 id="11613_money-grubbing_1" >Money Grubbing</h1>
<p>bsuite is <a href="http://www.gnu.org/copyleft/gpl.html">GPL-licensed</a> free software, but after some urging by friends, I&#8217;m opening the tip jar. If you use it and like it, let me know. And if you feel moved, leave a tip in the jar.</p>
<form action="https://checkout.google.com/cws/v2/Merchant/931882471552994/checkout" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm">
<table cellpadding="5" cellspacing="0" width="1%">
<tr>
<td align="right" width="1%">
<select name="buyButtonCart">
                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjUuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tbmFtZT5Eb25hdGUgJDU8L2l0ZW0tbmFtZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator///wH7cRg84KXJ5bs/p0xoxelqzYM=">&#x24;5.00 &#8211; Donate &#x24;5</option><br />
                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjEwLjA8L3VuaXQtcHJpY2U+DQogICAgICAgIDxpdGVtLW5hbWU+RG9uYXRlICQxMDwvaXRlbS1uYW1lPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//UfRhTmuN9JxZ/cYOQNH96EW0+xM=">&#x24;10.00 &#8211; Donate &#x24;10</option><br />
                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjIwLjA8L3VuaXQtcHJpY2U+DQogICAgICAgIDxpdGVtLW5hbWU+RG9uYXRlICQyMDwvaXRlbS1uYW1lPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//DBfWPm/LjmvvKwzyloydJLK6xTI=">&#x24;20.00 &#8211; Donate &#x24;20</option><br />
                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjUwLjA8L3VuaXQtcHJpY2U+DQogICAgICAgIDxpdGVtLW5hbWU+RG9uYXRlICQ1MDwvaXRlbS1uYW1lPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//RY81IWA1wXQc6n4KAIHTxzOgno8=">&#x24;50.00 &#8211; Donate &#x24;50</option><br />
                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjEwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1uYW1lPkRvbmF0ZSAkMTAwPC9pdGVtLW5hbWU+DQogICAgICAgIDxpdGVtLWRlc2NyaXB0aW9uIC8+DQogICAgICA8L2l0ZW0+DQogICAgPC9pdGVtcz4NCiAgPC9zaG9wcGluZy1jYXJ0Pg0KICA8Y2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KICAgIDxtZXJjaGFudC1jaGVja291dC1mbG93LXN1cHBvcnQgLz4NCiAgPC9jaGVja291dC1mbG93LXN1cHBvcnQ+DQo8L2NoZWNrb3V0LXNob3BwaW5nLWNhcnQ+DQoNCg==//separator//s+L6saiSV8Sb4ChL9q7eVgG6lWA=">&#x24;100.00 &#8211; Donate &#x24;100</option><br />
                </select>
</td>
<td align="left" width="1%">
<input alt="" src="https://checkout.google.com/buttons/buy.gif?merchant_id=931882471552994&amp;w=117&amp;h=48&amp;style=white&amp;variant=text&amp;loc=en_US" type="image"/>
            </td>
</tr>
</table>
</form>
<p><tags>beta, blog pulse, bstat, bstats, bsuggestive, bsuite, bug, bug fix, bug fixes, bugs, fix, fixes, graph, plugin, pulse, recommendation system, recommendations, recommender, recommending, referrer, related content, search engine highlighting, search term, search term highlighting, sehl, stable, statistics, stats, stats tracking, tag, tag management, tag relationships, tags, usage, wordpress, wordpress plugin</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>85</slash:comments>
		</item>
		<item>
		<title>bsuite Bug Fixes (release b2v6)</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Mon, 24 Jul 2006 16:39:28 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug fix]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[recommendation system]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[recommender]]></category>
		<category><![CDATA[recommending]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[search engine highlighting]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[search term highlighting]]></category>
		<category><![CDATA[sehl]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tag relationships]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11390/</guid>
		<description><![CDATA[
Update: bugfix release b2v7 available.
It&#8217;s been a while since I released a new version of bsuite, my multi-purpose WordPress plugin. I&#8217;d been hoping to finish up a series of new features, but those have been delayed and this is mostly just a collection of bugfixes. This update is recommended for all bsuite users.
bsuite Features

Tracks page [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11390"><!-- &nbsp; --></abbr>
<div class="innerindex">
<h3>Contents:</h3>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_bsuite-features_1">bsuite Features</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_fixedchangedadded_1">Fixed/Changed/Added</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_installation_1">Installation</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_upgrading_1">Upgrading</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_commands_1">Commands</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_options_1">Options</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_tag-support_1">Tag Support</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_using-bsuite-functio_1">Using bsuite Functions</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11390_known-bugs_1">Known Bugs</a></li>
</ol>
</div>
<p><strong>Update:</strong> <a href="http://maisonbisson.com/blog/post/11613/">bugfix release b2v7 available</a>.</p>
<p>It&#8217;s been a while since I released a new version of <a href="http://maisonbisson.com/blog/post/10900/" title="bsuite WordPress Plugin (b2 release)">bsuite</a>, my multi-purpose WordPress plugin. I&#8217;d been hoping to finish up a series of new features, but those have been delayed and this is mostly just a collection of bugfixes. This update is recommended for all bsuite users.</p>
<h1 id="11390_bsuite-features_1" >bsuite Features</h1>
<ul>
<li>Tracks page loads (hits)<br /> </li>
<li>Tracks search terms used by visitors ariving at your site via search engines<br /> </li>
<li>Reports top-performing stories via a function that can be included in the sidebar<br /> </li>
<li>Reports recent comments via a function that can be included in the sidebar<br /> </li>
<li>Reports top search terms via a function that can be included in the sidebar<br /> </li>
<li>Outputs a pulse graph of activity on your site or specific stories<br /> </li>
<li><a href="http://maisonbisson.com/blog/post/10900/?bsuite_hilite=highlights+search+words&#038;bsuite_suggest=off">Highlights search words</a> used by visitors ariving at your site via search engines<br /> </li>
<li>Lists related posts at the bottom of the current post&#8217;s content<br /> </li>
<li>Suggests posts that closely match the search criteria for visitors who arrive via search engines<br /> </li>
<li>Integrates <a href="/blog/post/10861/">bsuite_speedcache</a><br /> </li>
<li>Does <a href="/blog/post/10922/">some stuff with tags</a></li>
</ul>
<h1 id="11390_fixedchangedadded_1" >Fixed/Changed/Added</h1>
<ul>
<li>The bsuite report consolidates the two uselessly differentiated top stories lists and <a href="http://www.flickr.com/photos/maisonbisson/196314951/">adds a top movers list</a>.<br /> </li>
<li>The report also includes a hugely <a href="http://www.flickr.com/photos/maisonbisson/196834225/">updated Quick Stats section</a> listing today&#8217;s current tally <em>and</em> a prediction of the day&#8217;s total along with other goodies.<br /> </li>
<li>The <a href="http://www.flickr.com/photos/maisonbisson/196314951/">table definitions have been updated</a> and optimized for better performance. <a href="http://nosheep.net/">Zach</a> contributed some optimizations to the <code>bstat_hitit()</code> function and underlying MySQL queries, and you&#8217;ll also find a number of small code optimizations scattered throughout.<br /> </li>
<li>This version finally <a href="http://maisonbisson.com/blog/post/11248/">creates and configures it&#8217;s tables automatically</a> upon activation. You no longer need to visit the plugin&#8217;s option screen for this to happen.<br /> </li>
<li>A fix to address a MySQL error for users running MySQL 5 has been long overdue. It&#8217;s in here.<br /> </li>
<li>Numbers in the reports are now formatted with commas or whatever local format you&#8217;ve set MySQL for, using <a href="http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html">MySQL&#8217;s <code>FORMAT()</code> function</a>.<br /> </li>
<li><a href="http://maisonbisson.com/blog/post/11032/#comment-31803">As requested</a>, I&#8217;ve added a function &#8212; <code>bstat_hits()</code> &#8212; return just the hit count for a story or for the whole blog.<br /> </li>
<li><a href="http://maisonbisson.com/blog/post/11032/#comment-26916">As requested</a>, you can now manually clear the bsuite_speedcache.<br /> </li>
<li>As <a href="http://maisonbisson.com/blog/post/10900/#comment-33053">prompted, prodded, and cajoled</a>, I&#8217;ve finally made a change to report hits to the front page (and other pages without post IDs).<br /> </li>
<li>I did <a href="http://maisonbisson.com/blog/post/11188/">a bunch of thinking about tags</a> a while ago, and bsuite now keeps an index of tags in a separate table. I&#8217;ve got plans to use this for later features, but for now it&#8217;s just a curiosity that shouldn&#8217;t cause any problems.<br /> </li>
<li>You can now switch between &lt;tags&gt; or [tags] for compatibility with other plugins (such as <a href="http://maisonbisson.com/blog/post/11032/#comment-26884">noted here</a>) and with WP2&#8217;s WYSIWYG editor.<br /> </li>
<li>The code now properly calls <code>get_settings(’siteurl’)</code> instead of <code>get_settings(’home’)</code> to build the URL for the spacer.gif that builds the pulse graph, fixing the problem where <a href="http://maisonbisson.com/blog/post/10900/#comment-41808">the graph wouldn&#8217;t display</a> for some users.<br /> </li>
<li>Not changed, but at least answered: <a href="http://www.kickingdragon.com/">Eddie</a> commented <a href="http://maisonbisson.com/blog/post/10900/#comment-52951">to explain</a> that ‘–disable-bcmath’ can cause the <a href="http://maisonbisson.com/blog/post/10900/#comment-18232">undefined function errors</a> some people were getting. A later release may incorporate <a href="http://blog.pramudita.com/call-to-undefined-function-bcmod-in-bsuite-wordpress-plugin-solved.html">Pramudita&#8217;s fix</a>. <br /> </li>
<li>Also not in this version are <a href="http://maisonbisson.com/blog/post/10999/">the user-contributed tag features</a> I&#8217;d gotten so excited about. These just aren&#8217;t ready for primetime, but people who want to hack about in alpha-ville will find all the supporting code in there.<br /> </li>
<li>This list is probably incomplete and in some other way inaccurate. It&#8217;s not intentional, I&#8217;m just sloppy. Please leave comments with bug reports or corrections, I&#8217;ll do what I can to fix them.<br /> </li>
<li>Finally, I&#8217;m now hosting the download on a new server, so it won&#8217;t be subject to <a href="http://www.mac.com/1/bandwidth.html">.Mac&#8217;s bandwidth consumption limits</a>. <br />&nbsp;</li>
</ul>
<h1 id="11390_installation_1" >Installation</h1>
<p><strong>Update:</strong> <a href="http://maisonbisson.com/blog/post/11613/">bugfix release b2v7 available</a>.</p>
<ul>
<li>Download and unzip <a href="http://oz.plymouth.edu/~cbisson/projects/bsuite.zip">bsuite.zip</a><br /> </li>
<li>Place bsuite.php in you wp-content/plugins directory<br /> </li>
<li>Place spacer.gif in your wp-content directory<br /> </li>
<li>Log in to your WordPress <a href="http://codex.wordpress.org/Administration_Panels">admin panel</a> and <a href="http://codex.wordpress.org/Managing_Plugins#Plugin_management">activate the plugin</a>, then visit the new bsuite submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a>. This will allow bsuite to create its database tables.
<p>Stats collection will start automatically; you can see the results in the new <strong>bsuite Reports</strong> submenu of your <a href="http://codex.wordpress.org/Administration_Panels#The_Dashboard">Dashboard</a><br /> </li>
<li>Once installed, be sure to enable the options and consider customizing the look by adding the bsuite CSS to your theme&#8217;s CSS (<a href="http://oz.plymouth.edu/~cbisson/projects/bsuite.css">sample CSS here</a>).</li>
</ul>
<p>In order to view the stats reports reports on your public pages, you&#8217;ll need to add the display functions to your pages.</p>
<h1 id="11390_upgrading_1" >Upgrading</h1>
<p><strong>Upgrades from earlier versions of bsuite</strong> are easy, just replace the old <code>bsuite.php</code> file with the new one.</p>
<p><strong>If you&#8217;re upgrading from bstat</strong> (which is so old I was tempted to remove this part of the docs), be sure to delete or deactivate the old plugin before activating the new one. Don&#8217;t forget to visit the bsuite submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a> so you can setup all the new features.</p>
<h1 id="11390_commands_1" >Commands</h1>
<p>The bstat submenu of the options has a few command buttons:</p>
<ul>
<li>Clear bsuite_speedcache</p>
<p>The cache improves performance, but can sometimes get stale before its time. This command clears it.<br /> </li>
<li>Rebuild bsuite tag index
<p>bsuite maintains its tag index with every story edit. Use this command to bring old-content into the index or if you&#8217;ve edited the content in way WP doesn&#8217;t know about.<br /> </li>
</ul>
<h1 id="11390_options_1" >Options</h1>
<p>The bstat submenu of the options tab has a few configurable settings:</p>
<ul>
<li>Minimum userlevel to view bsuite reports</p>
<p>The options are restricted to users at <a href="http://codex.wordpress.org/User_Levels">userlevel</a> 8 or above, but you can choose who can view the reports.<br /> </li>
</ul>
<ul>
<li>Output default CSS</p>
<p>Some of the bsuite functions require CSS styles not found in the average style sheet. This will output default styles.<br /> </li>
</ul>
<ul>
<li>Default pulse graph style</p>
<p>This sets how values are interpolated in drawing the pulse graph. Experiment with the options to see how they work.<br /> </li>
</ul>
<ul>
<li>Suggest related entries in post</p>
<p>This will insert a block of links at the tail of each (tagged) post&#8217;s content with links to related posts at your site.<br /> </li>
</ul>
<ul>
<li>Tag input format</p>
<p>Name your style: square brackets or angle brackets / &lt;tags&gt; or [tags].<br /> </li>
</ul>
<ul>
<li>Highlight search words and offer search help</p>
<p>The first part of this <a href="http://www.alistapart.com/articles/searchhighlight/">should be obvious</a>, but the real trick here is using those search words to offer other related content from your site to visitors. It works (and looks) a lot like the option above, but the suggestions only appear when search words are detected.<br /> </li>
<li>Filter incoming search terms using comment moderation and blacklist words.
<p>Referrer spam is as much of a problem as trackback spam. There are a few tricks in bstat to prevent the problem, but here&#8217;s one you can configure. Selecting this option tells bstat to not display search terms that contain words in your <a href="http://codex.wordpress.org/Discussion_Options#Comment_Moderation">moderation list or blacklist</a>.</li>
</ul>
<ul>
<li>Ignore hits from registered users at or above userlevel</p>
<p>No author wants to skew their stats just by poking around their own site.<br /> </li>
<li>Ignore hits from these IP numbers.
<p>Sites with low traffic may find that activity by authors severely skews the stats tracking. Enter an IP address here to ignore it.</li>
</ul>
<h1 id="11390_tag-support_1" >Tag Support</h1>
<p>Until WordPress adopts a standardized way to manage tags, we&#8217;ll have to deal with things like this.</p>
<p>bsuite recognizes tags in three forms:</p>
<ul>
<li>Any link with a <a href="http://microformats.org/wiki/reltag">rel=“tag”</a> attribute<br /> </li>
<li>Any number of single tags like this: &lt;tag&gt;tag name&lt;/tag&gt;<br /> </li>
<li>A block of comma-delimited tags like this: &lt;tags&gt;WordPress, WordPress Plugin&lt;/tags&gt;<br /> </li>
</ul>
<p>This appears to make it compatible with a number of existing tag management strategies now in use &#8212; including those used by <a href="http://ecto.kung-foo.tv/archives/001368.php">Ecto</a> and <a href="http://www.broobles.com/scripts/simpletags/">SimpleTags</a>.</p>
<p>Tags in &lt;tag&gt; and &lt;tags&gt; tags are mapped to Technorati, but a future version will include an option to set other tag resolvers.</p>
<h1 id="11390_using-bsuite-functio_1" >Using bsuite Functions</h1>
<p>Though many bsuite features require no coding or modifications to theme files, there are a number of public functions available to display lists of top stories, recently commented stories, recent comments, recent incoming search terms, etc. Most of these functions take similar arguments and output their results in similar ways.</p>
<p><strong>Today&#8217;s Stats</strong></p>
<ul>
<li>bstat_todaypop</p>
<p>displays top stories for today only.<br /> </li>
<li>bstat_todayrefs
<p>displays top incoming search terms for today only.<br /> </li>
</ul>
<p>The functions <span style="font-family:monospace;">bstat_todaypop</span> and <span style="font-family:monospace;">bstat_todayrefs</span> each take the same arguments.</p>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_todaypop({</span><span style="color:#00ff00;">count</span>}, “{<span style="color:#00ff00;">before</span>}”, “{<span style="color:#00ff00;">after</span>}”);</p>
<p><span style="font-family:monospace; color:#00ff00;">count</span> is the total number of results to output<br />
<span style="font-family:monospace; color:#00ff00;">before</span> is a string to output before each result<br />
<span style="font-family:monospace; color:#00ff00;">after</span> is a string to output after each result</p>
<p>Example:</p>
<pre>&lt;h2&gt;Today's Most Popular&lt;/h2&gt;
&lt;ul&gt;&lt;?php bstat_todaypop(15, “&lt;li&gt;”, “&lt;/li&gt;\n”); ?&gt;&lt;/ul&gt;
</pre>
<p><strong>Recent Stats</strong></p>
<ul>
<li>bstat_recentpop</p>
<p>displays top stories for the past x days. This function reveals more useful data on sites with low traffic, but is somewhat slower than bstat_todaypop.<br /> </li>
<li>bstat_recentrefs
<p>displays top incoming search terms for the past x days. This function reveals more useful data on sites with low traffic, but is somewhat slower than bstat_todayrefs.<br /> </li>
</ul>
<p>The functions <span style="font-family:monospace;">bstat_recentpop</span> and <span style="font-family:monospace;">bstat_recentrefs</span> each take the same arguments.</p>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_recentrefs({</span><span style="color:#00ff00;">count</span>}, “{<span style="color:#00ff00;">days</span>}”, “{<span style="color:#00ff00;">before</span>}”, “{<span style="color:#00ff00;">after</span>}”);</p>
<p><span style="font-family:monospace; color:#00ff00;">count</span> is the total number of results to output<br />
<span style="font-family:monospace; color:#00ff00;">days</span> is the number of days back to look<br />
<span style="font-family:monospace; color:#00ff00;">before</span> is a string to output before each result<br />
<span style="font-family:monospace; color:#00ff00;">after</span> is a string to output after each result</p>
<p>Example:</p>
<pre>&lt;h2&gt;Incoming Search Terms This Week&lt;/h2&gt;
&lt;ul&gt;&lt;?php bstat_recentrefs(15, 7, “&lt;li&gt;”, “&lt;/li&gt;\n”); ?&gt;&lt;/ul&gt;
</pre>
<p><strong>Recent Discussion</strong></p>
<ul>
<li>bstat_discussionbypost</p>
<p>displays recently commented posts. Each post will appear only once.<br /> </li>
<li>bstat_discussionbycomment
<p>displays recent comments (and commenter). Better on sites with lots of community interaction.<br /> </li>
</ul>
<p>The functions <span style="font-family:monospace;">bstat_discussionbypost</span> and <span style="font-family:monospace;">bstat_discussionbycomment</span> each take the same arguments.</p>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_discussionbypost({</span><span style="color:#00ff00;">count</span>}, “{<span style="color:#00ff00;">before</span>}”, “{<span style="color:#00ff00;">after</span>}”);</p>
<p><span style="font-family:monospace; color:#00ff00;">count</span> is the total number of results to output<br />
<span style="font-family:monospace; color:#00ff00;">before</span> is a string to output before each result<br />
<span style="font-family:monospace; color:#00ff00;">after</span> is a string to output after each result</p>
<p>Example:</p>
<pre>&lt;h2&gt;Incoming Search Terms This Week&lt;/h2&gt;
&lt;ul&gt;&lt;?php bstat_discussionbypost(15, “&lt;li&gt;”, “&lt;/li&gt;\n”); ?&gt;&lt;/ul&gt;</pre>
<p><strong>Special Functions</strong></p>
<ul>
<li>bstat_hits</p>
<p>displays the current and average daily page loads.<br /> </li>
</ul>
<p>Usage:<br />
<span style="font-family:monospace;"> bstat_hits([{</span><span style="color:#00ff00;">template</span>}, [{<span style="color:#00ff00;">post_id</span>}, [{<span style="color:#00ff00;">today_only</span>}]]]);</p>
<p><span style="font-family:monospace; color:#00ff00;">template</span> will be filled in with the appropriate values for <span style="font-family:monospace; color:#00ff00;">%%hits%%</span> and/or <span style="font-family:monospace; color:#00ff00;">%%avg%%</span>. If left blank, the default template is <span style="font-family:monospace; color:#00ff00;">%%hits%% hits, about %%avg%% daily</span><br />
<span style="font-family:monospace; color:#00ff00;">post_id</span> over-rides the detected post ID. Common values for this may include “0” to show stats for index pages, or “-1” to show stats for the entire blog (note that <span style="font-family:monospace; color:#00ff00;">%%avg%%</span> reports inaccurately with a “-1” value here)<br />
<span style="font-family:monospace; color:#00ff00;">today_only</span> returns the count for today (note that <span style="font-family:monospace; color:#00ff00;">%%avg%%</span> doesn&#8217;t make much sense here)</p>
<p>Example:</p>
<pre>&lt;?php bstat_hits('%%hits%% hits, about %%avg%% daily') ?&gt;</pre>
<p> prints something like “791 hits, about 10 daily”</p>
<pre>&lt;?php bstat_hits('%%hits%% page loads today', -1, 1) ?&gt;</pre>
<p> prints something like “5,950 page loads today”</p>
<ul>
<li>bstat_pulse</p>
<p>displays the “pulse” graph of hits over time.<br /> </li>
</ul>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_pulse([{</span><span style="color:#00ff00;">post_id</span>}, [{<span style="color:#00ff00;">max_width</span>}, [{<span style="color:#00ff00;">display_text</span>}, [{<span style="color:#00ff00;">display_credit</span>}, [{<span style="color:#00ff00;">graph_accurate</span>}]]]]]);</p>
<p><span style="font-family:monospace; color:#00ff00;">post_id</span> is the post_id for the story, usually provided by a WP variable<br />
<span style="font-family:monospace; color:#00ff00;">max_width</span> is the maximum width the graph maw run<br />
<span style="font-family:monospace; color:#00ff00;">display_text</span> (acceptable values: 0 or 1), switch to display stats for total views and average views per day<br />
<span style="font-family:monospace; color:#00ff00;">display_credit</span> (acceptable values: 0 or 1), switch to display “powered by bstat” credit<br />
<span style="font-family:monospace; color:#00ff00;">graph_accurate</span> (acceptable values: 0 or 1), make smooth, accurate graphs or fuzzy (but not inaccurate) graphs</p>
<p>Example:</p>
<pre>&lt;h3&gt;Story pulse&lt;/h3&gt;&lt;?php bstat_pulse($id, 525, 1, 1, 1); ?&gt;</pre>
<ul>
<li>bstat_hitit</p>
<p>The hamster on a wheel that makes it all work. It records hits for each page load, and hits for each incoming search term.<br /> </li>
</ul>
<p><strong>This function is no longer necessary</strong>, as it is executed automatically via a plugin hook that runs every time the footer is called. Still, it&#8217;s around if you have content that you want to track outside that scope.</p>
<p>Example:</p>
<pre>&lt;?php // this is how it used to work, but it's automated now...
	global $id;
    if (!is_single() &#038;&#038; !is_page()) $id = 0;
	bstat_hitit($id, “read”);
	?&gt;
</pre>
<p><strong>note:</strong> (be careful of any “curly quotes” that might have been accidentally/automagically inserted in code samples)</p>
<h1 id="11390_known-bugs_1" >Known Bugs</h1>
<p>None yet, but I&#8217;m sure I&#8217;m forgetting something. Report what you find in the comments below.</p>
<p><tags>recommendation system, pulse, plugin, graph, fixes, fix, bugs, bug fixes, bug fix, bug, bsuite, bsuggestive, bstats, bstat, blog pulse, beta, recommendations, recommender, recommending, referrer, related content, search engine highlighting, search term, search term highlighting, sehl, statistics, stats, stats tracking, tag, tag management, tag relationships, tags, usage, wordpress, wordpress plugin</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
		<item>
		<title>More bsuite Hacking</title>
		<link>http://maisonbisson.com/blog/post/11248/more-bsuite-hacking/</link>
		<comments>http://maisonbisson.com/blog/post/11248/more-bsuite-hacking/#comments</comments>
		<pubDate>Wed, 05 Apr 2006 16:41:13 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[Chow Kah Soon]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[KahSoon.com]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/post/11248/</guid>
		<description><![CDATA[
Update: bugfix release b2v6 available.
Some conversations with Chow Kah Soon, who&#8217;s site is  full of diversions from work , finally convinced encouraged me to solve some small problems that were giving him big trouble. Chow Kah Soon is in the lucky, but rare, position of having over 20,000 unique daily visitors to his site, [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11248"><!-- &nbsp; --></abbr>
<p><strong>Update:</strong> <a href="http://maisonbisson.com/blog/post/11390/">bugfix release b2v6 available</a>.</p>
<p>Some conversations with Chow Kah Soon, who&#8217;s site is <a href="http://www.kahsoon.com/" title="Addicting Games Funny Junk Video Clips - Kahsoon.com"> full of diversions from work </a>, finally <strike>convinced</strike> encouraged me to solve some small problems that were giving him big trouble. Chow Kah Soon is in the lucky, but rare, position of having over 20,000 unique daily visitors to his site, so he&#8217;s sort of my designated stress-tester.</p>
<p>After looking at the logs he shared with me, the table structure, and the queries in bsuite, it was pretty clear that I needed to make some changes to the indexes.</p>
<p>Optimizing the indexes was easy, but how can I make bsuite update those indexes on existing installs? That&#8217;s where <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins">these docs</a> explaining WordPress&#8217; rather unique <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins#Creating_and_Updating_the_Table">dbDelta</a> function come in:</p>
<blockquote><p>Instead of using a normal $wpdb query to make our table, there is a special function in WordPress that we&#8217;ll use that can create a table if it isn&#8217;t there, or change the structure if it doesn&#8217;t match the current table. This will come in very handy if we ever need to make changes to the MySQL structure in the future.</p></blockquote>
<p>The function&#8217;s a little finicky, and it took me a couple minutes to realize that it was tripping up on the backtick quotes (`) I had wrapped around my table and field names. But with that out of the way, it solves the big problem of how to easily add indexes to existing tables. What it doesn&#8217;t solve, sadly, is how to delete existing indexes that aren&#8217;t in the new table definition.</p>
<p>With the dbDelta function implemented, I also finally got around to implementing an auto-install hook that creates or re-configs the tables upon plugin activation. Here&#8217;s the <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins#Calling_the_function">example from the docs</a>:</p>
<blockquote><p><code>add_action('activate_pluginurl','jal_install');</code></p></blockquote>
<p>But I had to Google for <a href="http://wordpress.org/support/topic/65500">this support forum post</a> to <a href="http://timvw.madoka.be/?p=535">understand</a> what the “pluginurl” should be.</p>
<blockquote><p>&#8230;you simply have to use the path of your plugin relative to /wp-content/plugins. Eg: you have a plugin in /wp-content/plugins/wp-spamfilter/wp-spamfilter.php then you have to call add_action as following:</p>
<p><code>add_action(‘activate_wp-spamfilter/wp-spamfilter.php’, ’somefunction’);</code></p></blockquote>
<p>Yes, all of these updates will be released soon. I promise.</p>
<p><tags>bstat, bsuite, Chow Kah Soon, documentation, KahSoon.com, mysql, optimization, update, wordpress</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11248/more-bsuite-hacking/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bsuite Feature: User Contributed Tags</title>
		<link>http://maisonbisson.com/blog/post/10999/blank-2/</link>
		<comments>http://maisonbisson.com/blog/post/10999/blank-2/#comments</comments>
		<pubDate>Mon, 13 Mar 2006 00:44:18 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[collabulary]]></category>
		<category><![CDATA[folksonomy]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tagging]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[user contributed]]></category>
		<category><![CDATA[wisdom of the crowd]]></category>
		<category><![CDATA[wpopac]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10999</guid>
		<description><![CDATA[
Ross Singer gets the prize for submitting the first reader contributed tag, the latest feature in bsuite.
There are arguments about whether user-contributed tags are useful or even valid, or whether they should be stored in my site or aggregated at places like del.ici.ous. But who&#8217;s to worry about such questions? Who&#8217;s to worry when you [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10999"><!-- &nbsp; --></abbr>
<p><a href="http://dilettantes.code4lib.org/">Ross Singer</a> gets the prize for <a href="http://maisonbisson.com/blog/post/11201/#comment-33171">submitting</a> the first reader contributed tag, the latest feature in <a href="http://maisonbisson.com/blog/search/bsuite">bsuite</a>.</p>
<p>There are <a href="http://lists.webjunction.org/wjlists/web4lib/2006-March/subject.html">arguments</a> about whether user-contributed tags are useful or even valid, or whether they should be stored in <a href="http://maisonbisson.com/blog/">my site</a> or aggregated at places like <a href="http://del.icio.us/">del.ici.ous</a>. But who&#8217;s to worry about such questions? Who&#8217;s to worry when you can put together the work already done to support author&#8217;s tags with WordPress&#8217;s pretty good comment system and get user contributed tag support with just a few extra lines of code? Who&#8217;s to worry when we can try it and see what comes of it?</p>
<p>It&#8217;s all managed using the same tools we use to approve, moderate, and edit comments, which also means the spam filtering that works for comments works for contributed tags too. And because bsuite is already part of <a href="http://maisonbisson.com/blog/post/11133/">WPopac</a>, that means it gains the new tagging features too (well, it will soon).</p>
<p><tags>bsuite, collabulary, folksonomy, tag, tagging, tags, user contributed, wisdom of the crowd, wpopac</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10999/blank-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WordPress 2.0 &amp; bsuite</title>
		<link>http://maisonbisson.com/blog/post/11071/wordpress-20-bsuite/</link>
		<comments>http://maisonbisson.com/blog/post/11071/wordpress-20-bsuite/#comments</comments>
		<pubDate>Sat, 31 Dec 2005 15:24:00 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[caution]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress 2.0]]></category>
		<category><![CDATA[wordpress20]]></category>
		<category><![CDATA[wp2]]></category>
		<category><![CDATA[wp20]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=11071</guid>
		<description><![CDATA[
Update: bugfix release b2v6 available.
WordPress 2.0 is out and available for download now. I don&#8217;t know how the development team did it &#8212; I mean with the holidays and all &#8212; but here it is.  And now I have to admit that I haven&#8217;t even played with the betas, so I&#8217;ve got no clue [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11071"><!-- &nbsp; --></abbr>
<p><strong>Update:</strong> <a href="http://maisonbisson.com/blog/post/11390/">bugfix release b2v6 available</a>.</p>
<p><a href="http://wordpress.org/development/2005/12/wp2/">WordPress 2.0 is out</a> and available for <a href="http://wordpress.org/download/">download now</a>. I don&#8217;t know how the development team did it &#8212; I mean with the holidays and all &#8212; but <a href="http://wordpress.org/download/">here it is</a>.  And now I have to admit that I haven&#8217;t even played with the betas, so I&#8217;ve got no clue how <a href="http://maisonbisson.com/blog/post/11032/">bsuite</a> works with the big 2.0. For all I know it works just fine, or it drops all your tables and sends your browser history to your mother, so please take caution.</p>
<p>But WP2 has a lot of things I want too, so I&#8217;ll be checking things out and making any necessary changes to bsuite as soon as possible.</p>
<p><tags>wordpress, wordpress 2.0, wp20, wp2, bsuite, beta, bstat, wordpress20, plugin, caution</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11071/wordpress-20-bsuite/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>bsuite Bug Fixes (release b2v3)</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Thu, 15 Dec 2005 01:56:13 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug fix]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[recommendation system]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[recommender]]></category>
		<category><![CDATA[recommending]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[search engine highlighting]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[search term highlighting]]></category>
		<category><![CDATA[sehl]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tag relationships]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=11032</guid>
		<description><![CDATA[
I&#8217;ve fixed another bug in bsuite b2, my multi-purpose plugin. This update is recommended for all bsuite users.
Fixed

Previous versions would throw errors at the bottom of the page when the http referrer info included search words from a recognized search engine.&#160;

Installation
Follow the directions for the bsuite b2 release. The download link there will always fetch [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11032"><!-- &nbsp; --></abbr>
<div class="innerindex">
<h3>Contents:</h3>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#11032_fixed_1">Fixed</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11032_installation_1">Installation</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#11032_bsuite-features_1">bsuite Features</a></li>
</ol>
</div>
<p>I&#8217;ve fixed another bug in <a href="http://maisonbisson.com/blog/post/10900/" title="bsuite WordPress Plugin (b2 release)">bsuite b2</a>, my multi-purpose plugin. This update is recommended for all bsuite users.</p>
<h1 id="11032_fixed_1" >Fixed</h1>
<ul>
<li>Previous versions would throw errors at the bottom of the page when the http referrer info included search words from a recognized search engine.<br />&nbsp;</li>
</ul>
<h1 id="11032_installation_1" >Installation</h1>
<p>Follow the directions for the <a href="http://maisonbisson.com/blog/post/10900/#section-3" title="bsuite WordPress Plugin (b2 release)">bsuite b2</a> release. The download link there will always fetch the <a href="http://homepage.mac.com/misterbisson/projects/bsuite.zip">current version</a>.</p>
<p><strong>Upgrades from earlier versions of bsuite</strong> are easy, just replace the old <code>bsuite.php</code> file with the new one. <strong>Upgrades from bstat</strong> follow the <a href="http://maisonbisson.com/blog/post/10900/#section-3" title="bsuite WordPress Plugin (b2 release)">same directions as before</a>.</p>
<h1 id="11032_bsuite-features_1" >bsuite Features</h1>
<ul>
<li>Tracks page loads (hits)<br />&nbsp;</li>
<li>Tracks search terms used by visitors ariving at your site via search engines<br />&nbsp;</li>
<li>Reports top-performing stories via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Reports recent comments via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Reports top search terms via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Outputs a pulse graph of activity on your site or specific stories<br />&nbsp;</li>
<li><a href="http://maisonbisson.com/blog/post/10900/?bsuite_hilite=highlights+search+words&#038;bsuite_suggest=off">Highlights search words</a> used by visitors ariving at your site via search engines <strong>NEW!</strong><br />&nbsp;</li>
<li>Lists related posts at the bottom of the current post&#8217;s content <strong>NEW!</strong><br />&nbsp;</li>
<li>Suggests posts that closely match the search criteria for visitors who arrive via search engines <strong>NEW!</strong><br />&nbsp;</li>
<li>Integrates <a href="/blog/post/10861/">bsuite_speedcache</a> <strong>NEW!</strong><br />&nbsp;</li>
<li>Does <a href="/blog/post/10922/">some stuff with tags</a> <strong>NEW!</strong></li>
</ul>
<p><tags>search term highlighting, search engine highlighting, sehl, bsuggestive, recommendations, recommender, recommending, recommendation system, related content, tag, tags, tag management, tag relationships, beta, blog pulse, bsuite, bstat, bstats, graph, plugin, pulse, referrer, search term, statistics, stats, stats tracking, usage, wordpress, wordpress plugin, bug fix, fix, fixes, bug, bugs, beta, bug fixes</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>48</slash:comments>
		</item>
		<item>
		<title>bsuite Bug Fixes (release b2b)</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Sat, 03 Dec 2005 16:17:38 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug fix]]></category>
		<category><![CDATA[bug fixes]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[fixes]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[recommendation system]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[recommender]]></category>
		<category><![CDATA[recommending]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[search engine highlighting]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[search term highlighting]]></category>
		<category><![CDATA[sehl]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tag relationships]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10994</guid>
		<description><![CDATA[
I&#8217;ve fixed a couple bugs in bsuite b2, released last week.
Fixes

A bug with search word highlighting that caused it to litter the display in some cases.&#160;
A silly mistake of mine that cause a mysql error for some users.

Installation
Follow the directions for the bsuite b2 release. The download link there will always fetch the current version.
Upgrades [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10994"><!-- &nbsp; --></abbr>
<div class="innerindex">
<h3>Contents:</h3>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#10994_fixes_1">Fixes</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10994_installation_1">Installation</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10994_bsuite-features_1">bsuite Features</a></li>
</ol>
</div>
<p>I&#8217;ve fixed a couple bugs in <a href="http://maisonbisson.com/blog/post/10900/" title="bsuite WordPress Plugin (b2 release)">bsuite b2</a>, released last week.</p>
<h1 id="10994_fixes_1" >Fixes</h1>
<ul>
<li>A bug with <a href="http://maisonbisson.com/blog/post/10900/?bsuite_hilite=Known+Bugs+buggy&#038;bsuite_suggest=off">search word highlighting</a> that caused it to litter the display in some cases.<br />&nbsp;</li>
<li>A silly mistake of mine that cause a <a href="http://maisonbisson.com/blog/post/10900/#comment-18307">mysql error</a> for some users.</li>
</ul>
<h1 id="10994_installation_1" >Installation</h1>
<p>Follow the directions for the <a href="http://maisonbisson.com/blog/post/10900/#section-3" title="bsuite WordPress Plugin (b2 release)">bsuite b2</a> release. The download link there will always fetch the <a href="http://homepage.mac.com/misterbisson/projects/bsuite.zip">current version</a>.</p>
<p><strong>Upgrades from bsuite b2</strong> are easy, just replace the old <code>bsuite.php</code> file with the new one. <strong>Upgrades from bstat</strong> follow the <a href="http://maisonbisson.com/blog/post/10900/#section-3" title="bsuite WordPress Plugin (b2 release)">same directions as before</a>.</p>
<h1 id="10994_bsuite-features_1" >bsuite Features</h1>
<ul>
<li>Tracks page loads (hits)<br />&nbsp;</li>
<li>Tracks search terms used by visitors ariving at your site via search engines<br />&nbsp;</li>
<li>Reports top-performing stories via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Reports recent comments via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Reports top search terms via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Outputs a “pulse” graph of activity on your site or specific stories<br />&nbsp;</li>
<li><a href="http://maisonbisson.com/blog/post/10900/?bsuite_hilite=highlights+search+words&#038;bsuite_suggest=off">Highlights search words</a> used by visitors ariving at your site via search engines <strong>NEW!</strong><br />&nbsp;</li>
<li>Lists related posts at the bottom of the current post&#8217;s content <strong>NEW!</strong><br />&nbsp;</li>
<li>Suggests posts that closely match the search criteria for visitors who arrive via search engines <strong>NEW!</strong><br />&nbsp;</li>
<li>Integrates <a href="/blog/post/10861/">bsuite_speedcache</a> <strong>NEW!</strong><br />&nbsp;</li>
<li>Does <a href="/blog/post/10922/">some stuff with tags</a> <strong>NEW!</strong></li>
</ul>
<p><tags>search term highlighting, search engine highlighting, sehl, bsuggestive, recommendations, recommender, recommending, recommendation system, related content, tag, tags, tag management, tag relationships, beta, blog pulse, bsuite, bstat, bstats, graph, plugin, pulse, referrer, search term, statistics, stats, stats tracking, usage, wordpress, wordpress plugin, bug fix, fix, fixes, bug, bugs, beta, bug fixes</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>bsuite Features: The Photo Spread</title>
		<link>http://maisonbisson.com/blog/post/10991/bsuite-features-the-photo-spread/</link>
		<comments>http://maisonbisson.com/blog/post/10991/bsuite-features-the-photo-spread/#comments</comments>
		<pubDate>Thu, 01 Dec 2005 10:49:34 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[recommendation system]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[recommender]]></category>
		<category><![CDATA[recommending]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[search engine highlighting]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[search term highlighting]]></category>
		<category><![CDATA[sehl]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tag relationships]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10991</guid>
		<description><![CDATA[

bsuite highlights the search words used to find blog posts in Google and other search engines, and uses those search terms to recommend other related posts at your WordPress site.
 &#8212; &#8211; &#8212; 

bsuite uses the tags of one post to recommend related posts in your WordPress blog.
 &#8212; &#8211; &#8212; 

bsuite includes an easy [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10991"><!-- &nbsp; --></abbr>
<p><a href="http://www.flickr.com/photos/maisonbisson/68879249/"><img src="http://static.flickr.com/18/68879249_6771d57d51.jpg" width="500" height="189" style="border: solid 0px #000000; margin: 0px 0px 0px 0px; padding: 0px;" alt="bsuite features: search word highlighting and suggestions." /></a></p>
<p><a href="http://maisonbisson.com/blog/post/10900/">bsuite</a> highlights the search words used to find blog posts in Google and other search engines, and uses those search terms to recommend other related posts at your WordPress site.</p>
<p> &#8212; &#8211; &#8212; </p>
<p><a href="http://www.flickr.com/photos/maisonbisson/68879244/"><img src="http://static.flickr.com/9/68879244_9baf1889c7.jpg" width="500" height="176" style="border: solid 0px #000000; margin: 0px 0px 0px 0px; padding: 0px;" alt="bsuite feature: related entries." /></a></p>
<p><a href="http://maisonbisson.com/blog/post/10900/">bsuite</a> uses the tags of one post to recommend related posts in your WordPress blog.</p>
<p> &#8212; &#8211; &#8212; </p>
<p><a href="http://www.flickr.com/photos/maisonbisson/68882533/"><img src="http://static.flickr.com/15/68882533_e7f52822ab.jpg" width="500" height="146" style="border: solid 0px #000000; margin: 0px 0px 0px 0px; padding: 0px;" alt="bsuite feature: blog pulse." /></a></p>
<p><a href="http://maisonbisson.com/blog/post/10900/">bsuite</a> includes an easy to use statistics engine that tracks the daily hits to every post and page.</p>
<p><tags>beta, blog pulse, bstat, bstats, bsuggestive, bsuite, graph, plugin, pulse, recommendation system, recommendations, recommender, recommending, referrer, related content, search engine highlighting, search term, sehl, statistics, stats, stats tracking, tag, tag management, tag relationships, tags, usage, wordpress, wordpress plugin, search term highlighting</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10991/bsuite-features-the-photo-spread/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>bsuite WordPress Plugin (b2 release)</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Tue, 29 Nov 2005 01:52:05 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[recommendation system]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[recommender]]></category>
		<category><![CDATA[recommending]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[search engine highlighting]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[search term highlighting]]></category>
		<category><![CDATA[sehl]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tag relationships]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10900</guid>
		<description><![CDATA[
The first thing we all have to agree on is that bsuite is the replacement for bstat. The name change reflects that fact that the plugin is doing a lot more than simply track page loads. The most exciting new feature is a module I can&#8217;t help but call bsuggestive. It uses the tags of [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10900"><!-- &nbsp; --></abbr>
<div class="innerindex">
<h3>Contents:</h3>
<ol>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_bsuite-features_1">bsuite Features</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_changes_1">Changes</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_installation_1">Installation</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_options_1">Options</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_tag-support_1">Tag Support</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_using-bsuite-functio_1">Using bsuite Functions</a></li>
<li><a href="http://maisonbisson.com/blog/bsuite/#10900_known-bugs_1">Known Bugs</a></li>
</ol>
</div>
<p>The first thing we all have to agree on is that <strong>bsuite</strong> is the replacement for <strong>bstat</strong>. The name change reflects that fact that the plugin is doing a lot more than simply track page loads. The most exciting new feature is a module I can&#8217;t help but call <strong>bsuggestive</strong>. It uses the tags of the current post to suggest related posts to your readers. And when readers arrive at your site via a search engine, it not only highlights the search words they used, but offers a list of other posts matching their search criteria.</p>
<p>Why &#8220;b2&#8243;? I released b1 privately a while ago, and I&#8217;ve been running it here at MaisonBisson since September.</p>
<h1 id="10900_bsuite-features_1" >bsuite Features</h1>
<ul>
<li>Tracks page loads (hits)<br />&nbsp;</li>
<li>Tracks search terms used by visitors ariving at your site via search engines<br />&nbsp;</li>
<li>Reports top-performing stories via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Reports recent comments via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Reports top search terms via a function that can be included in the sidebar<br />&nbsp;</li>
<li>Outputs a &#8220;pulse&#8221; graph of activity on your site or specific stories<br />&nbsp;</li>
<li><a href="http://maisonbisson.com/blog/post/10900/?bsuite_hilite=highlights+search+words&#038;bsuite_suggest=off">Highlights search words</a> used by visitors ariving at your site via search engines <strong>NEW!</strong><br />&nbsp;</li>
<li>Lists related posts at the bottom of the current post&#8217;s content <strong>NEW!</strong><br />&nbsp;</li>
<li>Suggests posts that closely match the search criteria for visitors who arrive via search engines <strong>NEW!</strong><br />&nbsp;</li>
<li>Integrates <a href="/blog/post/10861/">bsuite_speedcache</a> <strong>NEW!</strong><br />&nbsp;</li>
<li>Does <a href="/blog/post/10922/">some stuff with tags</a> <strong>NEW!</strong><br />&nbsp;</li>
</ul>
<h1 id="10900_changes_1" >Changes</h1>
<p>This documentation supersedes any previous documentation.</p>
<p>I need to be honest, it&#8217;s been too long since the last public release for me to remember all the details. I haven&#8217;t really been keeping records on all this, so if you&#8217;ve been running the previous version and you discover a problem, please tell me about it.</p>
<p>The first change is that the plugin is now in a file named &#8220;bsuite.php&#8221;. As you install it you&#8217;ll need to deactivate the previous &#8220;bstat.php&#8221; version to avoid conflicts.</p>
<p>Another big change is that bsuite will now start tracking page loads as soon as it&#8217;s activated. You no longer need to put any code in your theme. But if you&#8217;re upgrading from a version where you already have that code in your theme, it also includes code to prevent it from double-counting any page loads.</p>
<p>The other functions from bstat b4 are all there, and I don&#8217;t believe there are any changes to the way they&#8217;re called.</p>
<p>The options submenu is almost entirely redesigned. It should be pretty self explanatory, but there&#8217;s documentation below.</p>
<h1 id="10900_installation_1" >Installation</h1>
<p><strong>Update:</strong> <a href="http://maisonbisson.com/blog/post/11613/">bugfix release b2v7 available</a>.</p>
<ul>
<li>Download and unzip <a href="http://homepage.mac.com/misterbisson/projects/bsuite.zip">bsuite.zip</a><br />&nbsp;</li>
<li>Place bsuite.php in you wp-content/plugins directory<br />&nbsp;</li>
<li>Place spacer.gif in your wp-content directory<br />&nbsp;</li>
<li>Log in to your WordPress <a href="http://codex.wordpress.org/Administration_Panels">admin panel</a> and <a href="http://codex.wordpress.org/Managing_Plugins#Plugin_management">activate the plugin</a>, then visit the new bsuite submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a>. This will allow bsuite to create its database tables.
<p>Stats collection will start automatically; you can see the results in the new <strong>bsuite Reports</strong> submenu of your <a href="http://codex.wordpress.org/Administration_Panels#The_Dashboard">Dashboard</a><br />&nbsp;</li>
<li>Once installed, be sure to enable the options and consider customizing the look by adding the bsuite CSS to your theme&#8217;s CSS (<a href="http://homepage.mac.com/misterbisson/projects/bsuite.css">sample CSS here</a>).</li>
</ul>
<p>In order to view the stats reports reports on your public pages, you&#8217;ll need to add the display functions to your pages.</p>
<p><strong>Upgrading</strong></p>
<p>If you&#8217;re upgrading from bstat, be sure to delete or deactivate the old plugin before activating the new one. <strong>And don&#8217;t forget to visit the bsuite submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a> so that it can create its new db tables.</strong></p>
<h1 id="10900_options_1" >Options</h1>
<p>The bstat submenu of the options tab has three configurable settings:</p>
<ul>
<li>Minimum userlevel to view bsuite reports</p>
<p>The options are restricted to users at <a href="http://codex.wordpress.org/User_Levels">userlevel</a> 8 or above, but you can choose who can view the reports.<br />&nbsp;</li>
</ul>
<ul>
<li>Output default CSS</p>
<p>Some of the bsuite functions require CSS styles not found in the average style sheet. This will output default styles.<br />&nbsp;</li>
</ul>
<ul>
<li>Default pulse graph style</p>
<p>This sets how values are interpolated in drawing the pulse graph. Experiment with the options to see how they work.<br />&nbsp;</li>
</ul>
<ul>
<li>Suggest related entries in post</p>
<p>This will insert a block of links at the tail of each (tagged) post&#8217;s content with links to related posts at your site.<br />&nbsp;</li>
</ul>
<ul>
<li>Highlight search words and offer search help</p>
<p>The first part of this <a href="http://www.alistapart.com/articles/searchhighlight/">should be obvious</a>, but the real trick here is using those search words to offer other related content from your site to visitors. It works (and looks) a lot like the option above, but the suggestions only appear when search words are detected.<br />&nbsp;</li>
<li>Filter incoming search terms using comment moderation and blacklist words.
<p>Referrer spam is as much of a problem as trackback spam. There are a few tricks in bstat to prevent the problem, but here&#8217;s one you can configure. Selecting this option tells bstat to not display search terms that contain words in your <a href="http://codex.wordpress.org/Discussion_Options#Comment_Moderation">moderation list or blacklist</a>.</li>
</ul>
<ul>
<li>Ignore hits from registered users at or above userlevel</p>
<p>No author wants to skew their stats just by poking around their own site.<br />&nbsp;</li>
<li>Ignore hits from these IP numbers.
<p>Sites with low traffic may find that activity by authors severely skews the stats tracking. Enter an IP address here to ignore it.</li>
</ul>
<h1 id="10900_tag-support_1" >Tag Support</h1>
<p>Until WordPress adopts a standardized way to manage tags, we&#8217;ll have to deal with things like this.</p>
<p>bsuite recognizes tags in three forms:</p>
<ul>
<li>Any link with a <a href="http://microformats.org/wiki/reltag">rel=&#8221;tag&#8221;</a> attribute<br />&nbsp;</li>
<li>Any number of single tags like this: &lt;tag&gt;tag name&lt;/tag&gt;<br />&nbsp;</li>
<li>A block of comma-delimited tags like this: &lt;tags&gt;WordPress, WordPress Plugin&lt;/tags&gt;<br />&nbsp;</li>
</ul>
<p>This appears to make it compatible with a number of existing tag management strategies now in use &#8212; including those used by <a href="http://ecto.kung-foo.tv/archives/001368.php">Ecto</a> and <a href="http://www.broobles.com/scripts/simpletags/">SimpleTags</a>.</p>
<p>Tags in &lt;tag&gt; and &lt;tags&gt; tags are mapped to Technorati, but a future version will include an option to set other tag resolvers.</p>
<h1 id="10900_using-bsuite-functio_1" >Using bsuite Functions</h1>
<p>Though many bsuite features require no coding or modifications to theme files, there are a number of public functions available to display lists of top stories, recently commented stories, recent comments, recent incoming search terms, etc. Most of these functions take similar arguments and output their results in similar ways.</p>
<p><strong>Today&#8217;s Stats</strong></p>
<ul>
<li>bstat_todaypop</p>
<p>displays top stories for today only.<br />&nbsp;</li>
<li>bstat_todayrefs
<p>displays top incoming search terms for today only.<br />&nbsp;</li>
</ul>
<p>The functions <span style="font-family:monospace;">bstat_todaypop</span> and <span style="font-family:monospace;">bstat_todayrefs</span> each take the same arguments.</p>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_todaypop({</span><span style="color:#00ff00;">count</span>}, &quot;{<span style="color:#00ff00;">before</span>}&quot;, &quot;{<span style="color:#00ff00;">after</span>}&quot;);</p>
<p><span style="font-family:monospace; color:#00ff00;">count</span> is the total number of results to output<br />
<span style="font-family:monospace; color:#00ff00;">before</span> is a string to output before each result<br />
<span style="font-family:monospace; color:#00ff00;">after</span> is a string to output after each result</p>
<p>Example:</p>
<pre>&lt;h2&gt;Today's Most Popular&lt;/h2&gt;
&lt;ul&gt;&lt;?php bstat_todaypop(15, &quot;&lt;li&gt;&quot;, &quot;&lt;/li&gt;\n&quot;); ?&gt;&lt;/ul&gt;
</pre>
<p><strong>Recent Stats</strong></p>
<ul>
<li>bstat_recentpop</p>
<p>displays top stories for the past x days. This function reveals more useful data on sites with low traffic, but is somewhat slower than bstat_todaypop.<br />&nbsp;</li>
<li>bstat_recentrefs
<p>displays top incoming search terms for the past x days. This function reveals more useful data on sites with low traffic, but is somewhat slower than bstat_todayrefs.<br />&nbsp;</li>
</ul>
<p>The functions <span style="font-family:monospace;">bstat_recentpop</span> and <span style="font-family:monospace;">bstat_recentrefs</span> each take the same arguments.</p>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_recentrefs({</span><span style="color:#00ff00;">count</span>}, &quot;{<span style="color:#00ff00;">days</span>}&quot;, &quot;{<span style="color:#00ff00;">before</span>}&quot;, &quot;{<span style="color:#00ff00;">after</span>}&quot;);</p>
<p><span style="font-family:monospace; color:#00ff00;">count</span> is the total number of results to output<br />
<span style="font-family:monospace; color:#00ff00;">days</span> is the number of days back to look<br />
<span style="font-family:monospace; color:#00ff00;">before</span> is a string to output before each result<br />
<span style="font-family:monospace; color:#00ff00;">after</span> is a string to output after each result</p>
<p>Example:</p>
<pre>&lt;h2&gt;Incoming Search Terms This Week&lt;/h2&gt;
&lt;ul&gt;&lt;?php bstat_recentrefs(15, 7, &quot;&lt;li&gt;&quot;, &quot;&lt;/li&gt;\n&quot;); ?&gt;&lt;/ul&gt;
</pre>
<p><strong>Recent Discussion</strong></p>
<ul>
<li>bstat_discussionbypost</p>
<p>displays recently commented posts. Each post will appear only once.<br />&nbsp;</li>
<li>bstat_discussionbycomment
<p>displays recent comments (and commenter). Better on sites with lots of community interaction.<br />&nbsp;</li>
</ul>
<p>The functions <span style="font-family:monospace;">bstat_discussionbypost</span> and <span style="font-family:monospace;">bstat_discussionbycomment</span> each take the same arguments.</p>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_discussionbypost({</span><span style="color:#00ff00;">count</span>}, &quot;{<span style="color:#00ff00;">before</span>}&quot;, &quot;{<span style="color:#00ff00;">after</span>}&quot;);</p>
<p><span style="font-family:monospace; color:#00ff00;">count</span> is the total number of results to output<br />
<span style="font-family:monospace; color:#00ff00;">before</span> is a string to output before each result<br />
<span style="font-family:monospace; color:#00ff00;">after</span> is a string to output after each result</p>
<p>Example:</p>
<pre>&lt;h2&gt;Incoming Search Terms This Week&lt;/h2&gt;
&lt;ul&gt;&lt;?php bstat_discussionbypost(15, &quot;&lt;li&gt;&quot;, &quot;&lt;/li&gt;\n&quot;); ?&gt;&lt;/ul&gt;</pre>
<p><strong>Special Functions</strong></p>
<ul>
<li>bstat_pulse</p>
<p>displays the &quot;pulse&quot; graph of hits over time.<br />&nbsp;</li>
</ul>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_pulse([{</span><span style="color:#00ff00;">post_id</span>}, [{<span style="color:#00ff00;">max_width</span>}, [{<span style="color:#00ff00;">display_text</span>}, [{<span style="color:#00ff00;">display_credit</span>}, [{<span style="color:#00ff00;">graph_accurate</span>}]]]]]);</p>
<p><span style="font-family:monospace; color:#00ff00;">post_id</span> is the post_id for the story, usually provided by a WP variable<br />
<span style="font-family:monospace; color:#00ff00;">max_width</span> is the maximum width the graph maw run<br />
<span style="font-family:monospace; color:#00ff00;">display_text</span> (acceptable values: 0 or 1), switch to display stats for total views and average views per day<br />
<span style="font-family:monospace; color:#00ff00;">display_credit</span> (acceptable values: 0 or 1), switch to display &#8220;powered by bstat&#8221; credit<br />
<span style="font-family:monospace; color:#00ff00;">graph_accurate</span> (acceptable values: 0 or 1), make smooth, accurate graphs or fuzzy (but not inaccurate) graphs</p>
<p>Example:</p>
<pre>&lt;h3&gt;Story pulse&lt;/h3&gt;&lt;?php bstat_pulse($id, 525, 1, 1, 1); ?&gt;</pre>
<ul>
<li>bstat_hitit</p>
<p>The hamster on a wheel that makes it all work. It records hits for each page load, and hits for each incoming search term.<br />&nbsp;</li>
</ul>
<p><strong>This function is no longer necessary</strong>, as it is executed automatically via a plugin hook that runs every time the footer is called. Still, it&#8217;s around if you have content that you want to track outside that scope.</p>
<p>Example:</p>
<pre>&lt;?php // this is how it used to work, but it's automated now...
	global $id;
    if (!is_single() &#038;&#038; !is_page()) $id = 0;
	bstat_hitit($id, &quot;read&quot;);
	?&gt;
</pre>
<p><strong>note:</strong> (be careful of any &quot;curly quotes&quot; that might have been accidentally/automagically inserted in code samples)</p>
<h1 id="10900_known-bugs_1" >Known Bugs</h1>
<p>The search word highlighting routine seems to still be buggy. Expect it to mis-recognize referrers, and one tester reported that it caused content not to display. Go ahead and enable it to see how cool it will be in b3, when it works, but I suggest disabling it for the moment.</p>
<p><a href="http://blog.ryaneby.com/">Ryan Eby</a> reminded me that I use a whole bunch of short PHP open tags (&#8221;&lt;?&#8221; where I should have  used &#8220;&lt;?php&#8221;). </p>
<p><a href="http://nosheep.net/">Zach</a> pointed out that I&#8217;ve been sort of sloppy about using double-quotes where I should use single quotes and not single-quoting my array indices. All of this <a href="http://maisonbisson.com/blog/post/10938/">can add up</a> to an <a href="http://maisonbisson.com/blog/post/10862/">unnecessary performance hit</a> for high traffic sites (30,000 + daily page loads).</p>
<p><tags>beta, blog pulse, bstat, bstats, bsuggestive, bsuite, graph, plugin, pulse, recommendation system, recommendations, recommender, recommending, referrer, related content, search engine highlighting, search term, search term highlighting, sehl, statistics, stats, stats tracking, tag, tag management, tag relationships, tags, usage, wordpress, wordpress plugin</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>115</slash:comments>
		</item>
		<item>
		<title>bsuggestive and bsuite Tag Support</title>
		<link>http://maisonbisson.com/blog/post/10922/video-wall/</link>
		<comments>http://maisonbisson.com/blog/post/10922/video-wall/#comments</comments>
		<pubDate>Mon, 28 Nov 2005 00:45:02 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[content tagging]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tag management]]></category>
		<category><![CDATA[tagging]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10922</guid>
		<description><![CDATA[
bsuite, the follow-up to bstat, now includes a module called “bsuggestive” that recommends related posts based on the current post&#8217;s tags or alternate posts based on your search words when you arrive from a recognized search engine.
That is, bsuggestive does two neat things:
First, visitors will see a section in each post with links to other [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10922"><!-- &nbsp; --></abbr>
<p>bsuite, the follow-up to bstat, now includes a module called “bsuggestive” that recommends related posts based on the current post&#8217;s <a href="http://www.technorati.com/help/tags.html">tags</a> or alternate posts based on your search words when you arrive from a recognized search engine.</p>
<p>That is, bsuggestive does two neat things:</p>
<p>First, visitors will see a section in each post with links to other posts on your site that have similar content. The “similarity” is judged by comparing the current posts tags against the content and titles of all other posts in the database. This requires tags, and I&#8217;ll explain that later.</p>
<p>Second: visitors who arrive at your site from a search engine will see a list of other posts that closely match the original search words used at that search engine. This is especially helpful when people arrive at your front page or an archive page that may include a number of posts not related to the search query.<br />
The big downside to all of this is that it (at least part of it) requires tags, and there&#8217;s no standardized support for tags in <a href="http://wordpress.org/">WordPress</a>.</p>
<p>What to do? Easy: bsuite automatically recognizes any links with a <a href="http://microformats.org/wiki/reltag">rel=“tag”</a> attribute as a <a href="http://en.wikipedia.org/wiki/Tags">tag</a>. A little iffy: bsuite has adopted the <a href="http://www.broobles.com/scripts/simpletags/">simpletags</a> approach to tagging. This is “iffy” because you should disable the simpletags plugin if you&#8217;re already using it (running both will needlessly increase CPU usage, but won&#8217;t do anything “bad”).</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">tags: <a href="http://www.technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://www.technorati.com/tag/bsuite" rel="tag">bsuite</a>, <a href="http://www.technorati.com/tag/content tagging" rel="tag">content tagging</a>, <a href="http://www.technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://www.technorati.com/tag/related content" rel="tag">related content</a>, <a href="http://www.technorati.com/tag/tag" rel="tag">tag</a>, <a href="http://www.technorati.com/tag/tag management" rel="tag">tag management</a>, <a href="http://www.technorati.com/tag/tagging" rel="tag">tagging</a>, <a href="http://www.technorati.com/tag/tags" rel="tag">tags</a>, <a href="http://www.technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://www.technorati.com/tag/wordpress plugin" rel="tag">wordpress plugin</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10922/video-wall/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Introducing bsuite_speedcache</title>
		<link>http://maisonbisson.com/bsuite</link>
		<comments>http://maisonbisson.com/bsuite#comments</comments>
		<pubDate>Mon, 03 Oct 2005 05:06:11 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite_speedcache]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[cache hit]]></category>
		<category><![CDATA[codex]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database caching]]></category>
		<category><![CDATA[database optimization]]></category>
		<category><![CDATA[database performance]]></category>
		<category><![CDATA[database queries]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql caching]]></category>
		<category><![CDATA[mysql optimization]]></category>
		<category><![CDATA[mysql performance]]></category>
		<category><![CDATA[mysql queries]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress optimization]]></category>
		<category><![CDATA[wordpress performance]]></category>
		<category><![CDATA[wordpress performance optimization]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10861</guid>
		<description><![CDATA[
I wrote bsuite_speedcache to reduce the number of database queries I was executing per page load. By implementing it on some of the content in my sidebar, I dropped 35 queries for each cache hit. That might not seem like much, but it should average about 525 queries per minute that that my host server [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10861"><!-- &nbsp; --></abbr>
<p>I wrote bsuite_speedcache to reduce the number of database queries I was executing per page load. By implementing it on some of the content in my sidebar, I dropped 35 queries for each cache hit. That might not seem like much, but it should average about 525 queries per minute that that my host server <em>won&#8217;t</em> need to process.</p>
<p>Now that I&#8217;m looking seriously at optimizing my queries, I&#8217;ve also cut the monthly archives links from the sidebar. The SELECT DISTINCT query it relies on <a href="http://www.databasejournal.com/features/postgresql/article.php/3437821">hits MySQL hard</a>. It wouldn&#8217;t be so bad if the <a href="http://codex.wordpress.org/Template_Tags/get_archives">get_archives</a> function could be set to return the results (and my attempts at output buffering seemed to conflict with something else within WP), but it can&#8217;t and without being able to feed the results into the cache it has to be re-queried with every page load.</p>
<p>Between removing the archives links and bsuite_speedcache, I&#8217;ve gone from 136 to 99 queries for the front page and my story pages went from 65 to 28.</p>
<p>Where is it?</p>
<p>I&#8217;m going to ask my pal <a href="http://nosheep.net/">Zach</a> (who knows a lot more about MySQL optimization than I do) to take a look at it with an eye toward making sure I&#8217;m not missing any easy optimization opportunities (and that I&#8217;m not causing trouble in one area I&#8217;ve got a question about).</p>
<p>With that done, and after I add some code to create the DB table and such, I&#8217;ll try to release it sometime this week.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">tags: <a href="http://www.technorati.com/tag/bsuite_speedcache" rel="tag">bsuite_speedcache</a>, <a href="http://www.technorati.com/tag/bsuite" rel="tag">bsuite</a>, <a href="http://www.technorati.com/tag/cache" rel="tag">cache</a>, <a href="http://www.technorati.com/tag/cache hit" rel="tag">cache hit</a>, <a href="http://www.technorati.com/tag/codex" rel="tag">codex</a>, <a href="http://www.technorati.com/tag/database" rel="tag">database</a>, <a href="http://www.technorati.com/tag/database caching" rel="tag">database caching</a>, <a href="http://www.technorati.com/tag/database optimization" rel="tag">database optimization</a>, <a href="http://www.technorati.com/tag/database performance" rel="tag">database performance</a>, <a href="http://www.technorati.com/tag/database queries" rel="tag">database queries</a>, <a href="http://www.technorati.com/tag/mysql" rel="tag">mysql</a>, <a href="http://www.technorati.com/tag/mysql caching" rel="tag">mysql caching</a>, <a href="http://www.technorati.com/tag/mysql optimization" rel="tag">mysql optimization</a>, <a href="http://www.technorati.com/tag/mysql performance" rel="tag">mysql performance</a>, <a href="http://www.technorati.com/tag/mysql queries" rel="tag">mysql queries</a>, <a href="http://www.technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://www.technorati.com/tag/wordpress optimization" rel="tag">wordpress optimization</a>, <a href="http://www.technorati.com/tag/wordpress performance" rel="tag">wordpress performance</a>, <a href="http://www.technorati.com/tag/wordpress performance optimization" rel="tag">wordpress performance optimization</a>, <a href="http://www.technorati.com/tag/wordpress plugin" rel="tag">wordpress plugin</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/bsuite/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bsuite_innerindex WordPress Plugin</title>
		<link>http://maisonbisson.com/blog/post/10852/bsuite_innerindex-wordpress-plugin/</link>
		<comments>http://maisonbisson.com/blog/post/10852/bsuite_innerindex-wordpress-plugin/#comments</comments>
		<pubDate>Thu, 29 Sep 2005 11:10:39 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[anchors]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[bsuite plugins]]></category>
		<category><![CDATA[bsuite_innerindex]]></category>
		<category><![CDATA[document structure]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[innerindex]]></category>
		<category><![CDATA[named anchor]]></category>
		<category><![CDATA[page anchor]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[structured content]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wp]]></category>
		<category><![CDATA[wp plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10852</guid>
		<description><![CDATA[
[[pageindex]]
About
“Blogging” typically connotes short-form writing that needs little internal structure, but that&#8217;s no reason to cramp your style. As people start to explore WordPress&#8217;s Pages feature, it seems likely that we&#8217;ll need a way to structure content within posts or pages sooner or later. That&#8217;s why I&#8217;m working on bsuite_innerindex.
It&#8217;s a WordPress Plugin that puts [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10852"><!-- &nbsp; --></abbr>
<p>[[pageindex]]<br />
<h1>About</h1>
<p>“Blogging” typically connotes short-form writing that needs little internal structure, but that&#8217;s no reason to cramp your style. As people start to explore <a href="http://wordpress.org/">WordPress</a>&#8217;s <a href="http://codex.wordpress.org/Pages">Pages</a> feature, it seems likely that we&#8217;ll need a way to structure content within posts or pages sooner or later. That&#8217;s why I&#8217;m working on bsuite_innerindex.</p>
<p>It&#8217;s a WordPress Plugin that puts named anchors on all of the <code>&lt;h1&gt;</code>, <code>&lt;h2&gt;</code>, <code>&lt;h*&gt;</code>-tagged content, and builds a list of links to those anchors that can be inserted anywhere on the page. An example can be seen in this post, and in the old <a href="http://maisonbisson.com/blog/post/10685/">bstat Beta 4 announcement</a>.</p>
<h1 class="anything">Usage</h1>
<p>Step 1<br />
Write a post or page as usual, inserting <code>&lt;h*&gt;</code> tags where you normally would.</p>
<p>Step 2<br />
Add this token somewhere in your page or post: <code>[[page</code><code>index]]</code> That token will be replaced with the generated index.  Why not just insert the index at the top of the page? Because it&#8217;s your document and you might want to put it elsewhere, like after the introduction or executive summary. But just remember to insert the token, because it won&#8217;t put the index anywhere if you don&#8217;t.</p>
<h1>Installation</h1>
<p>Step 1<br />
Download: <a href="http://homepage.mac.com/misterbisson/projects/bsuite_innerindex.zip"> bsuite_innerindex.zip</a></p>
<p>Step 2<br />
place unzipped “ bsuite_innerindex.php” file in your wp-content/plugins folder and activate it via the WP control panel. See the <a href="http://codex.wordpress.org/Managing_Plugins">WordPress Codex</a> for more detail.</p>
<h1>Notes &#38; Caveats</h1>
<p>This is the first beta release of this plugin. I don&#8217;t see how it could break anything, but what do I know. Don&#8217;t blame me for loss, damage, or bad presidents. Please report bugs and/or suggestions in the comments.</p>
<p><tags>anchors, blogging, bsuite, bsuite plugins, bsuite_innerindex, document structure, hack, innerindex, named anchor, page anchor, plugin, structured content, wordpress, wordpress plugin, wp, wp plugin</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10852/bsuite_innerindex-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>bstat Japan!</title>
		<link>http://maisonbisson.com/blog/post/10829/bstat-japan/</link>
		<comments>http://maisonbisson.com/blog/post/10829/bstat-japan/#comments</comments>
		<pubDate>Mon, 19 Sep 2005 22:08:22 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Blink]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[japanese localization]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[language translation]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[localization features]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[translation tables]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10829</guid>
		<description><![CDATA[
It looks like bstat has been localized for Japan! With that in mind, I&#8217;d love to hear from international users about what I can do to make localization easier. There will be some big changes in the transition to bsuite, and it might be a good time to make sure I&#8217;m properly supporting WP&#8217;s translation [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10829"><!-- &nbsp; --></abbr>
<p>It looks like <a href="http://mmrt.sub.jp/blogs/2005/09/15/1625/">bstat has been localized for Japan</a>! With that in mind, I&#8217;d love to hear from international users about what I can do to make localization easier. There will be some big changes in the transition to <a href="http://maisonbisson.com/blog/post/10770/">bsuite</a>, and it might be a good time to make sure I&#8217;m properly supporting <a href="http://wordpress.org/">WP</a>&#8217;s translation tables and localization features.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">tags: <a href="http://www.technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://www.technorati.com/tag/bsuite" rel="tag">bsuite</a>, <a href="http://www.technorati.com/tag/japanese localization" rel="tag">japanese localization</a>, <a href="http://www.technorati.com/tag/language" rel="tag">language</a>, <a href="http://www.technorati.com/tag/language translation" rel="tag">language translation</a>, <a href="http://www.technorati.com/tag/localization" rel="tag">localization</a>, <a href="http://www.technorati.com/tag/localization features" rel="tag">localization features</a>, <a href="http://www.technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://www.technorati.com/tag/translation tables" rel="tag">translation tables</a>, <a href="http://www.technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://www.technorati.com/tag/wordpress plugin" rel="tag">wordpress plugin</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10829/bstat-japan/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bsuite Development</title>
		<link>http://maisonbisson.com/blog/post/10770/bsuite-development/</link>
		<comments>http://maisonbisson.com/blog/post/10770/bsuite-development/#comments</comments>
		<pubDate>Sun, 28 Aug 2005 15:44:27 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[alpha testing]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bsuggestive]]></category>
		<category><![CDATA[bsuite]]></category>
		<category><![CDATA[name change]]></category>
		<category><![CDATA[related content]]></category>
		<category><![CDATA[related posts]]></category>
		<category><![CDATA[suggested content]]></category>
		<category><![CDATA[suggested posts]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10770</guid>
		<description><![CDATA[
bstat has become bsuite. The name change reflects the fact that I want the plugin to do a lot more than track usage stats. One of the first features to enter testing here is the “related” section below. I&#8217;m calling it “bsuggestive,” but that may turn out to be too cute a name to tolerate [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10770"><!-- &nbsp; --></abbr>
<p>bstat has become bsuite. The name change reflects the fact that I want the plugin to do a lot more than track usage stats. One of the first features to enter testing here is the “related” section below. I&#8217;m calling it “bsuggestive,” but that may turn out to be too cute a name to tolerate for long. The results are based on the tags for the post, so it doesn&#8217;t work with old posts that haven&#8217;t been tagged, and it sometimes returns some weird matches, but it&#8217;s still alpha, so what can we ask for. Though, if you arrive at MaisonBisson via a search on one of the recognized search engines, the related posts will actually be based on the search terms used. The results in those cases seem to work better, which probably says a lot about the quality of my tagging efforts.</p>
<p>I hope to release a public beta of bsuite in the next couple weeks, but expect to see continued development of the bsuite features here.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">tags: <a href="http://www.technorati.com/tag/alpha" rel="tag">alpha</a>, <a href="http://www.technorati.com/tag/alpha testing" rel="tag">alpha testing</a>, <a href="http://www.technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://www.technorati.com/tag/bsuggestive" rel="tag">bsuggestive</a>, <a href="http://www.technorati.com/tag/bsuite" rel="tag">bsuite</a>, <a href="http://www.technorati.com/tag/name change" rel="tag">name change</a>, <a href="http://www.technorati.com/tag/related content" rel="tag">related content</a>, <a href="http://www.technorati.com/tag/related posts" rel="tag">related posts</a>, <a href="http://www.technorati.com/tag/suggested posts" rel="tag">suggested posts</a>, <a href="http://www.technorati.com/tag/suggested content" rel="tag">suggested content</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10770/bsuite-development/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>