<?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>NickTemple &#187; Development</title>
	<atom:link href="http://www.nicktemple.com/category/software-development/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nicktemple.com</link>
	<description>Software Marketing and Personal Productivity</description>
	<lastBuildDate>Thu, 12 Jan 2012 01:05:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>phpED Debugging with SSH</title>
		<link>http://www.nicktemple.com/2012/500/phped-debugging-with-ssh.html</link>
		<comments>http://www.nicktemple.com/2012/500/phped-debugging-with-ssh.html#comments</comments>
		<pubDate>Thu, 12 Jan 2012 01:04:57 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=500</guid>
		<description><![CDATA[If you are using the NuSphere PHP phpEd editor with integrated debugger, you may be running it over SSH as I am. One problem you may encounter is that during calls to DebugBreak(); (used, for example, when debugging AJAX calls), the server gets confused and tries to connect back to your local machine &#8211; presumably, [...]]]></description>
			<content:encoded><![CDATA[<p>If you are using the NuSphere PHP phpEd editor with integrated debugger, you may be running it over SSH as I am.  One problem you may encounter is that during calls to  DebugBreak(); (used, for example, when debugging AJAX calls), the server gets confused and tries to connect back to your local machine &#8211; presumably, this will be an epic FAIL (or you wouldn&#8217;t be port-forwarding in the first place!).</p>
<p>Here&#8217;s a quick fix:</p>
<p><code><br />
    $_SERVER["REMOTE_ADDR"] ='127.0.0.1';<br />
     DebugBreak();<br />
</code></p>
<p>By setting the remote address, the DebugBreak function call will then call the local machine, and appropriately have the connection port-forwarded over your SSH connection.</p>
<p>One additional thought &#8230; if anyone has (or can create) an updated version of the DBG bar for Chrome and/or Firefox, let me know. The ones I&#8217;ve tried don&#8217;t work with the latest version of the browsers. I&#8217;d be willing to consider financially sponsoring such a project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2012/500/phped-debugging-with-ssh.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternatives to upgrading Joomla from 1.5</title>
		<link>http://www.nicktemple.com/2011/478/alternatives-to-upgrading-joomla-from-1-5.html</link>
		<comments>http://www.nicktemple.com/2011/478/alternatives-to-upgrading-joomla-from-1-5.html#comments</comments>
		<pubDate>Mon, 10 Oct 2011 15:53:20 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=478</guid>
		<description><![CDATA[I read with interest Jen Kramer&#8217;s article on when and how to migrate clients from Joomla! 1.5 to the next version of Joomla, due to the end of life of the product in April 2012. Through my Joomla work, I have influence over 10,000 Joomla 1.5 sites. Of these, about 200 of those sites are [...]]]></description>
			<content:encoded><![CDATA[<p>I read with interest <a href="http://magazine.joomla.org/issues/Issue-Aug-2011/item/530-Nine-Questions-When-Preparing-Clients-for-Joomla-1-8">Jen Kramer&#8217;s article</a> on when and how to migrate clients from Joomla! 1.5 to the next version of Joomla, due to the end of life of the product in April 2012. </p>
<p>Through my Joomla work, I have influence over 10,000 Joomla 1.5 sites.  Of these, about 200 of those sites are direct (or nearly so) clients of mine that I&#8217;ll have to upgrade if the time comes.</p>
<p>Unfortunately, the migration to Joomla 1.6/1.7/2.0/2.5 is not a very compelling story. Most of these clients have sites that work today, and while they are looking for incremental improvements, they are not looking to rebuild the site &#8211; pretty much ever. They are definitely not interested in losing functionality (due to incompatible plugins) or actually paying for such an upgrade.  I need help in solving this dilemma &#8211; one that lessens or eliminates the impact of migration.</p>
<p><span id="more-478"></span></p>
<p><strong>The Economic Impact of Migration</strong></p>
<p>Let&#8217;s assume there are around <a href="http://www.finishjoomla.com/blog/6/how-many-websites-are-using-joomla-a-closer-look/">two million Joomla websites</a>, and nearly all of them are running 1.5 and plan to upgrade. Also assume that each migration will cost the client, on average, $250 to migrate by the time all is said and done. We&#8217;re looking a 1/2 billion dollar impact to the Joomla community. Halve both numbers, and a conservative estimate is $100 million impact. Not small change in any book, I&#8217;d imagine.</p>
<p>Other than &#8220;security concerns&#8221; because 1.5 isn&#8217;t being supported, what are the main reasons to upgrade current systems? Amy Stephens states, in her blog post about <a href="http://www.alltogetherasawhole.org/profiles/blogs/is-molajo-a-fork-does-joomla">Molajo</a>:</p>
<blockquote><p>
Because it sets the foundation for tighter integration through common events and creates an extremely extensible layout system adding in alternative layouts and alternative menu items. That is on top of ACL and nested categories.
</p></blockquote>
<p>Many of these same benefits: An extended API, tighter event integration, better menu management, a superior ACL model to what is in 1.6+, and even a better category system can be done in a way (in many cases backporting current 1.6 code directly) that does not eliminate compatibility with the 1.5 API, keeping current extensions working and not requiring a migration or break existing sites. This is what WordPress does on every release &#8211; it moves forward without (for the most part) breaking anything, and never requires a site-rebuild or &#8220;migration&#8221;.</p>
<p>What I&#8217;d like to say to my client is, &#8220;no, you don&#8217;t have to move off your current platfom&#8221; &#8211; and not even mention that any upgrade is required, just an option. If I don&#8217;t have an alternative, and force the move for the clients, I&#8217;m going to lose some Joomla customers to WordPress (even a few to Drupal), and very possibly lose some customers entirely. I know from talking to other webmasters that I&#8217;m not alone in this dilemma.</p>
<p>As I see it, there are three related issues that need to be addressed to keep Joomla! 1.5 viable going forward:</p>
<p>#1) Joomla 1.5 core support needs to be extended significantly past the April 2012 date. (security patches)</p>
<p>#2) Extension developers would need to commit to continuing to support the 1.5 API, for now and in the future. </p>
<p>#3) For long term viability, I&#8217;d love to see the Joomla! 1.5 core enhanced with significant new features, in a backward compatible way. Minor changes to the API, similar to what <a href="http://www.alltogetherasawhole.org/profiles/blogs/overriding-joomla-16-framework">Molajo has done with 1.6</a>.</p>
<p>I&#8217;m willing to contribute however it makes sense to do so, in collaboration with others of a like mind.</p>
<p>Joomla is a community project.  Is it possible for the community to commit to supporting the current Joomla 1.5 API and extensions, and if possible, continue to improve the 1.5 code base in a backwards compatible way?  Or are there other solutions I&#8217;ve missed?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2011/478/alternatives-to-upgrading-joomla-from-1-5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Shortcodes come to Joomla</title>
		<link>http://www.nicktemple.com/2011/463/wordpress-shortcodes-forjoomla.html</link>
		<comments>http://www.nicktemple.com/2011/463/wordpress-shortcodes-forjoomla.html#comments</comments>
		<pubDate>Tue, 04 Oct 2011 02:02:02 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[joomla 1.5]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=463</guid>
		<description><![CDATA[Today, I&#8217;m releasing a plugin I&#8217;ve been using on my own sites for the past 2 years or so &#8230; it takes (I means, literally, copies) the WordPress shortcode system and installs it into Joomla! This plugin brings WordPress shortcodes to Joomla. WordPress Shortcodes for Joomla. Cool, eh? Having just returned from Wordcamp Louisville 2011, [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I&#8217;m releasing a plugin I&#8217;ve been using on my own sites for the past 2 years or so &#8230; it takes (I means, literally, copies) the WordPress shortcode system and installs it into Joomla! This plugin brings WordPress shortcodes to Joomla. WordPress Shortcodes for Joomla. Cool, eh?</p>
<p><span id="more-463"></span></p>
<p>Having just returned from <a href="http://2011.louisville.wordcamp.org/">Wordcamp Louisville 2011</a>, I&#8217;ve come to respect WordPress &#8230; and the organization behind the software, even more. So much so I&#8217;m sure I&#8217;ll be doing much more with WordPress in the future. I already have two of my marketing sites running on WordPress (Integral Research and Hermes Mobile), though Joomla 1.5 is still my CMS of choice when doing complex, custom applications.</p>
<p>A shortcode is a WordPress-specific code that lets you do nifty things with very little effort. Shortcodes can embed files or create objects that would normally require lots of complicated, ugly php code in just one line. Shortcode = shortcut.</p>
<p>With this plugin, you can use the same API in Joomla.</p>
<p>Check out the <a href="http://www.nicktemple.com/projects/shortcodes-for-joomla">Shortcodes for Joomla</a> project page for documentation and download links.</p>
<p>I&#8217;d love to hear your thoughts on the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2011/463/wordpress-shortcodes-forjoomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla! Numbering Scheme &#8230; what does it mean?</title>
		<link>http://www.nicktemple.com/2011/424/joomla-numbering-scheme-what-does-it-mean.html</link>
		<comments>http://www.nicktemple.com/2011/424/joomla-numbering-scheme-what-does-it-mean.html#comments</comments>
		<pubDate>Sun, 28 Aug 2011 20:05:30 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[joomla]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=424</guid>
		<description><![CDATA[It&#8217;s time for me to weigh in on something that&#8217;s going on in the Joomla! community. There&#8217;s been discussion about the Joomla! version release numbering scheme, and the current thinking about how the next version is to be numbered. Below I present a case for using either 1.8 or 2.0 &#8230; either of which logically [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time for me to weigh in on something that&#8217;s going on in the Joomla! community.</p>
<p>There&#8217;s been discussion about the Joomla! version release numbering scheme, and the current thinking about how the next version is to be numbered. Below I present a case for using either 1.8 or 2.0 &#8230; either of which logically follows the current 1.7.  I present the idea that jumping directly to version 2.5 will create additional and unnecessary confusion inside and outside the Joomla! community.</p>
<p>I <a href="http://community.joomla.org/blogs/leadership/1472-vote-for-the-version.html">read the reasoning</a>, I understand it, and I don&#8217;t agree with it. And here&#8217;s why.</p>
<p><span id="more-424"></span></p>
<p>I sell Joomla! into <a href="http://integralrd.com/development/rightscale-announces-winners-of-its-spring-servertemplate-showdown">enterprises on the cloud</a>.  These companies are already somewhat fearful of &#8220;open source&#8221;, and need to see some consistency in order to be comfortable. They are used to traditional numbering schemes with major / minor / release versions, and are mostly comfortable with that scheme &#8211; as is the rest of the development world.</p>
<p>I argue that 1.7 -&gt; 2.5 doesn&#8217;t make sense, except for what seems to be an arbitrary decision that no one outside of the Joomla! community knows. The fact is, people generally don&#8217;t expect  a x.5 version to be the LTS release. People do expect version numbers to be consistent, and not to arbitrarily skip versions. For both reasons, it seems to me that the next version should not be called &#8220;2.5&#8243;.</p>
<p>Here&#8217;s the way it works for most software, and the way it could work for Joomla!:</p>
<p>- Major versions are just that &#8211; major upgrades, that require significant effort to upgrade (new extensions, database update, etc). Components should mostly work within each major version, without upgrade.<br />
- point releases are usually minor updates, not requiring  major work to upgrade and for the most part being backward compatible. Introducing new API&#8217;s an functionality here is fine &#8211; just don&#8217;t break existing components.<br />
- sub-point releases are just new builds and updates, generally security and bug fixes, and should always be backward compatible.<br />
- LTS releases (Long Term Stability) can come wherever you want, though usually at a specific major release (like 2.0). Just mark it&#8221;LTS&#8221; when you&#8217;re ready, and be done.</p>
<p>Yes, there are exceptions to these rules, but they are standard enough that many organizations actually require management approval to move from one &#8220;major&#8221; version to another.  When confronted with Joomla!&#8217;s numbering system, confusion prevails, and some organizations require management approval /testing / shakeout period for ANY Joomla! upgrade (this stems in part from some seriously bad releases in the 1.5.x series)</p>
<p>Let&#8217;s go back to the beginning and look at the way Joomla! could have been numbered:</p>
<p>1.0 &#8211; Great, it was mostly a revamped Mambo, but starting with 1.0 is usually not  a &#8220;bad&#8221; idea. Though from a maturity standpoint, Joomla! 1.0 was really closer to a 5.0 product.<br />
1.0.1 &#8211; that was good, all releases were extremely minor, and broke very little backwards compatibility. These releases were fine, though I think we all wished for some additional movement forward in those days.</p>
<p>1.5 &#8211; this is where things got screwy. It was NOT a minor update, rather a rewrite and losing compatibility with Mambo.  This needed to either follow Java numbering system, and been 1.1 &#8211; or , considering a &#8220;database migration&#8221; was necessary rather than just an update, and it became later a &#8220;LTS&#8221; release, this probably could have been 2.0 LTS. I prefer the 2.0 LTS route, and will stick with it in the rest of the discussion.</p>
<p>Note that there was a big debate on whether a specific version of Joomla! (1.5.16? I forget) that  upgraded the core mootools version should be included. Using the proposed numbering system, that could have become J! 2.1 in  the proposed scheme &#8230; a point release being more than a bug fix, but less than a full, incompatible, release &#8230; similar to what we have in 1.7 today. This could have also been a point release with php 5.3 compatibility was introduced.</p>
<p>1.6 &#8211; a black sheep, with short life cycle, yet a full &#8220;migration&#8221; was needed, so this could have been version 3.0,</p>
<p>1.7 &#8211; for the first time, a point release of Joomla! not requiring a complete database migration, this was the  best candidate for a point release so far. I call it 3.1</p>
<p>Next Version &#8211; Do we have to &#8220;migrate&#8221; our sites? Do components cease working as they did with 1.5 and 1.6? Yes &#8211; then this needs to be a major release, esp. since it&#8217;s a long term release. Given my numbering scheme, it either becomes 3.2 LTS or 4.0 LTS, completely depending on whether I can use my existing extensions with it, and whether or not I have to &#8220;migrate&#8221;. The reality is that it will probably be 1.8 LTS (if compatible with the current 1.7), or 2.0 LTS, if not.</p>
<p>The idea of numbering Joomla! LTS relases &#8220;x.5&#8243; should be dropped. Where that came from, I can only guess. But continuing it means that there will always be a time when Joomla! arbitrarily jumps from it&#8217;s current version &#8220;up&#8221; to the nearest .5 &#8230; skiping a major release opp (like 2.0).  And, what happens if we were ever to get to, for example 3.4 and wanted to go to 3.5, without doing an LTS?</p>
<p>There&#8217;s no way to to read the future, and arbitrarily saying that a specific <strong>minor</strong> release is a &#8220;stable&#8221; and long term supported release is a certain way to guarantee more weird numbering schemes and skipped versions for the lifetime of Joomla! &#8211; resulting in continuing confusion and missed opportunities.</p>
<p>Given where Joomla! is and the numbering decisions made to date, the key question seems to be: a) is a database migration required and b) will all current 1.6 / 1.7 extensions continue to work? If yes, then this release <strong>is</strong> 1.8 LTS. We can wait on 2.0 until more functionality is available, and have a killer 2.0 launch party.</p>
<p>If not, and another migration is required, then this version is Joomla! 2.0 LTS . We still have a killer J! 2.0 launch party and a major marketing event.</p>
<p>Or, use the numbering scheme above, and let&#8217;s jump directly Joomla! 4.0 LTS (which really is where Joomla! is today), and leave all the numbering mistakes behind. Let&#8217;s let the Joomla! team take credit for the awesome work put into 1.5 and 1.6, and put Joomla! stability wise where it is &#8230; as  mature, 4.0 product (or 8.0, if you want to consider the Mambo roots).</p>
<p>When I say to a potential client, &#8220;think of it this way. Joomla! started out as Mambo, when they forked, it became Joomla! 1.0.  The next version, still used today, they called that version 1.5 but think of it as 2.0.  Joomla!&#8217;s 1.6 release was also a major update, think of that as 3.0, but 2.0 is still being supported for the next few months. The latest Joomla! is what they call 1.7, but is really a minor update and &#8220;just works&#8221;, think of that as 3.1.  It&#8217;s the latest, but not all extensions support it yet &#8211; though they should in time. So we&#8217;re really looking at the choice between using Joomla 2.0 and 3.1 for your site, and here&#8217;s what the differences are &#8230;&#8221;.</p>
<p>People <em>get</em> that, though sometimes I have to draw a chart. They understand &#8220;big&#8221; update vs. &#8220;little&#8221; update. They don&#8217;t have to be told that extensions working on 1.0 have to be updated to 2.0 and again for 3.0, and that for the most part, stuff just works between 3.0 and 3.1. Such a numbering scheme <em>makes sense</em> and imparts valuable compatibility information.</p>
<p>Compare that to what seems to be the arbitrary: your 1.0 extensions will work on 1.5 (kind of), 1.5 extensions won&#8217;t work on 1.6, but 1.6 extensions works on 1.7. We don&#8217;t know about the next version, yet. [Then I have to answer the inevitable: what happened to 1.1, 1.2, and 1.3, and 1.4?]  It becomes a thought process no one really wants to have, and can help dissuade people from even using Joomla! (due to perceived uncertainties that aren&#8217;t there in reality, but are introduced by the current arbitrary numbering schemes.</p>
<p>Going directly to Joomla! 2.5 is, in my opinion, even worse &#8211; confusing for everyone the Joomla! community is trying to communicate with. Especially if for some reason 1.7 extensions actually work on the next version (and I hope they do).</p>
<p>What I would like to see is a numbering system follows industry best practices and that is easy to understand.<br />
a) I don&#8217;t have to database migrations between minor releases<br />
b) extensions mostly work between minor releases</p>
<p>To solve the LTS issue, Long Term Support releases could be designated simply by the term &#8220;LTS&#8221;, regardless of the version number at the time of release.</p>
<p>This is opinion, and I&#8217;m sure some will dissent. I welcome open discussion, here or on <a href="http://twitter.com/commercemeister">twitter</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2011/424/joomla-numbering-scheme-what-does-it-mean.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AWeber DOES have an API! (kind of)</title>
		<link>http://www.nicktemple.com/2010/385/aweber-does-have-an-api.html</link>
		<comments>http://www.nicktemple.com/2010/385/aweber-does-have-an-api.html#comments</comments>
		<pubDate>Mon, 27 Dec 2010 01:17:31 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[AWeber]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[aweber]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=385</guid>
		<description><![CDATA[I&#8217;ve been working on updating all of our Joomla! and MWG components for the new year, J1.6, and MWG 3.0 &#8211; all to be released &#8220;soon&#8221;. In doing so, I&#8217;ve had a chance to revisit many of our service providers, including AWeber (aff.). UPDATED: 12/28 &#8230; it&#8217;s a currently a reporting interface. Further to my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on updating all of our Joomla! and MWG components for the new year, J1.6, and MWG 3.0 &#8211; all to be released &#8220;soon&#8221;.</p>
<p>In doing so, I&#8217;ve had a chance to revisit many of our service providers, including <a href="http://www.intellispire.com/try/aweber">AWeber</a> (aff.).</p>
<p>UPDATED: 12/28 &#8230; it&#8217;s a currently a reporting interface.</p>
<p><span id="more-385"></span></p>
<p>Further to my post, &#8220;<a href="http://www.nicktemple.com/2008/239/aweber-needs-an-api.html">AWeber Needs an API</a>&#8220;, it seems that now <a href="http://www.aweber.com/faq/questions/200/Does+AWeber+Have+an+API%3F">AWeber <strike>HAS</strike> claims to have an API</a>!. (nearly) Awesome.</p>
<p>Being one of the first to port our current systems to the presumably better and more stable API (vs. the email parser) would be killer.</p>
<p>Stay tuned as I explore the capabilities of the new AWeber API and report on them.</p>
<p>UPDATED: The api information is actually pretty easy to find at <a href="http://labs.aweber.com">http://labs.aweber.com</a>. Unfortunately, it isn&#8217;t usable for much as-is.</p>
<p>I think this interface is more aptly called a &#8220;<b>reporting interface</b>&#8221; rather than &#8220;programming interface&#8221;, because in reality all you can do (right now) is create reports &#8211; you can&#8217;t actually program anything.</p>
<p>From the site:<br />
<code><br />
The 1.0 release of the AWeber API is the first version of this system made available to our customers and developers. Currently, only read-only access is supported; however, the ability to modify account data is planned for future versions. Keep an eye on this site for announcements about new features and API upgrades.<br />
</code></p>
<p>In this case &#8220;read only&#8221; means that while you can look at your data, you can&#8217;t actually change anything: i.e., still impossible to an email address to a list, unsubscribe someone or automatically start a broadcast. So, it&#8217;s not actually usable in it&#8217;s current form to program applications.</p>
<p>That said, AWeber has put in some work to the object model, and in future versions it may be usable for more than trivial applications.</p>
<p>Disappointing, but at least we&#8217;re moving in the right direction.</p>
<p>You can click to find out more about <a href="http://www.intellispire.com/web/Joomla-Extensions/jomlink-for-aweber.html">AWeber for Joomla!</a> and <a href="http://marketingwebsitegenerator.com/">AWeber for MWG</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2010/385/aweber-does-have-an-api.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mnogosearch Search Engine PHP5 Class</title>
		<link>http://www.nicktemple.com/2010/373/mnogosearch-search-engine-php5-class.html</link>
		<comments>http://www.nicktemple.com/2010/373/mnogosearch-search-engine-php5-class.html#comments</comments>
		<pubDate>Mon, 20 Dec 2010 02:40:54 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=373</guid>
		<description><![CDATA[I love search engines. One of my favorites is the mnogosearch engine that I&#8217;ve been using since Mark Joyner&#8217;s Aesop.com. In this article, I present a some object-oriented PHP code that can be used to access the search results. Recently, I had the chance to re-visit the need to create a vertical search engine portal [...]]]></description>
			<content:encoded><![CDATA[<p>I love search engines.  One of my favorites is the <a href="http://www.mnogosearch.org/">mnogosearch</a> engine that I&#8217;ve been using since Mark Joyner&#8217;s Aesop.com. In this article, I present a some object-oriented PHP code that can be used to access the search results.</p>
<p><span id="more-373"></span></p>
<p>Recently, I had the chance to re-visit the need to create a vertical search engine portal for a project I&#8217;m working on. I was pleasently surprised to find out the mnogosearch is still one of the &#8220;better&#8221; search engines for small to medium sized sites &#8211; up to a few million documents (though I&#8217;ve scaled it well beyond that in the past ;->).  </p>
<p>The PHP native extension has recently (late 2010) been updated with new features, and I was able to get it compiled and running  &#8211; including a few test sites indexed &#8211; in just a few hours.</p>
<p>The php example code worked right out of the box.  A problem, though, was that looking at the very functional style of coding, it was somewhat difficult to extract what actually was part of the search process and what was UI.  </p>
<p>So, as a learning exercise I set out to create a basic &#8220;object oriented&#8221; wrapper around the extension. While the class is somewhat verbose, it does better encapsulate the actual functions and settings available within the extension.</p>
<p>This directly allows my ide (Nusphere PHPed) to tell me what functions I have available from the class (and underlying mnogosearch extension) directly from the IDE. It also helps with code completion, and makes displaying results in a template very easy.</p>
<p>I&#8217;ve uploaded the class, as well as a mostly-complete rewrite to github, you can find it here:<br />
<a href="https://github.com/ntemple/Mnogosearch-PHP-Search-Class">https://github.com/ntemple/Mnogosearch-PHP-Search-Class</a></p>
<p>I&#8217;d call this a &#8220;version 0&#8243; piece of code &#8211; it works, but hasn&#8217;t been cleaned up, and is very much subject to change.  The interface needs some features, should be a little more consistent, and the resultset code needs some more options.  The updated search.php has a few places that need some work, most notably in [not] handling the cached files nor dictionaries / stopwords. Additional inline documentation could be a bonus improvement as well.</p>
<p>Feel free to clone the repository on github, and I&#8217;ll merge changes back as they are available.</p>
<p>If you are using mnogosearch, and if you find the extension class useful, please comment here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2010/373/mnogosearch-search-engine-php5-class.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bypassing WordPress FTP Mode</title>
		<link>http://www.nicktemple.com/2010/368/bypassing-wordpress-ftp-mode.html</link>
		<comments>http://www.nicktemple.com/2010/368/bypassing-wordpress-ftp-mode.html#comments</comments>
		<pubDate>Tue, 07 Dec 2010 06:43:53 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=368</guid>
		<description><![CDATA[Having difficulty deleting files on your WordPress install? There are two options: fix FTP mode on your website, or disabe it completely. Here I show you how. It seems that like Joomla!, WordPress has an FTP mode for when it doesn&#8217;t think it can access files. This manifests itself in a mesage that says: “To [...]]]></description>
			<content:encoded><![CDATA[<p>Having difficulty deleting files on your WordPress install? There are two options: fix FTP mode on your website, or disabe it completely. Here I show you how.</p>
<p>It seems that like Joomla!, WordPress has an FTP mode for when it doesn&#8217;t think it can access files.</p>
<p>This manifests itself in a mesage that says: “<strong>To perform the requested action, connection information is required.</strong>”</p>
<p><span id="more-368"></span></p>
<p>If you want to fix the error on your site, take a look at this <a href="http://rootzone.net/wordpress-error-to-perform-the-requested-action-connection-information-is-required" rel="nofollow">article on rootzone.net</a></p>
<p>Here I&#8217;ll show you how to disable this &#8220;feature&#8221;.</p>
<p>Unfortunately, the auto-detection logic fails in some edge cases, particularly in the case of one of my main servers, and what I want to do is to <strong>permanently disable FTP mode in wordpress</strong>.</p>
<p>After a little digging, it seems that there is a way to tell WordPress to ignore FTP Mode.</p>
<p>Simply add the following line to your wp-config.php file:</p>
<pre>
define( 'FS_METHOD', 'direct');
</pre>
<p>Direct is native PHP. Note that you can also use other values, such as &#8216;ssh&#8217;, &#8216;ftpext&#8217; or &#8216;ftpsockets&#8217;. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2010/368/bypassing-wordpress-ftp-mode.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using MySQL to implement a key-value  store</title>
		<link>http://www.nicktemple.com/2010/348/using-mysql-to-implement-a-no-sql-key-value-store.html</link>
		<comments>http://www.nicktemple.com/2010/348/using-mysql-to-implement-a-no-sql-key-value-store.html#comments</comments>
		<pubDate>Wed, 15 Sep 2010 03:58:40 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=348</guid>
		<description><![CDATA[I&#8217;ve been a fan of storing data in other ways than a SQL database for a very, very long time.  Many of my projects have had a notion of some sort of &#8216;flat file&#8217; or other type of data registry. In the Perl days, persistent Perl hashes were used. So with interest, I&#8217;ve been watching [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a fan of storing data in other ways than a SQL database for a very, very long time.  Many of my projects have had a notion of some sort of &#8216;flat file&#8217; or other type of data registry. In the Perl days, persistent Perl hashes were used.</p>
<p>So with interest, I&#8217;ve been watching the &#8220;no SQL&#8221; movement and various software and techniques they&#8217;ve released.</p>
<p>One problem with &#8220;playing&#8221; with some of these technologies is that most shared hosting accounts aren&#8217;t going to allow you to install the required application servers (for example, <a href="http://code.google.com/p/redis/">redis</a>) on your account.</p>
<p>Given that fact, I&#8217;ve implemented a small PHP library that supports the very basics of the Redis command set using &#8230; MySQL.</p>
<p>Ok, so the concept is s a total oxymoron, but useful anyway.</p>
<p>It&#8217;s not fast, it&#8217;s not particularly scalable, and keys are limited to 256 bytes, while data is stored as a long blob. Those limitations asside, it does allow you to play with some of the concepts without any additional technology investment or tools. When you&#8217;re ready, you can run a redis server and pretty much drop in the <a href="http://github.com/nrk/predis/">Predis</a> client.</p>
<p>Where possible, I&#8217;ve implemented each function in terms of the get / set primitives, with optional mysql locking.</p>
<p>I&#8217;m hoping other people will improve the code, remove the reliance on the mysql class, and implement additional features like sets and hashes.</p>
<p>Code is available from git-hub:<br />
<a href="http://github.com/ntemple/mysql-keyvalue">http://github.com/ntemple/mysql-keyvalue</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2010/348/using-mysql-to-implement-a-no-sql-key-value-store.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AWeber for Joomla &#8211; The Evolution of a Plugin</title>
		<link>http://www.nicktemple.com/2010/335/aweber-for-joomla-the-evolution-of-a-plugin.html</link>
		<comments>http://www.nicktemple.com/2010/335/aweber-for-joomla-the-evolution-of-a-plugin.html#comments</comments>
		<pubDate>Mon, 23 Aug 2010 13:18:07 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[AWeber]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[aweber]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=335</guid>
		<description><![CDATA[With the release of the updated AWeber Jomlink software, I had a chance to visit the Joomla Extensions Direction in order to create a new listing. Anyway, I found some posts that made me realize &#8230; I&#8217;ve never fully described the power that our AWeber software has. It really is the best bridge from AWeber [...]]]></description>
			<content:encoded><![CDATA[<p>With the release of the updated AWeber Jomlink software, I had a chance to visit the Joomla Extensions Direction in order to create a new listing.</p>
<p>Anyway, I found some posts that made me realize &#8230; I&#8217;ve never fully described the power that our AWeber software has. It really is the best bridge from AWeber to Joomla available. Ok, so as a proud &#8220;dad&#8221; of the software I may be a little biased.  But really, it rocks.</p>
<p>So I decided to write a post &#8230; over at the Intellispire blog &#8230; on exactly why it rocks.  And how, over the years, it has evolved from a &#8220;scratch&#8221; of approximately 12 lines of code to a complex, robust bridge to one of the most popular email services in the world.</p>
<p>Do, spend a moment and hop over to the Intellispire blog and check out this post:<br />
<a href="http://www.intellispire.com/blog/2010/08/aweber-jomlink-still-the-best-bridge/">Why the AWeber to Joomla Link (jomlink) rocks.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2010/335/aweber-for-joomla-the-evolution-of-a-plugin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aweber Needs an API</title>
		<link>http://www.nicktemple.com/2008/239/aweber-needs-an-api.html</link>
		<comments>http://www.nicktemple.com/2008/239/aweber-needs-an-api.html#comments</comments>
		<pubDate>Tue, 23 Dec 2008 15:33:02 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[AWeber]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[autoresponders]]></category>
		<category><![CDATA[aweber]]></category>

		<guid isPermaLink="false">http://www.nicktemple.com/?p=239</guid>
		<description><![CDATA[My friend Antone Roundy talks about what&#8217;s right &#8230; and wrong &#8230; with Aweber in this post. UPDATE: AWeber has an API! Let me add one to it: Aweber needs an API. (an API &#8211; or application programmiong interface &#8211; is a way for programmers to write software that talks to each other.) Not only [...]]]></description>
			<content:encoded><![CDATA[<p>My friend Antone Roundy talks about what&#8217;s right &#8230; and wrong &#8230; with Aweber in <a href="http://antone.geckotribe.com/alpha-gecko/awebers-most-irritating-problems/">this post</a>.</p>
<p>UPDATE: <a href="http://www.nicktemple.com/2010/385/aweber-does-have-an-api.html">AWeber has an API!</a></p>
<p><span id="more-239"></span></p>
<p>Let me add one to it: <strong>Aweber needs an API</strong>.<br />
(an API &#8211; or application programmiong interface &#8211; is a way for programmers to write software that talks to each other.)</p>
<p>Not only don&#8217;t they have one, but they shut people down for &#8220;scripting&#8221; the form.</p>
<p>Yes, they need the users IP address, but they can get that when they click on the confirm link &#8230; like the rest of their competitors do.</p>
<p>Most other autoresponders out there make integration easy with simple API capability: GetResponse, iContact, even MailChimp.</p>
<p>Their alternative &#8220;<a href="http://www.intellispire.com/web/page/aweber-setup.html">email parser</a>&#8221; works &#8211; usually. But it&#8217;s a pain to setup and seems flaky, not always processing the messages sent to it.<br />
A simple API to add subscribers would sure make things a LOT easier to integrate.</p>
<p>That said, I do have a whole series of <a href="http://www.intellispire.com/web/Email-Autoresponders/aweber-autoresponders-with-joomla-for-direct-email-marketing.html">Aweber based solutions</a> &#8211; mostly for Joomla, but some training videos as well &#8211; on the Intellispire site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nicktemple.com/2008/239/aweber-needs-an-api.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

