<?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>DevPress</title>
	<atom:link href="http://devpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://devpress.com</link>
	<description>Grandmaster WordPress Themes</description>
	<lastBuildDate>Tue, 14 Feb 2012 03:13:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Plugin authors! Why no love for multimedia?</title>
		<link>http://devpress.com/blog/plugin-authors-why-no-love-for-multimedia/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=plugin-authors-why-no-love-for-multimedia</link>
		<comments>http://devpress.com/blog/plugin-authors-why-no-love-for-multimedia/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 13:47:15 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=6259</guid>
		<description><![CDATA[Not to hurt anyone&#8217;s feelings, but multimedia plugins out there are simply not good enough. Some play audios. Some play videos. And most don&#8217;t allow you to customize via your own CSS file. I&#8217;m searching for a multimedia plugin that: uses HTML5 and Flash fallback, is easy to skin via CSS, can play audio, video,...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>Not to hurt anyone&#8217;s feelings, but multimedia plugins out there are simply not good enough. Some play audios. Some play videos. And most don&#8217;t allow you to customize via your own CSS file.</p>
<p>I&#8217;m searching for a multimedia plugin that:</p>
<ul>
<li>uses HTML5 and Flash fallback,</li>
<li>is easy to skin via CSS,</li>
<li>can play audio, video, or combination of both within the same playlist</li>
<li>can have multiple playlists on the same page,</li>
<li>inserts Javascript correctly and doesn&#8217;t repeat the Javascript for each instance of the player or shortcode being used.</li>
</ul>
<p>Bonus Features:</p>
<ul>
<li>a multimedia player widget</li>
<li>iTunes and Amazon integrations</li>
</ul>
<p>In short, why hasn&#8217;t anyone port the entire <a href="http://jplayer.org/" title="HTML5 Audio &#038; Video for jQuery">jPlayer</a> script to WordPress? There&#8217;s a WordPress plugin that uses jPlayer called MP3-jPlayer, but it&#8217;s WAY more complicated than it should be to use it.</p>
<p>Instead of just complaining, <strong>I&#8217;m putting up a $50 bounty to whoever creates this jPlayer plugin for WordPress and release it to the public for free</strong>. You get paid to create a plugin that&#8217;s going to make you instantly popular.</p>
<p>This bounty is good for one plugin only. If there are multiple submissions, I&#8217;ll pay the best one. Sorry second place finishers!</p>
<p>I realize $50 isn&#8217;t much for a good plugin author to invest two to three hours so if anyone wants to pool money with me, you&#8217;re welcome to!</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/plugin-authors-why-no-love-for-multimedia/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Theme Release: Good</title>
		<link>http://devpress.com/blog/theme-release-good/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=theme-release-good</link>
		<comments>http://devpress.com/blog/theme-release-good/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 11:24:59 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[Good]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=5844</guid>
		<description><![CDATA[A mobile friendly blog theme that comes with built in breadcrumbs, pagination, single post stylsheet capability, Jigoshop e-commerce plugin integration, and simplicity. You simply upload, install, and start using this theme, no complicated theme settings to configure. I hope this second solo theme release is re-assuring that DevPress is here to stay. This and the...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://devpress.com/wp-content/uploads/2012/01/01-good.jpg" alt="" title="01-good" width="600" height="450" class="aligncenter size-full wp-image-5836" /></p>
<blockquote><p>A mobile friendly blog theme that comes with built in breadcrumbs, pagination, single post stylsheet capability, Jigoshop e-commerce plugin integration, and simplicity. You simply upload, install, and start using this theme, no complicated theme settings to configure.</p></blockquote>
<p><img src="http://devpress.com/wp-content/uploads/2012/01/02-good.jpg" alt="" title="02-good" width="600" height="450" class="aligncenter size-full wp-image-5837" /></p>
<p>I hope this second solo theme release is re-assuring that DevPress is here to stay. This and the <a href="http://devpress.com/themes/dotos/" class="Dotos theme page">Dotos</a> theme make it two minimalistic themes in a row now. I&#8217;m going to change up the design style in the next theme and it&#8217;s coming soon.</p>
<p>By the way, this new theme is free. <a href="http://devpress.com/themes/good/" title="Good theme page">Go to Good&#8217;s download page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/theme-release-good/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Theme Release: Dotos</title>
		<link>http://devpress.com/blog/theme-release-dotos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=theme-release-dotos</link>
		<comments>http://devpress.com/blog/theme-release-dotos/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 14:14:58 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[Dotos]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=5677</guid>
		<description><![CDATA[Introducing Dotos, a mobile-friendly photo-blog theme with native support for Jigoshop. View the live demo. This is the first theme designed and coded by me after the recent DevPress change of ownership. I wanted to release Dotos a week ago, but due to taking time off (my birthday) and a sidebar bug I had to...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://devpress.com/wp-content/uploads/2011/12/01-dotos.jpg" alt="" title="01-dotos" width="600" height="450" class="aligncenter size-full wp-image-5661" /></p>
<p>Introducing <a href="http://devpress.com/themes/dotos">Dotos</a>, a mobile-friendly photo-blog theme with native support for <a href="http://jigoshop.go2cloud.org/SHM">Jigoshop</a>. <a href="http://devpress.com/demo/dotos/" title="Dotos theme demo">View the live demo</a>. This is the first theme designed and coded by me after the recent DevPress <a href="http://devpress.com/blog/a-step-back-for-the-team-a-step-forward-for-devpress/">change of ownership</a>.</p>
<blockquote><p>I wanted to release Dotos a week ago, but due to taking time off (my birthday) and a sidebar bug I had to hold on to it for several more days.</p></blockquote>
<p>Anyway, back to Dotos, it features a fullscreen template that automatically adjusts your images to any browser size. Although focused on photos, it comes with an optional sidebar (and hidden two-column layout based on whether the sidebar is active). Finally, like I mentioned above, Dotos supports Jigoshop out of the box. Everything about this theme is simple, smart, and mobile friendly. Best of all, it&#8217;s free.</p>
<blockquote><p>I hope you like what I&#8217;ve done with this theme. More themes are coming soon.</p></blockquote>
<h2>Features Coming Soon to Dotos:</h2>
<p>If you recognize what I mocked up for Dotos below, I agree. It is awesome.</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/12/dotos-buddypress-preview-1.jpg" alt="" title="dotos-buddypress-preview-1" width="600" height="450" class="aligncenter size-full wp-image-5684" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/12/dotos-buddypress-preview-2.jpg" alt="" title="dotos-buddypress-preview-2" width="600" height="450" class="aligncenter size-full wp-image-5685" /></p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/theme-release-dotos/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A Step Back for the Team, A Step Forward for DevPress</title>
		<link>http://devpress.com/blog/a-step-back-for-the-team-a-step-forward-for-devpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-step-back-for-the-team-a-step-forward-for-devpress</link>
		<comments>http://devpress.com/blog/a-step-back-for-the-team-a-step-forward-for-devpress/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 10:10:40 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[DevPress]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=5500</guid>
		<description><![CDATA[After months of inconsistent collaboration, DevPress is left with one remaining co-founder, me &#8212; Tung Do. Justin Tadlock, Patrick Daly, and Ptah Dunbar are going to pursue personal projects. To some, this isn&#8217;t surprising. DevPress managed to release high quality products and tease the community of buzz-worthy ideas, but what we needed most was consistency....<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<blockquote><p>After months of inconsistent collaboration, DevPress is left with one remaining co-founder, me &#8212; Tung Do. Justin Tadlock, Patrick Daly, and Ptah Dunbar are going to pursue personal projects.
</p></blockquote>
<p>To some, this isn&#8217;t surprising. DevPress managed to release high quality products and tease the community of buzz-worthy ideas, but what we needed most was consistency. If success is 80% just simply showing up well then we failed. I was gone for a month during my wedding and vacation in July. Ptah was in an accident in August. (Luckily, he&#8217;s back to smiling and coding with one pirate eye.) Patrick recently took a sabbatical due to personal reasons. <em>Justin Tadlock was the only one to take breaks without any noticeable time off.</em></p>
<p>Bootstrapping a business is hard enough. Try doing it with an all-star team of equal share and no one personally responsible for anything then you might end up just like us. Although we continue to provide support at the forums, development and product release wise, DevPress has been inactive for a month. Experiencing roadblock after roadblock without any consistency for DevPress to establish itself, I think it&#8217;s safe to say the entire team is just burned out at this point.</p>
<blockquote><p>I&#8217;m sure we&#8217;ll have time to reflect on what went wrong. But instead of dwelling on so much wasted potential, I&#8217;ve asked the guys to trust DevPress in my hands and they&#8217;ve agreed.</p></blockquote>
<h2>Moving Forward</h2>
<p><strong>Before you freak out, DevPress will continue.</strong> The club is still there, but will be focused on themes until further notice; my specialties are themes and tutorials, not plugins. Surely, I cannot replace Justin, Patrick, and Ptah by myself, but I&#8217;m not looking for new team members. </p>
<blockquote><p>I&#8217;m just going to do the best I can as a one man team. When it makes sense to get help, I&#8217;ll get help. From this experience, I&#8217;m reminded having all-star team doesn&#8217;t always equal a win.</p></blockquote>
<p>Instead of empty promises of bringing the awesome back to DevPress. I will move DevPress forward step-by-step. Any activity is better than inactivity. And you don&#8217;t have to wait for long. I&#8217;ll release a new theme before the end of next week. I like to stay fairly active and that&#8217;s good news for DevPress theme users (free and paid).</p>
<blockquote><p>From now on, everyday, you can assume a theme is being worked on and it&#8217;s inching its way out the door to be released on DevPress.com. The quality will be on par if not better than what you see in the free and commercial themes market.</p></blockquote>
<h2>My First Act</h2>
<p>If you haven&#8217;t noticed, my first act as owner of DevPress already happened. I redesigned and optimized DevPress for mobile users. You can now use the site, download themes, and get support while you&#8217;re on the go unlike before when DevPress was strictly built for desktops and large laptops. There are always a few kinks here and there with websites involving multiple management systems like what DevPress utilize so I&#8217;m sure the redesign transition will take another week to complete.</p>
<h2>A Peak Into DevPress&#8217;s Future</h2>
<p>Here&#8217;s the light at the end of the tunnel and I&#8217;ll be brief to let your imagination take over. All future DevPress themes with e-commerce capabilities will be mobile friendly and <strong>Jigoshop is my chosen platform/plugin to build e-commerce themes on</strong>. I&#8217;ve also been exploring bbPress and BuddyPress among other established plugins. My goal is create responsive, powerful themes with portable content, deep integration for popular plugins, and close-to-zero theme settings; <em>I hate theme settings</em>.</p>
<p>Taking over DevPress as a one man team is NOT another one of my self-challenges, in which I&#8217;d fail publicly and miserably. DevPress is a business with paying customers and my goal is to make DevPress customers/users very happy starting next week. For now, thank you for supporting me and I&#8217;m as bummed as you are to lose three DevPress co-founders.</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/a-step-back-for-the-team-a-step-forward-for-devpress/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Using Google search within a WordPress site</title>
		<link>http://devpress.com/blog/using-google-search-within-a-wordpress-site/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-google-search-within-a-wordpress-site</link>
		<comments>http://devpress.com/blog/using-google-search-within-a-wordpress-site/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 11:00:20 +0000</pubDate>
		<dc:creator>Patrick Daly</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=3479</guid>
		<description><![CDATA[Let&#8217;s face it; WordPress search sucks. Its harsh, I know, but its true. Google didn&#8217;t dominate the Internet because they found decent search results. They&#8217;ve built an empire upon sophisticated algorithms that help us find extremely specific things amongst the trillions of possible pages. WordPress publishes the content. Let&#8217;s let Google find it. This tutorial...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s face it; WordPress search sucks.</p>
<p>Its harsh, I know, but its true. Google didn&#8217;t dominate the Internet because they found <em>decent</em> search results. They&#8217;ve built an empire upon sophisticated algorithms that help us find extremely specific things amongst the trillions of possible pages.</p>
<p>WordPress publishes the content. Let&#8217;s let Google find it.</p>
<div class="note">
<p>This tutorial will show you how to use a Google Custom Search Engine (<abbr title="Custom Search Engine">CSE</abbr> ) to replace the WordPress search engine and integrate it seamlessly into your website.</p>
</div>
<p>Note that Google <abbr title="Custom Search Engine">CSE</abbr> will <strong>only</strong> search pages they have indexed. Meaning, if you setup your site today then the Google bot may not have crawled it and made your pages available for search.</p>
<h2>Setup your search engine</h2>
<p>1. The first step to using a Google <abbr title="Custom Search Engine">CSE</abbr> is to use your Google account to create the search engine. Go to <a href="http://www.google.com/cse/">http://www.google.com/cse/</a> and once you are logged in, click &#8220;Create a Custom Search Engine&#8221;.</p>
<p><img class="aligncenter size-full wp-image-3489" title="google-search-step-1" src="http://devpress.com/wp-content/uploads/2011/08/google-search-step-1.gif" alt="Screenshot of Google Custom Search Engine setup step 1" width="580" height="444" /></p>
<p>2. Next, name your search engine, provide a description and then add the domains you would like to search (your WordPress site&#8217;s domain and any others you&#8217;d like to include).</p>
<p>3. Click &#8220;Next&#8221;.</p>
<p>4. On the &#8220;Try it out&#8221; page you can just click &#8220;Next&#8221; again.</p>
<p>5. At this point you&#8217;re given code to paste into your site. <em>Ignore</em> this code and click on the &#8220;Change the look and feel&#8221; link.</p>
<p>6. Choose the <strong>&#8220;Two page&#8221; layout</strong>.</p>
<p>7. Click &#8220;Save &amp; get code&#8221;.</p>
<h2>Copy &amp; paste code to your site</h2>
<p>1. Where it asks you to provide the search results URL, use your sites domain: <code>http://example.com</code></p>
<p><img class="aligncenter size-full wp-image-3493" title="google-search-step-2" src="http://devpress.com/wp-content/uploads/2011/08/google-search-step-2.gif" alt="Screenshot of completed Google Custom Search Engine displaying code" width="580" height="794" /></p>
<p>2. Where it asks you to provide the <strong>query parameter, use the letter <code>s</code></strong>. <code>s</code> is the query that WordPress uses to search the database.</p>
<p>3. Copy the search <em>form</em> code it gives you and <strong>paste it into <code>searchform.php</code></strong> (or create this file if you don&#8217;t have one) in your theme. Replace the contents of this file.</p>
<p>4. Copy the search <em>results</em> code it gives you and <strong>paste it into <code>search.php</code></strong> (or create this file if you don&#8217;t have one) in your theme. Only replace the loop (everything between the <code>if ( have_posts() ) :</code> and <code>endif;</code>. Your loop may start and finish a little differently than that.</p>
<h2>Seriously, that&#8217;s it</h2>
<p>Now anywhere you had a search form you should be able to enter a term, hit Enter and be taken to your search page with relevant results. Use the WordPress Search widget to place a search box anywhere on your site.</p>
<p>Some extra goodies though &#8230; </p>
<p>Check the &#8220;Include Google Analytics Site Search tracking code&#8221; box. Then go edit your Google Analytics profile and specify the search paramenter (remember &#8230; <code>s</code>).</p>
<p>Because you&#8217;re using the WordPress search query you are actually doing a WordPress database search behind the scenes, but because we replaced the loop with the new code we don&#8217;t see any results. The DevPress search page actually uses Google&#8217;s search <em>and</em> WordPress&#8217; search. In the sidebar of our search results page we break search results out into specific categories just to give a bit more information and context so results.</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/using-google-search-within-a-wordpress-site/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Theme Preview: Restaurant</title>
		<link>http://devpress.com/blog/theme-preview-restaurant/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=theme-preview-restaurant</link>
		<comments>http://devpress.com/blog/theme-preview-restaurant/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 12:53:33 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[Restaurant]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=3446</guid>
		<description><![CDATA[While Patrick and Justin code the upcoming Stanley theme, I&#8217;m working on a restaurant theme design. See it below&#8230; After looking at what other WordPress development groups or companies have created in this niche and what the typical restaurant website looks like, I found that most WordPress themes made for restaurant websites are almost the...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>While Patrick and Justin code the upcoming Stanley theme, I&#8217;m working on a restaurant theme design. See it below&#8230;</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/08/restaurant-pre.jpg" alt="" title="restaurant-pre" width="580" height="411" class="aligncenter size-full wp-image-3447" /></p>
<p>After looking at what other WordPress development groups or companies have created in this niche and what the typical restaurant website looks like, I found that most WordPress themes made for restaurant websites are almost the exact opposite of what customers need.</p>
<p>What restaurant owners actually need for their sites is a static front page featuring an introduction area and some contact information. It&#8217;s definitely not sliding images of food, a calendar for reservation, and/or the latest blog posts.</p>
<p>For other groups/companies, that&#8217;s the problem with selling a theme at a high price. You feel like you have to over-deliver all the times even when it&#8217;s totally unnecessary, even when it gets in the way of people using your theme.</p>
<p>DevPress has a different philosophy. We roll out the most important features first then keep on adding features &#8212; necessary or most useful ones. And at every step of the way, we do our best to keep the overall product easy to use and your content portable. If we have to lock you into one of our products in order to implement a certain feature, for sure, you&#8217;re not going to see that feature in a DevPress theme.</p>
<p>Our method is different. That&#8217;s why we price our <a href="http://devpress.com/club/">themes club</a> differently.</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/theme-preview-restaurant/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>How to setup subdomains for a local WordPress network</title>
		<link>http://devpress.com/blog/how-to-setup-subdomains-for-a-local-wordpress-network/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-setup-subdomains-for-a-local-wordpress-network</link>
		<comments>http://devpress.com/blog/how-to-setup-subdomains-for-a-local-wordpress-network/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 16:00:39 +0000</pubDate>
		<dc:creator>Patrick Daly</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=3128</guid>
		<description><![CDATA[As a follow up to the first WordPress development environment post, I wanted to offer a solution for running a WorPress network locally. My decision to run a local website using the real domain is crucial here. As opposed to using http://localexample/ we&#8217;ll utilize http://example.com locally where example.com is also the live domain. Many tutorials...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>As a follow up to the first <a href="http://devpress.com/blog/a-really-sweet-wordpress-development-environment/">WordPress development environment</a> post, I wanted to offer a solution for running a WorPress network locally.</p>
<p>My decision to run a local website using the <em>real</em> domain is crucial here. As opposed to using <code>http://localexample/</code> we&#8217;ll utilize <code>http://example.com</code> locally where <code>example.com</code> is <em>also</em> the live domain. Many tutorials suggest setting up WP networks locally using subdirectories, but if you&#8217;re going to use subdomains in production why would you do something different locally? So the purpose behind this technique is to replicate a production website on a local machine without exception.</p>
<div class="note">
<p>Most of the content in this tutorial is applicable to any operating system, but it is written for Windows users and some parts will need to be amended for Mac users.</p>
</div>
<h2>Editing your hosts file for subdomains</h2>
<p>This is a snippet from the first post on how to edit your hosts file, and its still very pertinent for what we need to achieve:</p>
<blockquote><p><strong>Use your <em>real</em> domain</strong></p>
<p>One of the most annoying things about local development is that most tutorials have you setup <code>http://localyourdomin/</code>. That means when its time for production you have to find and replace all occurrences of that in your database and files. Lots of room for error there. So let’s just use your real domain: <code>http://example.com</code> (obviously, replace all instances of example.com with your domain).</p>
<p><em>1. Edit your HOSTS file</em></p>
<p>In Windows, use Notepad to open <code>C:\Windows\System32\drivers\etc</code> (be sure to “Run as administrator”) . <a href="http://support.ecenica.com/domain-names/edit-hosts-file-mac-windows/">Mac instructions</a>.</p>
<p>Add to the bottom of the file:</p>
<pre># 127.0.0.1 example.com #local
# 123.4.5.6 example.com #production</pre>
<ul>
<li>The <code>#</code> (pound sign) denotes a comment. So everything following the pound sign is ignored. So this example won’t change anything once you add it to the file.</li>
<li><code>127.0.0.1</code> is the <acronym>IP</acronym> address of your machine. Replace <code>123.4.5.6</code> with the IP address of your remote server (the one your website is hosted on).</li>
<li><code>#local</code> and <code>#production</code> are just comments to signify which server goes where.</li>
</ul>
<p><strong>Now</strong>, if you un-comment the local server when you try going to example.com your browser will look to your local machine.</p></blockquote>
<blockquote><p>NOTE: You can get browser extensions to quickly switch between hosts. Since I do most of my development in Firefox I use <a href="https://addons.mozilla.org/en-us/firefox/addon/hostadmin/">HostAdmin</a>.</p></blockquote>
<p>Use what we did above to create a new line in your hosts file and simply add:</p>
<pre>127.0.0.1 aaa.example.com
127.0.0.1 bbb.example.com
127.0.0.1 ccc.example.com
</pre>
<p>Repeat this for each subdomain on your network for which you&#8217;d like to view locally.</pre>
<h2>Modify Apache for local subdomain access</h2>
<p>Copying from the original post, a single domain needs to be added to Apache for it to recognize your domain as a website:</p>
<blockquote><p>Your computer now knows that <code>example.com</code> is hosted on your machine, but your server needs to know where your local website is located. Open up <code>httpd.conf</code> (varies depending on which software you installed, but in <acronym title="Windows, Apache, MySQL, Perl/PHP/Python">WAMP</acronym> its in <code>C:\wamp\bin\apache\Apache2.2.17\conf</code>). Add to the bottom of the file:</p>
<pre>&lt;VirtualHost 127.0.0.1&gt;
 ServerName example.com
 DocumentRoot "C:/wamp/www/example_com"
 ServerAdmin you@example.com

&lt;Directory C:/wamp/www/example_com&gt;
 Order Allow,Deny
 Allow from all
 &lt;/Directory&gt;
 &lt;/VirtualHost&gt;</pre>
</blockquote>
<p>Since subdomains in WordPress are actually virtual (i.e. no physical directory exists for the subdomain) the subdomains in the Apache file need only to point to the same location as the parent site.</p>
<p>In the Apache configuration file, <code>httpd.conf</code>, we need to add a <code>ServerAlias</code> line that specifies which subdomains should resolve at a specific physical location. Since our <code>VirtualHost</code> is using the same <code>DocumentRoot</code> as our subdomains we just need to add our <code>ServerAlias</code> line to the same <code>VirtualHost</code>. Take what we have above and modify to look like so:</p>
<pre>&lt;VirtualHost 127.0.0.1&gt;
 ServerName example.com
 ServerAlias example.com aaa.example.com bbb example.com ccc.example
 DocumentRoot "C:/wamp/www/example_com"
 ServerAdmin you@example.com

&lt;Directory C:/wamp/www/example_com&gt;
 Order Allow,Deny
 Allow from all
 &lt;/Directory&gt;
 &lt;/VirtualHost&gt;</pre>
<p>The only new line above is: <code>ServerAlias example.com aaa.example.com bbb.example.com ccc.example</code></p>
<p>Save the file and restart Apache. You can now visit your domain and each specified subdomain locally (comment/uncomment your hosts file as necessary or use the FireFox addon mentioned above).</p>
<p><strong>Let us know how you have your local WordPress network setup or any questions you have.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/how-to-setup-subdomains-for-a-local-wordpress-network/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Small Potato&#8217;s Wedding</title>
		<link>http://devpress.com/blog/small-potatos-wedding/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=small-potatos-wedding</link>
		<comments>http://devpress.com/blog/small-potatos-wedding/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 07:32:37 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[DevPress]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=3065</guid>
		<description><![CDATA[I&#8217;m putting DevPress on a five-minute break from tutorials, themes, and plugins to share with you my wedding. (Now you know why I&#8217;ve been missing in action.) I married the Wife on July 9th, 2011. My wife and I took the stress-free approach to wedding planning &#8212; let the venue, restaurant, cake, and flower people...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m putting DevPress on a five-minute break from tutorials, themes, and plugins to share with you my wedding. (Now you know why I&#8217;ve been missing in action.) I married the Wife on July 9th, 2011. My wife and I took the stress-free approach to wedding planning &#8212; let the venue, restaurant, cake, and flower people take care of it. All we&#8217;d need to do is show up with my tux, wedding dress, and smiles on our faces knowing we didn&#8217;t have to stress about every little detail.</p>
<p>Ten people (including my mom, dad, and brother) from the states came back to Vietnam to attend. Therefore, I wanted an easygoing, family atmosphere so my family could relax, have fun, and talk with the Wife and I any time they want.</p>
<p>Without any more teasers, here&#8217;s how our small, six-table, humble little wedding in Vietnam turned out&#8230;<span id="more-3065"></span></p>
<h2>Preparation</h2>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-007.jpg" alt="" title="wedding-007" width="580" height="387" class="size-full wp-image-3077" /></p>
<p>Hair and make-up for the bride done in-house by relatives.</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-026.jpg" alt="" title="wedding-026" width="580" height="387" class="aligncenter size-full wp-image-3078" /></p>
<p>My wife had a huge pimple right on the nose&#8230; on her wedding day! Fortunately, my cousins did a great job covering it up using very light makeup.</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-092.jpg" alt="" title="wedding-092" width="580" height="387" class="size-full wp-image-3079" /></p>
<p>Big cousin Frank helping me with the tux and saying &#8220;up-yours&#8221; to my peace sign.</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0304.jpg" alt="" title="IMG_0304" width="580" height="435" class="aligncenter size-full wp-image-3068" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0306.jpg" alt="" title="IMG_0306" width="580" height="435" class="aligncenter size-full wp-image-3069" /></p>
<h2>The Wedding</h2>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0375.jpg" alt="" title="IMG_0375" width="580" height="387" class="aligncenter size-full wp-image-3073" /></p>
<p>Lef to right: mom, brother, wife, me, and dad</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-151.jpg" alt="" title="wedding-151" width="580" height="387" class="aligncenter size-full wp-image-3080" /></p>
<h2>Ceremony</h2>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0364.jpg" alt="" title="IMG_0364" width="580" height="387" class="aligncenter size-full wp-image-3072" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-225.jpg" alt="" title="wedding-225" width="580" height="387" class="aligncenter size-full wp-image-3081" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-275.jpg" alt="" title="wedding-275" width="580" height="455" class="aligncenter size-full wp-image-3082" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-300.jpg" alt="" title="wedding-300" width="580" height="387" class="aligncenter size-full wp-image-3083" /></p>
<h2>Let&#8217;s Eat</h2>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-319.jpg" alt="" title="wedding-319" width="580" height="387" class="aligncenter size-full wp-image-3084" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-335.jpg" alt="" title="wedding-335" width="580" height="387" class="aligncenter size-full wp-image-3085" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/wedding-401.jpg" alt="" title="wedding-401" width="580" height="501" class="aligncenter size-full wp-image-3086" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0390.jpg" alt="" title="IMG_0390" width="580" height="387" class="aligncenter size-full wp-image-3074" /></p>
<h2>Miscellaneous</h2>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0357.jpg" alt="" title="IMG_0357" width="580" height="387" class="aligncenter size-full wp-image-3071" /></p>
<p>The next time I&#8217;d wear a tux will probably be my kid&#8217;s wedding.</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0346.jpg" alt="" title="IMG_0346" width="580" height="387" class="aligncenter size-full wp-image-3070" /></p>
<p>Excuse the peace sign, we Asians love it because we don&#8217;t know what other gang signs to put up! Several bigger weddings took place at the same venue. Each room hosts one wedding. We took the six-table room, but our small sixty-guests wedding partied longer than other weddings so we were last to leave the venue hahahah!  </p>
<h2>On Vacation</h2>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_2923.jpg" alt="" title="IMG_2923" width="580" height="435" class="aligncenter size-full wp-image-3075" /></p>
<p>And here&#8217;s the everyday normal Small Potato with his wife. We&#8217;ve been traveling around Vietnam with family and friends, which means I&#8217;ll be on vacation until August 5th, 2011.</p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_9269.jpg" alt="" title="IMG_9269" width="580" height="387" class="aligncenter size-full wp-image-3076" /></p>
<p><img src="http://devpress.com/wp-content/uploads/2011/07/IMG_0131.jpg" alt="" title="IMG_0131" width="580" height="387" class="aligncenter size-full wp-image-3067" /></p>
<p>Growing old like this doesn&#8217;t suck at all&#8230;</p>
<p>p.s. &#8211; We took 400 something photos at the wedding, but I&#8217;m too lazy to post them.</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/small-potatos-wedding/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>DevPress Club</title>
		<link>http://devpress.com/blog/devpress-club/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=devpress-club</link>
		<comments>http://devpress.com/blog/devpress-club/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 13:00:44 +0000</pubDate>
		<dc:creator>Tung Do</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=2162</guid>
		<description><![CDATA[Some of you asked for a themes club from DevPress.com after we&#8217;ve established our presence with several more theme releases. This prompted a discussion among our team members about the future of DevPress. Discussion was short and simple. Yes, DevPress will have a club, but not a themes club, plugins included. Details The club will...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>Some of you asked for a themes club from DevPress.com after we&#8217;ve established our presence with several more theme releases. This prompted a discussion among our <a href="http://devpress.com/about/">team members</a> about the future of DevPress. Discussion was short and simple. Yes, DevPress will have a club, but not a themes club, <strong>plugins included</strong>.</p>
<h2>Details</h2>
<ul>
<li>The club will cost $5.00 per year for <strong>all</strong> existing and to-be-released themes/plugins. Once your club membership expires, it&#8217;s $5.00 to renew.</li>
<li>We don&#8217;t guarantee how many products will be released per year.</li>
<li>We don&#8217;t guarantee support.</li>
</ul>
<h2>Questions and Answers</h2>
<p><strong>How many themes and plugins will DevPress release per year?</strong> Quality not quantity. For a group of four developers, approximately 12 themes and several plugins per year would be a good guess.</p>
<p><strong>Why no guaranteed support?</strong> Other companies charge you for support, not just for products. Support is what we do naturally. No one has to make us do it. We figured charging for themes and plugins is enough. <em>Visit the <a href="http://devpress.com/forums/">DevPress forums</a> where we actively answer every support request.</em></p>
<p><strong>Why not free?</strong>  I would love to see DevPress move towards a free system someday. However, we all have our day jobs and families to look after. A free based service/community is not an option for us because we don&#8217;t have the funding to start up a stress-free work span of six months to a year.</p>
<p><strong>Why $5, not 10, 20, or 70?</strong> There&#8217;s already a themes club at almost every price range. Other groups and companies price their themes, plugins, and/or club strategically so they can market their products, gain affiliate support, compete for users, or whatever the reason/motivation is. Here&#8217;s our motivation:</p>
<ul>
<li>ego</li>
<li>altruism</li>
<li>love for WordPress</li>
<li>the need to put food on the table</li>
</ul>
<p>Charging a premium price means we have to compete with other companies feature for feature to prove we are superior even when certain features aren&#8217;t necessary. That&#8217;s not what we want because <a href="http://devpress.com/blog/our-philosophy-on-wordpress-themes/">we don&#8217;t develop our products like our competitors do</a>.</p>
<p><em>If it&#8217;s necessary, we&#8217;d build it. If it isn&#8217;t necessary, someone else will build it and make you pay $100 for that shiny extra toy you rarely use. That&#8217;s not us.</em></p>
<p><strong>DevPress is better because it&#8217;s simple and it does things the WordPress way</strong>. And no, <strong>we wouldn&#8217;t feel proud of a theme that has 50 to 100 different configurable options</strong>. Actually, our themes typically have less than five optional settings per theme. Yet, DevPress themes still manage to come packed with powerful features.</p>
<p><em>Take the <a href="http://devpress.com/themes/news/">News theme</a> for example. It&#8217;s been downloaded more than 70,000 times. Our users love News not just because it&#8217;s simple, but because it&#8217;s powerful and your site looks better the more you use it. No other companies painstakingly ensure their themes work this way and that is why DevPress is unique.</em></p>
<p>So why follow the herd and compete when our approach is completely different?</p>
<p><em>While it may seem like $5.00 is undervaluing our efforts, our goal is not to maximize profit per customer, but to maximize total number of users.</em></p>
<p><strong>How does this $5.00 price affects future themes and plugins by DevPress?</strong> Easy, it doesn&#8217;t. Even if we&#8217;re releasing themes for free, it has to meet our own standards first and we set our standards pretty high. Regardless of free or commercial, pick any theme by DevPress; it&#8217;s one of the best out there.</p>
<p><strong>How are you going to handle existing customers?</strong> We will take $5 from each purchase and refund the rest. Existing customers are automatic club members.</p>
<p><strong>Haven&#8217;t you learned from the failure of the Wpdesigner $5 themes club?</strong> Yes we have. The WPDesigner themes club had one person doing everything. The DevPress Themes and Plugins Club has four people and not just any four.</p>
<p><strong>What if this club idea isn&#8217;t successful?</strong> DevPress is here to stay regardless of the result. Making themes and plugins is what we do. Even if there&#8217;s no money in it, we&#8217;d still do it. Getting paid to do what you love to do means having more time to dedicate towards it.</p>
<p><a href="https://www.e-junkie.com/ecom/gb.php?i=953246&#038;c=single&#038;cl=137490"><img src="http://devpress.com/wp-content/uploads/2011/06/devpress-club.jpg" alt="" title="devpress-club" width="580" height="580" class="aligncenter size-full wp-image-2491" /></a></p>
<div class="note">Turn your Club membership into cash by joining our <a href="http://devpress.com/affiliates/">Affiliate Program</a></div>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/devpress-club/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>A really sweet WordPress development environment</title>
		<link>http://devpress.com/blog/a-really-sweet-wordpress-development-environment/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-really-sweet-wordpress-development-environment</link>
		<comments>http://devpress.com/blog/a-really-sweet-wordpress-development-environment/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 11:00:59 +0000</pubDate>
		<dc:creator>Patrick Daly</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://devpress.com/?p=2026</guid>
		<description><![CDATA[I&#8217;m always trying to figure out a more efficient way to do development. I&#8217;ve tried more than a dozen different applications to develop in: Notepad, Notepad++, Dreamweaver, FrontPage, Aptana, and so on. Whichever application you end up using it still only solves some of the problems. So this post will divulge my development environment for...<p>&copy; 2010&thinsp;&ndash;&thinsp;2012 <a href="http://devpress.com" title="DevPress">DevPress</a></p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m always trying to figure out a more efficient way to do development. I&#8217;ve tried more than a dozen different applications to develop in: Notepad, Notepad++, Dreamweaver, FrontPage, Aptana, and so on.</p>
<p>Whichever application you end up using it still only solves some of the problems. So this post will divulge my development environment for <em>some</em> projects. This isn&#8217;t the &#8216;end all, be all&#8217; and it will evolve, but its evolved to this point over years and years and I finally have something I really enjoy.</p>
<div class="note">
<p>Most of the content in this tutorial is applicable to any operating system, but it is written for Windows users and some parts will need to be amended for Mac users.</p>
</div>
<h2>Table of Contents</h2>
<ol>
<li><a href="#local-environment">Local environment </a>
<ol>
<li><a href="#install-apache">Install Apache, MySQL, &amp; PHP</a></li>
<li><a href="#configure-mysql">Configure MySQL</a></li>
<li><a href="#configure-apache">Configure Apache</a></li>
<li><a href="#install-wordpress">Install WordPress</a></li>
</ol>
</li>
<li><a href="#code-editor">Code editor</a></li>
<li><a href="#source-control">Source control </a>
<ol>
<li><a href="#svn-setup">SVN Setup</a></li>
<li><a href="#checkout-locally">Checkout locally</a></li>
<li><a href="#deployment">Deployment</a></li>
</ol>
</li>
</ol>
<h2 id="local-environment">Local Environment</h2>
<p>I used to hate local development. It makes  sharing your work so much more difficult, configuring a local server  isn&#8217;t always easy, and there&#8217;s so many things to change once you move to  production. Not anymore.</p>
<h3 id="install-apache">Install Apache, MySQL, and <acronym title="Hypertext Preprocessor">PHP</acronym></h3>
<p>First of all, for any local development you&#8217;ll need <acronym title="Windows, Apache, MySQL, Perl/PHP/Python">WAMP</acronym>, <acronym title="Cross Platform, MySQL, PHP, Perl">XAMPP</acronym>, or <acronym title="Mac, Apache, MySQL, PHP">MAMP</acronym>. These set up an environment that allows you to run a website on your machine. I use <acronym title="Windows, Apache, MySQL, Perl/PHP/Python">WAMP</acronym> on a Windows machine. All of these programs will install Apache, MySQL, and <acronym title="Hypertext Preprocessor">PHP</acronym> along with some helper applications like phpMyAdmin.</p>
<p>Choose which one you like the most and install.</p>
<h3 id="configure-mysql">Configure MySQL</h3>
<p>After you&#8217;ve installed your server environment you need to create a database for your WordPress site.</p>
<p>Open phpMyAdmin or another bundled database application. From the homepage of phpMyAdmin you&#8217;ll be able to easily type the name of a new database and save it.</p>
<h3 id="configure-apaceh">Configure Apache</h3>
<p>There are two steps to allowing your computer to act as the server for a website using a real domain. Our intention is to setup <code>example.com</code> to run off of the local computer (rather than from the internet).</p>
<p><strong>Use your <em>real</em> domain</strong></p>
<p>One of the most annoying things about local development is that most tutorials have you setup <code>http://localyourdomin/</code>.  That means when its time for production you have to find and replace  all occurrences of that in your database and files. Lots of room for  error there. So let&#8217;s just use your real domain: <code>http://example.com (obviously, replace all instances of example.com with your domain).<br />
</code></p>
<p><em>1. Edit your HOSTS file</em></p>
<p>In Windows, use Notepad to open <code>C:\Windows\System32\drivers\etc</code> (be sure to &#8220;Run as administrator&#8221;) .</p>
<p>Add to the bottom of the file:</p>
<pre><code># 127.0.0.1 example.com #local
# 123.4.5.6 example.com #production</code></pre>
<ul>
<li>The <code>#</code> (pound sign) denotes a comment. So everything following the pound sign  is ignored. So this example won&#8217;t change anything once you add it to the  file.</li>
<li><code>127.0.0.1</code> is the <acronym>IP</acronym> address of your machine. Replace <code>123.4.5.6</code> with the IP address of your remote server (the one your website is  hosted on).</li>
<li><code>#local</code> and <code>#production</code> are just comments to signify which server goes where.</li>
</ul>
<p><strong>Now</strong>,  if you un-comment the local server when you try going to example.com  your browser will look to your local machine.</p>
<div class="note">
<p>NOTE: You can get browser extensions to quickly switch between hosts. Since I do most of my development in Firefox I use <a href="https://addons.mozilla.org/en-us/firefox/addon/hostadmin/">HostAdmin</a>.</p>
</div>
<p><em>2. Edit Apache&#8217;s <code>httpd.conf</code></em></p>
<p>Your computer now knows that <code>example.com</code> is hosted on your machine, but your server needs to know where your local website is located.</p>
<p>Open up <code>httpd.conf</code> (varies depending on which software you installed, but in <acronym title="Windows, Apache, MySQL, Perl/PHP/Python">WAMP</acronym> its in <code>C:\wamp\bin\apache\Apache2.2.17\conf</code>).</p>
<p>Add to the bottom of the file:</p>
<pre>&lt;VirtualHost 127.0.0.1&gt;
 ServerName example.com
 DocumentRoot "C:/wamp/www/example_com"
 ServerAdmin you@example.com

&lt;Directory C:/wamp/www/example_com&gt;
 Order Allow,Deny
 Allow from all
 &lt;/Directory&gt;
 &lt;/VirtualHost&gt;</pre>
<p>Save.</p>
<h3 id="install-wordpress">Install WordPress</h3>
<p>Download the latest version of WordPress, unzip it, and put its contents into <code>C:\wamp\www\example_com</code>.</p>
<p>Go to <code>example.com</code> and you should see the WordPress installation screen. Follow the wizard. The database name is the one you created earlier. The username (by default) is &#8220;root&#8221; and the password is blank (null).</p>
<h2 id="code-editor">Code Editor</h2>
<p>You may use Notepad to do all of your development. Pat yourself on the back; you&#8217;re hardcore. You&#8217;re also missing out.</p>
<p>Finding the right software is hard. Some are ugly, featureless, slow, or dead. A couple years ago I found <strong><a href="http://aptana.com/">Aptana</a></strong>. Its an <acronym title="Integrated Development Environment">IDE</acronym>, which basically means that it does way more than edit files.</p>
<p>What does an <acronym title="Integrated Development Environment">IDE</acronym> (and specifically Aptana) offer?</p>
<ul>
<li>Remote <acronym title="File Transfer Protocol">FTP</acronym>/<acronym title="Secure File Transfer Protocol">SFTP</acronym> file editing. Upload/download of files.</li>
<li>Code completion: <acronym title="Hypertext Preprocessor">PHP</acronym>, <acronym title="Cascading Style Sheets">CSS</acronym>, <acronym title="HyperText Markup Language">HTML</acronym> and more.</li>
<li>Real-time error/warning checking against <acronym title="World Wide Web Consortium">W3C</acronym> standards.</li>
<li>Local projects</li>
</ul>
<p>After you install Aptana you can create a project.</p>
<ol>
<li>Go to &#8220;New&#8221; → &#8220;Project&#8230;&#8221;</li>
<li>Name your project (maybe <code>example.com</code>)</li>
<li>Uncheck &#8220;Use default location&#8221;.</li>
<li>Browse to and choose <code>C:\wamp\www\example_com</code></li>
<li>Click Finish</li>
</ol>
<p>Your project now contains all WordPress core files, themes, and plugins. Use the project explorer to view all of your files</p>
<p>You can also use Aptana to connect to <acronym title="File Transfer Protocol">FTP</acronym> and remotely edit files. A better method may be to edit locally and use Aptana&#8217;s synchronization features to push the files live after you&#8217;ve tested locally.</p>
<h2 id="source-control">Source Control</h2>
<p>At this point you don&#8217;t need to go any further unless you&#8217;re interested in using source control. Everything we&#8217;ve done so far is good enough for a local environment and/or remote editing. But you can make things even beefier with source control&#8230;</p>
<p>Source control can be confusing and I&#8217;m not going to explain everything here. Instead I&#8217;m just going to layout how to use various tools to interact with <acronym title="Subversion">SVN</acronym>.</p>
<p>For those a little unfamiliar though, here&#8217;s some benefits of source control:</p>
<ul>
<li>History of changes</li>
<li>Backup of code</li>
<li>Teams can work on the same code simultaneously</li>
</ul>
<p>I use a few different repository systems, but my favorite is <strong><a href="http://beanstalkapp.com/">Beanstalk</a></strong>. A single feature makes Beanstalk amazing: <strong>deployment</strong>. More on this in a bit.</p>
<h3 id="svn-setup">SVN setup</h3>
<p>Repository structure is important to get right. There&#8217;s lots of ways to do it and you probably will need to tailor it to your project&#8217;s needs. But imagine you&#8217;re developing several themes and plugins. This is the organization I&#8217;m using for just that:</p>
<pre><code>
/
    /themes/
        /my-theme/
            /branches/
            /tags/
            /trunk/
                index.php
                style.css
    /plugins/
        /my-plugin/
            /branches/
            /tags/
            /trunk/
                my-plugin.php
</code></pre>
<p>This organization allows you to add multiple themes and plugins and keep them each separate from each other and allows you to tag a new version of the theme/plugin.</p>
<p>Create that structure in Beanstalk or whichever solution you&#8217;re using. Add a theme or plugin directory and put some files in its <code>trunk</code> directory.</p>
<h3 id="checkout-locally">Checkout locally</h3>
<p>Now we want to checkout our theme/plugin locally and have it sit right inside the local WordPress installation we already setup.</p>
<ol>
<li>Install <a href="http://tortoisesvn.net/">TortoiseSVN</a>
<ol>
<li>This allows you to do <acronym title="Subversion">SVN</acronym> actions within the Windows file system</li>
</ol>
</li>
<li>You&#8217;ll need to restart after you install. So <a href="http://twitter.com/home?status=@devpress+A+really+sweet+WordPress+development+environment+http://devpress.com/?p=2026">tweet this post</a> so you know how to get back to it ;)</li>
<li>Navigate to <code>C:\wamp\www\example_com\wp-content\themes</code></li>
<li>Add a new directory with the name of your theme, <code>my-theme</code></li>
<li>Right click <code>my-theme</code> and choose &#8220;SVN Checkout&#8230;&#8221;</li>
<li>Enter the URL of your repository</li>
<li>Make sure your Checkout directory is the one you right clicked on</li>
<li>Click OK</li>
</ol>
<p>You&#8217;ll probably have to enter your <acronym title="Subversion">SVN</acronym> credentials as well.</p>
<p>Now you can login to your local WordPress and your theme/plugin will be visible (assuming you have the necessary files).</p>
<p>You can edit files and view the changes locally, then once you&#8217;re satisfied with your work you can commit it to the repository.</p>
<h3 id="deployment">Deployment</h3>
<p><em>Here&#8217;s the fun part</em> (and we&#8217;re almost finished). Like I said at the start, it annoys me to have to manually upload and overwrite files via <acronym title="File Transfer Protocol">FTP</acronym>. Its just an extra step and more room for error.</p>
<p>Deployment works like file syncing. Beanstalk keeps a revision record and puts it on each of your servers. This file tells it which other files you&#8217;ve made changes to, added, or deleted. Then it scours your server and syncs the files by making it identical to latest revision in your repository.</p>
<p>Using Beanstalk you can automatically deploy all commits to your remote server. I don&#8217;t suggest doing this exactly.</p>
<p><strong>Staging server</strong></p>
<p>Use Beanstalk to setup an automatic deployment every time you commit to your <em>staging server</em>. Pushing all of your commits to a staging server makes your latest revisions remotely accessible. This is handy for showing clients or for non-developers to see a working example (i.e. quality assurance, marketing, etc.). Its also a good idea to keep the staging server environment identical (or very similar) to what you&#8217;ll be pushing it to on production.</p>
<p><strong>Production server</strong></p>
<p>Finally this is your 100% publicly accessible live website. I use Beanstalk to manually deploy to this environment. Automatic deployment to production may work for you (especially on smaller, less critical sites) but you&#8217;ll need to be ready to roll back in the event of any problems.</p>
<p>After staging looks and works perfectly then I use a few clicks of the mouse inside of Beanstalk to manually deploy the latest version. Within seconds I&#8217;m confident that all production files are up to date.</p>
<p><strong>Roll back</strong></p>
<p>In the case that something goes horribly wrong, just manually deploy the previous revision. Its so easy!</p>
<h2>Show Me Yours</h2>
<p>I&#8217;d love to know how you have your environments setup. I&#8217;m willing and ready to improve mine. Streamlining the process just means I can spend more time paying attention to better code.</p>
]]></content:encoded>
			<wfw:commentRss>http://devpress.com/blog/a-really-sweet-wordpress-development-environment/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
	</channel>
</rss>

