<?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; WordPress Pods Plugin Builder</title>
	<atom:link href="http://www.shrewdies.net/blog/pods-plugin-builder/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shrewdies.net</link>
	<description>Business Web Hosting For Shrewdies Not Dummies</description>
	<lastBuildDate>Thu, 26 Aug 2010 19:11:12 +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 Pods Projects Going For A Song</title>
		<link>http://www.shrewdies.net/1373/wordpress-pods-projects-going-for-a-song/</link>
		<comments>http://www.shrewdies.net/1373/wordpress-pods-projects-going-for-a-song/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:56:45 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>
		<category><![CDATA[WordPress Pods Plugin Builder]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1373</guid>
		<description><![CDATA[When I introduced my WordPress Pods Plugin Builder yesterday, I hinted at an example project to test the builder with. I can reveal that this will be an homage to the ubiquitous Hello Dolly plugin &#8211; with some extras, and some Pods magic. Just to remind you. I love Pods as it is intended to [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">When I introduced my WordPress Pods Plugin Builder yesterday, I hinted at an example project to test the builder with.</p>
<p>I can reveal that this will be an homage to the ubiquitous Hello Dolly plugin &#8211; with some extras, and some Pods magic.</p></div>
<p>Just to remind you. I love Pods as it is intended to be used &#8211; a Content Management System that extends WordPress Pages and Posts to allow developers to provide new content styles. This is extremely important to me as I develop new tools for webmasters, and new web applications to extend my health sites.</p>
<p>But for the moment, I&#8217;m hooked (pun intended) on using Pods to hook rapidly developed packages into WordPress as plugins. This series of articles explains the Pods features used to create WordPress plugin files complete with readme.txt. WordPress explains what a plugin is by way of the Hello Dolly example. In a similar way, I needed a very simple plugin application to test and demonstrate my WordPress Pods Plugin Builder.</p>
<p>Enter <a href="http://www.softcharisma.com/">Soft Charisma</a>, the music company run by Scott Kingsley Clark, one of Pods lead developers. Scott has written the perfect song to complement Hello Dolly &#8211; Think Of Happiness Today.<br />
<div id="attachment_1374" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.shrewdies.net/wp-content/uploads/happiness_today_scrn.png"><img src="http://www.shrewdies.net/wp-content/uploads/happiness_today_scrn-300x187.png" alt="Happiness Today Plugin" title="Happiness Today Plugin" width="300" height="187" class="size-medium wp-image-1374" /></a><p class="wp-caption-text">Happiness Today Plugin - click for large size</p></div></p>
<p>My plugin, Happiness Today, displays random lyrics from the song on the admin pages. So far, so Hello Dolly, but there are extras:<span id="more-1373"></span></p>
<ul>
<li>Up to 3 link buttons</li>
<li>Customizable lyrics, position &#038; links</li>
<li>Easily editable content &#038; options through the Pods interface</li>
</ul>
<p>It is currently at &#8216;proof of concept&#8217; stage. A complete, usable plugin, but incomplete readme.txt file, no deactivation routine (though easily tidied up manually via Pods administration), and untidy code structure. Also, it borrows its styling to match the selected admin scheme in a way that is best described as <strong>Borrow Code</strong>.</p>
<p><strong>Borrow Code</strong> is a semi-original term, coined by me, to explain the style of programming I borrow and use. The style of <strong>Borrow Code</strong> reflects how I use snippets of code without understanding the original concept, shape it with a big hammer until it just about works, then refine it properly for public use, or discard it in favor of suggestions from better coders.</p>
<p>I will add it to the WordPress extensions database once it is fit for public consumption, when we can also discuss potential uses and enhancement suggestions.</p>
<h3>WordPress Happiness Today Plugin</h3>
<p>Potential uses:
<ul>
<li>Promotion for musicians, poets, authors, etc to randomly present their own lyrics and links</li>
<li>Promotion for website developers to randomly present support tips and links</li>
<li>Random product benefits and links</li>
<li>Fund raising quotes &#038; links</li>
<li>Your suggestions</li>
</ul>
<p>Enhancement suggestions:
<ul>
<li>Widget support to display random messages, adverts, etc to visitors</li>
<li>Single click data import, export, delete routines</li>
<li>Remote data updates</li>
<li>Your suggestions</li>
</ul>
<h2>WordPress Pods Projects: Next Steps</h2>
<p>That&#8217;s enough background for now. In the next article I&#8217;ll explain some specific Pods techniques used in the WordPress Pods Plugin Builder, and its example project, Happiness Today.</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/1373/wordpress-pods-projects-going-for-a-song/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Pods Plugin Builder Taking Shape</title>
		<link>http://www.shrewdies.net/1363/wordpress-pods-plugin-builder-taking-shape/</link>
		<comments>http://www.shrewdies.net/1363/wordpress-pods-plugin-builder-taking-shape/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 18:04:18 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[rapid application development]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>
		<category><![CDATA[WordPress Pods Plugin Builder]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1363</guid>
		<description><![CDATA[WordPress Pods CMS plugin is fantastic for adding new content to websites that do not easily fit the standard Page or Post styles. With it&#8217;s easy to use interface, it is good for novice writers, but it also stands on a very powerful data management platform. This makes it a real candidate for Rapid Application [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">WordPress Pods CMS plugin is fantastic for adding new content to websites that do not easily fit the standard Page or Post styles.</p>
<p>With it&#8217;s easy to use interface, it is good for novice writers, but it also stands on a very powerful data management platform.</p>
<p>This makes it a real candidate for Rapid Application Development, but how to package and distribute those applications?</p></div>
<p>Before I present my latest project for building structured WordPress plugins, packaged with properly formatted readme file, straight from the Pods interface let me explain what Pods is.<br />
<span id="more-1363"></span><br />
<h2>WordPress Pods Background</h2>
<p>Pods builds applications by creating data tables and presenting that data on pages, using display templates to keep presentation simple. Going beyond basic table administration, Pages and Templates can include any HTML or PHP code you like to manipulate data. And going beyond that, there are Helpers that can manipulate data before during or after it has been entered.</p>
<p>This means that any extension to WordPress can be coded in Pods. Tasks that do not require data manipulation probably do not need Pods. On the other hand, most plugins do need to use the WordPress database, even if only to store some options. Using Pods makes that data easy to maintain and it&#8217;s structure means that it is very easy to build reusable code libraries.</p>
<p>I will explain Pods Data, Template, Page and Helper features in more detail when I explain how my Pods projects work. First let&#8217;s look at my current to build WordPress plugins using Pods.</p>
<h2>WordPress Pods Plugin Builder</h2>
<p>Pods already does a good job of easing distribution of projects. It is extremely easy to bundle your project components together and export them as a Pods Package. The <a href="http://podscms.org/packages/">Pods CMS site has several examples of these packages</a> which as well as being useful in their own right, can be used to learn various techniques.</p>
<p>These packages can be pasted directly into Pods, or loaded programatically, as demonstrated in the Pods UI demo. This makes distribution very easy, but there is one vital thing missing for most projects, and another missing for many.</p>
<p>The vital missing part is data. Though pods can export and import data, this is not part of the Pods package process. If you are handling a project for a client, it is very easy to move data to your clients site by exporting and importing, but it is not possible to supply a single package including code and data.</p>
<p>For most Pods projects, that data problem is the only one, and the import and export routines simply mean you have to distribute code and data separately. For many of my projects, I want to provide WordPress plugin functionality. This means that I need at least one plugin file to hook the functions into WordPress.</p>
<p>My Pods Plugin Builder produces standard format WordPress plugin files from Pods. The plugin it produces will load a Pods package, load the data, and add the hooks that WordPress needs. It also produces a correctly formatted readme.txt file which is so important if you want people to be able to find your plugin in the WordPress repository.</p>
<p>I passed a milestone today when I used the package to produce my first plugin.</p>
<h2>WordPress Pods Plugin Builder: Next Steps</h2>
<p>In the next few articles I will:</p>
<ul>
<li>Describe the package in detail, including work still to do, and potential additional features.</li>
<li>Introduce the plugin that this package has produced, and describe how key features of Pods work.</li>
<li>Apply the package to my shrewdBar &#038; shrewdChat projects.</li>
<li>Release the package for wider testing and distribution.</li>
</ul>
<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/1363/wordpress-pods-plugin-builder-taking-shape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
