<?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>blogt0sk1 &#187; WordPress</title>
	<atom:link href="http://blog.jerodsanto.net/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jerodsanto.net</link>
	<description>with Jerod Santo</description>
	<lastBuildDate>Sat, 19 Jun 2010 14:34:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A WordPress Skeleton Key</title>
		<link>http://blog.jerodsanto.net/2009/10/a-wordpress-skeleton-key/</link>
		<comments>http://blog.jerodsanto.net/2009/10/a-wordpress-skeleton-key/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 15:40:19 +0000</pubDate>
		<dc:creator>Jerod</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.jerodsanto.net/?p=690</guid>
		<description><![CDATA[File this one under &#8220;scratching my own itch&#8221; A Problem I often use WordPress as a CMS and have a couple of sites with many users contributing. I rarely go a week without an email or phone call from a user who needs help posting. When it comes to remote support there is no substitute [...]]]></description>
			<content:encoded><![CDATA[<p>File this one under<strong> &#8220;scratching my own itch&#8221;</strong></p>
<h3>A Problem</h3>
<p>I often use WordPress as a CMS and have a couple of sites with many users contributing. I rarely go a week without an email or phone call from a user who needs help posting. When it comes to remote support there is no substitute for seeing what they&#8217;re seeing. </p>
<p>However, if you want to login to the site with their user account you have to either ask for their password (<em>tacky &#038; insecure</em>) or reset their password temporarily (<em>amateurish &#038; annoying</em>).</p>
<h3>A Solution</h3>
<p><span id="more-690"></span><br />
<img src="http://blog.jerodsanto.net/wp-content/uploads/2009/10/large_SkeletonKeyP-150x150.jpg" alt="large_SkeletonKeyP" title="large_SkeletonKeyP" width="150" height="150" class="alignright size-thumbnail wp-image-711" /><br />
Say goodbye to the days of <em>tacky, amateurish, insecure &#038; annoying</em>. The <a href="http://wordpress.org/extend/plugins/skeleton-key/" rel="external">Skeleton Key</a> plugin allows WordPress administrators (level 10 users) to login to the site as any user by authenticating with the user&#8217;s login and their own (administrator) password. Once logged in, you <em>are</em> that user. Handy, huh?</p>
<p><strong>***UPDATE***</strong><br />
The plugin has already gotten some TLC and it is now more performant and secure. We are now requiring admins to login with their own login followed by a &#8220;+&#8221; followed by the user&#8217;s login. This will cut down on the chances of people guessing administrative passwords. In a weird, corny way the &#8220;+&#8221; is your digital skeleton key&#8230; so to login as user &#8220;joeblow&#8221; as an admin I would provide:</p>
<p>username = admin+joeblow<br />
password = [the admin's password]<br />
<strong>/***UPDATE***</strong></p>
<h3>An Explanation</h3>
<p>This plugin is dead simple. It hooks into WordPress&#8217; authentication chain using 2.8&#8242;s new &#8216;<strong>authenticate</strong>&#8216; hook. The Skeleton Key&#8217;s function sets its priority higher than the built-in authentication functions and checks the password against the admin account provided before the &#8220;+&#8221; in the database. If the check fails it returns an error and the next function in the chain is called (like normal). If it matches, the <a href="http://wordpress.org/extend/plugins/skeleton-key/" rel="external">Skeleton Key</a> hands back the user account tied to the login and you&#8217;re good to go.</p>
<p>The <a href="http://github.com/sant0sk1/wp-skeleton-key" rel="external">source is on GitHub</a>, like usual. Feel free to grok it &#038; provide feedback if interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jerodsanto.net/2009/10/a-wordpress-skeleton-key/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>WordPress Console Update</title>
		<link>http://blog.jerodsanto.net/2009/07/wordpress-console-update/</link>
		<comments>http://blog.jerodsanto.net/2009/07/wordpress-console-update/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 16:33:05 +0000</pubDate>
		<dc:creator>Jerod</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://blog.jerodsanto.net/?p=540</guid>
		<description><![CDATA[It&#8217;s been awhile since I posted about my open-source WordPress Console (WPC) plugin, and enough has happened since I released it that I thought it deserved a little mention. What&#8217;s New Basic Security Thanks to Apokalyptik, the back-end PHP scripts now require a shared secret from the console before executing any code. As he so [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been awhile since I posted about my <a href="http://github.com/sant0sk1/wordpress-console" rel="external">open-source</a> WordPress Console (WPC) plugin, and enough has happened since I released it that I thought it deserved a little mention.</p>
<h3>What&#8217;s New</h3>
<ol>
<li>Basic Security</li>
<p>Thanks to <a href="http://blog.apokalyptik.com/" rel="external">Apokalyptik</a>, the back-end PHP scripts now require a shared secret from the console before executing any code. As he so eloquently described it:</p>
<blockquote><p>As is the plugin is negligently insecure (but outstandingly cool and useful and I want this plugin to be installable, thus the patch)</p></blockquote>
<p>Even though the increased security is a huge improvement from what we had before, I still wouldn&#8217;t run the plugin on production servers.</p>
<li>Tab-Completion</li>
<p>This is the biggest functional improvement to WPC by far. It was a feature that I wanted to release the plugin with initially, but it didn&#8217;t make the cut because I wanted to release early. The best thing about tab-completion is that it allows you to explore the PHP &#038; WP environments in a very fulfilling way. If you haven&#8217;t tried the plugin with this feature, please give it a go.</p>
<li>Small Things</li>
<p>WPC now handles command history with more grace. Using the up-arrow puts the cursor at the end of input, you can&#8217;t walk off the end of the history buffer, and a few other improvements to the code quality.
</ol>
<h3>Some Press</h3>
<p>Thanks to <a href="http://pixelgraphics.us/" rel="external">Doug Neiner</a> for giving WPC a solid review on the <a href="http://fuelyourcoding.com/plugin-review-wordpress-console" rel="external">Fuel Your Coding blog</a>, and for contributing to the project.</p>
<h3>What&#8217;s Next</h3>
<p>I&#8217;m not really sure. </p>
<p>I&#8217;ve considered adding in-console documentation for PHP &#038; WP functions, but not sure if people would use it much. I also have a command-line version of the console which I could spit shine and include with the plugin, but that might not be too attractive either. Maybe the plugin is as good as done. Any ideas or suggestions?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jerodsanto.net/2009/07/wordpress-console-update/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>On WordPress Plugin Release Notes</title>
		<link>http://blog.jerodsanto.net/2009/07/on-wordpress-plugin-release-notes/</link>
		<comments>http://blog.jerodsanto.net/2009/07/on-wordpress-plugin-release-notes/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 19:31:13 +0000</pubDate>
		<dc:creator>Jerod</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://blog.jerodsanto.net/?p=504</guid>
		<description><![CDATA[Plugin upgrade notifications and one-click installs are great for both developers and users alike, but there is one thing about them that I find irritating as a user, and easily avoidable as a developer: displaying reasons to upgrade. I love, love, love new software and usually can&#8217;t wait to install the latest shiny update. However, [...]]]></description>
			<content:encoded><![CDATA[<p>Plugin upgrade notifications and one-click installs are great for both developers and users alike, but there is one thing about them that I find irritating as a user, and easily avoidable as a developer: <strong>displaying reasons to upgrade</strong>.<br />
<span id="more-504"></span><br />
I love, love, love new software and usually can&#8217;t wait to install the latest shiny update. However, before I put myself at risk and click the <strong>upgrade automatically</strong> button, I&#8217;d like to know what the new release is going to do differently than what I already have. I&#8217;m pretty sure I&#8217;m not alone in this desire, as the WordPress developers have implemented a nice <strong>View Version [x] Details</strong> button right there in the plugin admin page. You know, this one:</p>
<p><img src="http://blog.jerodsanto.net/wp-content/uploads/2009/07/update_notification.png" alt="update_notification" title="update_notification" width="640" height="89" class="aligncenter size-full wp-image-506" /></p>
<p>Awesome!! Well, kinda.</p>
<p>The problem is that most plugin developers don&#8217;t include release notes with each version, rendering the awesomeness of no effect. For instance, I have <strong>no idea</strong> what I&#8217;m getting by upgrading the <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">Google XML Sitemaps</a> plugin. This is what you see after clicking the &#8220;View Version 3.1.4 Details&#8221; button:</p>
<p><img src="http://blog.jerodsanto.net/wp-content/uploads/2009/07/update_no_info.png" alt="update_no_info" title="update_no_info" width="640" height="393" class="aligncenter size-full wp-image-508" /></p>
<p>The closest thing offered there is a link to the Changelog, which opens in a new tab/window. Totally lame. Check out the <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/changelog/">Changelog</a>. It is filled with totally useful information. Make it accessible! </p>
<p>Slap your users in the face with reasons to upgrade!</p>
<p>Contrast that with what is displayed to potential upgraders (not sure if that&#8217;s even a word) of my <a href="http://wordpress.org/extend/plugins/wordpress-console/">WordPress Console</a> plugin:</p>
<p><img src="http://blog.jerodsanto.net/wp-content/uploads/2009/07/update_info.png" alt="update_info" title="update_info" width="640" height="405" class="aligncenter size-full wp-image-510" /></p>
<p>Two things to notice:</p>
<ol>
<li>WordPress provides a special tab called <strong>Changelog</strong> that will be loaded right inside this window by adding a <strong>Changelog</strong> section to your plugin&#8217;s readme.txt. USE IT!! (<a href="http://wordpress.org/extend/plugins/about/readme.txt">more readme info</a>)</li>
<li>For some people, even clicking the Changelog tab is asking too much of them. Including what&#8217;s new since the last release of your plugin right in the description is a big win for everybody involved.</li>
</ol>
<p>There are many plugins that handle this just fine, but many more that do not. My hope is that other WordPress plugin developers will adopt this practice, to the benefit of their users and the community as a whole.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jerodsanto.net/2009/07/on-wordpress-plugin-release-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing the WordPress Console</title>
		<link>http://blog.jerodsanto.net/2009/06/introducing-the-wordpress-console/</link>
		<comments>http://blog.jerodsanto.net/2009/06/introducing-the-wordpress-console/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 03:13:19 +0000</pubDate>
		<dc:creator>Jerod</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://blog.jerodsanto.net/?p=475</guid>
		<description><![CDATA[One killer feature of Ruby on Rails (for me) is script/console. Being able to interact with your code and data inside the full Rails environment is a powerful tool for development. Some days I practically live there, and if I get carried away, I do a lot of my testing there too (bad, I know). [...]]]></description>
			<content:encoded><![CDATA[<p>One killer feature of Ruby on Rails (for me) is <strong>script/console</strong>. Being able to interact with your code and data inside the full Rails environment is a powerful tool for development. Some days I practically live there, and if I get carried away, I do a lot of my testing there too (bad, I know).</p>
<p>I love Ruby and Rails, but being a contract developer means I go where the money is and recently that has been in WordPress plugin development. I enjoy developing for WordPress, but I&#8217;ve been spoiled by Rails and I often long for an interactive console for WordPress.</p>
<p>As a result, I&#8217;ve been developing (and using) a WordPress plugin built for WordPress developers. It provides an in-browser console where you can &#8220;play&#8221; with the code you&#8217;re working on.</p>
<p>If a picture is worth 1,000 words, this screencast will be worth at least a bazillion of &#8216;em:<br />
<span id="more-475"></span><br />
<object width="640" height="368"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5300607&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5300607&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="368"></embed></object></p>
<p>So there you have it. It is currently version <strong>0.1.0</strong> (very young) and I would love some help to make it even more awesome. The source code is hosted on <a href="http://github.com/sant0sk1/wordpress-console">GitHub</a>, so please fork away and I&#8217;d be happy to merge in your changes.</p>
<p>Or, simply go <a href="http://wordpress.org/extend/plugins/wordpress-console/">download</a> the plugin and try it.</p>
<p><strong>*NOTE*</strong><br />
In developing this plugin, I leaned on a few other open-source projects for inspiration (and in some cases, code). They are:</p>
<ul>
<li><a href="http://pear.php.net/package/PHP_Shell/">PHP_Shell</a></li>
<li><a href="http://code.google.com/p/htsh/">htsh</a></li>
</ul>
<p>I thank the authors for opening their source.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jerodsanto.net/2009/06/introducing-the-wordpress-console/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Clean WP Dashboard</title>
		<link>http://blog.jerodsanto.net/2009/04/clean-wp-dashboard/</link>
		<comments>http://blog.jerodsanto.net/2009/04/clean-wp-dashboard/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 13:57:15 +0000</pubDate>
		<dc:creator>Jerod</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://blog.jerodsanto.net/?p=240</guid>
		<description><![CDATA[I just published my 2nd WordPress plugin, Clean WP Dashboard. WordPress 2.7&#8242;s dashboard is a huge improvement over previous versions, but when you&#8217;re running a site with many users sometimes you just want to simplify things. Enter Clean WP Dashboard. This plugin adds a simple administration page called &#8220;Dashboard Settings&#8221; which allows you to select/de-select [...]]]></description>
			<content:encoded><![CDATA[<p>I just published my 2nd WordPress plugin, <a href="http://wordpress.org/extend/plugins/clean-wp-dashboard/">Clean WP Dashboard</a>.</p>
<p>WordPress 2.7&#8242;s dashboard is a huge improvement over previous versions, but when you&#8217;re running a site with many users sometimes you just want to simplify things. Enter <a href="http://wordpress.org/extend/plugins/clean-wp-dashboard/">Clean WP Dashboard</a>.</p>
<p>This plugin adds a simple administration page called &#8220;Dashboard Settings&#8221; which allows you to select/de-select which of the default WordPress widgets are available on the dashboard.</p>
<p>Source code is on my <a href="http://github.com/sant0sk1">GitHub account</a>, as usual.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jerodsanto.net/2009/04/clean-wp-dashboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
