<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Xavisys</title>
	
	<link>http://xavisys.com</link>
	<description>WordPress Plugins and Custom WordPress Development</description>
	<lastBuildDate>Wed, 16 Nov 2011 20:45:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Xavisys" /><feedburner:info uri="xavisys" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://xavisys.com/?pushpress=hub" /><feedburner:emailServiceId>Xavisys</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Stop Internet Censorship Legislation in the US</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/YaoQI2wocF0/</link>
		<comments>http://xavisys.com/stop-internet-censorship-legislation-in-the-us/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 20:41:22 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=997</guid>
		<description><![CDATA[I hate politics. I value honesty, morality, and personal responsibility, all of which seem to be overwhelmingly lacking in nearly every area of politics and law making. Having said all that, I still try to follow what&#8217;s going on. Why? Well, because I need to know what&#8217;s going on if I plan to vote, and [...]]]></description>
				<content:encoded><![CDATA[<p>I hate politics.  I value honesty, morality, and personal responsibility, all of which seem to be overwhelmingly lacking in nearly every area of politics and law making.</p>
<p>Having said all that, I still try to follow what&#8217;s going on.  Why?  Well, because I need to know what&#8217;s going on if I plan to vote, and how can I expect things to get better (or not get worse) if I won&#8217;t do anything about it.  The <a href="http://www.opencongress.org/bill/112-s968/show">Protect IP Act</a> is a perfect example.  It needs to be stopped because it threatens our free speech and the internet as a whole.  The video below sums it up pretty well.</p>
<p><iframe src="http://player.vimeo.com/video/31100268" width="600" height="338" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Go to <a href="http://fightforthefuture.org/pipa/">Fight for the Future</a> and <a href="http://americancensorship.org/">American Censorship</a> to send a message to congress.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/' title='Speaking at WordCamp San Francisco 2011'>Speaking at WordCamp San Francisco 2011</a></li>
<li><a href='http://xavisys.com/press-release-xavisys-acquires-attackr-web-development-news-blogs/' title='Press Release: Xavisys Acquires Attackr.com – Web Development News Blogs'>Press Release: Xavisys Acquires Attackr.com – Web Development News Blogs</a></li>
<li><a href='http://xavisys.com/becoming-a-freelance-web-developerdesigner/' title='Becoming a Freelance Web Developer/Designer'>Becoming a Freelance Web Developer/Designer</a></li>
<li><a href='http://xavisys.com/new-web-development-resource-launched/' title='New Web Development Resource Launched'>New Web Development Resource Launched</a></li>
<li><a href='http://xavisys.com/why-contribute-to-the-open-source-community/' title='Why Contribute to the Open Source Community'>Why Contribute to the Open Source Community</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/YaoQI2wocF0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/stop-internet-censorship-legislation-in-the-us/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://xavisys.com/stop-internet-censorship-legislation-in-the-us/</feedburner:origLink></item>
		<item>
		<title>Speaking at WordCamp San Francisco 2011</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/cdIgq3dUlTc/</link>
		<comments>http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 21:17:00 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordCamp SF 2011]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=982</guid>
		<description><![CDATA[So it seems I&#8217;m speaking at WordCamp SF this year, which is awesome! I&#8217;ve attended for the last few years, and it has been instrumental in getting me involved more with the WordPress community and specifically with the development of WordPress. Andy Stratton and I will be presenting Getting Involved: Contribution &#038; Courtesy A conversation [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://2011.sf.wordcamp.org"><img title="I'm speaking at WordCamp San Francisco 2011!" src="http://2011.sf.wordcamp.org/files/2011/07/wcsf11-badge-speaker.png" alt="I'm speaking at WordCamp San Francisco 2011!" width="150" height="150" class="alignleft" /></a>So it seems <a href="http://2011.sf.wordcamp.org/speakers/#aaron-d-campbell">I&#8217;m speaking at WordCamp SF</a> this year, which is awesome!  I&#8217;ve attended for the last few years, and it has been instrumental in getting me involved more with the WordPress community and specifically with the development of WordPress.</p>
<p><a href="http://theandystratton.com/">Andy Stratton</a> and I will be presenting <strong>Getting Involved: Contribution &#038; Courtesy</strong> <em>A conversation about methods of contributing to WordPress and the community, why you should do it, and how it benefits everyone &#8211; including you.</em> Do you think you don&#8217;t have time to contribute to WordPress?  Are you unsure what makes contributing worth it?  Do you not know how to contribute or how to interact with the community as a whole?  Then don&#8217;t miss this!<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/wordcamp-san-francisco-2009/' title='WordCamp San Francisco 2009'>WordCamp San Francisco 2009</a></li>
<li><a href='http://xavisys.com/becoming-a-freelance-web-developerdesigner/' title='Becoming a Freelance Web Developer/Designer'>Becoming a Freelance Web Developer/Designer</a></li>
<li><a href='http://xavisys.com/stop-internet-censorship-legislation-in-the-us/' title='Stop Internet Censorship Legislation in the US'>Stop Internet Censorship Legislation in the US</a></li>
<li><a href='http://xavisys.com/wordcamp-phoenix-2011-a-developers-take/' title='WordCamp Phoenix 2011 &#8211; A Developers Take'>WordCamp Phoenix 2011 &#8211; A Developers Take</a></li>
<li><a href='http://xavisys.com/wordpress-q-a/' title='WordPress Q &amp; A'>WordPress Q &#038; A</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/cdIgq3dUlTc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/</feedburner:origLink></item>
		<item>
		<title>WordPress Dream Theme</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/fPiGTRVvm7w/</link>
		<comments>http://xavisys.com/wordpress-dream-theme/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 01:48:16 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=961</guid>
		<description><![CDATA[James Pearson has always been an inspiration to me. Recently we had a chance to talk about chasing dreams and how the pursuit of dreams has had such a drastic impact on history. As we discussed dreams I spoke of big picture dreams. The life changing stuff. It was inspiring, but that&#8217;s for another post. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://jamesapearson.com/">James Pearson</a> has always been an inspiration to me.  Recently we had a chance to talk about chasing dreams and how the pursuit of dreams has had such a drastic impact on history.  As we discussed dreams I spoke of big picture dreams.  The life changing stuff.  It was inspiring, but that&#8217;s for another post.  This post is actually about my smaller dreams that I realized later.</p>
<p>I want a WordPress theme that is built and maintained like WordPress.  I want it to be licensed under the GPL, completely free, maintained by a group of lead developers, worked on by a larger group of contributors, lightweight, fast, flexible, and extremely extensible.  I&#8217;m not talking about a new default theme.  Twentyten and Twentyeleven are awesome for new users to be able to start a great looking site quickly and easily.  Instead I want something that is more like WordPress in that it&#8217;s basic and powerful, but mostly extensible.  I call it Essence.</p>
<p>My dream in a nutshell:</p>
<ul>
<li>The development would be guided by a small group of trusted developers</li>
<li>Anyone would be welcome to contribute code based on a meritocracy much like WordPress.org (and probably closely tied to it)</li>
<li>It would use the same 80/20 and &#8220;decisions over options&#8221; approach to development</li>
<li>More advanced functionality would come from plugins that the theme is designed to work with.  For example, I&#8217;d love to see the theme fully support Joost&#8217;s <a href="http://yoast.com/wordpress/seo/">WordPress SEO</a> plugin, giving it the hooks it needs to be as effective as possible.</li>
<li>I&#8217;d like to see it support BuddyPress, forums (like BBPress), even E-Commerce (like Shopp)</li>
<li>People that work in a niche (like publishing) would be able to make plugins that make developing a theme for their niche easier.</li>
<li>It needs to be well coded, secure, and fast</li>
<li>The most important thing is that someone should be able to easily create a child theme that inherits all this amazing functionality.  It should not only make it easier to make a theme, it should make it easier to make a powerful theme that supports nearly everything WordPress supports.</li>
</ul>
<p>There are some great theme frameworks out there (like <a href="http://www.studiopress.com/themes/genesis">Genesis</a>), but as far as I know none of them are community ran and completely free like I envision.</p>
<p>I&#8217;ve started on the theme and <a href="http://themes.trac.wordpress.org/ticket/4677">submitted it to the themes repository</a>.  I call it Essence because I want it to be &#8220;the most significant element, quality, or aspect of&#8221; other themes.  However, I need help.  It can&#8217;t be community developed without the community.  If you&#8217;re interested in helping out, <a href="http://xavisys.com/contact-us/">contact me</a>.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li>No Related Posts</li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/fPiGTRVvm7w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/wordpress-dream-theme/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://xavisys.com/wordpress-dream-theme/</feedburner:origLink></item>
		<item>
		<title>WordPress 3.2 is available</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/g-yzFMnx7-w/</link>
		<comments>http://xavisys.com/wordpress-3-2-is-available/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 19:46:19 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WordPress News]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=967</guid>
		<description><![CDATA[WordPress 3.2 has officially been released. You can either update right from your dashboard or download it from WordPress.org. The main focus of this release was to speed everything up. Lighter and faster was the goal and we definitely accomplished it. The dashboard loads faster than ever before, as does every other admin page. The [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://wordpress.org/news/2011/07/gershwin/">WordPress 3.2 has officially been released</a>.  You can either update right from your dashboard or <a href="http://wordpress.org/download/">download it from WordPress.org</a>.  The main focus of this release was to speed everything up.  Lighter and faster was the goal and we definitely accomplished it.  The dashboard loads faster than ever before, as does every other admin page.</p>
<p>The speed difference is amazing and you can expect it to get faster still in the versions to come.  The main reasons are that we have stopped supporting ancient (in internet time) software.  The WordPress admin no longer supports Internet Explorer 6 (a 10 year old browser that <a href="http://ie6countdown.com/">even Microsoft wants to see disappear</a>) and bumped the required PHP version to 5.2.4 and the required MySQL version to 5.0.  Well over 90% of all WordPress installs will be completely unaffected by these changes in the system requirements, but for those of you on older versions a quick E-Mail to your hosting provider will probably get you what you need.</p>
<p>Additionally in 3.2 Distraction Free Writing was introduced.  You can now go full-screen when writing a post and see nothing but the text you are typing.  All the extra things that normally distract you simply fade away, letting you really focus on your writing.  I honestly wasn&#8217;t very sure about this feature during the planning phases of 3.2, but having used it and tested it throughout the process, I can say that I was converted.  I definitely recommend everyone try it out and see how much time you save while writing your posts!</p>
<p>There are a ton of other small enhancements in 3.2, but the last ones I want to mention are a couple new links in the footer of WordPress admin.  One says &#8220;Freedoms&#8221; and one says &#8220;Credits&#8221;.  WordPress is licensed under the <acronym title="GNU General Public License">GPL</acronym> and the Freedoms link takes you to a page that explains in relatively simple terms how you benefit from this particular license.  The Credits link will show you who you can thank for WordPress 3.2.  Well over 100 people contributed to making WordPress 3.2, and here you can see who those people are as well as see a list of third party libraries that WordPress uses.  If you get a chance, thank these people for helping to create a great product that you can use for free!<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li>No Related Posts</li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/g-yzFMnx7-w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/wordpress-3-2-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://xavisys.com/wordpress-3-2-is-available/</feedburner:origLink></item>
		<item>
		<title>Search Engine Optimization (SEO) in Simple Terms</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/2I81j9tpiEc/</link>
		<comments>http://xavisys.com/search-engine-optimization-seo-in-simple-terms/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 00:03:46 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[web developer resource]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=913</guid>
		<description><![CDATA[First let me say that search engine optimization is a very complex subject. There are people who really know what they are doing and plenty of people that don&#8217;t. This writeup will not get you to the point where you really understand it all, and I highly recommend that you budget for a professional, but [...]]]></description>
				<content:encoded><![CDATA[<p>First let me say that search engine optimization is a very complex subject.  There are <a href="http://yoast.com/">people who really know what they are doing</a> and plenty of <a rel="nofollow" href="http://www.forumlinkbuilding.com/view/link_building_services">people that don&#8217;t</a>.  This writeup will not get you to the point where you really understand it all, and I highly recommend that you budget for a professional, but this will be a good start for people that are just starting and need to know what they can do.</p>
<p>Search Engine Optimization, in simple terms, breaks down into two sections; onsite and offsite.  Onsite is well within your control and is the first thing you should focus on.  Offsite is harder to control and is something you will focus more on later.</p>
<h3>Onsite</h3>
<p>First, make a list of key phrases that you want to rank well for in search engines.  Usually these should be two to five words long.  It is not realistic for you to think that your site will rank for a term like &#8220;jewelery&#8221; (you&#8217;d be competing against Jared, Tiffany, Kay, etc), but you may rank very well for something like &#8220;vintage typewriter jewelry&#8221;.  Make sure to be reasonable about what you can and cannot compete for.</p>
<p>I recommend using a something like <a href="https://adwords.google.com/select/KeywordToolExternal">Google&#8217;s Adwords Keyword Tool</a> to research your terms.  Obviously more traffic is good, but remember to check who you are competing against and always ask yourself &#8220;will my perfect client really search for this term?&#8221;.  Also try to keep an open mind.  Take a look at other terms that Google things are related to the one you put in.  Remember that you are likely far more knowledgeable about your products/services than your clients, which means they will likely be using different terminology when searching.</p>
<p>You need to also try to understand what I call key phrase clusters.  For example, when I checked out &#8220;Vintage Typewriter Jewelry&#8221; I found that it is searched for 140 times per month.  That&#8217;s not a lot.  However, I also saw that &#8220;Typewriter Key Jewelry&#8221; is searched 880 times per month (seven times as often).  I also saw that &#8220;Vintage Typewriter Key Jewelry&#8221; is searched 91 times per month and immediately I saw a key phrase cluster.  Basically, there are three phrases that are all basically the same, and if we are careful we can target them all at once.  How?  Well, we use the all inclusive &#8220;Vintage Typewriter Key Jewelry&#8221; phrase.  Take a look:</p>
<ul>
<li>&#8220;<strong>Vintage Typewriter Key Jewelry</strong>&#8221; = &#8220;Vintage Typewriter Key Jewelry&#8221; which is searched 91 times per month</li>
<li>&#8220;Vintage <strong>Typewriter Key Jewelry</strong>&#8221; = &#8220;Typewriter Key Jewelry&#8221; which is searched 880 times per month</li>
<li>&#8220;<strong>Vintage Typewriter</strong> Key <strong>Jewelry</strong>&#8221; = &#8220;Vintage Typewriter Jewelry&#8221; which is searched 140 times per month</li>
</ul>
<p>By using the one phrase regularly on a site you can actually target all three.  Search engines can easily understand that someone searching for &#8220;Vintage Typewriter Jewelry&#8221; may be interested in &#8220;Vintage Typewriter Key Jewelry&#8221;.</p>
<p>This takes time.  Quite a bit of time.  <strong>It takes time to build a list of key phrases (or key phrase clusters)</strong>.  There&#8217;s really no way around that.  The thing is&#8230;<strong>it will pay off</strong>.</p>
<p>So, once you have your list, when/where do you use these?  The answer in short is&#8230;everywhere.  You don&#8217;t want to &#8220;keyword stuff&#8221; which basically means to put them where they don&#8217;t make sense, but you do want to use them regularly.  When you write articles, when you write product descriptions, even when you write something on other sites and link back to yours.  These are supposedly phrases that describe something you are an authority on, so be authoritative!</p>
<h3>Offsite</h3>
<p>Offsite is something you have less control over.  The basics are that you want other sites to link to you.  These are called &#8220;inbound links&#8221; and are a metric that search engines use directly to rate your authority on any given phrase.  Often getting a link can be as easy as asking.  Sometimes a site would link to you if they just knew about you.  Asking is simple and effective, but remember that buying inbound links will get you penalized in search engines (I cannot be more clear than this: Do not buy links to your site).</p>
<p>The simplest way I can explain it is this: An inbound link is worth more to you if the site it&#8217;s coming from has content related to yours.  It&#8217;s worth even more if the page it&#8217;s on contains one or more of your target key phrases, and more still if the link itself contains one of your key phrases.  For example, this is ok: &#8220;I saw some great vintage typewriter key jewelry today, <a href="#">click here</a> to see it.&#8221; This is WAY better: &#8220;I saw some great <a title="eXtraordinary gifts making a world of difference" href="http://aesthetyx.com/">vintage typewriter key jewelry</a> today!&#8221;</p>
<p>You can help to curate incoming links by doing a few things:</p>
<ul>
<li>First and foremost you get incoming links by creating good content.  If someone sees a good article on your site, they will link to it.  I cannot stress enough that this is the absolute best thing you can do.  If you take nothing else from this entire article, please just remember that quality content is the key.</li>
<li>Approach sites whose users would be interested in your content and ask for a link.  Make sure to be specific when you ask.  It&#8217;s ok to say that you&#8217;d like the link text to be _____.  The worst they can do is say no.</li>
<li>Become active on other sites and link back to your own site.  I don&#8217;t mean spam, I mean really be active.</li>
<li>Other sites are looking for content too, so consider doing a guest post for another site that links to yours.</li>
</ul>
<p>This is by no means a definitive or exhaustive guide, but hopefully it&#8217;s enough to not only get you started, but carry you through for a while.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/acquia-puts-drupal-in-the-news/' title='Acquia Puts Drupal in the News'>Acquia Puts Drupal in the News</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/2I81j9tpiEc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/search-engine-optimization-seo-in-simple-terms/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		<feedburner:origLink>http://xavisys.com/search-engine-optimization-seo-in-simple-terms/</feedburner:origLink></item>
		<item>
		<title>WordCamp Phoenix 2011 – A Developers Take</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/MZbsor9Wt6o/</link>
		<comments>http://xavisys.com/wordcamp-phoenix-2011-a-developers-take/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 03:57:58 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordCamp Phoenix]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=892</guid>
		<description><![CDATA[WordCamp Phoenix was amazing. The event was huge and well organized, thanks to Amanda Blum and Chuck Reynolds. I didn&#8217;t experience the event like most people, but here&#8217;s my take on it. Design/Developer Speed Meet Thursday there was a brand new event. Basically, it applied the speed dating concept to connecting clients with designers/developers. It [...]]]></description>
				<content:encoded><![CDATA[<p>WordCamp Phoenix was amazing.  The event was huge and well organized, thanks to <a href="http://www.howlingzoe.com/">Amanda Blum</a> and <a href="http://rynoweb.com/">Chuck Reynolds</a>.  I didn&#8217;t experience the event like most people, but here&#8217;s my take on it.</p>
<h3>Design/Developer Speed Meet</h3>
<p>Thursday there was a brand new event.  Basically, it applied the speed dating concept to connecting clients with designers/developers.  It was held at <a href="http://incohoots.com/">Co+Hoots</a> and went pretty well.  Designers and developers were separated based on whether they usually worked on projects over or under $3000, and the hirers were divided up likewise.  Chairs were positioned in lines facing one another, with developers/designers on one side and potential clients on the other.  Every five minutes the designers/developers moved one seat left.  All in all I thought it went quite well.  There <strong>were</strong> several problems, but only one could really be fixed.  The issues I had:</p>
<ol>
<li>Five minutes is really short
<ul>
<li>This was actually someone I heard a lot of people saying, but this is the whole point of the event.  My recommendation is just to show up early and stay late.  Use the time before and after to augment your five minute segments.</li>
</ul>
</li>
<li>People talk big
<ul>
<li>There were people that weren&#8217;t truthful about their budgets.  I&#8217;m assuming (although I wasn&#8217;t hiring so I don&#8217;t know for sure) there were developers that misrepresented their usual project size as well.  There&#8217;s not a lot you can do about this (at least no that I can think of).  People lie.  Still, it didn&#8217;t seem like an excessive percentage of the people.  Most seemed pretty legitimate.</li>
</ul>
</li>
<li>Loud music isn&#8217;t helpful
<ul>
<li>I know that the music was supposed to help break the ice and keep things upbeat, but unfortunately it made it nearly impossible to communicate well.  There is already a lot of noise just from all the voices going at once, so adding the music made it extra difficult.  To be fair, I happened to be on the side of the room with the speakers (this wasn&#8217;t by choice, it&#8217;s where I was supposed to be), but less music would be better.</li>
</ul>
</li>
</ul>
<h3>Friday Free Classes</h3>
<p>There were several class options.  I dropped in on the class <a href="http://boonebgorges.com/">Boone Gorges</a> was teaching and it looked like things were going well, but I was only there for about two minutes.  However, I spent the first half of the day at the <em>Intro to WordPress for Beginners</em> class taught by <a href="http://shaynesanderson.com" target="_blank">Shayne Sanderson</a>.  I had several friends local to Phoenix, who would consider themselves beginners, that attended the class as well.  The classes were quite long (both the teachers that I talked to were concerned about that), but the most difficult thing seemed to be that the audience was so diverse.  For example, even though my friends all considered themselves to be beginners, they seemed to be more advanced than the majority of the people there.  When we went to lunch they were saying that they really hadn&#8217;t got anything out of the class up to that point and were worried that unless the pace drastically changed they wouldn&#8217;t.  The solution seemed simple.  We went back to the hotel lobby and I have a mini-class.  It seemed to work out quite well.</p>
<p>I do want to stress that there was nothing wrong with the class.  Shayne was doing a great job, and most of the people in the class seemed to be learning a ton.  Maybe next time we could list things you can expect to learn from the class, so people can make sure it&#8217;s something that would work well for them.</p>
<h3>Pub Crawl</h3>
<p>Friday night there was a pub crawl.  The idea was great, but the location was a bummer.  My wife and I had a blast hanging out with <a href="http://andrewnacin.com/">Andrew Nacin</a>, <a href="http://koopersmith.wordpress.com/">Daryl Koopersmith</a>, <a href="http://sivel.net/">Matt Martz</a>, <a href="http://aaron.jorb.in/">Aaron Jorbin</a>, and <a href="http://developersmind.com/">Pete Mall</a>.  The only bummer was that we ended up at a bar that was about 30 minutes away from the hotel, where everyone else was.  It ended up spitting the group in two, which was a bummer.</p>
<h3>The Main Event</h3>
<p>I was at the <a href="http://www.chandlercenter.org/">Chandler Center for the Arts</a> at 6am to help set up.  All the volunteers were absolutely amazing.  There was a lot to do in order to make this event happen, and everyone did it with smiles on their faces (once they woke up completely).  Chairs were moved, equipment set up, food prepared, coffee made, check-in organized, etc.</p>
<p>Once check-in started, I started my main job for the day, which  was running the genius bar.  The genius bar actually went REALLY well.  We had enough geniuses to go around, so even though we helped around 60-80 people, only 3 people ever had to wait for a genius!  The geniuses answered questions about everything from setting up your first WordPress site, to Shopp specific questions, to CSS, to traffic building.</p>
<p><div id="attachment_898" class="wp-caption alignright" style="width: 310px"><a href="http://xavisys.com/wp-content/uploads/2011/02/wcphx-after-party-photo-booth.jpg"><img src="http://xavisys.com/wp-content/uploads/2011/02/wcphx-after-party-photo-booth-300x225.jpg" alt="Photo Booth at WordCamp Phoenix After Party" title="Photo Booth at WordCamp Phoenix After Party" width="300" height="225" class="size-medium wp-image-898" /></a><p class="wp-caption-text">Photo Booth at WordCamp Phoenix After Party - Notice the handcuffs hanging over Chelsea&#039;s name badge?</p></div><br />
<div id="attachment_897" class="wp-caption alignright" style="width: 310px"><a href="http://xavisys.com/wp-content/uploads/2011/02/wcphx-after-party-jjj-handcuffed.jpg"><img src="http://xavisys.com/wp-content/uploads/2011/02/wcphx-after-party-jjj-handcuffed-300x225.jpg" alt="JJJ Handcuffed at WordCamp Phoenix After Party" title="JJJ Handcuffed at WordCamp Phoenix After Party" width="300" height="225" class="size-medium wp-image-897" /></a><p class="wp-caption-text">Next time JJJ will watch out for Sally...she handcuffed him to the tree, then made him do shots from the ice luge to get out!</p></div></p>
<h3>The After Party</h3>
<p>You really have to hand it to Amanda and Chuck.  Not only did they pull off a truly great after party, but it was held at the Chandler City Hall!  There was plenty of alcohol and food, thanks to <a href="http://fourpeaks.com/">Four Peaks Brewery</a> and <a href="http://www.famousdaves.com/">Famous Dave&#8217;s BBQ</a>&#8230;and of course plenty of partying.  They set up a red carpet style photo booth, with plenty of props.  At first it was just photos, then the photos got funny as people continued to drink, then the props began to circulate (there were some really interesting red glasses with LEDs on them), and finally the handcuffs started circulating.  I saw no less than 4 people handcuffed throughout the night.</p>
<p>At midnight we cleaned up and headed out.</p>
<h3>The After After Party</h3>
<p>With the official after party over, several of us headed over to <a href="http://www.santanbrewing.com/">San Tan Brewing Co</a> next door to the hotel.  Many of the WordPress developers (myself included) only get to meet up a few times a year at various conferences, so we sat outside in the cold and continued the party until we closed down San Tan at a little after 2am.</p>
<h3>Dev Day &#8211; How to Contribute to WordPress</h3>
<p>Sunday afternoon we held a developer day.  The purpose was to show designers and developers how they could begin contributing to WordPress.  People learned about <abbr title="Subversion">SVN</abbr>, <a href="http://core.trac.wordpress.org/">TRAC</a>, etc, and even how the WordPress community works.  Hopefully we&#8217;ll have some brand new contributors soon!</p>
<div id="attachment_904" class="wp-caption alignleft" style="width: 310px"><a href="http://xavisys.com/wp-content/uploads/2011/02/wcphx-speaker-dinner.jpg"><img src="http://xavisys.com/wp-content/uploads/2011/02/wcphx-speaker-dinner-300x225.jpg" alt="WordCamp Phoenix Speaker/Organizer Appreciation Dinner" title="WordCamp Phoenix Speaker/Organizer Appreciation Dinner" width="300" height="225" class="size-medium wp-image-904" /></a><p class="wp-caption-text">The WordCamp Phoenix speaker/organizer appreciation dinner was held at this really cool urban farm in Central Phoenix</p></div>
<h3>Speaker/Organizer Dinner</h3>
<p>The event ended on a high note.  There was a speaker/organizer appreciation dinner that was held at <a href="http://www.myfarmyard.com/">MyFarmYard</a>, an urban farm in Central Phoenix.  The vegetables came from the urban farm, the meats were locally sourced, and even the wine was from an Arizona Winery.  The chef does pop-up restaurants all over Phoenix, offering amazing themed one-time menus at each location.  We dined outside, and there was a fire that made the crisp night enjoyable.  It was great food and great company, and a great way to end WordCamp Phoenix.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/' title='Speaking at WordCamp San Francisco 2011'>Speaking at WordCamp San Francisco 2011</a></li>
<li><a href='http://xavisys.com/wordcamp-sf-2010/' title='WordCamp SF 2010'>WordCamp SF 2010</a></li>
<li><a href='http://xavisys.com/googles-matt-cutts-on-wordpress/' title='Google&#039;s Matt Cutts on WordPress'>Google&#039;s Matt Cutts on WordPress</a></li>
<li><a href='http://xavisys.com/state-word-wordcamp-part-2/' title='State of the Word from WordCamp &#8211; Part 2'>State of the Word from WordCamp &#8211; Part 2</a></li>
<li><a href='http://xavisys.com/state-of-the-word-from-wordcamp-part-1/' title='State of the Word from WordCamp &#8211; Part 1'>State of the Word from WordCamp &#8211; Part 1</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/MZbsor9Wt6o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/wordcamp-phoenix-2011-a-developers-take/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://xavisys.com/wordcamp-phoenix-2011-a-developers-take/</feedburner:origLink></item>
		<item>
		<title>WordPress Q &amp; A</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/EE3A2qqT6-o/</link>
		<comments>http://xavisys.com/wordpress-q-a/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 00:52:29 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[WordPress News]]></category>
		<category><![CDATA[WordPress Howto]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=887</guid>
		<description><![CDATA[I realize that I&#8217;ve done a horrible job of posting here over the last year. I made exactly two posts in 2010. However, just because I haven&#8217;t been posting here doesn&#8217;t mean I&#8217;ve disappeared. I&#8217;ve still been working on WordPress, WordPress powered sites, WordPress plugins, and even some side projects built on WordPress (Like Beer?). [...]]]></description>
				<content:encoded><![CDATA[<p>I realize that I&#8217;ve done a horrible job of posting here over the last year.  I made <a href="http://xavisys.com/2010/">exactly two posts in 2010</a>.  However, just because I haven&#8217;t been posting here doesn&#8217;t mean I&#8217;ve disappeared.  I&#8217;ve still been working on WordPress, WordPress powered sites, WordPress plugins, and even some side projects built on WordPress (<a href="http://shouldipourit.com/">Like Beer?</a>).  My biggest problem is deciding what to write about, so I&#8217;ve come up with a solution.  I&#8217;m going to answer your questions.  Not only will this help me come up with ideas of what I should write about, it will also make sure that my content is specifically useful to you.</p>
<p>So, if you want to know how to best use WordPress&#8217;s built in http class to integrate with an existing API, how to add your own taxonomies to your site, how to make your theme more extensible, or almost anything else WordPress related, please just ask!</p>
<p>
                <div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_3' ><form method='post' enctype='multipart/form-data'  id='gform_3'  action='/feed/'>
                        <div class='gform_heading'>
                            <h3 class='gform_title'>WordPress Question</h3>
                            <span class='gform_description'>Ask me your WordPress question!</span>
                        </div>
                        <div class='gform_body'>
                            <ul id='gform_fields_3' class='gform_fields top_label description_below'><li id='field_3_1' class='gfield               gfield_contains_required' ><label class='gfield_label' for='input_3_1_3'>Your Name<span class='gfield_required'>*</span></label><div class='ginput_complex ginput_container' id='input_3_1'><span id='input_3_1_3_container' class='ginput_left'><input type='text' name='input_1.3' id='input_3_1_3' value='' tabindex='1' /><label for='input_3_1_3'>First</label></span><span id='input_3_1_6_container' class='ginput_right'><input type='text' name='input_1.6' id='input_3_1_6' value='' tabindex='2' /><label for='input_3_1_6'>Last</label></span></div></li><li id='field_3_2' class='gfield               gfield_contains_required' ><label class='gfield_label' for='input_3_2'>E-Mail Address<span class='gfield_required'>*</span></label><div class='ginput_container'><input name='input_2' id='input_3_2' type='text' value='' class='medium'  tabindex='3'   /></div></li><li id='field_3_3' class='gfield               gfield_contains_required' ><label class='gfield_label' for='input_3_3'>Your WordPress Question<span class='gfield_required'>*</span></label><div class='ginput_container'><input name='input_3' id='input_3_3' type='text' value='' class='medium'  tabindex='4'   /></div></li><li id='field_3_4' class='gfield' ><label class='gfield_label' for='input_3_4'>More Information</label><div class='ginput_container'><textarea name='input_4' id='input_3_4' class='textarea medium' tabindex='5'   rows='10' cols='50'></textarea></div></li><li id='field_3_5' class='gfield    gform_validation_container' ><label class='gfield_label' for='input_3_5'>Phone</label><div class='ginput_container'><input name='input_5' id='input_3_5' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li>
                            </ul></div>
        <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_3' class='button gform_button' value='Ask' tabindex='6' />
            <input type='hidden' class='gform_hidden' name='is_submit_3' value='1' />
            <input type='hidden' class='gform_hidden' name='gform_submit' value='3' />
            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='519bae386012a' />
            <input type='hidden' class='gform_hidden' name='state_3' value='YToyOntpOjA7czo2OiJhOjA6e30iO2k6MTtzOjMyOiI4YWUwYTQ4MWRjY2UwNTA3Y2VkZGNjYTY3NWIyMTEyYiI7fQ==' />
            <input type='hidden' class='gform_hidden' name='gform_target_page_number_3' id='gform_target_page_number_3' value='0' />
            <input type='hidden' class='gform_hidden' name='gform_source_page_number_3' id='gform_source_page_number_3' value='1' />
            <input type='hidden' name='gform_field_values' value='' />
            
        </div>
                </form>
                </div><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [3, 1]) } ); </script><br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/wordpress-widget/' title='How To Make Your Own WordPress Widget'>How To Make Your Own WordPress Widget</a></li>
<li><a href='http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/' title='Speaking at WordCamp San Francisco 2011'>Speaking at WordCamp San Francisco 2011</a></li>
<li><a href='http://xavisys.com/google-summer-of-code-2010/' title='Google Summer of Code 2010'>Google Summer of Code 2010</a></li>
<li><a href='http://xavisys.com/wordpress-core-canonical-plugins/' title='WordPress Core vs Canonical Plugins'>WordPress Core vs Canonical Plugins</a></li>
<li><a href='http://xavisys.com/wordcamp-san-francisco-2009/' title='WordCamp San Francisco 2009'>WordCamp San Francisco 2009</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/EE3A2qqT6-o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/wordpress-q-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://xavisys.com/wordpress-q-a/</feedburner:origLink></item>
		<item>
		<title>WordCamp SF 2010</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/3qrLoG_Stfs/</link>
		<comments>http://xavisys.com/wordcamp-sf-2010/#comments</comments>
		<pubDate>Thu, 27 May 2010 18:51:38 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[WordPress News]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordCamp SF 2010]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=870</guid>
		<description><![CDATA[I know this post is quite delayed, but I wanted to get it out there anyway. Last year I went to WordCamp SF and attended several of the sessions. This year I went to WordCamp SF 2010, but things were a little different. I ended up spending most of my time at the Genius Bar [...]]]></description>
				<content:encoded><![CDATA[<p>I know this post is quite delayed, but I wanted to get it out there anyway.  Last year I went to <a href="http://xavisys.com/tag/wordcamp-sf-2009/">WordCamp SF</a> and attended several of the sessions.  This year I went to <a href="http://2010.sf.wordcamp.org/">WordCamp SF 2010</a>, but things were a little different.  I ended up spending most of my time at the Genius Bar helping the attendees with WordPress.  The Genius Bar was organized by <a href="http://foolswisdom.com/">Lloyd Budd</a>, and while I only volunteered for a single session there, I found it hard to pull myself away from helping the various interesting people that showed up.  The questions ranged from how to scale up because of a large influx of traffic, to &#8220;How do I get downstairs?&#8221; (hint: we <strong>were</strong> downstairs).</p>
<p>Following the WordCamp event, my wife and I went to one of the <a href="http://www.aiwf.org/norcal/chapter_news/article.html?news_id=1465">best food and wine events we&#8217;ve ever attended</a>.  It was at a place called One Market, and was put on by The American Institute of Wine &#038; Food.  We had lamb starting with the tongue and cheek, working our way back to the leg.  Each course was paired with one or two wines from the <a href="http://www.zacherlewines.com/">Zacherle</a> or <a href="http://www.fishervineyards.com/">Fisher</a> labels, and the wine makers were there to talk about each wine and answer our many questions (who knows what a &#8220;brick&#8221; is in wine making, and why some wines need fewer bricks than others?).  It was a beautiful, fancy, entertaining dinner.</p>
<p>When we finished that, we caught a cab over to the Automattic Lounge at Pier 38 to catch part of the WordCamp after party.  Talk about a shock to the system.  We left a place where lamb was being served to people in suits and fancy dresses who were seated at tables with linens and full silverware sets, and within minutes we were at a party with blaring music and full of geeks, many of who had consumed considerably more alcohol than recommended.  We spent a little time saying hi to everyone, having a few laughs at the expense of the imbibed (you know who you are), and I got my picture taken with several people (I&#8217;m not sure any of them knew who I was, they just seemed to like posing with someone and getting their picture taken).  We left relatively early, around midnight, and headed back to the hotel.  I knew from the year before that the developer day was going to be my personal favorite part of the event, and I didn&#8217;t want to be falling asleep at the laptop all day.</p>
<p>The following morning I arrived back at the Pier 38 lounge to find that I was the first to arrive for the developer day (I was a few minutes early).  <a href="http://ryan.boren.me/">Ryan Boren</a> was the next to show, but we ended up having to wait a little longer until someone with keys arrived.  I&#8217;m not sure people really got the &#8220;unconference&#8221; thing, as everyone kept wanting to know what was scheduled for when, and where things would be happening.  The basic idea is simply &#8220;find people that want to discuss what you want to discuss, form a group, and discuss it.&#8221;  Eventually a group of us formed at one of the tables and began working on WordPress 3.0.  I&#8217;m sure I can&#8217;t name everyone, but I know <a href="http://dd32.id.au/">Dion Hulse</a>, <a href="http://ryan.boren.me/">Ryan Boren</a>, <a href="http://www.andrewnacin.com/">Andrew Nacin</a>, <a href="http://sivel.net/">Matt Martz</a>, <a href="http://developersmind.com/">Pete Mall</a>, <a href="http://johnjamesjacoby.com/">John Jacoby</a>, and <a href="http://ptahdunbar.com/">Ptah Dunbar</a> were all there.  Dion and I spent several hours on an elusive bug with a <a href="http://core.trac.wordpress.org/changeset/14341">rather simple fix</a>, and it was really great to finally get to put faces with the names and handles that I see regularly on IRC, mailing lists, Trac, etc.</p>
<p>After the dev day coding, several of us walked down to Gordon Biersch, had dinner together and tried not to talk about WordPress too much (although Andrew Nacin&#8217;s like a machine&#8230;you just can&#8217;t stop the man!).  So, what do you think we would do after a long day of coding?  Well, we&#8217;re geeks, so we walked to one of the hotels were a few of the guys were staying, went up to their lounge, and started doing some more coding.  As a guy who works from home and tends to work only with remote programmers, it was really nice to spend some time with people that understood what I was saying!  I&#8217;m looking forward to seeing everyone again next year.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/' title='Speaking at WordCamp San Francisco 2011'>Speaking at WordCamp San Francisco 2011</a></li>
<li><a href='http://xavisys.com/wordcamp-phoenix-2011-a-developers-take/' title='WordCamp Phoenix 2011 &#8211; A Developers Take'>WordCamp Phoenix 2011 &#8211; A Developers Take</a></li>
<li><a href='http://xavisys.com/google-summer-of-code-2010/' title='Google Summer of Code 2010'>Google Summer of Code 2010</a></li>
<li><a href='http://xavisys.com/xavisys-wordpress-plugin-framework/' title='The Xavisys WordPress Plugin Framework'>The Xavisys WordPress Plugin Framework</a></li>
<li><a href='http://xavisys.com/wordpress-widget/' title='How To Make Your Own WordPress Widget'>How To Make Your Own WordPress Widget</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/3qrLoG_Stfs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/wordcamp-sf-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://xavisys.com/wordcamp-sf-2010/</feedburner:origLink></item>
		<item>
		<title>Google Summer of Code 2010</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/JxWu512CMY4/</link>
		<comments>http://xavisys.com/google-summer-of-code-2010/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 17:09:27 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[WordPress News]]></category>
		<category><![CDATA[GSoC]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=864</guid>
		<description><![CDATA[It&#8217;s official (and has been for a few days, I&#8217;m a little behind schedule), the 15 students selected to work on WordPress this summer as part of the Google Summer of Code have been announced. The lineup is pretty great. There are some names on the list that will be familiar to those who are [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s official (and has been for a few days, I&#8217;m a little behind schedule), the <a href="http://wpdevel.wordpress.com/2010/04/26/gsoc-students-announced/">15 students selected to work on WordPress</a> this summer as part of the Google Summer of Code have been announced.  The lineup is pretty great.  There are some names on the list that will be familiar to those who are already involved in the WordPress development community.  Andrew Nacin for example was given <a href="http://wpdevel.wordpress.com/2010/02/11/another-community-member-has-impressed-u/">WordPress core commit access</a> in February.  Also,<br />
Justin Shreve and Daryl Koopersmith both participated in last year&#8217;s GSoC (quite successfully).</p>
<p>This year there are a lot of great students and projects.  I&#8217;m definitely excited to see what happens with all of them.  However, I&#8217;m most excited about the student that I&#8217;m going to be mentoring.  Jon Stacey is going to be <a href="http://jonsview.com/projects/wordpress-project-proposal-file-api-stream-wrapper-support">implementing stream wrappers into the WordPress file API</a>.  He did a similar project for Drupal as part of GSoC last year, and this year we were able to woo him over to WordPress.</p>
<p>Not only does the project have great potential, but since stream wrappers were introduced in PHP 5, it will help push WordPress toward PHP 5 as a minimum requirement (which I&#8217;m all for).  So good luck to Jon and <a href="http://socghop.appspot.com/gsoc/program/list_projects/google/gsoc2010">all the 2010 GSoC students</a>.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/wordpress-widget/' title='How To Make Your Own WordPress Widget'>How To Make Your Own WordPress Widget</a></li>
<li><a href='http://xavisys.com/wordpress-core-canonical-plugins/' title='WordPress Core vs Canonical Plugins'>WordPress Core vs Canonical Plugins</a></li>
<li><a href='http://xavisys.com/wordpress-haspatch-marathon/' title='The WordPress has-patch marathon'>The WordPress has-patch marathon</a></li>
<li><a href='http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/' title='Speaking at WordCamp San Francisco 2011'>Speaking at WordCamp San Francisco 2011</a></li>
<li><a href='http://xavisys.com/wordpress-q-a/' title='WordPress Q &amp; A'>WordPress Q &#038; A</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/JxWu512CMY4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/google-summer-of-code-2010/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://xavisys.com/google-summer-of-code-2010/</feedburner:origLink></item>
		<item>
		<title>The Xavisys WordPress Plugin Framework</title>
		<link>http://feedproxy.google.com/~r/Xavisys/~3/fTVMy-nYKbY/</link>
		<comments>http://xavisys.com/xavisys-wordpress-plugin-framework/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 02:16:18 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[wordpress development]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=779</guid>
		<description><![CDATA[A few months ago I was chatting with Joost de Valk and he was talking about a new plugin toolkit that he was making. The basic idea was to make a flexible base that he could use to build on for all his plugins. It would handle all the tasks that are common to all [...]]]></description>
				<content:encoded><![CDATA[<p>A few months ago I was chatting with <a href="http://yoast.com">Joost de Valk</a> and he was talking about a new plugin toolkit that he was making.  The basic idea was to make a flexible base that he could use to build on for all his plugins.  It would handle all the tasks that are common to all his plugins (options page, dashboard widget, etc) and still be easily extended so each plugin could handle more specific tasks as well.  Now his plugins (at least some of them) use his toolkit.</p>
<p>It was a great idea, and I finally got around to writing one for my own plugins.  I built it as an abstract class (and a tiny CSS file) that I extend for each plugin.  Here you&#8217;ll get to see a quick tour of what the framework does.  Let me know in the comments if you&#8217;re interested in seeing a walkthrough of how it was built, and feel free to download <a href="http://xavisys.com/wordpress-plugins/efficient-related-posts/">Efficient Related Posts</a> to see it in action.</p>
<p><span id="more-779"></span></p>
<p>Here are some of the things it does:</p>
<ul>
<li>Stores plugin settings in a protected variable, making them easily available to all methods.</li>
<li>Registers the options for the plugin (making sure it works in WPMU and that options.php can handle updates to the options).</li>
<li>When an update to the plugin is available, it shows a changelog from the currently installed version to the newly available version (whether they&#8217;re one version apart or twenty).<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-changelog1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-changelog1-600x214.png" alt="Changelog" title="Changelog" width="600" height="214" class="alignnone size-large wp-image-795" /></a></li>
<li>Adds an options page for the WordPress plugin settings, complete with a page heading and a Xavisys icon.</li>
<li>Styles the options page as two columns with meta boxes (similar to the two column dashboard layout).<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-options-page1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-options-page1-600x587.png" alt="Options Page Screenshot" title="Options Page" width="600" height="587" class="alignnone size-large wp-image-797" /></a></li>
<li>Adds basic meta boxes to the sidebar of the options page, including one with a donate link, one with a link to the <a href="http://xavisys.com/support/forum/">support forums</a>, and one showing the latest news from Xavisys.<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-sidebar1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-sidebar1.png" alt="Sidebar screenshot" title="Sidebar" width="276" height="506" class="alignnone size-full wp-image-799" /></a></li>
<li>It adds links to the plugin row on the plugins page.  One link to the support forums and one to the plugin options page.<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/erp-plugin-row1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/erp-plugin-row1-600x57.png" alt="Plugin Row Image" title="Plugin Row Links" width="600" height="57" class="alignnone size-large wp-image-798" /></a></li>
<li>It adds a dashboard widget with a feed from Xavisys, complete with the Xavisys logo and a way to subscribe via RSS to the Xavisys site.<br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/dashboard-widget1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/dashboard-widget1-600x297.png" alt="Xavisys Dashboard Image" title="Xavisys Dashboard Feed" width="600" height="297" class="alignnone size-large wp-image-794" /></a><br />
<a href="http://xavisys.com/wp-content/uploads/2009/11/dashboard-screen-options1.png"><img src="http://xavisys.com/wp-content/uploads/2009/11/dashboard-screen-options1-600x215.png" alt="Dashboard Screen Options Image" title="Dashboard Screen Options" width="600" height="215" class="alignnone size-large wp-image-793" /></a></li>
</ul>
<p>It does all this based on variables set in the extending class.  For example, the setup for Efficient Related Posts looks something like this:</p>
<pre class="brush: php; title: ; notranslate">
require_once('xavisys-plugin-framework.php');
class efficientRelatedPosts extends XavisysPlugin {
	protected function _init() {
		$this-&gt;_hook = 'efficientRelatedPosts';
		$this-&gt;_file = plugin_basename( __FILE__ );
		$this-&gt;_pageTitle = __( 'Efficient Related Posts', $this-&gt;_slug );
		$this-&gt;_menuTitle = __( 'Related Posts', $this-&gt;_slug );
		$this-&gt;_accessLevel = 'manage_options';
		$this-&gt;_optionGroup = 'erp-options';
		$this-&gt;_optionNames = array('erp');
		$this-&gt;_optionCallbacks = array();
		$this-&gt;_slug = 'efficient-related-posts';
		$this-&gt;_paypalButtonId = '9996714';
	}
}
</pre>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/google-summer-of-code-2010/' title='Google Summer of Code 2010'>Google Summer of Code 2010</a></li>
<li><a href='http://xavisys.com/10-great-wordpress-plugins/' title='10 Great WordPress Plugins'>10 Great WordPress Plugins</a></li>
<li><a href='http://xavisys.com/wordpress-widget/' title='How To Make Your Own WordPress Widget'>How To Make Your Own WordPress Widget</a></li>
<li><a href='http://xavisys.com/wordpress-core-canonical-plugins/' title='WordPress Core vs Canonical Plugins'>WordPress Core vs Canonical Plugins</a></li>
<li><a href='http://xavisys.com/gpl-themes-love-plugins-suffer/' title='GPL Themes Get Some Love, Plugins Suffer?'>GPL Themes Get Some Love, Plugins Suffer?</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/Xavisys/~4/fTVMy-nYKbY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/xavisys-wordpress-plugin-framework/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://xavisys.com/xavisys-wordpress-plugin-framework/</feedburner:origLink></item>
	</channel>
</rss>
