<?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; wordpress plugin</title>
	<atom:link href="http://maisonbisson.com/blog/post/tag/wordpress-plugin/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.5.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What is David McNicol&#8217;s URL Cache Plugin?</title>
		<link>http://maisonbisson.com/blog/post/13953/what-is-david-mcnicols-url-cache-plugin/</link>
		<comments>http://maisonbisson.com/blog/post/13953/what-is-david-mcnicols-url-cache-plugin/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 16:13:11 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Blink]]></category>
		<category><![CDATA[Libraries & Networked Information]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[perm-permalinks]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[web archiving]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13953</guid>
		<description><![CDATA[
The description to David McNicol&#8217;s URL Cache Plugin raises more questions than it answers:
Given a URL, the url_cache() function will attempt to download the file it represents and return a URL pointing to this locally cached version.
Where did he plan to use it? Does he envision the cache as an archive, or for performance? Why hasn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13953"><!-- &nbsp; --></abbr>
<p>The description to David McNicol&#8217;s <a href="http://wordpress.org/extend/plugins/url-cache/">URL Cache Plugin</a> raises more questions than it answers:</p>
<blockquote><p>Given a URL, the url_cache() function will attempt to download the file it represents and return a URL pointing to this locally cached version.</p></blockquote>
<p>Where did he plan to use it? Does he envision the cache as an archive, or for performance? Why hasn&#8217;t it been updated since 2005?</p>
<p>It caught my interest because I&#8217;ve long been interested in a solution to link rot in my blog. A real &#8220;perma-permalink&#8221; would be very useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13953/what-is-david-mcnicols-url-cache-plugin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Customizable Post Listings</title>
		<link>http://maisonbisson.com/blog/post/13951/customizable-post-listings/</link>
		<comments>http://maisonbisson.com/blog/post/13951/customizable-post-listings/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:13:13 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Blink]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[post listings]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=13951</guid>
		<description><![CDATA[
Lorelle is a big fan of Scott Reilly&#8217;s  Customizable Post Listings:
Display Recent Posts, Recently Commented Posts, Recently Modified Posts, Random Posts, and other post, page, or draft listings using the post information of your choosing in an easily customizable manner. You can narrow post searches by specifying categories and/or authors, among other things.
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-13951"><!-- &nbsp; --></abbr>
<p><a href="http://lorelle.wordpress.com/">Lorelle</a> is a big fan of Scott Reilly&#8217;s <a href="http://coffee2code.com/wp-plugins/customizable-post-listings/"> Customizable Post Listings</a>:</p>
<blockquote><p>Display Recent Posts, Recently Commented Posts, Recently Modified Posts, Random Posts, and other post, page, or draft listings using the post information of your choosing in an easily customizable manner. You can narrow post searches by specifying categories and/or authors, among other things.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/13951/customizable-post-listings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Plugin: wpSMS Supports Sending SMS Messages</title>
		<link>http://maisonbisson.com/projects/wpsms/</link>
		<comments>http://maisonbisson.com/projects/wpsms/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 16:21:46 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Dispatches]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/?p=12911</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-12911"><!-- &nbsp; --></abbr>
<abbr class="unapi-id" title="maisonbisson-12911"><!-- &nbsp; --></abbr>
<p><a title="wpSMS by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/3015632937/"><img src="http://farm4.static.flickr.com/3190/3015632937_45ed097017.jpg" alt="wpSMS" width="500" height="214" /></a></p>
<p><div class="contents innerindex"><h3>Contents</h3><ol><li><a href="http://maisonbisson.com/projects/wpsms/#12897_installation_1">Installation</a></li><li><a href="http://maisonbisson.com/projects/wpsms/#12897_usage_1">Usage</a></li><li><a href="http://maisonbisson.com/projects/wpsms/#12897_screenshots_1">Screenshots</a></li></ol></div>wpSMS enables the sending of <a href="http://en.wikipedia.org/wiki/Short_message_service">SMS messages</a> as easily as sending email (more easily, perhaps). An implementation of it can be seen at <a href="http://library.plymouth.edu/read/222334">my University&#8217;s library</a>, where they&#8217;ve used both <a href="http://about.scriblio.net/">Scriblio</a> and wpSMS to <a href="http://maisonbisson.com/blog/post/12094/scriblio-feature-text-this-to-me/">allow visitors to text information about a book to their cellies</a>.</p>
<h3 id="12897_installation_1" >Installation</h3>
<p>Simply <a href="http://wordpress.org/extend/plugins/wpsms/download/">download the plugin</a>, place the entire folder in your WordPress <code>/plugins/</code> folder, and activate.</p>
<h3 id="12897_usage_1" >Usage</h3>
<p>It currently uses <a href="http://www.clickatell.com/">Clickatell</a>&#8217;s gateway services, though more could be supported in the future. Once you <a href="https://www.clickatell.com/developers/api_http.php">get login credentials to Clickatell&#8217;s http gateway</a> you can start sending messages easily.</p>
<p>Simply instantiate the class with your credentials:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000088;">$mysms</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> wpSMS<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$API_ID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$USERNAME</span><span style="color: #339933;">,</span> <span style="color: #000088;">$PASSWORD</span> <span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Then send your message:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000088;">$mysms</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">send</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$YOUR_MESSAGE</span><span style="color: #339933;">,</span> <span style="color: #000088;">$TO_PHONE_NUMBER</span> <span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>How you create the message or get the destination phone number is up to you.</p>
<h3 id="12897_screenshots_1" >Screenshots</h3>
<ul>
<li>You&#8217;ve found an interesting book in our library, but who wants to write down the location and call number when you can text it to yourself?<br /><a title="Text this book's location to your cell phone by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/3016513668/"><img src="http://farm4.static.flickr.com/3030/3016513668_36b30afe91_m.jpg" alt="Text this book's location to your cell phone" width="240" height="184" /></a></li>
<li>Clicking the &#8220;text this to me&#8221; link takes you to a screen where you preview the message and enter your mobile number.<br /><a title="Text this book's location to your cell phone by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/3016513420/"><img src="http://farm4.static.flickr.com/3276/3016513420_857777a686_m.jpg" alt="Text this book's location to your cell phone" width="240" height="184" /></a></li>
<li>The received message includes all the details you need to find the book on the shelf.<br /><a title="an SMS message from the catalog by misterbisson, on Flickr" href="http://www.flickr.com/photos/maisonbisson/2333754008/"><img src="http://farm4.static.flickr.com/3183/2333754008_27defb7113_m.jpg" alt="an SMS message from the catalog" width="240" height="144" /></a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/projects/wpsms/feed/</wfw:commentRss>
		<slash:comments>1</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>WordPress Plugin: Add To del.icio.us</title>
		<link>http://maisonbisson.com/blog/post/11089/wordpress-plugin-add-to-delicious/</link>
		<comments>http://maisonbisson.com/blog/post/11089/wordpress-plugin-add-to-delicious/#comments</comments>
		<pubDate>Tue, 17 Jan 2006 02:27:37 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[add to del.icio.us]]></category>
		<category><![CDATA[arne brachold]]></category>
		<category><![CDATA[bookmarking]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wp plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=11089</guid>
		<description><![CDATA[
I&#8217;m not running it here (only because I&#8217;m too lazy), but I was happy to find Arne Brachold&#8217;s Del.icio.us &#8211; Bookmark this! WordPress Plugin. It puts a sweet Bookmark on del.icio.us link whereever you call this function: &#60;?php dbt_getLinkTag(“Bookmark on del.icio.us”); ?&#62;
Arne also wrote the Google sitemap plugin I use (though it turns out I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-11089"><!-- &nbsp; --></abbr>
<p>I&#8217;m not running it here (only because I&#8217;m too lazy), but I was happy to find Arne Brachold&#8217;s <a href="http://www.arnebrachhold.de/2005/06/21/delicious-bookmark-this-wordpress-plugin">Del.icio.us &#8211; Bookmark this! WordPress Plugin</a>. It puts a sweet <a href="http://del.icio.us/post?v=2&#038;url=http%3A%2F%2Fmaisonbisson.com%2Fblog%2F&#038;title=MaisonBisson.com">Bookmark on del.icio.us</a> link whereever you call this function: <code>&lt;?php dbt_getLinkTag(“Bookmark on del.icio.us”); ?&gt;</code></p>
<p>Arne also wrote the <a href="http://www.arnebrachhold.de/2006/01/07/google-sitemap-generator-for-wordpress-3-beta">Google sitemap plugin</a> I use (though it turns out I&#8217;m a few versions behind).</p>
<p><tags>del.icio.us, wordpress plugin, add to del.icio.us, wp plugin, plugin, bookmarking, arne brachold</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/11089/wordpress-plugin-add-to-delicious/feed/</wfw:commentRss>
		<slash:comments>5</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>bsuite_geocode Plugin For WordPress</title>
		<link>http://maisonbisson.com/blog/post/10846/bsuite_geocode-plugin-for-wordpress/</link>
		<comments>http://maisonbisson.com/blog/post/10846/bsuite_geocode-plugin-for-wordpress/#comments</comments>
		<pubDate>Mon, 26 Sep 2005 21:57:21 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blog gis]]></category>
		<category><![CDATA[blogmap]]></category>
		<category><![CDATA[blogmaps]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[geocoding]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[geotagging]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[lat]]></category>
		<category><![CDATA[latitude and longitude]]></category>
		<category><![CDATA[lon]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[multimap]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wp plugin]]></category>

		<guid isPermaLink="false">http://maisonbisson.com/blog/?p=10846</guid>
		<description><![CDATA[
I&#8217;m a big fan of the WP Geo plugin, but I want more.
My biggest complaint is that I want to insert coordinates using Google Maps or MultiMap URLs, rather than insert them in the modified story editor. So I wrote a bit of code that reads through the URLs in a post, finds the “maps.google” [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10846"><!-- &nbsp; --></abbr>
<p>I&#8217;m a big fan of the <a href="http://dev.wp-plugins.org/wiki/GeoPlugin">WP Geo plugin</a>, but I want more.</p>
<p>My biggest complaint is that I want to insert coordinates using <a href="http://maisonbisson.com/blog/post/10682/">Google Maps</a> or <a href="http://maisonbisson.com/blog/post/10682/">MultiMap</a> URLs, rather than insert them in the modified story editor. So I wrote a bit of code that reads through the URLs in a post, finds the “maps.google” or “multimap.com” URLs, fishes the latitude and longitude out of them, and adds some geocoding tags to the body of the post.</p>
<p>Take a look at how it works with <a href="http://maisonbisson.com/blog/search/maps.google">these posts</a> in my archive&#8230;</p>
<p>You should see one or more blocks of links like the following (from my <a href="http://maisonbisson.com/blog/post/10804/">Osceola Weekend</a> post):</p>
<p style="text-align:right;font-size:10px;">geolocation: <a href="http://technorati.com/tags/geo:lat=44.006336">geo:lat=44.006336</a>, <a href="http://technorati.com/tags/geo:lon=-71.547260">geo:lon=-71.547260</a>, <a href="http://technorati.com/tags/geotagged">geotagged</a>, <a href="http://technorati.com/tags/geolocation:44.006336,-71.547260">geolocation:44.006336,-71.547260</a> <a href="http://www.geobloggers.com/index.cfm?action=search&#038;cutoff=100&#038;fLat=44.006336&#038;fLon=-71.547260&#038;iStartRecord=1&#038;iMaxRecords=25&#038;iZL=6&#038;sMapMode=hybrid&#038;sSearchType=newest&#038;lstItemType=flickr,note,audio,video,link">geobloggers</a></p>
<p>Go ahead and click the “<a href="http://www.geobloggers.com/index.cfm?action=search&#038;cutoff=100&#038;fLat=44.006336&#038;fLon=-71.547260&#038;iStartRecord=1&#038;iMaxRecords=25&#038;iZL=6&#038;sMapMode=hybrid&#038;sSearchType=newest&#038;lstItemType=flickr,note,audio,video,link">geobloggers</a>” link. I could have added these links using the old Geo plugin, but I still would have had to insert the coordinates separately. Actually, that brings up a good point: my code also inserts post metadata in the same format the Geo plugin uses, so I can take advantage of all the good functions it has, like the one that inserts the “&lt;meta name=“ICBM” content=“44.006336, -71.547260” /&gt;” tag in the header of this post (caveat: I had to disable the add_action code in Geo that feeds the postmeta table, as it was conflicting my code).</p>
<p>I&#8217;m releasing this now, to start some public discussion, but please recognize that it&#8217;s a very early beta.</p>
<p><strong>Download:</strong> <a href="http://homepage.mac.com/misterbisson/projects/bsuite_geocode.zip">bsuite_geocode.zip</a><br />
<strong>Install:</strong> place unzipped “bsuite_geocode.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.<br />
<strong>Use:</strong> write posts as usual, adding links to Google Maps or MultiMap as appropriate. Links to those sites that have latitude and longitude components will be used to geocode the post.</p>
<p>Example of a working URL:</p>
<blockquote><p>http://maps.google.com/maps?<strong>ll=19.355507,-155.072365</strong>&#38;spn=.191780,.318003&#38;t=k&#38;hl=en</p></blockquote>
<p>Example of a URL that won&#8217;t work (note how there&#8217;s no “<strong>ll=</strong>”):</p>
<blockquote><p>http://maps.google.com/maps?q=decker+canyon+rd,+malibu+california&#38;spn=0.019857,0.039750&#38;hl=en</p></blockquote>
<p>I&#8217;ve got a lot of features and uses in mind, so consider this only a start. Please post bugs and suggestions in the comments.</p>
<p>Also, see these previous posts on <a href="http://maisonbisson.com/blog/post/10625/">geolocating the news</a> or <a href="hthttp://maisonbisson.com/blog/post/10586/">geolocating everything</a> or just <a href="http://maisonbisson.com/blog/search/geolocat">search the archives</a> to understand why I&#8217;m so excited about things like this.</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">tags: <a href="http://www.technorati.com/tag/beta" rel="tag">beta</a>, <a href="http://www.technorati.com/tag/blog" rel="tag">blog</a>, <a href="http://www.technorati.com/tag/blogmap" rel="tag">blogmap</a>, <a href="http://www.technorati.com/tag/blogmaps" rel="tag">blogmaps</a>, <a href="http://www.technorati.com/tag/blog gis" rel="tag">blog gis</a>, <a href="http://www.technorati.com/tag/geo" rel="tag">geo</a>, <a href="http://www.technorati.com/tag/geocoding" rel="tag">geocoding</a>, <a href="http://www.technorati.com/tag/geolocation" rel="tag">geolocation</a>, <a href="http://www.technorati.com/tag/geotagging" rel="tag">geotagging</a>, <a href="http://www.technorati.com/tag/gis" rel="tag">gis</a>, <a href="http://www.technorati.com/tag/google maps" rel="tag">google maps</a>, <a href="http://www.technorati.com/tag/lat" rel="tag">lat</a>, <a href="http://www.technorati.com/tag/latitude and longitude" rel="tag">latitude and longitude</a>, <a href="http://www.technorati.com/tag/lon" rel="tag">lon</a>, <a href="http://www.technorati.com/tag/map" rel="tag">map</a>, <a href="http://www.technorati.com/tag/maps" rel="tag">maps</a>, <a href="http://www.technorati.com/tag/mapping" rel="tag">mapping</a>, <a href="http://www.technorati.com/tag/metadata" rel="tag">metadata</a>, <a href="http://www.technorati.com/tag/multimap" rel="tag">multimap</a>, <a href="http://www.technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://www.technorati.com/tag/plugins" rel="tag">plugins</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>, <a href="http://www.technorati.com/tag/wp plugin" rel="tag">wp plugin</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10846/bsuite_geocode-plugin-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>8</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>bstat Beta 4 Release</title>
		<link>http://maisonbisson.com/blog/bsuite/</link>
		<comments>http://maisonbisson.com/blog/bsuite/#comments</comments>
		<pubDate>Tue, 19 Jul 2005 05:58:21 +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[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.maisonbisson.com/blog/?p=10685</guid>
		<description><![CDATA[
[[pageindex]]UPDATE: shout outs to Zach, Cliff, Justin, and Thomas who&#8217;ve submitted bug reports. Their feedback has been rolled in to the B4 July 20 release, available now (look for the link below).
This is likely the last release before the code gets bundled into bsuite (more details on that later).
Changes
This documentation supersedes any previous documentation. 
More [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10685"><!-- &nbsp; --></abbr>
<p>[[pageindex]]<strong>UPDATE:</strong> shout outs to <a href="http://nosheep.net/">Zach</a>, <a href="http://spiralbound.net/">Cliff</a>, <a href="http://www.callblog.net/">Justin</a>, and <a href="http://mediumbagel.org/">Thomas</a> who&#8217;ve submitted bug reports. Their feedback has been rolled in to the B4 July 20 release, available now (look for the link below).</p>
<p>This is likely the last release before the code gets bundled into <strong>bsuite</strong> (more details on that later).</p>
<p><strong>Changes</strong></p>
<p>This documentation supersedes any previous documentation. </p>
<p>More changes to the bstat_pulse() function; bstat_pulse_style() is no longer used. It&#8217;s been replaced by a flag in the call. See the usage example to understand. Want to customize the style? Start with that example, look at the XHTML it outputs, work from there. <strong>UPDATE</strong> thanks to <a href="http://nosheep.net/">Zach</a>, these parameters are all optional. You can call it with nothing more than <strong>&#8220;bstat_pulse()&#8221;</strong>, if that&#8217;s your thing. Still, I&#8217;d recommend using the full example below.</p>
<p>There are a lot of improvements to the management console. The number of lines to display for each category and the date range (past day, week, month, etc.) are now configurable.</p>
<p><strong>Quick Start Installation</strong></p>
<ul>
<li>Download and unzip <a href="http://homepage.mac.com/misterbisson/projects/bstat.zip">bstat.zip</a><br />&nbsp;</li>
<li>Place bstat.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 bstat submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a>. This will allow bstat to create its database tables.<br />&nbsp;</li>
<li>Add the <span style="font-family:monospace;">bstat_hitit</span> function to the <a href="http://codex.wordpress.org/Theme_Development#Basic_Templates">footer.php</a> of your theme (or in some other place where it will be called once for each page load). This starts the counting; you can see the results in the bstat submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Manage_-_Change_your_content">manage tab</a> of the WordPress admin panel.</li>
</ul>
<p>In order to view the bstat results on your public pages, you&#8217;ll need to the bstat display functions to your pages.<span id="more-10685"></span></p>
<h1 id="10685_using-bstat-function_1" >Using bstat Functions</h1>
<ul>
<li>bstat_hitit</li>
</ul>
<p>It is essential that <span style="font-family:monospace;">bstat_hitit</span> be activated once (and only once) for every page load. In most themes (including the default and classic), it works perfectly when added to the bottom of the footer.php file.</p>
<pre>&lt;?php // this is the part that makes the bstats plugin work...
	global $id;
	if (!is_single()) $id = 0;
	bstat_hitit($id, &quot;read&quot;);
	?&gt;
</pre>
<p>(be careful of any &quot;curly quotes&quot; that might have been inserted in code samples)</p>
<p>Other functions are used 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</li>
<li>bstat_todayrefs</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</li>
<li>bstat_recentrefs</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</li>
<li>bstat_discussionbycomment</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_refsforpost</li>
</ul>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_refsforpost({</span><span style="color:#00ff00;">post_id</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;">post_id</span> is the post_id for the story, usually provided by a WP variable<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;h3&gt;All incoming search terms for this post&lt;/h3&gt;
&lt;small&gt;&lt;?php bstat_refsforpost($id, &quot; &quot;, &quot; -&quot;); ?&gt;&lt;/small&gt;
</pre>
<ul>
<li>bstat_pulse</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;">insert_styles</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;">insert_styles</span> (acceptable values: 0 or 1), switch to output styles and wrap it in a div</p>
<p>Example:</p>
<pre>&lt;h3&gt;Story pulse&lt;/h3&gt;&lt;?php bstat_pulse($id, 525, 1, 1, 1); ?&gt;</pre>
<h1 id="10685_function-description_1" >Function Descriptions</h1>
<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>
<li>bstat_todaypop
<p>displays top stories for today only.<br />&nbsp;</li>
<li>bstat_recentpop
<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_todayrefs
<p>displays top incoming search terms for today only.<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>
<li>bstat_refsforpost
<p>displays all incoming search terms for a specific post.<br />&nbsp;</li>
<li>bstat_discussionbypost
<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>
<li>bstat_pulse
<p>displays the &quot;pulse&quot; graph of hits over time.</li>
</ul>
<h1 id="10685_options_1" >Options</h1>
<p>The bstat submenu of the options tab has three configurable settings:</p>
<ul>
<li>Make accurate pulse graphs</p>
<p>The graphs look best when you&#8217;ve got a few months of history to feed them. To fill out the graphs for new stories (and when you&#8217;re new to bstat), the pulse function will do some simple interpolation. The question here is if you want it to look jittery (and somewhat less accurate) or smooth (and more accurate). I prefer the jittery look, but you can do what you want.<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>
<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>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Tags: <a href="http://technorati.com/tag/beta" rel="tag">beta</a>, <a href="http://technorati.com/tag/blog pulse" rel="tag">blog pulse</a>, <a href="http://technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://technorati.com/tag/bstats" rel="tag">bstats</a>, <a href="http://technorati.com/tag/graph" rel="tag">graph</a>, <a href="http://technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://technorati.com/tag/pulse" rel="tag">pulse</a>, <a href="http://technorati.com/tag/referrer" rel="tag">referrer</a>, <a href="http://technorati.com/tag/search term" rel="tag">search term</a>, <a href="http://technorati.com/tag/statistics" rel="tag">statistics</a>, <a href="http://technorati.com/tag/stats tracking" rel="tag">stats tracking</a>, <a href="http://technorati.com/tag/stats" rel="tag">stats</a>, <a href="http://technorati.com/tag/usage" rel="tag">usage</a>, <a href="http://technorati.com/tag/wordpress plugin" rel="tag">wordpress plugin</a>, <a href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/bsuite/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>bstat Beta 3 Release</title>
		<link>http://maisonbisson.com/blog/post/10662/bstat-beta-3-release/</link>
		<comments>http://maisonbisson.com/blog/post/10662/bstat-beta-3-release/#comments</comments>
		<pubDate>Wed, 06 Jul 2005 07:33:43 +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[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.maisonbisson.com/blog/post/10662/</guid>
		<description><![CDATA[
UPDATE: bstat has been updated.
Beta 2 never went public. This is beta 3.
Changes
This documentation supersedes any previous documentation. 
The bstat_pulse() function has been improved and now uses your CSS for appearance. Call bstat_pulse_style() to add my default styles inline if you don&#8217;t want to modify your CSS. Also, bstat_pulse() now has two switches to control [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10662"><!-- &nbsp; --></abbr>
<p><strong>UPDATE:</strong> <a href="http://maisonbisson.com/blog/search/bstat">bstat has been updated</a>.</p>
<p>Beta 2 never went public. This is beta 3.</p>
<p><strong>Changes</strong></p>
<p>This documentation supersedes any previous documentation. </p>
<p>The bstat_pulse() function has been improved and now uses your CSS for appearance. Call bstat_pulse_style() to add my default styles inline if you don&#8217;t want to modify your CSS. Also, bstat_pulse() now has two switches to control what it displays. Please take a look at the usage guide below for how to call this function now.</p>
<p>Also, take note of new example of how to call the bstat_hitit function: &#8220;if(is_home())&#8221; has changed to &#8220;if(!is_single())&#8221;. This corrects a problem with the way bstat was recording activity on any page with more than one story (search, archive, etc). </p>
<p>The next two features are for Zach. Links generated by the functions now use your WordPress permalink preferences instead of the ?p=XXX stuff.</p>
<p>It is now possible to exclude certain IP numbers from your hit counting. You&#8217;ll see controls for this in the bstat submenu of the options tab.</p>
<p>Search engine highlighting snuck into the last release, but has been buggy for some. It&#8217;s disabled in this release and will eventually be folded into a new plugin called bsuggestive. Yes, it&#8217;s <b>bsuggestive</b>. If you&#8217;d like to play with it, you can uncomment the likely looking line at the bottom.</p>
<p>There&#8217;s some ad tracking code in there, but I&#8217;m leaving it undocumented for now.</p>
<p><strong>Quick Start Installation</strong></p>
<ul>
<li>Download and unzip <a href="http://homepage.mac.com/misterbisson/projects/bstat.zip">bstat.zip</a><br />&nbsp;</li>
<li>Place bstat.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 bstat submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a>. This will allow bstat to create its database tables.<br />&nbsp;</li>
<li>Add the <span style="font-family:monospace;">bstat_hitit</span> function to the <a href="http://codex.wordpress.org/Theme_Development#Basic_Templates">footer.php</a> of your theme (or in some other place where it will be called once for each page load). This starts the counting; you can see the results in the bstat submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Manage_-_Change_your_content">manage tab</a> of the WordPress admin panel.</li>
</ul>
<p>In order to view the bstat results on your public pages, you&#8217;ll need to the bstat display functions to your pages.</p>
<h1>Using bstat Functions</h1>
<ul>
<li>bstat_hitit</li>
</ul>
<p>It is essential that <span style="font-family:monospace;">bstat_hitit</span> be activated once (and only once) for every page load. In most themes (including the default and classic), it works perfectly when added to the bottom of the footer.php file.</p>
<pre>&lt;?php // this is the part that makes the bstats plugin work...
	global $id;
	if (!is_single()) $id = 0;
	bstat_hitit($id, &quot;read&quot;);
	?&gt;
</pre>
<p>(be careful of any &quot;curly quotes&quot; that might have been inserted in code samples)</p>
<p>Other functions are used 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</li>
<li>bstat_todayrefs</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</li>
<li>bstat_recentrefs</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</li>
<li>bstat_discussionbycomment</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_refsforpost</li>
</ul>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_refsforpost({</span><span style="color:#00ff00;">post_id</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;">post_id</span> is the post_id for the story, usually provided by a WP variable<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;h3&gt;All incoming search terms for this post&lt;/h3&gt;
&lt;small&gt;&lt;?php bstat_refsforpost($id, &quot; &quot;, &quot; -&quot;); ?&gt;&lt;/small&gt;
</pre>
<ul>
<li>bstat_pulse</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>});</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</p>
<p>Example:</p>
<pre>&lt;?php bstat_pulse_style(); ?&gt;
&lt;h3&gt;Story pulse&lt;/h3&gt;&lt;?php bstat_pulse($id, 525, 1, 1); ?&gt;</pre>
<h1>Function Descriptions</h1>
<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>
<li>bstat_todaypop
<p>displays top stories for today only.<br />&nbsp;</li>
<li>bstat_recentpop
<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_todayrefs
<p>displays top incoming search terms for today only.<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>
<li>bstat_refsforpost
<p>displays all incoming search terms for a specific post.<br />&nbsp;</li>
<li>bstat_discussionbypost
<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>
<li>bstat_pulse
<p>displays the &quot;pulse&quot; graph of hits over time.</li>
<li>bstat_pulse_style
<p>outputs an inline stylesheet for use with bstat_pulse. Suggestion: activate this to see what the default styles are, then add them to your site&#8217;s stylesheet and work from there.</li>
</ul>
<h1>Options</h1>
<p>The bstat submenu of the options tab has three configurable settings:</p>
<ul>
<li>Make accurate pulse graphs</p>
<p>The graphs look best when you&#8217;ve got a few months of history to feed them. To fill out the graphs for new stories (and when you&#8217;re new to bstat), the pulse function will do some simple interpolation. The question here is if you want it to look jittery (and somewhat less accurate) or smooth (and more accurate). I prefer the jittery look, but you can do what you want.<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>
<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>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Tags: <a href="http://technorati.com/tag/beta" rel="tag">beta</a>, <a href="http://technorati.com/tag/blog pulse" rel="tag">blog pulse</a>, <a href="http://technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://technorati.com/tag/bstats" rel="tag">bstats</a>, <a href="http://technorati.com/tag/graph" rel="tag">graph</a>, <a href="http://technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://technorati.com/tag/pulse" rel="tag">pulse</a>, <a href="http://technorati.com/tag/referrer" rel="tag">referrer</a>, <a href="http://technorati.com/tag/search term" rel="tag">search term</a>, <a href="http://technorati.com/tag/statistics" rel="tag">statistics</a>, <a href="http://technorati.com/tag/stats tracking" rel="tag">stats tracking</a>, <a href="http://technorati.com/tag/stats" rel="tag">stats</a>, <a href="http://technorati.com/tag/usage" rel="tag">usage</a>, <a href="http://technorati.com/tag/wordpress plugin" rel="tag">wordpress plugin</a>, <a href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10662/bstat-beta-3-release/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>bstat Beta 1 Release</title>
		<link>http://maisonbisson.com/blog/post/10634/bstat-beta-1-release/</link>
		<comments>http://maisonbisson.com/blog/post/10634/bstat-beta-1-release/#comments</comments>
		<pubDate>Mon, 20 Jun 2005 04:40:24 +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[graph]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[search term]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[usage]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.maisonbisson.com/blog/?p=10634</guid>
		<description><![CDATA[
UPDATE: bstat has been updated.
I&#8217;ve finally added a clean admin interface to my bstat WordPress stats tracking plugin and cleaned up the code for release as a public beta.
Quick Start Installation

Download and unzip bstat.zip&#160;
Place bstat.php in you wp-content/plugins directory&#160;
Place spacer.gif in your wp-content directory&#160;
Log in to your WordPress admin panel and activate the plugin, then [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10634"><!-- &nbsp; --></abbr>
<p><strong>UPDATE:</strong> <a href="http://maisonbisson.com/blog/search/bstat">bstat has been updated</a>.</p>
<p>I&#8217;ve finally added a clean admin interface to my bstat WordPress stats tracking plugin and cleaned up the code for release as a public beta.</p>
<p><strong>Quick Start Installation</strong></p>
<ul>
<li>Download and unzip <a href="http://homepage.mac.com/misterbisson/projects/bstat.zip">bstat.zip</a><br />&nbsp;</li>
<li>Place bstat.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 bstat submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Options_-_Configuration_Settings">options tab</a>. This will allow bstat to create its database tables.<br />&nbsp;</li>
<li>Add the <span style="font-family:monospace;">bstat_hitit</span> function to the <a href="http://codex.wordpress.org/Theme_Development#Basic_Templates">footer.php</a> of your theme (or in some other place where it will be called once for each page load). This starts the counting; you can see the results in the bstat submenu of the <a href="http://codex.wordpress.org/Administration_Panels#Manage_-_Change_your_content">manage tab</a> of the WordPress admin panel.</li>
</ul>
<p>In order to view the bstat results on your public pages, you&#8217;ll need to the bstat display functions to your pages.</p>
<h1>Using bstat Functions</h1>
<ul>
<li>bstat_hitit</li>
</ul>
<p>It is essential that <span style="font-family:monospace;">bstat_hitit</span> be activated once (and only once) for every page load. In most themes (including the default and classic), it works perfectly when added to the bottom of the footer.php file.</p>
<pre>&lt;?php // this is the part that makes the bstats plugin work...
	global $id;
	if (is_home()) $id = 0;
	bstat_hitit($id, “read”);
	?&gt;
</pre>
<p>(be careful of any “curly quotes” that might have been inserted in code samples)</p>
<p>Other functions are used 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</li>
<li>bstat_todayrefs</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</li>
<li>bstat_recentrefs</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</li>
<li>bstat_discussionbycomment</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_refsforpost</li>
</ul>
<p>Usage:<br />
<span style="font-family:monospace;">bstat_refsforpost({</span><span style="color:#00ff00;">post_id</span>}, “{<span style="color:#00ff00;">before</span>}”, “{<span style="color:#00ff00;">after</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;">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;h3&gt;Top incoming search terms for this post&lt;/h3&gt;
&lt;small&gt;&lt;?php bstat_refsforpost($id, “ ”, “ -”); ?&gt;&lt;/small&gt;
</pre>
<ul>
<li>bstat_pulse</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>});</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</p>
<p>Example:</p>
<pre>&lt;h3&gt;Story pulse&lt;/h3&gt;
&lt;div style='height: 110px; text-align:center;'&gt;
&lt;?php echo bstat_pulse($id, 525); ?&gt;&lt;/div&gt;&lt;br /&gt;</pre>
<h1>Function Descriptions</h1>
<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>
<li>bstat_todaypop
<p>displays top stories for today only.<br />&nbsp;</li>
<li>bstat_recentpop
<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_todayrefs
<p>displays top incoming search terms for today only.<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>
<li>bstat_refsforpost
<p>displays all incoming search terms for a specific post.<br />&nbsp;</li>
<li>bstat_discussionbypost
<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>
<li>bstat_pulse
<p>displays the “pulse” graph of hits over time.</li>
</ul>
<h1>Options</h1>
<p>The bstat submenu of the options tab has two configurable settings:</p>
<ul>
<li>Make accurate pulse graphs</p>
<p>The graphs look best when you&#8217;ve got a few months of history to feed them. To fill out the graphs for new stories (and when you&#8217;re new to bstat), the pulse function will do some simple interpolation. The question here is if you want it to look jittery (and somewhat less accurate) or smooth (and more accurate). I prefer the jittery look, but you can do what you want.<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>
<p><!-- technorati tags start --></p>
<p style="text-align:right;font-size:10px;">Tags: <a href="http://technorati.com/tag/beta" rel="tag">beta</a>, <a href="http://technorati.com/tag/blog pulse" rel="tag">blog pulse</a>, <a href="http://technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://technorati.com/tag/bstats" rel="tag">bstats</a>, <a href="http://technorati.com/tag/graph" rel="tag">graph</a>, <a href="http://technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://technorati.com/tag/pulse" rel="tag">pulse</a>, <a href="http://technorati.com/tag/referrer" rel="tag">referrer</a>, <a href="http://technorati.com/tag/search term" rel="tag">search term</a>, <a href="http://technorati.com/tag/statistics" rel="tag">statistics</a>, <a href="http://technorati.com/tag/stats tracking" rel="tag">stats tracking</a>, <a href="http://technorati.com/tag/stats" rel="tag">stats</a>, <a href="http://technorati.com/tag/usage" rel="tag">usage</a>, <a href="http://technorati.com/tag/wordpress plugin" rel="tag">wordpress plugin</a>, <a href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10634/bstat-beta-1-release/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bstat Pulse</title>
		<link>http://maisonbisson.com/blog/post/10623/bstat-pulse/</link>
		<comments>http://maisonbisson.com/blog/post/10623/bstat-pulse/#comments</comments>
		<pubDate>Fri, 10 Jun 2005 11:32:05 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[blog pulse]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

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

I imported the content of my old referrer tracking database as hits in my new bstat stats datatabase so I could have more data to work with. I mixed this with a fairly simple graphing routine and now we can see the “pulse” of the whole site and each story. Take a look at the [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10623"><!-- &nbsp; --></abbr>
<p><a href="http://technorati.com/tag/bstat"><img src="http://photos12.flickr.com/18441009_e145e5846d.jpg" alt="bstat Pulse." width="500" height="155" style="background-color: #ffffff; border: solid 2px #000000; margin: 4px 4px 4px 4px; padding: 0px 0px 0px 0px;" /></a></p>
<p>I imported the content of my old referrer tracking database as hits in my new bstat stats datatabase so I could have more data to work with. I mixed this with a fairly simple graphing routine and now we can see the “pulse” of the whole site and each story. Take a look at the bottom of the main page and between the body and comments in the single story pages to see what I mean. The jump in activity at the right of the graph represents the difference between the way I was counting referrers and how I&#8217;m now counting hits (I was only counting referrers from recognized search engines).</p>
<p>One problem I&#8217;ll have to figure out is what to do with new stories for which I have little tracking data, since the graphs for those look ugly. I&#8217;ll eventually do something to interpolate the data and generate more points for the bar graph.</p>
<p><strong>Update:</strong> the plugin is now doing some really simple interpolation. It looks ugly, but not as ugly as it used to.</p>
<p><strong>Update2:</strong> the interpolation looks better and more &#8216;pulse-like&#8217; now, though at the cost of some accuracy. The next release will include an option to choose either accurate or jittery graphs.<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://technorati.com/tag/blog pulse" rel="tag">blog pulse</a>, <a href="http://technorati.com/tag/bstat" rel="tag">bstat</a>, <a href="http://technorati.com/tag/bstats" rel="tag">bstats</a>, <a href="http://technorati.com/tag/plugin" rel="tag">plugin</a>, <a href="http://technorati.com/tag/pulse" rel="tag">pulse</a>, <a href="http://technorati.com/tag/statistics" rel="tag">statistics</a>, <a href="http://technorati.com/tag/stats" rel="tag">stats</a>, <a href="http://technorati.com/tag/stats tracking" rel="tag">stats tracking</a>, <a href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://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/10623/bstat-pulse/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bstat Progress</title>
		<link>http://maisonbisson.com/blog/post/10622/bstats-progress/</link>
		<comments>http://maisonbisson.com/blog/post/10622/bstats-progress/#comments</comments>
		<pubDate>Fri, 10 Jun 2005 05:28:16 +0000</pubDate>
		<dc:creator>Casey Bisson</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[bstat]]></category>
		<category><![CDATA[bstats]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[stats tracking]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.maisonbisson.com/blog/?p=10622</guid>
		<description><![CDATA[
I&#8217;ve been hard at work on my bstat stats tracking plugin for WordPress and you can see the results in the sidebar and in the story views here. The work has been made especially easy because of the great documentation, including writing a plugin, plugin API, and related pages at the WordPress codex.
I&#8217;m testing the [...]]]></description>
			<content:encoded><![CDATA[<abbr class="unapi-id" title="maisonbisson-10622"><!-- &nbsp; --></abbr>
<p>I&#8217;ve been hard at work on my <a href="http://technorati.com/tag/bstat" rel="tag">bstat</a> stats tracking plugin for WordPress and you can see the results in the sidebar and in the story views here. The work has been made especially easy because of the great documentation, including <a href="http://codex.wordpress.org/Writing_a_Plugin">writing a plugin</a>, <a href="http://codex.wordpress.org/Plugin_API">plugin API</a>, and <a href="http://codex.wordpress.org/Adding_Administration_Menus">related</a> pages at the WordPress codex.</p>
<p>I&#8217;m testing the plugin with a limited group now (thank you <a href="http://www.maisonbisson.com/kitchen/">Sandee</a> and <a href="http://spiralbound.net/">Cliff</a>). But with a few more tweaks and a little more time to prove itself, I think it will be ready for an open beta.<br />
<tags>bstat, bstats, plugin, statistics, stats, stats tracking, wordpress, wordpress plugin</tags></p>
]]></content:encoded>
			<wfw:commentRss>http://maisonbisson.com/blog/post/10622/bstats-progress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>