<?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>Idealien Studios &#187; Blog</title>
	<atom:link href="http://idealienstudios.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://idealienstudios.com</link>
	<description>We will turn your dreams into reality together!</description>
	<lastBuildDate>Tue, 21 Jul 2009 01:32:15 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Solving a custom field query quandry</title>
		<link>http://idealienstudios.com/blog/wordpress/custom-field-query-quandry/</link>
		<comments>http://idealienstudios.com/blog/wordpress/custom-field-query-quandry/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 01:30:14 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=678</guid>
		<description><![CDATA[Storing the details of a rideshare offer / request lends itself well to custom fields, especially when <a href="http://wordpress.org/extend/plugins/more-fields/">More Fields</a> is used for data capture. I found a solution to a complex display challenge: How to display a set of posts based on multiple custom field values? This post demonstrates get_post_meta_multiple, a function you could include in your theme to allow you to filter based on an infinite number of custom field key / value pairs.]]></description>
			<content:encoded><![CDATA[<h3>How to filter for multiple custom field key / values</h3>
<p><div id="attachment_665" class="wp-caption alignright" style="width: 194px"><img class="size-medium wp-image-665" title="Custom Fields w/ More Fields" src="http://idealienstudios.com/wp-content/uploads/blog_09july_rideshare-184x300.jpg" alt="Rideshare Custom Fields captured via More Fields" width="184" height="300" /><p class="wp-caption-text">Rideshare Custom Fields captured via More Fields</p></div>
<p>As I mentioned at the end of my last post on the Power of Custom Fields, I recently started working on a prototype site that required rideshare board functionality. Storing the details lends itself well to custom fields, especially when <a href="http://wordpress.org/extend/plugins/more-fields/">More Fields</a> is used for data capture as you can see from the inset image. However, I struggled to find a solution within Wordpress to solve a display challenge: How to display a set of posts based on multiple custom field values? In my case, how to loop through rideshares base on event and ride-givers or ride-wanters.</p>
<p>I explored looping through each post in my rideshare category to match the rideshare event to an array value and then using get_post_meta within to see if results belonged to the ride-giver or ride-wanter. While this might have worked, it certainly wouldn&#8217;t be an elegant &#8211; or Idealien solution. Dan Butcher did provide a functional solution in the <a href="http://wordpress.org/support/topic/161154">Wordpress Support Forums</a> for a similar challenge, but it is not a solution a novice / intermediate Wordpress developer would be comfortable customizing, nor would it scale well. Barry @ <a href="http://clearskys.net/">clearskys.net</a> informed me that,</p>
<blockquote><p>Whilst the JOINS work, and will work quite well with a few meta-data criteria passed in, I&#8217;ve had problems (particularly on shared hosting) in the past when creating an SQL query to search based on a series of tags which used a similar method.</p></blockquote>
<h3>Introducing get_post_meta_multiple</h3>
<p>This function I created, with sql optomization support from Barry @ <a href="http://clearskys.net/">clearskys.net</a>:</p>
<ul>
<li>accepts a variable length array of custom field key/value pairs</li>
<li>returns a list of post IDs which you can loop through</li>
<li>Could be implemented into your site in one of 3 ways: Added to a functions.php file as a part of your theme, included in a plugin related to enhanced custom field functionality or <a href="http://codex.wordpress.org/Submitting_Bugs">report a (feature request) bug</a> for a more evolved version of it be included in a future release of the core of Wordpress.</li>
</ul>
<p>The demonstration code below has been prepared for the most common scenario as part of a functions.php file in a theme.</p>
<h3>The Demonstration</h3>
<p><img src="http://idealienstudios.com/wp-content/uploads/blog_09july_rideshare2.jpg" alt="Custom Field Table" title="Custom Field Table" width="500" height="138" class="alignnone size-full wp-image-687" /><br />
A series of tables with columns for number of seats available, departure / return dates plus contact / additional info. I have kept the code below intentionally short so the example doesn&#8217;t overwhelm. I have posted a <a href="http://pastebin.com/m4fafcb59">more complete version</a> on pastebin that has the markup to match the image above.</p>
<h3>The function</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> get_post_meta_multiple<span style="color: #009900;">&#40;</span><span style="color: #000088;">$metaDataList</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$querystr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT p.* FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> AS p WHERE p.ID IN ( &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$querystr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;SELECT post_id FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;postmeta</span> WHERE &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$innerqry</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$metaDataList</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$innerqry</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prepare</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;(meta_key = <span style="color: #009933; font-weight: bold;">%s</span> AND meta_value = <span style="color: #009933; font-weight: bold;">%s</span>)&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$querystr</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; OR &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$innerqry</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$querystr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; GROUP BY post_id &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$querystr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;HAVING count(*) = &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$metaDataList</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$querystr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;) AND p.post_status = 'publish' &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$metaResults</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$querystr</span><span style="color: #339933;">,</span> OBJECT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>					
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$metaResults</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>Example Usage</h3>
<p>Place this inside your category.php or whatever template file you are using to display the results from.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">//Create your array of custom field key / values to filter to</span>
	<span style="color: #000088;">$metaDataList</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	<span style="color: #0000ff;">'rideshare_event'</span>	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Ottawa Blues Fest'</span><span style="color: #339933;">,</span>
	<span style="color: #0000ff;">'rideshare_type'</span>	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Driver'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
	<span style="color: #000088;">$resultList</span> <span style="color: #339933;">=</span> get_post_meta_multiple<span style="color: #009900;">&#40;</span><span style="color: #000088;">$metaDataList</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$resultList</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
	<span style="color: #666666; font-style: italic;">//Loop through each result post to display appropriate contents</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$resultList</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
		setup_postdata<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Define your custom field key</span>
		<span style="color: #000088;">$key</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;rideshare_spaces&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Display value of custom field		</span>
		<span style="color: #b1b100;">echo</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   	<span style="color: #b1b100;">endforeach</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;p&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'No rides are currently available for this event.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>The future of the function?</h3>
<p>Once I have finished the prototype site that started this concept, I will attempt to package up the pieces in a more manageable method to share for wider use. In the interim, feel free to use and share in whatever ways are most convenience for you. Much like Wordpress as a whole, I think this idea can continue to evolve in some great ways that will make it easier for designers, developers and clients to build / use sites based on it. Please link back to this post as you do so that I can keep tabs on how this idea evolves.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/wordpress/custom-field-query-quandry/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Power of Custom Fields</title>
		<link>http://idealienstudios.com/blog/wordpress/power-of-custom-fields/</link>
		<comments>http://idealienstudios.com/blog/wordpress/power-of-custom-fields/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 01:29:34 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=652</guid>
		<description><![CDATA[Custom Fields are the way of enabling authors to store meta-data against an individual post / page in Wordpress. If you are doing more than just basic data storage / display with custom fields in Wordpress, the list of links in this post will be of great interest to you.]]></description>
			<content:encoded><![CDATA[<p>Custom Fields are the way of enabling authors to store meta-data against an individual post / page in Wordpress. The Codex describes some <a href="http://codex.wordpress.org/Using_Custom_Fields">basic uses for this meta data</a> such as displaying your current mood, weather, or listening habits, etc. Compared to other parts of the posting process, custom fields have received very little active development. I&#8217;ve been using them since WP 2.3 and can&#8217;t recall much aside from UI improvements that kept it consistent with the rest of the updates in 2.5 / 2.7. However, many people have begun to explore significant ways to enhance the CMS capabilities of Wordpress through the functionality that custom fields do offer.</p>
<h3>Learn to love get_post_meta</h3>
<p>The <a href="http://codex.wordpress.org/Function_Reference/get_post_meta">get_post_meta</a> function is a function you will come to know and love when working with custom fields in Wordpress. It is used within the loop to present the value based on the name of the custom field.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;rideshare_name&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>Beyond the basics</h3>
<p>If you are doing more than just basic data storage / display with custom fields, the following links / examples will be of interest to you:</p>
<ul>
<li><a href="http://webdesignernotebook.com/wordpress/wordpress-how-to-display-multiple-values-of-a-custom-field-key/">Web Designer Notebook</a> covers how to display multiple values for the same custom field name. This might be useful to display a list of ingredients for a recipe site or the parts needed for a set of DIY instructions.</li>
<li><a href="http://www.tutorial9.net/web-tutorials/add-thumbnails-to-wordpress-with-custom-fields/">Tutorial9</a> has a great tutorial on the many different ways to use custom fields for storing images to represent a post. After uploading the photo, you store the filename of a full-size or thumbnail photo in a custom field and use get_post_meta to extract / display in the appropriate theme file locations.</li>
<li><a href="http://www.cagintranet.com/archive/wordpress-tip-3-awesome-custom-field-tricks/">Cagintranet</a> has 3 custom field tricks that operate per post: custom read more tags, thumbnails of related posts and post-specific css overrides.</li>
<li><a href="http://www.livexp.net/wordpress/get-wordpress-custom-fields-outside-the-loop.html">LiveXP</a> shows how to get custom fields outside the loop. If creating a theme options page is beyond your skill, you can create a private page and store / retrieve the meta values from custom fields attached to that page wherever you need to.</li>
<li>Two Words: <a href="http://wordpress.org/extend/plugins/more-fields/">More Fields</a>. This plugin enables you to create custom write panels with custom field data types (radio buttons, drop-down, textbox, wysiwyg, etc). My most recent screencast gives a good overview of using More Fields to design a <a href="http://idealienstudios.com/blog/wordpress/template-retail-locations/">store location list</a> using the plugin.</li>
<li><em>Sidetrack Suggestion</em>: I can easily see (and hope that) the type of functionality More Fields has explored gets built into the core as a part of the post-types being considered for 3.0. With the drag-drop interface of the widgets management area applied to the design of write panels, this would be a fantastic feature of a future version of Wordpress.</li>
<li><a href="http://justintadlock.com/tags/custom-fields">Justin Tadlock</a> has written immensely on the power of custom fields. If you want a crash course in custom fields, his site is a great place to start.</li>
<li><a href="http://www.smashingmagazine.com/2009/06/10/10-useful-wordpress-loop-hacks/">Smashing Magazine</a> shows how to get posts with a specific custom field and specific value as one of their 10 useful Wordpress Loop hacks. This is invaluable when capturing data that you want to filter for in query loops.</li>
</ul>
<p>What actually inspired me to write this post was my recent efforts to build an elegant solution to a query quandry I was having related to custom fields &#8211; <a href="/blog/wordpress/custom-field-query-quandry/">How to filter / query for multiple custom field key / values</a>? The solution is one that could be of interest to theme / framework designers, plugin developers or possibly even the base concept for implementation into the core of advanced custom field functions Wordpress.</p>
<p>If you have any other great custom field tutorials, please share them in the comments of this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/wordpress/power-of-custom-fields/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Template &#8211; Retail Locations</title>
		<link>http://idealienstudios.com/blog/wordpress/template-retail-locations/</link>
		<comments>http://idealienstudios.com/blog/wordpress/template-retail-locations/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 13:36:06 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[ICE]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=647</guid>
		<description><![CDATA[Learn how to capture and display custom fields in a template using <a title="More Fields" href="http://wordpress.org/extend/plugins/more-fields/">More Fields</a>, a plugin that "enables you to define post types, which are custom Write/Edit pages that contains a pre-defined set of boxes"]]></description>
			<content:encoded><![CDATA[<div id="attachment_648" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-648" title="Retail Locations" src="http://idealienstudios.com/wp-content/uploads/projects_ice_09july9_retail-300x200.jpg" alt="Capture and display custom data types" width="300" height="200" /><p class="wp-caption-text">Capture and display custom data types using ICE and More Fields</p></div>
<p>Building on the concept of category templates which I started with the <a title="FAQ template tutorial" href="http://idealienstudios.com/projects/ice/template-demo-faq/">FAQ template tutorial</a> last week, this tutorial will cover how to capture and display custom fields in a template. What&#8217;s more, I&#8217;ll go through the step-by-step process of how to implement this using <a title="More Fields" href="http://wordpress.org/extend/plugins/more-fields/">More Fields</a> which is a plugin that &#8220;enables you to define post types, which are custom Write/Edit pages that contains a pre-defined set of boxes&#8221; that store their data behind the scenes in custom fields. The concepts from this tutorial will be of interest for anyone who:</p>
<ul>
<li>Has multiple categories of blog content with unique data to capture / present. Thumbnail per post, photo of the day or other customized items.</li>
<li>Uses Wordpress as a CMS for unique page data types (event calendar, classified ads, business partners, etc)</li>
<li>Finds the selection of custom fields from a drop-down to not be the best user interface experience for capturing structured data.</li>
</ul>
<p><object width="590" height="346"><param name="movie" value="http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/flvplayer.swf"></param><param name="quality" value="high"></param><param name="bgcolor" value="#FFFFFF"></param><param name="flashVars" value="thumb=http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/FirstFrame.jpg&#038;containerwidth=590&#038;containerheight=346&#038;content=http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/ICEMoreFields.mp4"></param><param name="allowFullScreen" value="true"></param><param name="scale" value="showall"></param><param name="allowScriptAccess" value="always"></param><param name="base" value="http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/"></param>  <embed src="http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="590" height="346" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/FirstFrame.jpg&#038;containerwidth=590&#038;containerheight=346&#038;content=http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/ICEMoreFields.mp4" allowFullScreen="true" base="http://content.screencast.com/users/Idealien/folders/ICE/media/98b832dc-fc7e-4d98-8ac7-d60e39ccfb18/" scale="showall"></embed></object></p>
<p>Direct Video Link:<a href="http://www.screencast.com/t/2dcpYsSlk">http://www.screencast.com/t/2dcpYsSlk</a></p>
<h2>Example Code</h2>
<p>The only real code in this template that is unique is the retrieval of data from a <a href="http://codex.wordpress.org/Using_Custom_Fields">custom field</a> using the <a href="http://codex.wordpress.org/Function_Reference/get_post_meta">get_post_meta</a> function.</p>
<p><strong>A single custom field retrieval</strong><br />
Place this example within the loop of an existing category / post template.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$locationPhone</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'locationPhone'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationPhone</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;div class=&quot;locationInfo&quot;&gt;
		&lt;h4&gt;Phone Number&lt;/h4&gt;
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span>  <span style="color: #000088;">$locationPhone</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/div&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>Full retail location fields</strong><br />
This example is the full loop for use within a category.php file to display the contents of custom fields named: location</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	&lt;h2&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_content<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$locationAddress</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'locationAddress'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationAddress</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;div class=&quot;locationInfo&quot;&gt;
			&lt;h4&gt;Address&lt;/h4&gt;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$locationMapURL</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'locationMapURL'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationMapURL</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span>  <span style="color: #0000ff;">&quot;&lt;a href='&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$locationMapURL</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;'&gt;&quot;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span>  <span style="color: #000088;">$locationAddress</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationMapURL</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/a&gt;&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;/div&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$locationPhone</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'locationPhone'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationPhone</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;div class=&quot;locationInfo&quot;&gt;
			&lt;h4&gt;Phone Number&lt;/h4&gt;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span>  <span style="color: #000088;">$locationPhone</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;/div&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$locationHours</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'locationHours'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationHours</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;div class=&quot;locationInfo&quot;&gt;
			&lt;h4&gt;Business Hours&lt;/h4&gt;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span>  <span style="color: #000088;">$locationHours</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;/div&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$locationWebsite</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'locationWebsite'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationWebsite</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;div class=&quot;locationInfo&quot;&gt;
			&lt;h4&gt;Website&lt;/h4&gt;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span>  <span style="color: #0000ff;">&quot;&lt;a href='&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$locationWebsite</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;'&gt;&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$locationWebsite</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&lt;/a&gt;&quot;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;/div&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endwhile</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">else</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	&lt;p&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Sorry, no posts matched your criteria.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/wordpress/template-retail-locations/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wordpress Developer Pub Night</title>
		<link>http://idealienstudios.com/blog/wordpress/1st-wp-developer-pub-night/</link>
		<comments>http://idealienstudios.com/blog/wordpress/1st-wp-developer-pub-night/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 14:53:43 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=642</guid>
		<description><![CDATA[Tuesday July 7th, 2009 will be the first <a href="http://ottawadevelopers.wordpress.com/2009/07/03/pub-night-july-7th-2009/">Ottawa WordPress Developers Pub Night</a>. Location and time are subject to interest from the community. Current theory is a start time of 8pm at Shoeless Joe’s at 3049 Carling Ave which has cheap wing night on Tues and very nice booths.

The two best ways to let them know you're interested in attending are either post a comment on their blog or follow and tweet to them on Twitter - <a href="http://www.twitter.com/wdgo">@wdgo</a>. I know there are more than a few people in Ottawa who use Wordpress for great things including myself. I look forward to meeting them for a few pints to talk about what we would all like to give / get from a community developer group for our platform of choice.]]></description>
			<content:encoded><![CDATA[<p>Courtesy of the <a href="http://ottawadevelopers.wordpress.com">Ottawa Wordpress Developers Group</a>:</p>
<blockquote><p>Tuesday July 7th, 2009 will be the first <a href="http://ottawadevelopers.wordpress.com/2009/07/03/pub-night-july-7th-2009/">Ottawa WordPress Developers Pub Night</a>. Location and time are subject to interest from the community. Current theory is a start time of 8pm at Shoeless Joe’s at 3049 Carling Ave which has cheap wing night on Tues and very nice booths.</p></blockquote>
<p>The two best ways to let them know you&#8217;re interested in attending are either post a comment on their blog or follow and tweet to them on Twitter &#8211; <a href="http://www.twitter.com/wdgo">@wdgo</a>. I know there are more than a few people in Ottawa who use Wordpress for great things including myself. I look forward to meeting them for a few pints to talk about what we would all like to give / get from a community developer group for our platform of choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/wordpress/1st-wp-developer-pub-night/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting social with Virtual Eyesee &#8211; Part 3</title>
		<link>http://idealienstudios.com/blog/social-media/getting-social-part-3/</link>
		<comments>http://idealienstudios.com/blog/social-media/getting-social-part-3/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 21:21:16 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=571</guid>
		<description><![CDATA[In the third and final part of an interview with Natasha, we discuss ways the Canadian government has / can / should invest in the concepts and technologies of Social Media over the next 12 - 18 months.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-509" title="Getting Social With Virtual Eyesee" src="http://idealienstudios.com/wp-content/uploads/blog_virtualeyesee_lead-300x133.jpg" alt="Getting Social With Virtual Eyesee" width="300" height="133" />This is part 3 of a 3-part interview with Natasha D&#8217;Souza, founder of Virtual EyeSee one of the up-and-coming social media strategy companies in Ottawa. If you haven&#8217;t already, check out parts 1 (<a title="Social Media &amp; The Economy" href="http://idealienstudios.com/blog/social-media/getting-social-part-1/">Social media and the economy</a>) and 2 (<a title="Understanding social media relationships" href="/blog/social-media/getting-social-part-2/">Understanding social media relationships</a>).</p>
<p><strong>Jamie:</strong><br />
<em>There are a number of projects (<a title="GovLoop&gt;govloop.com&lt;/a&gt;, &lt;a href=" href=" mce_href=">changecamp.ca</a>, <a title="digitalgov" href="http://digitalgov.ca/">digitalgov.ca</a>) in the nascent stages of development which seek to have a more transparent and accessible government with a particular focus on open source and social media technologies. How would you like to see the Canadian government invest in these concepts and technologies over the next 12 &#8211; 18 months?</em></p>
<p><strong>Natasha:</strong><br />
Recent market research indicated that the place where people spend a lot of their time online are Microsoft, Google and Facebook. In order for any organization, government or otherwise, to get their message across to their audience, they have to participate in the discussions in these places.</p>
<p>In the next 12-18 months the Canadian government needs to think about what they want to do and then figure out the various social media tools that they could use to achieve these goals. They will have to make the shift form pushing the message out to participating in the discussion. So bottom line is not to block these sites at work but make them accessible to all employees.</p>
<p><strong>Jamie:</strong><br />
I agree there is a positive value in having all levels of government (or an organization) having access to these tools. However, there is also a potential for lost productivity or negative exposure if individuals aren&#8217;t mindful of the impact their actions have on the larger community. Regardless of whether they ban access to these tools or not, they should recognize that they can no longer expect to control the flow of information as they have done in the past with traditional media.</p>
<p>It used to be a reasonable expectation for the bulk of communications to be delivered from a public relations / marketing department (read: in a consistent &#8220;on-message&#8221; manner). Today, with cell phone cameras <em>everywhere</em> and the potential for videos to go viral, everyone must remember that anything can be captured and distributed to everyone / everywhere almost instantaneously. What once might have been a candid remark by a politician to score points with a particular demographic, can now be captured and repurposed as an attack ad against every other demographic. Everyone should always remember that the second you hit send or publish, that content has been released onto the internet &#8211; forever.</p>
<p>A big thanks to Natasha for taking the time to contribute. If your organization is interested in learning more about how to tap the positive powers of social media, you should get in touch with her through <a title="Virtual Eye See" href="http://www.virtualeyesee.com/services/training.html">Virtual Eye See</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/social-media/getting-social-part-3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>I will never try to build a perfect website again!</title>
		<link>http://idealienstudios.com/blog/theprocess/build-a-perfect-website/</link>
		<comments>http://idealienstudios.com/blog/theprocess/build-a-perfect-website/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 12:17:45 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[thematic]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=525</guid>
		<description><![CDATA[In exploring the approach to development I had for my own website, I recognized that I was serially redesigning it and proverbially spinning my wheels. The unfortunate part of this vicious cycle is that it was all manufactured by me - the site, the content and perception that the obstacles were insurmountable. So last weekend I decided to leverage what I could from my existing efforts (css, images, javascript) and start fresh building on top of a strong theme framework base - Thematic. I did so with a new approach to the design, development and writing for the site. In this post, I explain why for my own personal sites / projects I have come to the conclusion that <strong>I will never try to build a perfect website again.</strong>

]]></description>
			<content:encoded><![CDATA[<div id="attachment_526" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-526" title="Newly refreshed Idealien Studios landing page" src="http://idealienstudios.com/wp-content/uploads/blog_09june_themeupdate-300x160.jpg" alt="blog_09june_themeupdate" width="300" height="160" /><p class="wp-caption-text">A newly refreshed Idealien Studios landing page full of featured content goodness.</p></div>
<p>In one of my most recent updates, I noted that &#8220;&#8230;it has been almost 4 months since I made an update to this blog.&#8221; A large part of that was being overwhelmed with work and significant amounts of wonderful chaotic change happening in my life during that time period. During the limited free time I did have available, it was a struggle to want to do <em>more of the same</em> in designing / developing my own website.</p>
<p>This lead to the formation of a very bad logic loop that I let myself get trapped into. As best I can describe it, I felt that:</p>
<ul>
<li>I did not have large blocks of time to work on the design of my website.</li>
<li>I was not satisfied with how the website looked.</li>
<li>I did not want to write content for a site that did not look fantastic.</li>
<li>I had other things that I could be doing instead of writing / coding.</li>
<li>The freelance career isn&#8217;t going where I wanted it, so why bother?</li>
</ul>
<p>The unfortunate part of this vicious cycle is that it was all manufactured by me &#8211; the site, the content and the perception that the obstacles were insurmountable. I had been what I can only call <em>serially redeveloping</em> the theme for this site for the better part of 4 months and it was beginning to take it&#8217;s toll on my psyche.</p>
<blockquote><p>I *could* limp to the finish line with my current theme design &#8211; but as a learning experience I think I&#8217;ll start from scratch on a framework.<a class="alignright clear" href="http://twitter.com/Idealien/status/1965502901">Idealien Twitter from May 29th</a></p></blockquote>
<p>So last weekend I decided to leverage what I could from my existing efforts (css, images, javascript) and start fresh building on top of a strong theme framework base &#8211; <a href="http://wordpress.org/extend/themes/thematic">Thematic</a>. I also did so with a new approach to the design, development and writing for the site:</p>
<ul>
<li>It is unrealistic to expect to produce a perfect site in one shot.</li>
<li>Understand that none of the challenges I face are insurmountable.</li>
<li><a title="Just keep swimming" href="http://www.youtube.com/watch?v=CmyUkm2qlhA">Just keep swimming</a>!</li>
<li>How can I make positive improvements to the site in 15 &#8211; 30 minute blocks?</li>
<li>Use draft status for posts until they&#8217;re ready- it&#8217;s why it exists.</li>
<li>Incremental development is far better than no development at all.</li>
</ul>
<p>While there are some things about Thematic  that I don&#8217;t care for, particularily it&#8217;s approach to sidebars, it does a lot of things very well. The results have been positive progress on my site almost each day this past week and increased confidence that I can make things happen bit by bit. I&#8217;m planning some smaller posts that cover the plugins / process I used to achieve the different functional elements of the site. Those posts will actually be driving me to add more functionality (code highlighting, lightbox galleries, recommended readings via google reader and more). After all, if my freelance career isn&#8217;t going where I want it to, I only have myself to blame. I&#8217;ll save the description of my new direction for Idealien Studios for another post.</p>
<p>Much like teaching your children, I am falling back on the &#8220;Do as I say, not as I do&#8221; concept. I would obviously not recommend / use this approach to development for a client-site where the occasional breaking of things in order to fix them or display of debug comments in a production environment would be an aggregious error. But for my own process / projects, I have come to the conclusion that I will never try to build a perfect website again.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/theprocess/build-a-perfect-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting social with Virtual Eyesee &#8211; Part 2</title>
		<link>http://idealienstudios.com/blog/social-media/getting-social-part-2/</link>
		<comments>http://idealienstudios.com/blog/social-media/getting-social-part-2/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 11:50:18 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[job hunting]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[organizations]]></category>
		<category><![CDATA[Virtual EyeSee]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=515</guid>
		<description><![CDATA[In the second part of an interview with Natasha, we discuss examples of companies using social media effectively and how individuals can do the same to boost their own career.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-509" title="Getting Social With Virtual Eyesee" src="http://idealienstudios.com/wp-content/uploads/blog_virtualeyesee_lead-300x133.jpg" alt="Getting Social With Virtual Eyesee" width="300" height="133" />This is part 2 of a 3-part interview with Natasha D&#8217;Souza, founder of Virtual EyeSee one of the up-and-coming social media strategy companies in Ottawa. If you haven&#8217;t already, check out part 1 &#8211; <a title="Social Media &amp; The Economy" href="http://idealienstudios.com/blog/social-media/getting-social-part-1/">Social media and the economy</a>.</p>
<p><strong>Jamie:</strong><br />
<em>What are some examples where companies have used social media effectively to promote a particular product or strengthen their relationship with customers?</em></p>
<p><strong>Natasha:</strong><br />
Facebook is an excellent example.  They recently changed their terms of service and a lot of their customers were very upset about it.  They listened and reverted to their old policy and are now taking the feedback into account.</p>
<p><strong>Jamie:</strong><br />
<em>One of the first ways that corporations typically get exposed to the benefits of social media is to Google or scan a Facebook profile as part of diligence of evaluating potential employees. Unfortunately, that focuses on the negative aspects of peoples&#8217; willingness to put &#8220;everything&#8221; online. How can someone looking to get hired by certain employers use social media to position themselves ahead of the pack?</em></p>
<p><strong>Natasha:</strong><br />
The employee first has to figure out their target market so to speak. Then find the appropriate social media places that these target markets participate in.  For example having a presence on <a href="http://www.linkedin.com/profile?viewProfile=&amp;key=13000583&amp;locale=en_US&amp;trk=tab_pro">LinkedIn</a> with the relevant experience highlighted on their profile. Not just the past job they had but every career experience they have had that is relevant to the job they are pursuing.  Participate in the conversations happening on LinkedIn regarding their industry.</p>
<p>Next would be to be up to date on industry Blogs and participate in the conversations happening there. If they have extra time they could also start their own Blog to establish themselves as a thought leader in the field. On Facebook for example, join various groups both professional, hobbies, charities etc. Again participate in these discussions or initiate some. Set up a You Tube Channel and broadcast a regular program on their industry, thoughts on the trends in that space, new developments etc..</p>
<p>The possibilities are endless.</p>
<p><strong>Jamie:</strong><br />
They truly are. From a design / developer stand-point there are a lot of other activities that one can do to get themselves noticed or help build their personal brand recognition:</p>
<ul>
<li>Contribute to an open source project &#8211; either directly to the core or with most platforms offering extensible widget, plugin or theme concepts by distributing your own item.</li>
<li>Building a stand alone tool / product that fulfills an area of need for yourself. Chances are there are others who would benefit from it and it helps you keep your skills sharp if you are unemployed.</li>
<li><a href="http://buildinternet.com/2009/06/the-value-of-practical-personal-projects/">Build Internet</a> recently highlighted the value of practical personal projects, &#8220;represent a way to try new things, but focused on something practical&#8230;Besides job hunting, you could also turn some of these into side profits if it fits the nature of the piece.&#8221;</li>
</ul>
<p>There will be one more post in this series on Friday which looks towards how government can / should / needs to get on the social media bandwagon.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/social-media/getting-social-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting social with Virtual Eyesee &#8211; Part 1</title>
		<link>http://idealienstudios.com/blog/social-media/getting-social-part-1/</link>
		<comments>http://idealienstudios.com/blog/social-media/getting-social-part-1/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 00:37:58 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[brand]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[Virtual EyeSee]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=500</guid>
		<description><![CDATA[A broad ranging interview on all things social media with Natasha D'Souza, the founder of Virtual EyeSee which is a Social Media consulting agency serving North America. First up, exactly what is social media?]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_503" class="wp-caption alignright" style="width: 160px"><a href="http://www.virtualeyesee.com"><img src="http://idealienstudios.com/wp-content/uploads/blog_virtualeyesee_natasha.jpg" alt="Natasha D&#039;Souza - Founder of Virtual EyeSee" title="Natasha D&#039;Souza - Founder of Virtual EyeSee" width="150" height="226" class="size-full wp-image-503" /></a><p class="wp-caption-text">Natasha D'Souza - Founder of Virtual EyeSee</p></div>Natasha D&#8217;Souza founded <a href="http://www.virtualeyesee.com/">Virtual EyeSee</a>, a Social Media consulting agency. I met her on my way to Wordcamp Toronto last year and she&#8217;s been doing some great things in the social media scene. Her most recent activity, <a href="http://www.virtualeyesee.com/blog/2009/05/social-media-mom-adventures/">Social Media Moms Nite Out</a> sounds like it was a rousing success.</p>
<p>A few months ago, we found time to do a broad ranging interview on all things social media. The results of which will be split over 3 posts this week. What is social media and how will the economic slump affect it?</p>
<p><strong>Jamie:</strong><br />
<em>The term social media has seemingly become all-encompassing for anything and everything to do with &#8220;web 2.0&#8243; which itself is an enigmatic title. What is social media and why should organizations of all sizes be interested in it?</em></p>
<p><strong>Natasha:</strong><br />
Social media refers to sites on the internet or mobile devices that let people connect and share text, photos and videos.  Other terms that are used that mean the same are social networks, web 2.0, social web and much more. The evolution of the internet into a more social form of interaction has lead to terms line on line identities, going viral, social bookmarks, tagging etc.</p>
<p>All this to say that it&#8217;s now easier than before to connect online with people globally based on childhood friends, family, colleagues, hobbies etc..In the past we had to rely on traditional media from TV, radio to print to disseminate this information. There was a significant delay from when an event occurred to when it was shared through these mediums.  Web 2.0 has made it possible to communicate instantly with an audience and share your thoughts and emotions.</p>
<p>Given that there are millions of people on line it makes sense for companies to capitalize on this audience and start a dialogue with them.  The challenge is to do it in a way that does not come across as spam. Virtual EyeSee helps it&#8217;s clients by working with them to align their corporate goals to a social media strategy and implement these solutions.  We also provide services that help with maintaining the companies visual brand in this online space.  We finally provide the necessary training needed in order to maintain these social media strategies.</p>
<p><strong>Jamie:</strong><br />
<em>With the declining economy, companies are going to be even more cost conscious about getting value for their dollar on advertising / marketing activities. How can you accurately measure the return on investment with social media?</em></p>
<p><strong>Natasha:</strong><br />
Firstly people need to understand that it&#8217;s very hard to measure social media in the traditional sense.  The use of social media is based on the goals of the organization and the social media tools that they use to accomplish these goals.  For example If an organization uses social media to build a community one aspect that can be measured is the click through community directly to ecommerce.  This is measurable.  Most organizations don&#8217;t understand these forms of measurement therefore don&#8217;t add this to their process they are too busy as it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/social-media/getting-social-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A wonderful Wired Wednesday</title>
		<link>http://idealienstudios.com/blog/social-media/wonderful-wired-wednesday/</link>
		<comments>http://idealienstudios.com/blog/social-media/wonderful-wired-wednesday/#comments</comments>
		<pubDate>Fri, 29 May 2009 03:06:19 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Ottawa]]></category>
		<category><![CDATA[OttawaGeekBBQ]]></category>
		<category><![CDATA[Wired Wednesday]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=465</guid>
		<description><![CDATA[A summary of the newest / most recent networking events for entrepreneurs and geeks in Ottawa. Plus re-capping what I've been up to lately since it obviously hasn't been blogging.]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 190px"><a href="http://www.meetup.com/Wired-Wednesday-Ottawa/"><img title="Wired Wednesday" src="http://photos4.meetupstatic.com/photos/event/5/4/9/9/global_8301657.jpeg" alt="Wired Wednesday" width="180" height="180" /></a><p class="wp-caption-text">Wired Wednesday</p></div>
<p>Last night I was fortunate that my schedule, which has been beyond busy of late, opened up enough for me to attend the inaugural <a href="http://www.meetup.com/Wired-Wednesday-Ottawa/">Wired Wednesday</a> event. Much like <a title="Third Tuesday Ottawa" href="http://www.meetup.com/third-tuesday-ottawa/">Third Tuesdays</a> being organized by <a title="Joseph Thornley" href="http://propr.ca/">Joseph Thornley</a>, it is the quality of the attendees and presenters that make the the event so enjoyable. My hat goes off to the organizers (<a title="Karla Briones" href="http://www.globalpetfoodskanata.ca/">Karla Briones</a>, <a title="Erin Bury" href="http://www.meetup.com/Wired-Wednesday-Ottawa/members/8445909/">Erin Bury</a> / <a title="Red Wire" href="http://www.redwirenation.com/">Red Wire</a>) for getting 3 great Ottawa startups (<a title="Choicebot" href="http://www.choicebot.com/">Choicebot</a>, <a href="http://www.gazaro.com/">Gazaro</a> and <a title="DNA11" href="http://www.dna11.com">DNA11</a>) and the always engaging Joseph to kick this monthly event off.</p>
<p>I didn&#8217;t realize how busy that schedule was until I looked at my Wordpress post calendar and saw that it has been almost 4 months since I made an update to this blog. While that would generally border on being unacceptable I&#8217;m willing to cut myself some slack because I have made a lot of great things happen over the last few months:</p>
<p><span id="more-465"></span></p>
<ol>
<li>I was an active member in a large team that re-platformed and re-designed <a href="http://www.canadapost.ca">www.canadapost.ca</a>. Not only am I jazzed to be able to say that I had a helping hand in re-launching one of the top 100 Canadian web properties, but the scope and complexity of the site continues to present new challenges to expand my skills. With the new platform in place more projects are in flight which you can look forward to making your postal life easier.</li>
<li>I designed and developed a new site for the non-for-profit <a title="Centre For Treatment" href="http://centrefortreatment.com/">Centre for Treatment of sexual abuse and childhood trauma</a>. The staff wanted an easy way to update the content on their site by members that had a wide variety of technical skills &#8211; yet again Wordpress proved to be capable of supporting these needs as well as integrating eCommerce and paypal donation options. The initial launch suffered a few hiccups due to hosting environment challenges, but all is good now.</li>
<li>Geeks, Beer and BBQ &#8211; What else do I really need to say? A few twitter conversations lead to me deciding to organize the 1st annual Ottawa Geek BBQ (<a title="Ottawa Geek BBQ" href="http://search.twitter.com/search?q=%23ottawageekbbq">#ottawageekbbq</a>) for freelancers, social mediasts, developers, entrepreneurs and their families. Big thanks go out to <a href="http://twitter.com/chrisjschmitt">@chrisjschmitt</a> for hosting, <a title="Reconfigures" href="http://reconfigure.ca/">@reconfigures</a> for taking <a title="Flickr Photo Gallery" href="http://www.flickr.com/photos/reconfigure/sets/72157618873141898/">great photos</a> of the event and most importantly <a title="The Code Factory" href="http://thecodefactory.ca">The Code Factory</a>, <a href="http://lwlaw.com/">Labarge Weinsten</a> and <a title="Experthost" href="http://www.experthost.com/">ExpertHost</a> for donating / subsidizing the food, drinks and key infrastructure (porta-potty). This event managed to raise just over $400 for the <a title="Startup Ottawa" href="http://www.startupottawa.com">Startup Ottawa</a> future events fund. I look forward to someone self-organize the first annual fall Ottawa Geek BBQ.
<p><div class="wp-caption alignright" style="width: 210px"><a href="http://www.flickr.com/photos/reconfigure/3570287511/in/set-72157618873141898/"><img title="Jamie acting like a lion after a fresh kill. A true carnivore!" src="http://farm4.static.flickr.com/3408/3570287511_e7c563c598.jpg?v=1243450029" alt="" width="200" height="300" /></a><p class="wp-caption-text">Jamie acting like a lion after a fresh kill. A true carnivore!</p></div></li>
</ol>
<p>Looking forward I have a couple of great things lined up for new ambitions that I will announce in short order. I think part of the reason that I have been blogging less is that I&#8217;ve gotten more active in my use of Twitter. If you want to stay up-to-date with the latest and greatest in my world, you can follow me at <a title="Twitter - Idealien" href="http://www.twitter.com/idealien">www.twitter.com/idealien</a>.</p>
<p>One item I will let out of the bag is that next week will feature 3 great blog posts with a social media slant that have been sitting in draft for far too long. I was holding them off in hopes of posting them as first fresh content in parallel with a re-design of the Idealien Studios site. However, that &#8216;too-busy-for-my-own-good&#8217; schedule relegated personal projects to the bottom of the to do list. So starting Monday I will share the series which is based on a series of interviews I did with the knowledgeable and beautiful Natasha from <a title="Virtual Eye See" href="http://www.virtualeyesee.com/">Virtual Eye See</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/social-media/wonderful-wired-wednesday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Share your plugins on Wordpress.org</title>
		<link>http://idealienstudios.com/blog/tutorials/share-your-plugin-on-wordpress/</link>
		<comments>http://idealienstudios.com/blog/tutorials/share-your-plugin-on-wordpress/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 17:02:28 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://idealienstudios.com/?p=233</guid>
		<description><![CDATA[Wordpress 2.7 offers direct download of plugins from the Plugin Repository. This tutorial shows you how to maintain a plugin code on the Wordpress repository using Dreamweaver.]]></description>
			<content:encoded><![CDATA[<p>Are you comfortable building plugins for Wordpress? Have you made some for personal (or paying) projects that would be useful to others? Did you know that Wordpress 2.7 offers direct download of plugins from the Plugin Repository? Think of how much traffic that could build compared to all those blog comments you&#8217;ve written. I&#8217;m starting to hear your thoughts of &#8220;I need to get me some of that plugin repository action!&#8221;.  You&#8217;ve come to the right place to learn.</p>
<p>A repository is just a fancy way for saying a place to store your data much like an FTP server. What makes using one so important is that you create versions of files so that you can always roll back if you make mistakes. The Wordpress.org site contains some very good information on <a title="How To Use Subversion" href="http://wordpress.org/extend/plugins/about/svn/">How To Use Subversion</a> to create / contribute to a plugin&#8230;if you are a fan of command line tools. Some people probably prefer that approach &#8211; just like using vi as a text editor. However, I find graphical based user interfaces easier and more efficient to use.</p>
<p>This tutorial is for those who &#8211; like me &#8211; use Dreamweaver for web development and want to maintain their plugin code on the Wordpress repository through it. For those who use <a title="Eclipse" href="http://www.eclipse.org/">Eclipse</a>, you can follow a similar process using <a title="SubClipse" href="http://subclipse.tigris.org/">SubClipse</a>. The two key pieces of the puzzle are:</p>
<ul>
<li><a title="TortoiseSVN" href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> &#8211; An SVN client for Windows that makes version management simple.</li>
<li><a title="Subweaver" href="http://code.google.com/p/subweaver/">SubWeaver</a> &#8211; A Dreamweaver extension to integrate SVN commands through Tortoise.</li>
</ul>
<p><strong></strong></p>
<h3><span id="more-233"></span>Setup your Wordpress.org account and plugin repository</h3>
<p>The first thing you will want to do is go to Wordpress.org &gt; Extend &gt; Plugins and <a title="Register on Wordpress.org" href="http://wordpress.org/extend/plugins/register.php">register for an account</a>. The contact information (name, email, website, etc) you provide will show up with any plugins that you create or contribute to.</p>
<p>Since you&#8217;re on the site and ready to start your first plugin, go to the <a title="Add A Plugin" href="http://wordpress.org/extend/plugins/add/">Add a Plugin form</a> and provide the appropriate details (name, description, url). Note that it may take 24 &#8211; 48 hours for your plugin request to be approved, but this will create a new repository for your plugin.</p>
<h3>Install Tortoise and SubWeaver</h3>
<p>Download and install Tortoise SVN from <a href="http://tortoisesvn.tigris.org">http://tortoisesvn.tigris.org</a>. You will have to restart your computer for the changes to take effect.  After that has completed, you will want to download and install Subweaver from <a title="SubWeaver" href="http://code.google.com/p/subweaver/">http://code.google.com/p/subweaver/</a></p>
<p>When you are looking at the file explorer in Dreamweaver, you will now see a new SubWeaver sub-menu that I will explain the primary uses of it as we go along.</p>
<h3>Create a local repository</h3>
<p><a href="http://idealienstudios.com/wp-content/uploads/blog_svnpluginintro_checkout.jpg"><img class="alignright size-thumbnail wp-image-234" title="Checking Out ICE" src="http://idealienstudios.com/wp-content/uploads/blog_svnpluginintro_checkout-150x150.jpg" alt="Checking Out ICE" width="150" height="150" /></a>You will need a folder on your hard drive to store the plugin files / folders. Find the folder in Windows Explorer and right-click on it to select SVN Checkout. You will have to add the repository information which was specified when you completed the Add a Plugin form. The repository path should start with http://svn.wp-plugins.org/ as the image at right shows for <a title="ICE" href="http://www.idealienstudios.com/code/ice/">Idealien Category Enhancements</a>.</p>
<p>You could do this through Dreamweaver directly, however I prefer to do the initial checkout by Tortoise so that when I create the site in Dreamweaver it already contains the standard SVN structure.</p>
<h3>Understanding the structure of a repository</h3>
<p><img class="size-full wp-image-246 alignright" title="Repository directory structure" src="http://idealienstudios.com/wp-content/uploads/blog_svnpluginintro_structure.jpg" alt="Repository directory structure" width="240" height="200" />There are 3 different locations where you can place code which are loosely based on the analogy of a tree:</p>
<ul>
<li><strong>Trunk </strong>represents the area where your active development goes. When starting your plugin, it will be where you add your first files. It is the <em>latest and greatest</em> so might not be ready for public consumption.</li>
<li><strong>Tags</strong> are for specific versions of your plugin. Any time you commit significant changes to your trunk (i.e. a new version) you should create a new tag and update the <a title="Plugin Readme.txt" href="http://wordpress.org/extend/plugins/about/">readme.txt file</a> to indicate what the newest release is. I have gotten into the habit of developing on a separate WP installation (easier for testing, debug, etc) and as a result the code in the trunk usually mirrors the most up to date tag available.</li>
<li><strong>Branches</strong> are for working on enhancements or code you would like others to beta test or build in isolation of other functionality. When you&#8217;re satisfied with a particular branch, you will have to merge the changes into the trunk. Smaller scope plugins usually won&#8217;t use branches.</li>
</ul>
<p>Or as the wordpress.org site puts it:</p>
<blockquote><p>Each time you make a formal release of your plugin, you should tag a copy of that release&#8217;s code. This lets your users easily grab the latest (or an older) version, it lets you keep track of changes more easily, and lets the WordPress.org Plugin Directory know what version of your plugin it should tell people to download.</p></blockquote>
<h3>Add, Modify, Delete or just Commit!</h3>
<p><a href="http://idealienstudios.com/wp-content/uploads/blog_svnpluginintro_commit2.jpg"><img class="size-medium wp-image-245 alignright" title="Committing updates" src="http://idealienstudios.com/wp-content/uploads/blog_svnpluginintro_commit2-300x136.jpg" alt="Committing updates" width="300" height="136" /></a>You now have a link between the repository and your local computer. Work with the files on your local PC until you are satisfied and ready to commit them to the repository.</p>
<ul>
<li>Highlight all of the files that you have modified.</li>
<li>Right click and chose to <strong>SubWeaver &gt; Commit</strong></li>
<li>Dreamweaver will show you the SVN log in which it compares every file on your PC against the repositor and the action (add, modify, delete) it did to the version in the repository as well.</li>
<li>If you want to ensure you don&#8217;t miss anything, select the top-level folder for your plugin and then commit. Note that if you do this and you have added / deleted any files, you will have to specifically check their checkbox under the changes made window.</li>
</ul>
<p>The update process on the repository server will take a few minutes to show up in the <a title="Plugin Directory" href="http://wordpress.org/extend/plugins/about/">Plugin Directory</a>.</p>
<h3>Updates and Merges</h3>
<p>The work scenario I described above is written on the assumption that you are the only one editing files for your plugin. If you are collaborating on another plugin, before you start to work on changes you will want to execute an SVN update to ensure you have pulled the latest files from the server to your local PC.</p>
<p>It is possible (read: likely) that at some point in time you will encounter a scenario where someone else has updated the files which you are working on in between when you updated your files and when you went to commit. You now must merge your changes with theirs which is the bane of many developers. While Tortoise / SubWeaver do have tools built in to compare files, I have found that <a title="WinMerge" href="http://winmerge.org/">WinMerge</a> is a better tool built specifically for this task. You can install it and configure it with Tortoise under the Settings &gt; External Programs menu.</p>
]]></content:encoded>
			<wfw:commentRss>http://idealienstudios.com/blog/tutorials/share-your-plugin-on-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
