<?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>MoiaGroup, Simply Great Web Design and Development in Tucson, Arizona</title>
	<atom:link href="http://www.moiagroup.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.moiagroup.com</link>
	<description>MoiaGroup, Simply Great Web Design and Custom Programming in Tucson, Arizona. We do custom flash, wordpress, drupal, php &#38; java programming.</description>
	<lastBuildDate>Tue, 27 Nov 2012 18:32:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Gravity Forms + NGP API for Payment Processing</title>
		<link>http://www.moiagroup.com/archives/gravity-forms-ngp-api-for-payments/715</link>
		<comments>http://www.moiagroup.com/archives/gravity-forms-ngp-api-for-payments/715#comments</comments>
		<pubDate>Sun, 08 Apr 2012 17:03:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Technical Nerdery]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=715</guid>
		<description><![CDATA[I recently had a client switch over to NGP from straight PayPal and they wanted to retain the ability to easily process transactions through forms done with Gravity Forms, but NGP&#8217;s famously vague documentation made it a bit more of a challenge. Here&#8217;s how you can do it. First, create your form in Gravity Forms. [...]]]></description>
				<content:encoded><![CDATA[<p>I recently had a client switch over to NGP from straight PayPal and they wanted to retain the ability to easily process transactions through forms done with Gravity Forms, but NGP&#8217;s famously vague documentation made it a bit more of a challenge. Here&#8217;s how you can do it. First, create your form in Gravity Forms. Then, add these items to your functions.php:</p>
<p>Be sure to download the <a  href="http://www.newmediacampaigns.com/blog/accept-campaign-donations-with-the-ngp-contribution-api">New Media Campaigns</a> NGP API toolkit and put the NgpDonation.php in your theme&#8217;s &#8220;includes&#8221; folder. Or wherever you like.</p>
<pre>add_action("gform_validation", "process_credit_card_data");

/*
* Courtsey of
* http://www.newmediacampaigns.com/blog/accept-campaign-donations-with-the-ngp-contribution-api
* http://www.gravityhelp.com/documentation/page/Gform_validation
*/
function process_credit_card_data($validation_result) {
    // print_r($form); // for debugging
    // print_r($validation_result);
    // print_r($_POST);
    if ($validation_result['is_valid']) {
        $cycle = strftime("%Y", time());
        /* ******************** FORM ID 2-3 ******************** */
        if (($validation_result['form']['id'] == 2)) {
            $source = "12LunchPhx";
            // attempt payment -- being ready to reject if needed.
            // prepare fields
            $lastName = $_POST['input_1_6'];
            $firstName = $_POST['input_1_3'];
            // My form has a checkbox to say "same as billing?"
            if ($_POST['input_28_1'] == "Yes") {
                // use reg. address
                $address1 = $_POST['input_2_1'];
                $zip = $_POST['input_2_5'];
                } else {
                // use billing address
                $address1 = $_POST['input_27_1'];
                $zip = $_POST['input_27_5'];
            }
            // this makes testing a lot less expensive.
            // note that we're using the Gravity Forms auto-totalling here.
            if (trim($lastName) == "test") {
                $amount = 1;
                } else {
                $amount = $_POST['input_29'];
            }
            $ccnum = $_POST['input_30'];
            list($expMonth, $expYear) = explode('/', $_POST['input_31']);
            $result = do_transaction($lastName, $firstName, $address1, $zip, $amount, $ccnum, $expMonth, $expYear, $cycle, $source);
            if ($result !== true) {
                $validation_result['is_valid'] = false;
                foreach($validation_result["form"]["fields"] as &amp;$field){
                    //NOTE: replace 30 with the field you would like to show the validation on.
                    if ($field["id"] == "30"){
                        $field["failed_validation"] = true;
                        $field["validation_message"] = $result;
                        break;
                    }
                }
                } else {
                // I like to blank credit card data so it's not stored locally.
                $_POST['input_30'] = 'Blanked for liability reasons.';
            }
            return $validation_result;
            /* ******************** END FORM ID 2 ******************** */
            } else {
            return $validation_result;
        }
        } else {
        return $validation_result;
    }
}

function do_transaction($lastName, $firstName, $address1, $zip, $amount, $ccnum, $expMonth, $expYear, $cycle, $source) {
    require 'includes/NgpDonation.php';
    // Your string goes below. Will look something like the following:
    $apiString = "W8YnwP77BY4I6kSwm2xJ09n3F1J+4hGffs321fsar1n8LPMYsOrx1jPP2cKquKYeaRVqxpgJ8KkhGdQfj4Q==";
    // $amount = 1;
    //echo("do_transaction($lastName, $firstName, $address1, $zip, $amount, $ccnum, $expMonth, $expYear, $cycle)\n\n");
    $d = new NgpDonation($apiString, true, array(
    'FirstName' =&gt; $firstName,
    'LastName' =&gt; $lastName,
    'Address1' =&gt; $address1,
    'Zip' =&gt; $zip,
    'Cycle' =&gt; $cycle,
    'Amount' =&gt; $amount,
    'CreditCardNumber' =&gt; $ccnum,
    'ExpYear' =&gt; $expYear,
    'ExpMonth' =&gt; $expMonth,
    'Source' =&gt; $source
    ));
    $result = $d-&gt;save();
    if ($result) {
        return true;
        } else {
        if ( $d-&gt;hasErrors() ) {
            $errors = $d-&gt;getErrors();
            //print_r($errors);
        }
        if ( $d-&gt;hasFault() ) {
            $fault = $d-&gt;getFault();
            //print_r($fault);
        }
        $result = $d-&gt;getResult();
        $errorString = $result-&gt;VendorResult-&gt;Message;
        return $errorString;
    }
}</pre>
<p>&nbsp;</p>
<p>Thanks to <a  href="http://www.newmediacampaigns.com/blog/accept-campaign-donations-with-the-ngp-contribution-api">New Media Campaigns</a>  for their great toolkit for NGP.</p>
<p>If all  you want to do is add emails, you can pretty easily get that going by taking the above and mixing it with this:</p>
<p style="padding-left: 30px;"><a  title="Using the NGP API to add email addresses" href="http://www.moiagroup.com/archives/using-the-ngp-api/664"><strong><strong>Using the NGP API to add email addresses</strong></strong></a></p>
<p>And yeah, it&#8217;d be even better to make this into a true Gravity Forms module/plugin/whatever since you have to manually re-write the function every time you add a new form. If you do this, let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/gravity-forms-ngp-api-for-payments/715/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sorting in TinyMCE ImageManager</title>
		<link>http://www.moiagroup.com/archives/sorting-in-tinymce-imagemanager/705</link>
		<comments>http://www.moiagroup.com/archives/sorting-in-tinymce-imagemanager/705#comments</comments>
		<pubDate>Tue, 29 Nov 2011 23:24:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technical Nerdery]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=705</guid>
		<description><![CDATA[A client was already using TinyMCE throughout his custom application and asked if it would be possible to allow him to arbitrarily insert images throughout his site in any rich text box. The last thing I wanted to do was write my own media handler, so using the TinyMCE ImageManager component seemed perfect &#8212; you [...]]]></description>
				<content:encoded><![CDATA[<p>A client was already using TinyMCE throughout his custom application and asked if it would be possible to allow him to arbitrarily insert images throughout his site in any rich text box. The last thing I wanted to do was write my own media handler, so using the TinyMCE ImageManager component seemed perfect &#8212; you just create the authentication code, and away you go. However, within a day or so we realized that the plugin displays the thumbnails in the default sort provided by the system. So you could upload a file called &#8220;zzzhello.jpg&#8221; and have to flip through multiple screens of thumbanils &#8212; after just uploading it! &#8212; before you could find it to place it into your text box. Kind of dumb. So I wrote a quick and dirty fix to make the system show files most recent first instead:</p>
<p>in tiny_mce/plugins/imagemanager/classes/FileSystems/LocalFileImpl.php</p>
<p>look for</p>
<pre>function &amp;listFilesFiltered(&amp;$filter) {</pre>
<p>then, right after this line:</p>
<pre>sort($fileArray);</pre>
<p>add this:</p>
<pre>$sortedFiles = array();
foreach($fileArray as $file) {
     $key = filemtime($dir . "/" . $file);
     while(isset($sortedFiles[$key])) $key++;
     $sortedFiles[$key] = $file;
}
ksort($sortedFiles);
$fileArray = array_reverse(array_values($sortedFiles));</pre>
<p>I know it&#8217;s not the most elegant solution, but it works! Or did I miss something? Is there any easier way to do this?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/sorting-in-tinymce-imagemanager/705/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash on Mobile Devices? Not so much</title>
		<link>http://www.moiagroup.com/archives/flash-on-mobile-devices-not-so-much/703</link>
		<comments>http://www.moiagroup.com/archives/flash-on-mobile-devices-not-so-much/703#comments</comments>
		<pubDate>Wed, 09 Nov 2011 16:58:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MoiaGroup News]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=703</guid>
		<description><![CDATA[Adobe announced today that they&#8217;re abandoning Flash on mobile devices. All of them! So it looks like Steve Jobs was right all along &#8212; or maybe it just shows how quickly HTML5 is maturing into a powerful new standard. Either way, this is good news for developers: one less proprietary toolkit to work with! Read [...]]]></description>
				<content:encoded><![CDATA[<p>Adobe announced today that they&#8217;re abandoning Flash on mobile devices. All of them! So it looks like Steve Jobs was right all along &#8212; or maybe it just shows how quickly HTML5 is maturing into a powerful new standard. Either way, this is good news for developers: one less proprietary toolkit to work with!</p>
<p style="padding-left: 30px;"><a  href="http://blogs.adobe.com/flashplatform/2011/11/flash-to-focus-on-pc-browsing-and-mobile-apps-adobe-to-more-aggressively-contribute-to-html5.html" target="_blank">Read Adobe&#8217;s statement here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/flash-on-mobile-devices-not-so-much/703/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things to avoid on campaign sites</title>
		<link>http://www.moiagroup.com/archives/things-to-avoid-on-campaign-sites/700</link>
		<comments>http://www.moiagroup.com/archives/things-to-avoid-on-campaign-sites/700#comments</comments>
		<pubDate>Fri, 04 Nov 2011 18:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MoiaGroup News]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=700</guid>
		<description><![CDATA[Usability results are in: "People HATE email-gathering splash screens" -- read more here.]]></description>
				<content:encoded><![CDATA[<p>e.politics has a new blog post evaluating the current crop of Republican presidential campaign sites, and they have some great feedback for site builders:</p>
<ul>
<li>&#8220;People HATE email-gathering splash screens, which are now standard-issue on most campaign sites. In fact, some users (older ones in particular) found them so confusing that they tried to leave the sites entirely.&#8221;</li>
<li>&#8220;Strikingly, once users got past the splash screens, the sites frequently did a terrible job of collecting email addresses on internal pages (I’m lookin’ at you, Mitt). C’mon kids — nonprofits have known to put a clear email signup form or button on every page for years.&#8221;</li>
<li>&#8220;Testers often noticed Obama2008-style imagery and features and pointed them out. Imitation may be the sincerest form of flattery, but there’s a difference between covering a song and committing plagiarism. Turns out, people can spot it.&#8221;</li>
</ul>
<p>There&#8217;s much more in their article and full report. Check it out:</p>
<ul>
<li><a  href="http://www.epolitics.com/2011/11/04/republican-presidential-sites-largely-fail-usability-test/">Republican Presidential Sites (Largely) Fail Usability Test</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/things-to-avoid-on-campaign-sites/700/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El Mirage?</title>
		<link>http://www.moiagroup.com/archives/el-mirage/696</link>
		<comments>http://www.moiagroup.com/archives/el-mirage/696#comments</comments>
		<pubDate>Fri, 21 Oct 2011 21:34:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MoiaGroup News]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=696</guid>
		<description><![CDATA[In which we are puzzled by an attribution that has nothing to do with us on a really terrible website.]]></description>
				<content:encoded><![CDATA[<p>We got word today that someone had posted a website in phoenix, http://www.elmiragevoteyes.com, that had a link at the bottom to the supposed author, a &#8220;Jes McMasters&#8221; that linked to our Non-Profit portfolio page. And another link at the bottom to the SPCA donation page. Is this some weird form of link spam I&#8217;ve never heard of?  Could it really be that someone thought that linking to our archive page would generate more traffic for them?</p>
<p>What am I missing here?</p>
<p>Here&#8217;s the<a  href="/elmirage.html"> landing page</a> I prepared for people coming to our website from theirs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/el-mirage/696/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2010 Open Source Market Share CMS Report</title>
		<link>http://www.moiagroup.com/archives/2010-open-source-market-share-cms-report/677</link>
		<comments>http://www.moiagroup.com/archives/2010-open-source-market-share-cms-report/677#comments</comments>
		<pubDate>Thu, 30 Dec 2010 19:04:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MoiaGroup News]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=677</guid>
		<description><![CDATA[No big surprises here: WordPress, Joomla, and Drupal continue to dominate the list. However, "WordPress has taken the lead in brand strength after a strong growth year."]]></description>
				<content:encoded><![CDATA[<p>Water &amp; Stone has released its 2010 Open Source Market Share CMS Report &#8212; a report which looks at the leading 20 open source CMS platforms and rates their vitality and long-term viability. No big surprises here: WordPress, Joomla, and Drupal continue to dominate the list. However, &#8220;WordPress has taken the lead in brand strength after a strong growth year.&#8221;</p>
<p>A good read!</p>
<p><a  href="http://www.moiagroup.com/wp-content/uploads/2010/12/2010-OSCMS-Report.pdf">Download the full report (6MB pdf)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/2010-open-source-market-share-cms-report/677/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparing CMS 2010 Edition</title>
		<link>http://www.moiagroup.com/archives/comparing-cms-2010-edition/674</link>
		<comments>http://www.moiagroup.com/archives/comparing-cms-2010-edition/674#comments</comments>
		<pubDate>Thu, 09 Dec 2010 15:24:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MoiaGroup News]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=674</guid>
		<description><![CDATA[Idealware has come out with their 2010 version of their CMS report comparing WordPress, Drupal, Plone, and Joomla. Download it here: http://idealware.org/reports/2010-os-cms]]></description>
				<content:encoded><![CDATA[<p>Idealware has come out with their 2010 version of their CMS report comparing WordPress, Drupal, Plone, and Joomla. Download it here:</p>
<p><a  href="http://idealware.org/reports/2010-os-cms">http://idealware.org/reports/2010-os-cms</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/comparing-cms-2010-edition/674/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the NGP API to add email addresses</title>
		<link>http://www.moiagroup.com/archives/using-the-ngp-api/664</link>
		<comments>http://www.moiagroup.com/archives/using-the-ngp-api/664#comments</comments>
		<pubDate>Mon, 20 Sep 2010 17:39:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[MoiaGroup News]]></category>
		<category><![CDATA[Technical Nerdery]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=664</guid>
		<description><![CDATA[NGP's documentation for adding emails to campaign mailing lists is pretty limited. Here's a quick demo to get you started.]]></description>
				<content:encoded><![CDATA[<p>Many of our political clients use NGP to manage their email lists, member databases, and other data. NGP&#8217;s documentation is pretty limited, so I&#8217;m posting this demo of a very simple way to add email and zip code to a mailing list. Credit to <a  href="http://www.newmediacampaigns.com/">New Media Campaigns</a>, whose <a  href="http://www.newmediacampaigns.com/page/ngp-donations">php demo for NGP&#8217;s contribution processing interface</a> got me over the hump. You can see the NGP service interface here:</p>
<p style="padding-left: 30px;">http://www.myngp.com/ngpapi/APIService.asmx</p>
<p>And you can download their docs here:</p>
<p style="padding-left: 30px;">http://www.myngp.com/ngpapi/</p>
<p>I&#8217;m using NuSoap here since that seems to be the easiest.</p>
<p>Update: Where&#8217;s my API code and all that? Just log into the MyNGP dashboard, click File &#8211;&gt; Preferences &#8211;&gt; API Preferences.</p>
<p><strong>Client Code:</strong></p>
<pre>&lt;?php

require_once('nusoap/nusoap.php');

class NgpEmailSignupClient {

 public $credentialString;
 public $mainCode;
 public $campaignID;

 function NgpEmailSignupClient($credentialString, $mainCode, $campaignID) {
 $this-&gt;debug = false;
 $this-&gt;credentialString = $credentialString;
 $this-&gt;mainCode = $mainCode;
 $this-&gt;campaignID = $campaignID;
 }

 function addEmail($email, $zip, $firstName = '', $lastName = '') {

 if (!$zip) $errs[] = "Zip code is required.";
 if (!$email) $errs[] = "Email is required.";
 if ( count($errs) ) {
 echo '&lt;h1&gt;Error&lt;/h1&gt;&lt;ul&gt;';
 foreach ($errs as $err) {
 echo '&lt;li&gt;'.$err.'&lt;/li&gt;';
 }
 echo '&lt;/ul&gt;';
 exit;
 }
 // Create the XML string containing all our data
 // http://www.myngp.com/ngpapi/transactions/Email/ContactWithEmailSet.xsd
 $xml = '&lt;?xml version="1.0" encoding="utf-8"?&gt;';
 $xml .= "&lt;contactWithEmailSet&gt;";
 $xml .= "&lt;contact&gt;";
 $xml .= ( isset( $lastName ) &amp;&amp; !empty( $lastName ) ) ? "&lt;lastName&gt;{$lastName}&lt;/lastName&gt;" : '&lt;lastName /&gt;';
 $xml .= ( isset( $firstName ) &amp;&amp; !empty( $firstName ) ) ? "&lt;firstName&gt;{$firstName}&lt;/firstName&gt;" : '&lt;firstName /&gt;';
 $xml .= ( isset( $zip ) &amp;&amp; !empty( $zip ) ) ? "&lt;zip&gt;{$zip}&lt;/zip&gt;" : '&lt;zip /&gt;';
 $xml .= ( isset( $email ) &amp;&amp; !empty( $email ) ) ? "&lt;email&gt;{$email}&lt;/email&gt;" : '&lt;email /&gt;';
 $xml .= "&lt;/contact&gt;";
 $xml .= "&lt;mainCode&gt;{$this-&gt;mainCode}&lt;/mainCode&gt;";
 $xml .= "&lt;optIn&gt;1&lt;/optIn&gt;";
 $xml .= "&lt;campaignID&gt;{$this-&gt;campaignID}&lt;/campaignID&gt;";
 $xml .= "&lt;/contactWithEmailSet&gt;";

 $client = new nusoap_client('http://www.myngp.com/ngpapi/APIService.asmx?wsdl', true) or
     die("Error instantiating SOAP client");

 // Do the call
 $params = array(
 'RequestXML' =&gt; $xml,
 'transType' =&gt; 'contactWithEmailSet',
 'credentialString' =&gt; $this-&gt;credentialString
 );
 $result = $client-&gt;call('processRequestWithCreds', $params);

 if ($client-&gt;fault) {
 //print_r($client-&gt;return);
 //echo $xml . "\n\n";
 return $err;
 exit;
 } else {
 // Check for errors
 $err = $client-&gt;getError();
 if ($err) {
 //print_r($client-&gt;return);
 //echo $xml . "\n\n";
 //echo $err;
 return $err;
 exit;
 } else {
 return true;
 exit;
 }
 }
 }
}</pre>
<p><strong>Demonstration Usage</strong></p>
<p>So you see in the part below where it says &#8220;THIS_IS_WHERE_YOUR_STRING_GOES&#8221;? You need to change this, and you need to change the next two lines after it too. You should be able to get the credentials you need from your NGP contact.<em><strong> Don&#8217;t try and use what you see below without adding your own strings!</strong></em></p>
<pre>&lt;?php
include_once('NgpEmailSignupClient.php');
// Each of these three values needs to be customized for your specific application.
$credentialString = "THIS_IS_WHERE_YOUR_STRING_GOES";
$mainCode = "WebEMAIL";
$campaignID = 1234;
// These values will presumably come from script or form input
// They should be validated before reaching this point
$email = 'sample@email.com';
$zip = '12345';
$ngpClient = new NgpEmailSignupClient($credentialString, $mainCode, $campaignID);
if (true === $ngpClient-&gt;addEmail($email, $zip)) {
 echo "Success!";
} else {
 echo "Failure!";
}</pre>
<p>?&gt;</p>
<p><a  href="http://www.moiagroup.com/wp-content/uploads/2010/09/SimplePHPEmailSignupDemo.zip">Download as a single zip file: Simple PHP Email Signup Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/using-the-ngp-api/664/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 News Roundup</title>
		<link>http://www.moiagroup.com/archives/wordpress-3-0-news-roundup/661</link>
		<comments>http://www.moiagroup.com/archives/wordpress-3-0-news-roundup/661#comments</comments>
		<pubDate>Wed, 30 Jun 2010 21:31:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MoiaGroup News]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=661</guid>
		<description><![CDATA[Just a few articles about WordPress in the last month or so since the big release of 3.0.]]></description>
				<content:encoded><![CDATA[<p>Just a few articles about WordPress in the last month or so since the big release of 3.0:</p>
<p><strong>6 Reasons Small Businesses Need WordPress</strong></p>
<p>http://www.fastcompany.com/1661139/6-reasons-small-businesses-need-wordpress</p>
<p>&#8220;WordPress no longer looks like a blog. For small businesses who wouldn&#8217;t  know a blog from a bag of potato chips, WordPress is a website,  otherwise known as a content management system. It gives them control.  Period.&#8221;</p>
<p>Will WordPress jam Drupal with Thelonius</p>
<p>http://www.zdnet.com/blog/open-source/will-wordpress-jam-drupal-with-thelonius/6704</p>
<p>&#8220;But WordPress is not just a blogging platform. It is, in fact, a full-fledged content management system, a CMS. It has been given awards as a CMS, and beaten Drupal in that category.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/wordpress-3-0-news-roundup/661/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haley &amp; Aldrich Solar Panel Kiosk</title>
		<link>http://www.moiagroup.com/archives/haley-aldrich-solar-panel-kiosk/652</link>
		<comments>http://www.moiagroup.com/archives/haley-aldrich-solar-panel-kiosk/652#comments</comments>
		<pubDate>Mon, 18 Jan 2010 01:09:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[environmental]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[local]]></category>

		<guid isPermaLink="false">http://www.moiagroup.com/?p=652</guid>
		<description><![CDATA[Haley &#38; Aldrich is a national firm who just built a new facility in Tucson, Arizona. Part of that was to install a 58-kV solar panel array over the parking structure. MoiaGroup created a kiosk that displays several movie clips, the live output of the inverter, and production charts from a remote web server.]]></description>
				<content:encoded><![CDATA[<p>Haley &amp; Aldrich is a national firm who just built a new facility in Tucson, Arizona. Part of that was to install a 58-kV solar panel array over the parking structure. MoiaGroup created a kiosk that displays several movie clips, the live output of the inverter, and production charts from a remote web server.</p>
<p><a  href="http://www.moiagroup.com/wp-content/uploads/2010/01/haley-aldritch-kiosk.jpg" class="thickbox no_icon" rel="gallery-652" title="haley-aldritch-kiosk"><img class="alignnone size-medium wp-image-653" title="haley-aldritch-kiosk" src="http://www.moiagroup.com/wp-content/uploads/2010/01/haley-aldritch-kiosk-600x342.jpg" alt="" width="600" height="342" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moiagroup.com/archives/haley-aldrich-solar-panel-kiosk/652/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 2.007 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-05-16 09:47:21 -->
