<?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; Happiness Today</title>
	<atom:link href="http://www.shrewdies.net/blog/happiness-today/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 Plugin: Promotion Tool</title>
		<link>http://www.shrewdies.net/1558/promotion-tools-plugins-wordpress/</link>
		<comments>http://www.shrewdies.net/1558/promotion-tools-plugins-wordpress/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 13:34:21 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Form]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[WordPress blogging]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[WordPress Pods CMS]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1558</guid>
		<description><![CDATA[Many of you looking for a WordPress plugin promotion tool have stumbled across my Happiness Today plugin. You seem disappointed that the next version is where the real promotion potential lies, but the good news is that you do not need to wait. If you have downloaded and activated Happiness Today, then you already have [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">Many of you looking for a WordPress plugin promotion tool have stumbled across my <a href="http://www.shrewdies.net/happiness_today" title="WordPress Plugin: Promotion Tool">Happiness Today</a> plugin.</p>
<p>You seem disappointed that the next version is where the real promotion potential lies, but the good news is that you do not need to wait.</p>
<p>If you have downloaded and activated Happiness Today, then you already have a tool for displaying random (or selected) promotion messages in your WordPress posts, pages or sidebar.</p></div>
<p>The main appeal of Pods is the way it makes extending the WordPress database so easy. But stored data is of little use if you cannot present it to your visitors. My first release of Happiness Today was just to prove that, like Hello Dolly does for standard WordPress, it is very easy to build a basic plugin. That basic plugin instantly demonstrates how Pods stores and displays data. In keeping with the Hello Dolly tradition, I displayed random lyrics in the Admin area &#8211; but the real life potential was always to be able to produce something simple yet useful, that can display random promotion messages to visitors.</p>
<p>Those promotional features are included in the current release, just not obvious. Here&#8217;s how to use Pods inbuilt features to get more from the Happiness Today plugin. Start your marketing campaign now.<span id="more-1558"></span></p>
<h2>WordPress Pods Presentation Features</h2>
<p>In the plugin, I present the messages via a Pods template that is called whenever an admin page loads. That template adds formatting to match the admin color scheme, and configurable link buttons. I also present the full set of lyrics on the happiness_today information page using a very simple template that adds nothing but a line break.</p>
<p>Pods output is not restricted to templates that can be as simple or as complex as you need them. Neither is it restricted to Pods pages such as the example mentioned, where you can build a page similar to a WordPress page, but with easy access to your data. You can also include Pods output in regular WordPress posts and pages with a simple shortcode call. Like this:<br />
<!-- This site is running development Happiness Today<br />
       Released version uses different name &#038; template --></p>
<blockquote>Think of happiness today
<br>
All is one in their own way<br /></blockquote>
<p>That is a simple Pods shortcode wrapped in blockquote tags, but you are only limited by your imagination, and css talents. How about:</p>
<style type="text/css">
.podsdemo
{
	margin:1em 5em 1em 5em;
	padding: 1em;
	border: 1em outset red;
}
p.podsdemo:first-letter
{
	color:#ff0000;
	font-size:200%;
	float:left;
}
p.podsdemo:first-line {
	font-size:110%;
	text-transform: uppercase;
	font-weight:bold;
}</p>
</style>
<p><!-- This site is running development Happiness Today<br />
       Released version uses different name &#038; template --></p>
<div>
<p class="podsdemo">Don't let our love go away
<br>
No one wants sadness to stay<br />Think of happiness today
<br>
All is one in their own way<br /></p>
</div>
<p>In this second example, I&#8217;ve set the limit to two records. Note that records are called randomly, but I have included the chorus several times, so that will appear more frequently &#8211; just refresh your browser to see the random effect.</p>
<p>All you need to do is add the following shortcode to your post, page or text widget:</p>
<pre>&#91;pods name="happiness_today_text" order="RAND()" limit="1" template="happiness_today_list"]</pre>
<h2>WordPress Plugin Promotion Tool: Next Steps</h2>
<p>All the data in the <a href="http://www.shrewdies.net/happiness_today" title="WordPress Plugin: Promotion Tool">Happiness Today</a> plugin is easily edited using the Pods data table editing features. In my example, I use couplets from the Think Of Happiness Today lyrics. Though I limit the example text to two lines so that it displays in the admin area properly, you can use any HTML text you like. The Pods WYSIWYG editor allows the usual formatting including hyperlinks, or direct entry of HTML code.</p>
<p>Using Happiness Today for longer visitor messages might make your admin area a little cluttered. No problem &#8211; simply deactivate Happiness Today &#8211; the data management and presentation features that I have discussed here are all part of standard Pods, and will work fine.</p>
<p>In future versions, I&#8217;ll add the ability to import and export different campaign text sets, with other options to make life even easier than it is with the basic release. But you do not need to wait &#8211; the current release can be used for any promotion campaign you can think of, including random advertising. In fact, it does not even need to be random, for instance specific records can be called on specific posts. The only limit is your imagination.</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/1558/promotion-tools-plugins-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pods WordPress Plugins Double Overnight</title>
		<link>http://www.shrewdies.net/1413/pods-wordpress-plugins-double-overnight/</link>
		<comments>http://www.shrewdies.net/1413/pods-wordpress-plugins-double-overnight/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 00:50:32 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Function]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1413</guid>
		<description><![CDATA[Today, the number of WordPress Pods plugins in the plugin database doubled. My Happiness Today plugin release joins the Pods UI plugin to double the number of examples of Pods CMS use. Though this is released as a teaching tool, you should not assume it is perfect. Though it works perfectly, there are a few [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">Today, the number of WordPress Pods plugins in the plugin database doubled.</p>
<p>My <a href="http://wordpress.org/extend/plugins/happiness-today/">Happiness Today plugin</a> release joins the Pods UI plugin to double the number of examples of Pods CMS use.</div>
<p>Though this is released as a teaching tool, you should not assume it is perfect. Though it works perfectly, there are a few rough edges in the implementation. But that is the point of Open Source tools &#8211; we can improve all aspects of Happiness Today, collectively.</p>
<p>I like the idea of the Hello Dolly plugin as a teaching tool. Though it is criticized for it&#8217;s limited usefulness, the WordPress developers have defended it, by rightly explaining:</p>
<blockquote><p>I think Hello Dolly is a good little example plugin. Users can turn it on, see that it does something, turn it off, see that it doesn&#8217;t do it anymore. Plugin functionality exemplified.</p></blockquote>
<p>This is perfectly true, and useful for novice WordPress users who want to understand what a plugin is, without being intimidated by reams of PHP code. But Pods developers are a different breed. We have varying PHP &#038; HTML skills, but we are bound by a common desire to learn and extend WordPress functionality.</p>
<p>So Happiness Today goes beyond the remit of Hello Dolly, and achieves useful outcomes. Using the simple Pods data edit screens, you can transform Hello Dolly into a client support tool, or promotion tool for any campaign where short messages to WordPress website builders are going to win you a click or three.<br />
<div id="attachment_1415" class="wp-caption aligncenter" style="width: 510px"><img src="http://www.shrewdies.net/wp-content/uploads/simple-pods-wordpress-plugin-output.png" alt="Simple Pods WordPress Plugin Output" title="Simple Pods WordPress Plugin Output" width="500" height="50" class="size-full wp-image-1415" /><p class="wp-caption-text">Simple Pods WordPress Plugin Output</p></div></p>
<p>Though I have used plain text in the distributed plugin, the data is stored as rich text, so you can easily include images and hyperlinks in the message display. This is in addition to the included customizable link buttons. After editing the data files with whatever text you need, you can easily import it as a Pods Package for your client sites.</p>
<p>I prepared the plugin in minutes using the Pods Plugin Builder that is the real goal of this project. In fact, most of the time is spent writing the readme.txt file that is generated as part of the plugin distribution package. That tool is still under development, but when available, it will make distribution of your own version of Happiness Today, or any other Pods Package, a very simple process.</p>
<h3>Happiness Today Next Steps</h3>
<p>Please contribute ideas to the wishlist. Also, if you are a superb PHP programmer, I would love to here your thoughts on code improvement.</p>
<p>I would also like to you to rate the <a href="http://wordpress.org/extend/plugins/happiness-today/">Happiness Today Pods WordPress plugin</a>, but if you cannot give it a 5 star, at least give me the opportunity to fix any problems you have before you vote.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shrewdies.net/1413/pods-wordpress-plugins-double-overnight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Database With Pods Wings</title>
		<link>http://www.shrewdies.net/1382/wordpress-database-with-pods-wings/</link>
		<comments>http://www.shrewdies.net/1382/wordpress-database-with-pods-wings/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 16:01:24 +0000</pubDate>
		<dc:creator>Keith from shrewdies</dc:creator>
				<category><![CDATA[Web Hosting]]></category>
		<category><![CDATA[Happiness Today]]></category>
		<category><![CDATA[WordPress database]]></category>

		<guid isPermaLink="false">http://www.shrewdies.net/?p=1382</guid>
		<description><![CDATA[I start my detailed look at the anatomy of our WordPress Pods plugins by showing you how Pods CMS makes the WordPress database fly. Though we are all working with data at the heart of the WordPress database, we often take it for granted. But data drives our content, our navigation, our presentation, our whole [...]]]></description>
			<content:encoded><![CDATA[<div class="kctIntro">I start my detailed look at the anatomy of our WordPress Pods plugins by showing you how Pods CMS makes the WordPress database fly.</p>
<p>Though we are all working with data at the heart of the WordPress database, we often take it for granted.</p>
<p>But data drives our content, our navigation, our presentation, our whole website.</p>
<p>Wouldn&#8217;t it be a good idea if we managed it properly?</p></div>
<p>I must confess, I love data. Actually, that&#8217;s as perverted as loving money &#8211; I actually love what can be done with data, rather than data itself. Structured and handled properly, application development, from the most basic WordPress plugin to a full blown web application becomes much more scalable and easier to manage if we get the data right.</p>
<p><div id="attachment_1389" class="wp-caption alignright" style="width: 310px"><a href="http://www.shrewdies.net/wp-content/uploads/wordpress-database-with-pods.png"><img src="http://www.shrewdies.net/wp-content/uploads/wordpress-database-with-pods-300x272.png" alt="WordPress Database With Pods" title="WordPress Database With Pods" width="300" height="272" class="size-medium wp-image-1389" /></a><p class="wp-caption-text">WordPress Database With Pods (click image for full size)</p></div>Our sample project Happiness Today, relies on data, just as it&#8217;s inspiration, Hello Dolly does. Whereas Hello Dolly data, the song lyrics, are hard-coded in the plugin, Happiness Today data is put where it belongs &#8211; in the WordPress database.</p>
<p>Each Pods project starts with data. This is the basic building block, known simply as a Pod. In complex applications, the hard part is learning how to structure data, especially if it needs to be split into different Pods.</p>
<p>Our example is very simple &#8211; every record in the Pod is just a lyric from the song. Experience tells me that I need keys to data in databases. In this case I use a simple line number identifier, which allows me to sort the records should I wish to output the whole song.</p>
<p>It is a good habit to always think of record keys when designing a Pod, or any other database. Pods helps us here by always creating a field called name, which will always uniquely identify records. With the Pod created, we simply need to add the text to each record, which we do with the standard Pods CMS record editing screens.</p>
<p>Job done, except that we need to get the data out.<span id="more-1382"></span> I&#8217;ll be looking at presentation in the next article. In practice, when planning this type of application, you would start by designing the display(s) that need to be produced, and work back to the data required to fulfill that. The crucial point is that the two are completely separate. We have the song data held independently as text records, unchanged but for some keys to identify individual lines.</p>
<p>It is important to grasp this separation between data and presentation. It is also important to plan them both before you start. This example is fairly trivial, but it illustrates the guiding principles. For example, had the application been to present random words, then the database structure would be different.</p>
<p>If you are new to databases, it is a good idea to create some example Pods to familiarize yourself with the features available. When you design an application in future, you will always start planning the outcomes first, then the data structures. When we build the application, it is data first, followed by presentation and often some calculation or other forms of data manipulation.</p>
<p>In this series, we are also concerned with distributing our data via the WordPress Pods Plugin Builder. There are two elements &#8211; the data structure, and the data records.</p>
<p>Pods has an inbuilt mechanism for exporting and importing Pods data structures within its Pods Package feature. This is exposed programatically through the Pods UI plugin, with an import routine demonstrated in the Pods UI demo plugin. The demo has the import code hard-coded into the plugin, but I needed this to be file based for maximum portability. As this is more than just data, I&#8217;ll cover the routines for programatically exporting and importing Pods packages in a later installment (I should also suggest this for the Pods codex, so remind me if I forget).</p>
<p>Similarly, the Pods API exposes import and export methods, so I included these in the builder, to build sample data and import it. To my delight, the proof of concept works fine. The builder creates files for the data structure and data records and a plugin.php file. The plugin imports these during initialization and all is fine, except that it doesn&#8217;t really&#8230;</p>
<p>It is still fine, but the data import has to be separate from the structure import. I have a fairly good idea why this is the case, but as I was thinking about the solution I realized that the data record import SHOULD be separate from the structure import.</p>
<p>To make Happiness Today really useful, it is important to allow users to easily package their own text messages and links. Therefore, I believe that the data import, complete with block delete and export functions should be included in the basic plugin as user routines, separate from installation routines.</p>
<p>My only dilemma is that the extra layer of functionality adds a little more complexity to the idea of a very simple example. Perhaps it is pointless to take simplicity below the level of usefulness?</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/1382/wordpress-database-with-pods-wings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
	</channel>
</rss>
