<?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>WordPress Web Hosting &#187; shrewdBar</title>
	<atom:link href="http://www.shrewdies.net/blog/shrewdbar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shrewdies.net</link>
	<description>Business Web Hosting For Shrewdies Not Dummies</description>
	<lastBuildDate>Thu, 01 Jul 2010 06:41:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>WordPress Database Extension</title>
		<link>http://www.shrewdies.net/579/wordpress-database-extension/</link>
		<comments>http://www.shrewdies.net/579/wordpress-database-extension/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 21:25:25 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[menu bar]]></category>
		<category><![CDATA[shrewdBar]]></category>
		<category><![CDATA[WordPress database]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=579</guid>
		<description><![CDATA[Extending the WordPress database is the first step in developing my menu bar. In most WordPress extensions, a lot of data is hidden in the code. The massive advantage of Pods is that we can easily store additional data, and manage it very efficiently. In the first installment of this series, I introduced shrewdBar, explaining [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">Extending the WordPress database is the first step in developing my menu bar.</p>
<p>In most WordPress extensions, a lot of data is hidden in the code.</p>
<p>The massive advantage of Pods is that we can easily store additional data, and manage it very efficiently.</p></div>
<p>In the first installment of this series, I introduced shrewdBar, explaining it was based on a WordPress plugin that creates a menu by outputting data in the form of a CSS LIst driven menu. This type of menu is quite common &#8211; you style a nested list to have hidden items that reveal themselves when the mouse hovers over them. The added attraction of this type of menu is that without the styling, you simply have a nested list of items that search engines can follow.</p>
<p>The CSS issues are for another time. What I need you to realize is that these menus are usually built in code, with a lot of hard-coded links. True, the original menubar, DashBar, on which shrewdBar is roughly based, does have some items that are extracted from WordPress database tables. In my first  version of the menu bar, I extended this to extract messages and topics from the Simple:Press forum.</p>
<p>Pods allowed me to put all the menu items into WordPress database tables, and I explain in this article, how I achieved this.</p>
<h3>shrewdBar Database</h3>
<p>In its current release, I have limited the menu to two tiers, so we have a Pod for the top tier, that you see across the top of the page. Optionally, each of these top level records can have a variable number of child items.</p>
<p>The schematic is:</p>
<table>
<tr valign="top">
<th>shrewdies_bar</th>
<th style="color:#9e009e;">&nbsp;&nbsp;&nbsp;link&nbsp;&nbsp;&nbsp;</th>
<th>shrewdies_bar_item</th>
</tr>
<tr valign="top">
<td>name (txt)</td>
<td></td>
<td>name (txt)</td>
</tr>
<tr valign="top">
<td>slug (slug)</td>
<td></td>
<td>slug (slug)</td>
</tr>
<tr valign="top">
<td>bartext (txt)</td>
<td align="right" style="color:#9e009e;"></td>
<td>itemtext (txt)</td>
</tr>
<tr valign="top">
<td>bartitle (txt)</td>
<td align="center" style="color:#9e009e;"></td>
<td>itemtitle (txt)</td>
</tr>
<tr valign="top">
<td>barurl (txt)</td>
<td align="center" style="color:#9e009e;"></td>
<td>itemurl (txt)</td>
</tr>
<tr valign="top">
<td>baritems (pick shrewdies_bar_item)</td>
<td style="color:#9e009e;">&nbsp;&sup1;&mdash;&mdash;&infin;</td>
<td>itembar (pick shrewdies_bar)</td>
</tr>
<tr valign="top">
<td>bardisplay (code)</td>
<td></td>
<td></td>
</tr>
<tr valign="top">
<td>barhold (bool)</td>
<td></td>
<td></td>
</tr>
</table>
<p>Pods automatically creates the name and slug fields when we create a new pod. name identifies the record, and I also use it as a sort order. slug is very useful in many Pods packages, and I&#8217;ll cover it in depth later, but it is not really required in the current version of shrewdBar.</p>
<p>The text, title and url fields are the menu links that are used to navigate to different pages. The pick fields are used to relate tables &#8211; in this case a one to many relationship.</p>
<p>The top level menu records have two additional fields. The boolean hold field allows menu items to be temporarily hidden, without deleting the record. This is not required for second level items, as it is a simple click to break or make the relationship to a top level menu. The display field allows us to enter PHP code which can programatically control the display giving us very powerful dynamic menus. I&#8217;ll be discussing this at length in the next installment.</p>
<h3>shrewdBar Options</h3>
<p>Like most plugins, shrewdBar needs options to control colors and positioning. Unlike most WordPress plugins, these options no longer have to live in the options table where they soon get lost. I put the shrewdBar options in its own table, which makes it very easy to manage. The options data could be managed using the standard Pods edit page, however I find it better to write a special page with information and instructions. I&#8217;ll be covering this in detail in a later installment.</p>
<p>In the next installment, I will explain how simple Pods procedures act on the data to produce the list output that forms the shrewdBar menu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/579/wordpress-database-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin That Isn&#8217;t</title>
		<link>http://www.shrewdies.net/509/wordpress-plugin-that-isnt/</link>
		<comments>http://www.shrewdies.net/509/wordpress-plugin-that-isnt/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 15:34:33 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[menu bar]]></category>
		<category><![CDATA[shrewdBar]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=509</guid>
		<description><![CDATA[This is about the WordPress plugin that isn&#8217;t a plugin! It might become one. It started life as one. But, for now, it is a Pods package, and this is the first part in a series that explains what a Pods package is, how it improves WordPress functionality, and how you can apply it to [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">This is about the WordPress plugin that isn&#8217;t a plugin!</p>
<p>It might become one. It started life as one.</p>
<p>But, for now, it is a Pods package, and this is the first part in a series that explains what a Pods package is, how it improves WordPress functionality, and how you can apply it to your own site.</p></div>
<p>Before we start, I was reminded earlier about the crucial importance of purpose as your first step. When you set out to add functionality to WordPress, you must be clear about why you are doing it. If you employ assistants, or ask for help on the forums here, or elsewhere, you must communicate that purpose clearly.</p>
<p>Xarzu told me earlier that she wanted to write WordPress plugins and asked if I could recommend a comprehensive list of hooks, actions and filters. I subsequently found she&#8217;d asked this in just about every forum on the Internet, irrespective of it&#8217;s subject matter. That kind of spam is best ignored, but it does serve as a prime example of what goes wrong when you do not have a clear purpose. </p>
<p>Firstly, I noticed that Xarzu had received lots of positive help, despite the poor question. People want to help, but if the goals are not clear, if the question is too vague, if there is lack of purpose, then that help is often wasted. So before you even think of adding any functionality to WordPress, think long and hard about the purpose of your plugin, and who the typical user is.</p>
<p>My latest project started when I tried the Splix theme, and found the built-in menu bar. It certainly helped me use WordPress as an application, and is a welcome feature of WordPress.com sites. It struck me that as you add functionality to your website, e.g. with forums, polls, news etc, your website becomes an application for your visitors. So I started my <a href="http://www.shrewdies.net/151/wordpress-plugin-for-forum-access-more/">WordPress menu bar plugin project</a>.</p>
<p>The purpose of the plugin is to improve navigation efficiency for 3 groups of users:<br />
<span id="more-509"></span>
<ul>
<li>Visitors. The vast majority who read your website and leave. You want them to return, so let them find your best content easily. You want them to become contributors, so let them register easily. You want them to feel welcome, so give them help to learn how your site works. The menu bar lets you display all this where it can be found easily.</li>
<li>Contributors are visitors who add comments or start new discussions. You might run a reference site that doesn&#8217;t allow visitor contributions. In that case, ignore this group, but for most websites they are crucial to the growth of your site. The plugin helps by allowing contributors to easily find and edit their own contributions.</li>
<li>Administrators. As the chief contributor, admins get all the benefits of the other groups, plus easy access to commonly used admin pages. Which pages are commonly used? That&#8217;s entirely up to you, as the menubar items are stored in an easy-to-edit Pods database.</li>
</ul>
<p>All of this raises the efficiency of your site, which is a very shrewd thing to do &#8211; that&#8217;s why the plugin is called <a href="http://www.shrewdies.net/shrewdbar/">shrewdBar</a>. I will explain the development stages in a series posts over the next few days.</p>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/509/wordpress-plugin-that-isnt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plugins &#8211; Developer&#8217;s Dream</title>
		<link>http://www.shrewdies.net/498/wordpress-plugins-developers-dream/</link>
		<comments>http://www.shrewdies.net/498/wordpress-plugins-developers-dream/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 13:55:22 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[shrewdBar]]></category>
		<category><![CDATA[shrewdChat]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wordpress plugins structure]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=498</guid>
		<description><![CDATA[I searched for WordPress Plugins that would help me apply structure to my own efforts. A scary journey, but now the nightmare is over. Now I can dream happily of a bright WordPress development future. But, there is no time to dream. Not even time to hack together a pretty picture to decorate this article. [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">I searched for WordPress Plugins that would help me apply structure to my own efforts.</p>
<p>A scary journey, but now the <a href="http://www.shrewdies.net/279/wordpress-plugins-beginners-nightmare/" title="Elusive WordPress Plugins Structure">nightmare</a> is over.</p>
<p>Now I can dream happily of a bright WordPress development future.</p></div>
<p>But, there is no time to dream. Not even time to hack together a pretty picture to decorate this article. I&#8217;m fired up for developing, but there is just enough time to let you know what the plan is.</p>
<p>When I finally decided on the SCB framework, I sat down to plan how to integrate my menu system, a hack of DashBar, into that structure. It looked like a project that might also suit <a href="http://www.shrewdies.net/466/pods-wordpress-plugin/" title="WordPress Data Management">Pods</a>, as I would need somewhere to store menu item links.</p>
<p>What&#8217;s the first thing I notice in SCB? Routines to handle WordPress options and table data. But can&#8217;t I just use Pods for that?</p>
<p>Yes, I can!</p>
<p><span id="more-498"></span>To cut a long story, I knocked together a fully customizable menu system in record time. It is not finished yet, but I&#8217;m so pleased with the results, and ease of development, that I decided to feature how I have developed it over the next few days.</p>
<p>As of today, it is lurking near the foot of the page, with a list based cascading menu that doesn&#8217;t quite work (Note to CSS developers &#8211; beware inherited settings that you have assumed will not be used elsewhere). It would have been finished a day earlier, but I was trying to adapt a definition list dropdown menu. All was going really well, until I found that it is impossible to make that kind of CSS structure perform the variable width trick.</p>
<p>Variable width is really a must, as the <a href="http://www.shrewdies.net/shrewdbar/" title="WordPress Menu &#038; Login Combination Bar">shrewdBar</a> doubles as a login form. So I will get on with re-wrapping the menu in the same way as the DashBar-based version, then I&#8217;ll go through the development stages so you can see just how easy it is to get Pods to do most of your development work.</p>
<p>Once that is finished, I will convert my other plugin work-in-progress) to Pods, and also use it for a full-blown web based application that I have had in the pipeline for well over a year. <a href="http://www.shrewdies.net/shrewdbar/" title="Simple WordPress Forum">shrewdChat discussion package</a> soon, then The Big One, just as soon as I get shrewdBar &#038; shrewdChat to good, usable stage.</p>
<p><!--more--><div style="margin-left:-1em;"><table><tr><td><script type="text/javascript"><!--
google_ad_client = "pub-7512621270035949";
/* shrewdies 300x250, created 22/12/09 */
google_ad_slot = "4026195862";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td><td>
<script type="text/javascript"><!--
ch_client = "GoutPal";
ch_type = "mpu";
ch_width = 300;
ch_height = 250;
ch_color_bg = "ffffff";
ch_color_border = "ffffff";
ch_color_title = "00009e";
ch_color_site_link = "00009e";
ch_non_contextual = 4;
ch_vertical ="premium";
ch_sid = "ShrewdiesReward";
ch_alternate_ad_url = "http://www.shrewdies.net/ad.html";
var ch_queries = new Array( );
var ch_selected=Math.floor((Math.random()*ch_queries.length));
if ( ch_selected < ch_queries.length ) {
ch_query = ch_queries[ch_selected];
}
//--></script>
<script  src="http://scripts.chitika.net/eminimalls/amm.js" type="text/javascript">
</script></td></tr></table></div> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/498/wordpress-plugins-developers-dream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin For Forum Access &amp; More</title>
		<link>http://www.shrewdies.net/151/wordpress-plugin-for-forum-access-more/</link>
		<comments>http://www.shrewdies.net/151/wordpress-plugin-for-forum-access-more/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 22:08:02 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[dashbar]]></category>
		<category><![CDATA[shrewdBar]]></category>
		<category><![CDATA[splix]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=151</guid>
		<description><![CDATA[I&#8217;m working on a WordPress plugin to ease access to the forum, and other parts of the website. Easy access to website is always important, but doubly so when you are encouraging members to join and contribute comments and forum posts. You may see changes to the navigation bar at the top of the page [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">I&#8217;m working on a WordPress plugin to ease access to the forum, and other parts of the website.</p>
<p>Easy access to website is always important, but doubly so when you are encouraging members to join and contribute comments and forum posts.</p></div>
<p>You may see changes to the navigation bar at the top of the page during this week. I&#8217;m building and testing new ideas, and I would also like your input.</p>
<h3>Purpose of the WordPress plugin</h3>
<p>I was inspired by the userbar that is part of this Splix theme. It adds great access and information features to the bar at the top of the page. It does not include all the functionality I need &#8211; especially as it has no functions to ease access to the forum. In fact, I was surprised to see functionality like this added to a theme, so I looked at WordPress plugins to see if they offered better solutions.</p>
<p>The one that best suits what I need is DashBar, but it also lacks the forum functions that I need. One advantage is that it is very well written, and can be extended to include other links. However, I wanted to add other features from the Splix userbar, so I decided to build a new plugin to create a functional, attractive access bar.</p>
<p>The purpose of the new plugin is to provide all website contributors, including administrators and casual visitors, with a quick way to see new information that is relevant to them, and a quick way to access that information for viewing or editing.</p>
<p>During this week, you may see two, or possibly three different toolbars as I pool the best ideas from the <a href="http://z720.net/produits/wordpress/dashbar">DashBar</a> and the <a href="http://www.splact.com/blog/themes/splix/">Splix userbar</a>. I&#8217;ll let you know when my WordPress plugin is finished, but there are a couple of issues you can help with&#8230;</p>
<h3>Help Form This WordPress Plugin</h3>
<p>The first issue is a name for the toolbar / userbar / admin bar.</p>
<p>The second issue is that I would really love to hear your opinions on the features that are important to you in a WordPress plugin like this.</p>
<p>Please add your comments below, or discuss this in the <a href="http://www.shrewdies.net/forum/plugin/">WordPress functionality forum</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/151/wordpress-plugin-for-forum-access-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
