<?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>Asa Kusuma</title>
	<atom:link href="http://asakusuma.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://asakusuma.com/blog</link>
	<description>Blog</description>
	<lastBuildDate>Mon, 23 Apr 2012 22:53:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>How To Setup Shopify on a Subdomain</title>
		<link>http://asakusuma.com/blog/ecommerce/how-to-setup-shopify-on-a-subdomain/</link>
		<comments>http://asakusuma.com/blog/ecommerce/how-to-setup-shopify-on-a-subdomain/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 22:53:09 +0000</pubDate>
		<dc:creator>Asa</dc:creator>
				<category><![CDATA[Ecommerce]]></category>

		<guid isPermaLink="false">http://asakusuma.com/blog/?p=174</guid>
		<description><![CDATA[For anyone wanting a simple, plug-and-play ecommerce solution, Shopify is a great option. While it&#8217;s not super flexible, it&#8217;s very easy to setup and is quite user-friendly. However, one drawback to Shopify is that users must dedicate an entire domain to the Shopify instance. You can&#8217;t add Shopify as a folder, like mydomain.com/store. Fortunately, you can do the next best thing: use a subdomain, like store.mydomain.com. If you&#8217;re reading the official Shopify instructions for setting up the domain, ignore the A-Record part. All you have to do is add a C-NAME record for the subdomain and in the Shopify Domain ...]]></description>
			<content:encoded><![CDATA[<p>For anyone wanting a simple, plug-and-play ecommerce solution, Shopify is a great option. While it&#8217;s not super flexible, it&#8217;s very easy to setup and is quite user-friendly. However, one drawback to Shopify is that users must dedicate an entire domain to the Shopify instance. You can&#8217;t add Shopify as a folder, like mydomain.com/store. Fortunately, you can do the next best thing: use a subdomain, like store.mydomain.com.</p>
<p>If you&#8217;re reading the official Shopify instructions for setting up the domain, ignore the A-Record part. All you have to do is <strong>add a C-NAME record for the subdomain and in the Shopify Domain Manager, add the subdomain</strong>.</p>
<p>For instance, if you want the subdomain store.mydomain.com to connect to your Shopify store at my-store.myshopify.com, add a C-NAME record &#8220;store&#8221; at the host &#8220;my-store.myshopify.com&#8221; on the &#8220;mydomain.com&#8221; domain. On the Shopify domain manager, click &#8220;Add a domain you already own&#8221; and enter the full subdomain, &#8220;store.mydomain.com&#8221;.</p>
<p>While it&#8217;s a shame that you can&#8217;t add your store to a folder on your domain, at least you can add a subdomain. I would imagine that a subdomain would be the way to go if you want to integrate a Shopify store with an existing website.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://asakusuma.com/blog/ecommerce/how-to-setup-shopify-on-a-subdomain/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Handling the FuelPHP &#8220;Oops!&#8221; Error</title>
		<link>http://asakusuma.com/blog/fuelphp/handling-the-fuelphp-oops-error/</link>
		<comments>http://asakusuma.com/blog/fuelphp/handling-the-fuelphp-oops-error/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 05:10:53 +0000</pubDate>
		<dc:creator>Asa</dc:creator>
				<category><![CDATA[FuelPHP]]></category>

		<guid isPermaLink="false">http://asakusuma.com/blog/?p=158</guid>
		<description><![CDATA[As fairly new FuelPHP user, I must say, I&#8217;ve been impressed so far. The built-in packages are impressive, migrations are awesome, and the profiling tool takes a lot of headache out of debugging. However, the one thing I&#8217;ve disliked about FuelPHP is my frequent run-ins with this really annoying, generic error that simply says: Oops! An unexpected error has occurred. That&#8217;s it. No line numbers, no filenames, no broken SQL statements, nothing. So like any other FuelPHP developer would do, I turned on profiling&#8211;easy fix, right? Well as it turns out, the error broke profiling as well. So after an ...]]></description>
			<content:encoded><![CDATA[<p>As fairly new FuelPHP user, I must say, I&#8217;ve been impressed so far. The built-in packages are impressive, migrations are awesome, and the <a href="http://docs.fuelphp.com/general/profiling.html">profiling</a> tool takes a lot of headache out of debugging. However, the one thing I&#8217;ve disliked about FuelPHP is my frequent run-ins with this really annoying, generic error that simply says:</p>
<h3>Oops! An unexpected error has occurred.</h3>
<p>That&#8217;s it. No line numbers, no filenames, no broken SQL statements, nothing. So like any other FuelPHP developer would do, I turned on profiling&#8211;easy fix, right? Well as it turns out, the error broke profiling as well. So after an hour or so of tracing through code, I found the culprit: an SQL insert statement referencing a field that didn&#8217;t exist. Apparently, a simple SQL error caused the PHP framework equivalent of a kernel panic. I found problem by adding this debugging echo statement in fuel/core/classes/database/mysql/connection.php on line 209:</p>
<pre>
// Execute the query
if (($result = mysql_query($sql, $this->_connection)) === false)
{
	if (isset($benchmark))
	{
		// This benchmark is worthless
		Profiler::delete($benchmark);
	}
	echo mysql_error($this->_connection); //Add this line here
	throw new \Database_Exception(mysql_error($this->_connection).' [ '.$sql.' ]', mysql_errno($this->_connection));
}
</pre>
<p>It&#8217;s a bit frustrating that FuelPHP couldn&#8217;t detect the cause of the error, but the framework is a work-in-progress (a very good one at that), and all things considered, it&#8217;s still an awesome piece of software.</p>
]]></content:encoded>
			<wfw:commentRss>http://asakusuma.com/blog/fuelphp/handling-the-fuelphp-oops-error/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Learning and Presenting the REST API at SugarCon 2011</title>
		<link>http://asakusuma.com/blog/sugarcrm/learning-and-presenting-the-rest-api-at-sugarcon-2011/</link>
		<comments>http://asakusuma.com/blog/sugarcrm/learning-and-presenting-the-rest-api-at-sugarcon-2011/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 20:39:19 +0000</pubDate>
		<dc:creator>Asa</dc:creator>
				<category><![CDATA[SugarCRM]]></category>

		<guid isPermaLink="false">http://asakusuma.com/blog/?p=135</guid>
		<description><![CDATA[Earlier this week, I spent an awesome three days in San Francisco at SugarCon 2011. The conference featured some great discussions, most notably the developer-focused UnCon sessions. SugarCon 2010 was great, but I remember wishing there was more hardcore-developer-focused venues for discussion and learning. UnCon met that need head-on. Special thanks to Jon Whitcraft and John Mertic for the words of wisdom and helpful answers. If you missed the conference, I highly recommend checking out the posted slides from all the presentations. On the first day of the conference, I had the opportunity to give a short presentation on using ...]]></description>
			<content:encoded><![CDATA[<p>Earlier this week, I spent an awesome three days in San Francisco at <a href="http://www.sugarcrm.com/crm/events/sugarcon">SugarCon 2011</a>. The conference featured some great discussions, most notably the developer-focused <a href="http://en.wikipedia.org/wiki/Unconference">UnCon sessions</a>. SugarCon 2010 was great, but I remember wishing there was more hardcore-developer-focused venues for discussion and learning. UnCon met that need head-on. Special thanks to <a href="http://h2ik.co/">Jon Whitcraft</a> and <a href="http://jmertic.wordpress.com/">John Mertic</a> for the words of wisdom and helpful answers. If you missed the conference, I highly recommend checking out the <a href="http://www.slideshare.net/event/sugarcon-2011">posted slides</a> from all the presentations.</p>
<p>On the first day of the conference, I had the opportunity to give a short presentation on using the SugarCRM REST API. The presentation was based on a simple PHP wrapper class that I built, making it easy to create a SugarCRM client app. As you might expect, the wrapper has basic CRUD functionality (minus the deleting part), as well as support for uploading and downloading attachments for notes. Checkout the <a href="http://www.github.com/asakusuma/SugarCRM-REST-API-Wrapper-Class">code</a> and the <a href="http://www.slideshare.net/asakusuma/using-the-sugarcrm-rest-api">presentation</a> to try it out for yourself!</p>
<p>If you happen to be a Ruby on Rails fan, checkout this <a href="https://github.com/chicks/sugarcrm">rails client</a> for the REST API, based on the <a href="http://en.wikipedia.org/wiki/Active_record_pattern">active record design pattern</a>. Written by Carl Hicks and <a href="http://davidsulc.com/">David Sulc</a>, these guys gave a sweet presentation on the client and alluded to future improvements in the SugarCRM REST API. I&#8217;m certainly looking forward to a more robust and functional API. In the meantime, Jon Witcraft suggested a simple way to add your own API calls to your REST interface. The basic idea is, make a new class that extends SugarWebServiceImpl. Add any API call functions to the new class, and the old functions are still usable because the class extends the old SugarWebServiceImpl class.</p>
<p>There&#8217;s a ton of other stuff I learned at SugarCon 2011, but if I keep writing I&#8217;ll never get to try out all the new ideas. Hope you&#8217;re inspired to use the REST API and even make your own API call functions!</p>
]]></content:encoded>
			<wfw:commentRss>http://asakusuma.com/blog/sugarcrm/learning-and-presenting-the-rest-api-at-sugarcon-2011/feed/</wfw:commentRss>
		<slash:comments>989</slash:comments>
		</item>
		<item>
		<title>Using the SugarCRM set_note_attachment() REST Call</title>
		<link>http://asakusuma.com/blog/sugarcrm/using-the-sugarcrm-set_note_attachment-rest-call/</link>
		<comments>http://asakusuma.com/blog/sugarcrm/using-the-sugarcrm-set_note_attachment-rest-call/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 19:03:04 +0000</pubDate>
		<dc:creator>Asa</dc:creator>
				<category><![CDATA[SugarCRM]]></category>

		<guid isPermaLink="false">http://asakusuma.com/blog/?p=119</guid>
		<description><![CDATA[Earlier this week I was trying to make a set_note_attachment call with the SugarCRM REST API, but I got a very strange error. The server was responding with an Error Type 20, saying that the &#8220;Module Does Not Exist,&#8221; which was bogus because I wasn&#8217;t even specifying the optional related_module_name field. Here is the data arra I used to create my original call: $data = array( 'session' => $session, 'note' => array('id' => $note), 'file' => $file, 'filename' => $filename, ); As it turns out, I misread the rather confusing documentation on this specific call. In actuality, the API requires ...]]></description>
			<content:encoded><![CDATA[<p>Earlier this week I was trying to make a set_note_attachment call with the SugarCRM REST API, but I got a very strange error. The server was responding with an Error Type 20, saying that the &#8220;Module Does Not Exist,&#8221; which was bogus because I wasn&#8217;t even specifying the optional related_module_name field. Here is the data arra I used to create my original call:</p>
<pre>
$data = array(
	'session' => $session,
	'note' => array('id' => $note),
	'file' => $file,
	'filename' => $filename,
);
</pre>
<p>As it turns out, I misread the rather <a href="http://developers.sugarcrm.com/docs/OS/5.5/-docs-Developer_Guides-Sugar_Developer_Guide_5.5-Chapter%202%20Application%20Framework.html#9000919">confusing documentation</a> on this specific call. In actuality, the API requires a different data array structure like so:</p>
<pre>
$data = array(
	'session' => $session,
	'note' => array(
		'id'=>$note,
		'file' => $file,
		'filename' => $filename,
		'related_module_name' => 'Cases'
	)
);
</pre>
<p>All the fields pertaining to the note must be in an array under the &#8216;note&#8217; index. A very aggravating subtlety that cost me way too much time to figure out. </p>
]]></content:encoded>
			<wfw:commentRss>http://asakusuma.com/blog/sugarcrm/using-the-sugarcrm-set_note_attachment-rest-call/feed/</wfw:commentRss>
		<slash:comments>1503</slash:comments>
		</item>
		<item>
		<title>Fixing the Photoshop CS3 &#8220;Save for Web&#8221; Color Issue</title>
		<link>http://asakusuma.com/blog/design/fixing-the-photoshop-cs3-save-for-web-color-issue/</link>
		<comments>http://asakusuma.com/blog/design/fixing-the-photoshop-cs3-save-for-web-color-issue/#comments</comments>
		<pubDate>Wed, 05 May 2010 03:01:56 +0000</pubDate>
		<dc:creator>Asa</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://asakusuma.com/blog/?p=113</guid>
		<description><![CDATA[While I usually use Fireworks for my web graphics, I recently started using Photoshop CS3 to make some web backgrounds. The abundance of free brushes has finally sold me on using Photoshop regularly, but it&#8217;s taken some time for me to get used to the glaring differences in layer organization and basic functionality in Photoshop vs. Fireworks. However, by far and away the most annoying thing about Photoshop is how it screws up colors when exporting images. After my first &#8220;Save for Web &#038; Devices&#8221; export, I immediately noticed that the colors in the exported image were lighter and more ...]]></description>
			<content:encoded><![CDATA[<p>While I usually use Fireworks for my web graphics, I recently started using Photoshop CS3 to make some web backgrounds. The abundance of free brushes has finally sold me on using Photoshop regularly, but it&#8217;s taken some time for me to get used to the glaring differences in layer organization and basic functionality in Photoshop vs. Fireworks. However, by far and away the most annoying thing about Photoshop is how it screws up colors when exporting images. </p>
<p>After my first &#8220;Save for Web &#038; Devices&#8221; export, I immediately noticed that the colors in the exported image were lighter and more subdued. So my first instinct was to check the export settings, but after some searching around, I finally found the culprit under Edit > Color Settings. My active preset was &#8220;North America General Settings 2&#8243;, that dirty son-of-a-gun. I switched to &#8220;Monitor Settings&#8221; and my problem was cured.</p>
<p><img src="http://asakusuma.com/blog/wp-content/uploads/2010/05/ps_color.jpg" alt="Photoshop Color Issue" /></p>
<p>If you have the same problem, I hope that solves it. I use an Apple MacBook. I would imagine the problem would be different on a Windows machine. It would be nice if Photoshop could automatically calibrate itself, but hopefully it&#8217;s a simple fix on any machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://asakusuma.com/blog/design/fixing-the-photoshop-cs3-save-for-web-color-issue/feed/</wfw:commentRss>
		<slash:comments>1052</slash:comments>
		</item>
	</channel>
</rss>

