<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Developer Relations</title>
	
	<link>http://blogs.developerforce.com/developer-relations</link>
	<description>A blog from the Developer Relations team.</description>
	<lastBuildDate>Tue, 18 Jun 2013 17:05:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/developerforce/developerelations" /><feedburner:info uri="developerforce/developerelations" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Dreamforce 2013 Developer Call for Papers Closed</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/W0hf1DiapFg/dreamforce-2013-developer-call-for-papers-closed.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/dreamforce-2013-developer-call-for-papers-closed.html#comments</comments>
		<pubDate>Tue, 18 Jun 2013 17:05:39 +0000</pubDate>
		<dc:creator>April Nassi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dreamforce]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14486</guid>
		<description><![CDATA[<a href="http://blogs.developerforce.com/developer-relations/2013/06/dreamforce-2013-developer-call-for-papers-closed.html"><img align="left" hspace="5" width="150" src="http://blogs.developerforce.com/developer-relations/files/2013/06/403_dev_2013_cfp-150x150.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>WOW! We had an amazing response to our Call for Papers this year, with over 250 submissions from our developer community! Thank you to all who submitted; it&#8217;s wonderful seeing the excitement for sharing knowledge and code. We&#8217;ll be reviewing submissions over the next few weeks, and will notify all who submitted of their status [...]]]></description>
			<content:encoded><![CDATA[WOW! We had an amazing response to our Call for Papers this year, with over 250 submissions from our developer community! Thank you to all who submitted; it's wonderful seeing the excitement for sharing knowledge and code. We'll be reviewing submissi<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/W0hf1DiapFg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/dreamforce-2013-developer-call-for-papers-closed.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/dreamforce-2013-developer-call-for-papers-closed.html</feedburner:origLink></item>
		<item>
		<title>Passing Objects to Future Annotated Methods</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/duLaRXDLDW8/passing-objects-to-future-annotated-methods.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/passing-objects-to-future-annotated-methods.html#comments</comments>
		<pubDate>Mon, 17 Jun 2013 22:49:02 +0000</pubDate>
		<dc:creator>Quinton Wall</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[quinton wall]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14460</guid>
		<description><![CDATA[The future annotation is a great feature in the Salesforce Platform. However, it only supports primitives for argument methods. Using the JSON serialize&#124;deserialize methods, you can easily pass sObjects and custom objects. Here's how.]]></description>
			<content:encoded><![CDATA[<p><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/06/olympics-sat-async2-485.jpg"><img class="alignright size-medium wp-image-14466" src="http://blogs.developerforce.com/developer-relations/files/2013/06/olympics-sat-async2-485-300x254.jpg" alt="" width="180" height="152" /></a>The future annotation is a great feature on the Salesforce Platform to allow you to execute custom logic asynchronously. I often use them to perform callouts within the context of a database trigger.  However, one of the restrictions of future annotations is that you can not pass sObjects or objects as arguments to the annotated method. I regularly use encapsulation to pass a collection of parameters, or even an sObject, but this won&#8217;t work in @future method:</p>
<p>&nbsp;</p>
<pre>@future
static void doFutureCall(List&lt;AddressHelper&gt; addresses) {
  //do something
}</pre>
<p>But thankfully there is a way you can do. The secret sauce is the JSON serialize|deserialize methods.</p>
<p>Take the example of an AddressHelper object referred to above. This is encapsulated convenience object to help me pass around address details. (note:For simplicity, this helper object just includes strings, but it could easily include other types including objects, sobjects, collections etc.)</p>
<pre>/**
 * Sample encapsulated class
 * $author: qwall@salesforce.com
 */
public with sharing class AddressHelper {

	public String street {set; get;}
	public String city {set; get;}
	public String state {set; get;}
	public String zip {set; get;}

    public AddressHelper(String s, String c, String st, String z) {
    	street = s;
    	city = c;
    	state = st;
    	zip = z;
    }
}</pre>
<p>Using the JSON serialize method I can easily pass this to an @future method.</p>
<pre>public with sharing class AddressFuture {</pre>
<pre>    public AddressFuture () {

	List&lt;String&gt; addresses = new List&lt;String&gt;();
	AddressHelper ah1 = new AddressHelper('1 here st', 'San Francisco', 'CA', '94105');
	AddressHelper ah2 = new AddressHelper('2 here st', 'San Francisco', 'CA', '94105');
	AddressHelper ah3 = new AddressHelper('3 here st', 'San Francisco', 'CA', '94105');

	//serialize my objects
	addresses.add(JSON.serialize(ah3));
	addresses.add(JSON.serialize(ah2));
	addresses.add(JSON.serialize(ah3));

	doFutureCall(addresses);

  }</pre>
<p>And then, within my future method, all I need to do is deserialize the object, and you are good to go.</p>
<pre>  @future
    static void doFutureCall(List&lt;String&gt; addressesSer) {

    	AddressHelper currAddress = null;

       for (String ser : addressesSer)
       {

       	 currAddress = (AddressHelper) JSON.deserialize(ser, AddressHelper.class);
       	 System.debug('Deserialized in future:'+currAddress.street);
       }
    }</pre>
<p>That&#8217;s it. JSON.serialize|deserialize makes it amazingly simple to pass objects, even ones with complex nested relationships, to @future annotated methods. There are time though that a particular object can not be serialized due to the underlying inheritance structure. One such example is the Pattern class in Apex.</p>
<p>To handle these outliers, I often create my own custom getSerializable() method on my custom object. For example, I use this strategy within the Chatter Blacklist app to pass a patternHelper object to an @future method.</p>
<pre>/**
     * return a serializable version of the patternhelper
     */
    public PatternHelperSerializable getSerializable()
    {
    	//instead of passing the Pattern object, let's just pass the regex string from
        //via Pattern.pattern() method
    	return new PatternHelperSerializable(blacklistedWord, p.pattern(), origPostBody, postCreatedById);
    }</pre>
<pre></pre>
<p>That&#8217;s about it. You can grab the complete code for the examples above as a gist <a href="https://gist.github.com/quintonwall/5798506" target="_blank">here</a>.</p>
<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/duLaRXDLDW8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/passing-objects-to-future-annotated-methods.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/passing-objects-to-future-annotated-methods.html</feedburner:origLink></item>
		<item>
		<title>Congratulations, Apple!</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/50LTXy6l0xE/congratulations-apple.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/congratulations-apple.html#comments</comments>
		<pubDate>Wed, 12 Jun 2013 21:54:54 +0000</pubDate>
		<dc:creator>Adam Seligman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[salesforce]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14452</guid>
		<description><![CDATA[At WWDC this week, Apple announced that they have paid out over $10B to developers. Congratulations, Apple! We love developers, and the app revolution. We are seeing the same incredible momentum and need for mobile apps in the enterprise. ]]></description>
			<content:encoded><![CDATA[<p dir="ltr"><a href="http://blogs.developerforce.com/developer-relations/files/2013/06/ios7_01.jpg"><img class="alignright" src="http://blogs.developerforce.com/developer-relations/files/2013/06/ios7_01-300x260.jpg" alt="" width="162" height="140" /></a>It&#8217;s an exciting time for developers.  iOS7 is catalyzing the next generation of gorgeous apps for work and play.  Devices from Apple will drive a new wave of innovation and be used in every facet of our personal and professional lives.  Developers have written more than 900K apps for the Apple App Store, and developers have earned a total of $10B dollars over the years.</p>
<p dir="ltr">There&#8217;s another huge milestone Apple has passed: apps in the Apple App Store now average more than $10K total revenue per app.  There is of course a distribution with some runaway hits and a long tail. An expected payout of $10K, and an exciting blowout head of multi-million dollar apps will inspire many long nights of developers hacking to build the next big thing.</p>
<p dir="ltr"><a href="http://blogs.developerforce.com/developer-relations/files/2013/06/mobile-zimmer.png"><img class="alignleft" src="http://blogs.developerforce.com/developer-relations/files/2013/06/mobile-zimmer-300x234.png" alt="" width="240" height="187" /></a>We love the app revolution, and we are convinced it&#8217;s already hit the enterprise as well.  <a href="http://salesforce.com/" target="_blank">Salesforce.com</a> has built the leading business apps marketplace with the AppExchange, touting more than 1800 apps for business to date.  We don&#8217;t do Angry Birds. But we do know that enterprises want social, mobile and connected apps and they are willing to pay for them.  The average developer on the AppExchange makes $392,000 per app.  That&#8217;s right, almost $400K from companies including 70% of the Fortune 100. And what&#8217;s great about selling these next generation apps to businesses is that a single install in our world can sometimes account for tens of thousands of users!</p>
<p>We are embracing the enterprise app revolution, and we love developers. That&#8217;s why we&#8217;ve paid more than $750M to developers since we launched the AppExchange.  And it&#8217;s accelerating.  If you want to be part of this revolution, you can <a href="http://developerforce.com/mobile" target="_blank">start today for free</a>.</p>
<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/50LTXy6l0xE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/congratulations-apple.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/congratulations-apple.html</feedburner:origLink></item>
		<item>
		<title>New Article: The Road to Force.com Advanced Developer Certification</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/v6aE9Zw1Pnw/new-article-the-road-to-force-com-advanced-developer-certification.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/new-article-the-road-to-force-com-advanced-developer-certification.html#comments</comments>
		<pubDate>Mon, 10 Jun 2013 09:00:20 +0000</pubDate>
		<dc:creator>Peter Chittum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Advanced Developer]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[certification]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=13880</guid>
		<description><![CDATA[In many ways the Advanced Developer Certification process is a bit mysterious. In this article, I attempt to answer some of the questions you might have and shed some light on: What is the structure? What is]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"></p>
In many ways the Advanced Developer Certification process is a bit mysterious. In this article, I attempt to answer some of the questions you might have and shed some light on:

	What is the structure?
	What is <img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/v6aE9Zw1Pnw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/new-article-the-road-to-force-com-advanced-developer-certification.html/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/new-article-the-road-to-force-com-advanced-developer-certification.html</feedburner:origLink></item>
		<item>
		<title>Financial Times hacking with Chatter and Force.com</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/79ei2or7wig/financial-times-hacking-with-chatter-and-force-com.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/financial-times-hacking-with-chatter-and-force-com.html#comments</comments>
		<pubDate>Fri, 07 Jun 2013 17:47:36 +0000</pubDate>
		<dc:creator>John Stevenson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chatter]]></category>
		<category><![CDATA[hackathon]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14004</guid>
		<description><![CDATA[&#160; The FT.com is a financial-industry focused news agency with a reputation for quality journalism.  This shines through in the way they support innovation in their development teams.  Peter Chittum and I were lucky enough to be i]]></description>
			<content:encoded><![CDATA[&nbsp;
<p dir="ltr">The FT.com is a financial-industry focused news agency with a reputation for quality journalism.  This shines through in the way they support innovation in their development teams.  Peter Chittum and I were lucky enough to be i<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/79ei2or7wig" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/financial-times-hacking-with-chatter-and-force-com.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/financial-times-hacking-with-chatter-and-force-com.html</feedburner:origLink></item>
		<item>
		<title>Code for Great Prizes at the NYC #devzone Mini Hacks</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/2Bp9CvPUyoA/code-for-great-prizes-at-the-nyc-devzone-mini-hacks.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/code-for-great-prizes-at-the-nyc-devzone-mini-hacks.html#comments</comments>
		<pubDate>Fri, 07 Jun 2013 00:59:08 +0000</pubDate>
		<dc:creator>Lauren Grau</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[developer zone]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[mini hack]]></category>
		<category><![CDATA[new york city]]></category>
		<category><![CDATA[prizes]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14378</guid>
		<description><![CDATA[If you're a Force.com developer in the New York City area, you might want to clear your schedule next Friday, June 14th so you can show off your coding skills for a chance to win great prizes at the Developer Zone Mini Hacks.]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-14379 " src="http://blogs.developerforce.com/developer-relations/files/2013/06/picstitch-300x300.png" alt="" width="300" height="300" align="right" /><br />
If you&#8217;re a Force.com developer in the New York City area, you might want to clear your schedule next Friday, June 14th so you can show off your coding skills for a chance to win great prizes. The Developer Zone (<a href="https://twitter.com/search?q=%23devzone" target="_blank">#devzone</a>) is returning to the Big Apple via the Salesforce Customer Company Tour, and we are hosting a day long hack fest to test your Force.com knowledge&#8211; the #devzone Mini Hacks.  You&#8217;ll be able to try your hand at 3 different challenges involving various Salesforce Platform technologies (integration, Visualforce, jQuery, mobile) to win the following prizes:</p>
<ul>
<li>If you finish <strong>1 challenge</strong>, you will win a cool Force.com t-shirt</li>
<li>If you are 1 of the first 10 people to complete <strong>2 challenges</strong>, you will win a set of hot Beats by Dre headphones</li>
<li>If you finish all <strong>3 challenges</strong>, you  will be entered into a raffle for a sweet MacBook Air</li>
</ul>
<div>Don&#8217;t miss out on this great opportunity, and <a href="http://www.salesforce.com/events/details/cct13-nyc/index-2.jsp?d=70130000000tH3n" target="_blank">register now</a> to reserve your spot at the Salesforce Customer Company Tour #devzone!</div>
<div>Hack on!</div>
<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/2Bp9CvPUyoA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/code-for-great-prizes-at-the-nyc-devzone-mini-hacks.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/code-for-great-prizes-at-the-nyc-devzone-mini-hacks.html</feedburner:origLink></item>
		<item>
		<title>Sign-up for a Private Code Consultation at the NYC Customer Company Tour Event June 14</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/DXtWhP_0YJM/sign-up-for-a-private-code-consultation-at-the-nyc-customer-company-tour-event.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/sign-up-for-a-private-code-consultation-at-the-nyc-customer-company-tour-event.html#comments</comments>
		<pubDate>Thu, 06 Jun 2013 16:51:59 +0000</pubDate>
		<dc:creator>Eddy Perez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14371</guid>
		<description><![CDATA[<a href="http://blogs.developerforce.com/developer-relations/2013/06/sign-up-for-a-private-code-consultation-at-the-nyc-customer-company-tour-event.html"><img align="left" hspace="5" width="150" src="http://blogs.developerforce.com/developer-relations/files/2012/08/codeConsults-300x199.jpg" class="alignleft wp-post-image tfe" alt="" title="" /></a>In this fast-paced crazy world we live in, is there anything better than in-person, 1:1 help? I think not. Sure, there are lots of remote assistance and distance learning tools out there. But really, having a living breathing person address your prob]]></description>
			<content:encoded><![CDATA[In this fast-paced crazy world we live in, is there anything better than in-person, 1:1 help? I think not. Sure, there are lots of remote assistance and distance learning tools out there. But really, having a living breathing person address your prob<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/DXtWhP_0YJM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/sign-up-for-a-private-code-consultation-at-the-nyc-customer-company-tour-event.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/sign-up-for-a-private-code-consultation-at-the-nyc-customer-company-tour-event.html</feedburner:origLink></item>
		<item>
		<title>BADz to the Bone: NYC DevZone Sessions &amp; Schedule Details</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/x_QxMGN7rKc/badz-to-the-bone-nyc-devzone-sessions-schedule-details.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/badz-to-the-bone-nyc-devzone-sessions-schedule-details.html#comments</comments>
		<pubDate>Wed, 05 Jun 2013 15:26:02 +0000</pubDate>
		<dc:creator>Reid Carlberg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[angularJS]]></category>
		<category><![CDATA[cct]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[devzone]]></category>
		<category><![CDATA[nyc]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14360</guid>
		<description><![CDATA[The June 14, 2013, NYC Customer Company Tour will feature a great DevZone.  We'll have a live Intro Workshop, a complete Developer Theater line up, and the ever popular mini-hacks.  Click in to register and see all the details.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a class="overlay" href="http://blogs.developerforce.com/labs/files/2013/06/devzone.jpg"><img class="aligncenter size-full wp-image-3540" src="http://blogs.developerforce.com/labs/files/2013/06/devzone.jpg" alt="" width="672" height="448" /></a></p>
<p style="text-align: left">With requisite apologies to <a href="http://www.youtube.com/watch?v=_7VsoxT_FUY">Mr. Thorogood</a>, the <a href="http://www.salesforce.com/events/details/cct13-nyc/index-2.jsp?d=70130000000tH3n">Big Apple DevZone</a> is right around the corner.  We&#8217;ll be hosting a Dev Theater, an Intro Workshop and of course the ever popular Mini-Hacks.</p>
<p style="text-align: center"><a href="http://www.salesforce.com/events/details/cct13-nyc/index-2.jsp?d=70130000000tH3n">Register for the June 14 NYC DevZone Today</a></p>
<p style="text-align: left">The Intro Workshop is built around the <a href="http://wiki.developerforce.com/page/Force.com_workbook">Force.com Intro Workbook</a>.  It&#8217;s a great hands-on tour of the Salesforce Platform designed for people who want to dive right in.  Each session is first come, first served, and lasts 45 minutes.  We even provide a laptop.</p>
<ul>
<li>8:30 &#8212; Create an App and Database</li>
<li>11:40 &#8212; 100: Create an App and Database</li>
<li>12:30 &#8212; 110: Customize a User Interface</li>
<li>1:20 &#8212; 120: Add App Logic with Clicks not Code</li>
<li>2:10 &#8212; 300: Code Custom App Logic</li>
<li>3:00 &#8212; 330: Code a Custom User Interface</li>
<li>3:50 &#8212; 475: Force.com API Integration with Apex and Heroku</li>
</ul>
<div>The Developer Theater is a great way to learn more about some specialized subjects.  Each session is 30 minutes and takes you on a deep dive into a particular topic.</div>
<div>
<ul>
<li>8:15 &#8212; <a href="https://twitter.com/ryanjupton">Ryan Upton</a>, Salesforce Platform for Developers: Build your First Force.com App</li>
<li>9:00 &#8212; <a href="http://twitter.com/codefriar">Kevin Poorman</a> (Force.com MVP) Introducing <a href="http://blogs.developerforce.com/developer-relations/2013/05/angularjs-and-ngforce-more-fun-in-the-javascript-playground.html">NgForce</a> &#8211; Advanced AngularJS Application Development on Force.com</li>
<li>11:45 &#8212; Varadarajan &#8220;Raja&#8221; Rajaram, Introduction to Apex</li>
<li>12:30 &#8212; <a href="http://twitter.com/ReidCarlberg">Reid Carlberg</a>, Introduction to Visualforce</li>
<li>1:15 &#8212; <a href="https://twitter.com/tomgersic">Tom Gersic</a>, Offline Mobile Apps with the Mobile SDK SmartStore</li>
<li>2:00 &#8212; Reid Carlberg, 5 Enterprise Mobile Patterns You Need To Know</li>
<li>2:45 &#8212; Ryan Daigle, Introduction to Heroku</li>
<li>3:30 &#8212; Abe Pursell &amp; Joe Gaska (Ionia), Heroku + Force.com, Building Innovative Cross Platform Apps</li>
<li>4:15 &#8212; <a href="http://twitter.com/dcarroll">Dave Carroll</a>, Introduction to Force.com Canvas</li>
</ul>
</div>
<p style="text-align: left">This is a great line up!  <a href="http://www.salesforce.com/events/details/cct13-nyc/index-2.jsp?d=70130000000tH3n">Be sure to register today and join us on June 14.</a>  I look forward to seeing you there.</p>
<p style="text-align: left">PS If you aren&#8217;t convinced yet, be sure to checkout pictures from <a href="https://www.facebook.com/media/set/?set=a.517192511650271.1073741831.181143345255191&amp;type=3">London</a> and <a href="https://www.facebook.com/media/set/?set=a.524373210932201.1073741834.181143345255191&amp;type=3">Paris</a>.  The DevZone is not to be missed!!</p>
<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/x_QxMGN7rKc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/badz-to-the-bone-nyc-devzone-sessions-schedule-details.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/badz-to-the-bone-nyc-devzone-sessions-schedule-details.html</feedburner:origLink></item>
		<item>
		<title>Cross-Object Owner Fields: A Powerful New Formula Option</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/WfPjGFRL5HQ/cross-object-owner-fields-a-powerful-new-formula-option.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/cross-object-owner-fields-a-powerful-new-formula-option.html#comments</comments>
		<pubDate>Wed, 05 Jun 2013 09:59:06 +0000</pubDate>
		<dc:creator>Peter Chittum</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[clicks before code]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[EMEA]]></category>
		<category><![CDATA[formulas]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=14316</guid>
		<description><![CDATA[Cross-Object Owner Formulas There is a little new feature that is set to arrive in the Summer 13 release that garners only half a page of the release notes, but creates an extremely important opportunity for projects wanting to maximize their time]]></description>
			<content:encoded><![CDATA[
Cross-Object Owner Formulas
There is a little new feature that is set to arrive in the Summer 13 release that garners only half a page of the release notes, but creates an extremely important opportunity for projects wanting to maximize their time<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/WfPjGFRL5HQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/cross-object-owner-fields-a-powerful-new-formula-option.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/cross-object-owner-fields-a-powerful-new-formula-option.html</feedburner:origLink></item>
		<item>
		<title>Developing Mobile Apps on Salesforce (Part 1) – Tools, Tips and Tricks</title>
		<link>http://feedproxy.google.com/~r/developerforce/developerelations/~3/5YRHuCKSHWo/tools-tips-and-tricks-for-developing-mobile-apps-on-salesforce-part-1.html</link>
		<comments>http://blogs.developerforce.com/developer-relations/2013/06/tools-tips-and-tricks-for-developing-mobile-apps-on-salesforce-part-1.html#comments</comments>
		<pubDate>Tue, 04 Jun 2013 17:01:28 +0000</pubDate>
		<dc:creator>Raja Rao DV</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[angularJS]]></category>
		<category><![CDATA[backbonejs]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blogs.developerforce.com/developer-relations/?p=13672</guid>
		<description><![CDATA[Tools have played a major role in human life. Their mere existence is to help its users achieve something quickly and easily or to solve a problem. This applies to all kinds of tools irrespective of whether we are trying to find cure to a disease or cooking food or building a mobile app. In this blog series we will talk about all the tools that are available for you to develop mobile apps on Salesforce and make you more productive. ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 18px;font-style: italic;background: gray;color: white;padding: 3px"> “We shape our tools and thereafter our tools shape us” &#8212; Marshall McLuhan </span></p>
<p><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/06/Prehistoric_tools.jpg"><img class="alignleft size-thumbnail wp-image-14286" src="http://blogs.developerforce.com/developer-relations/files/2013/06/Prehistoric_tools-150x150.jpg" alt="" width="150" height="150" /></a>Since the prehistoric times tools have played a vital role in human life. Starting from early tools like hammerstones and handaxes to modern day tools like the Airplane, the Internet, and mobile apps, tools have constantly changed the World and are continuing to do so.</p>
<p>The thing about tools is that their mere existence is to help its users achieve something quickly and easily or to solve a problem. This applies to all kinds of tools irrespective of whether we are trying to find cure to a disease or cooking food or building a mobile app.<br />
But nothing is free in this world, tools included. Tools, while useful pose the following challenges:</p>
<ul>
<li>There could be many of them that do the same thing.Making them hard to even discover</li>
<li>Not all of them are created equal. It takes time to find the best and preferred tool</li>
<li>They work when used in the right context. I.E. “Don’t use sword to cut nails”</li>
<li>They all have learning curves (big or small)</li>
<li>They all hide tips and tricks (or best practices). You need to use them to know them and take advantage of them.</li>
</ul>
<p>While tools might pose challenges, history has shown that those who have built/discovered the tools and have mastered the art of how to use them effectively have ruled the World (in their own right). For example those who have mastered fishing hooks have not only survived but have thrived in harsh weather conditions. Similarly those who were great at swords and other weapons have won battles and wars.</p>
<p>Tools play a similar role in every field but the number of tools you need depends on the complexity of the task you are trying to achieve. Developing a mobile app being a relatively complex task, it demands usage of many other tools. And that in turn makes knowledge and expertise of tools that much more important.</p>
<p>So if you are developing software, don’t just use few features of a tool but make sure to set aside enough time to discover as much as you can and figure out tips and tricks associated with them.</p>
<p><strong>Tips on mastering tools:</strong></p>
<ol>
<li>Search for “top tools for doing xyz” and try few of them and see which one does the best job AND which one you are comfortable with.</li>
<li>Several tools come with “Tips and Tricks” dialog boxes. Don’t turn them off it is there to help you (although it could be little annoying).</li>
<li>Search for “tips and tricks on using xyz” online.</li>
<li>Many tools come with plugins to enhance their capabilities. Search for plugins and try them out.</li>
<li>Many tools have ‘keyboard shortcuts’ or other shortcuts. Don’t try to learn them all at once – they are like dieting take it slow and steady. Generally try to learn just 1 shortcut per week.</li>
<li>Stick with one tool but keep on the lookout for better tools</li>
</ol>
<div>
<h1><strong>Tools, Tips and Tricks for developing mobile apps on Salesforce (Part 1):</strong></h1>
<p>Developing mobile apps on Salesforce of course involves using various tools and they can be broadly classified into the following categories.</p>
<ol>
<li>Tools to interact with Salesforce database (i.e. SOAP and REST tools).</li>
<li>Tools to help code and debug your apps (i.e. IDEs, chrome developer tools etc.)</li>
<li>Functional and performance testing tools (QUnit, Jasmine, YSlow etc).</li>
<li>Packaging and distribution tools (Yeoman.io, grunt etc.)</li>
</ol>
</div>
<p>&nbsp;</p>
<h1><strong>Tools to interact with Salesforce database:</strong></h1>
<p>In this blog we will cover #1 and list tools to interact with Salesforce and will cover the rest in the future blogs.</p>
<p><strong>1. Workbench</strong> (<a href="http://wiki.developerforce.com/page/Workbench" target="_blank">http://wiki.developerforce.com/page/Workbench</a>)</p>
<p>Just a like a real workbench, Workbench is designed to be an application administrators and developers can use to quickly view their organizations&#8217; data and metadata, test and troubleshoot their own applications, and be a one-stop shop for interacting with the various Force.com APIs.</p>
<p><em>(Click on the pics to zoom in)</em></p>
<table width="100%">
<tbody>
<tr>
<td><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/05/workbench1.png"><img style="vertical-align: top" src="http://blogs.developerforce.com/developer-relations/files/2013/05/workbench1-300x158.png" alt="" width="300" height="158" /></a></td>
<td><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/05/workbench2.png"><img style="vertical-align: top" src="http://blogs.developerforce.com/developer-relations/files/2013/05/workbench2-300x192.png" alt="" width="300" height="158" /></a></td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />
<strong>2. Query Editor </strong> (<a href='http://help.salesforce.com/apex/HTViewHelpDoc?id=code_dev_console_tab_query_editor.htm&amp;language=en_US' target='_blank'>Salesforce Query Editor</a>)</p>
<p>Salesforce &gt; Your name &gt; Developer Console &gt; Query Editor tab.  This tab is part of Salesforce Developer Console and allows you to quickly run some SOQL queries. This can come in handy if you have already opened Developer Console for debugging or testing Apex code.<br />
<a href="http://blogs.developerforce.com/developer-relations/files/2013/06/queryEditor.png" class="overlay"><img src="http://blogs.developerforce.com/developer-relations/files/2013/06/queryEditor-300x254.png" alt="" width="300" height="254" class="aligncenter size-medium wp-image-14336" /></a></p>
<p>&nbsp;<br />
<strong>3. PocketSoap&#8217;s SoqlX (</strong><a href="http://www.pocketsoap.com/osx/soqlx/" target="_blank">http://www.pocketsoap.com/osx/soqlx/</a>)</p>
<p>SoqlX is a tool for developers using the Salesforce.com platform, it allows you to easily explorer your schema, write and run SOQL queries, make edits to data, and to run Apex code.</p>
<p style="text-align: center"><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/05/schema.png"><img class="alignleft size-large wp-image-13787" style="vertical-align: top" src="http://blogs.developerforce.com/developer-relations/files/2013/05/schema-1024x964.png" alt="" width="1024" height="964" /></a></p>
<p><strong>4. DEV HTTP Client Chrome Browser plugin</strong> (<a href="https://chrome.google.com/webstore/detail/dev-http-client/aejoelaoggembcahagimdiliamlcdmfm" target="_blank">DEV HTTP client Web store url</a>)</p>
<p>This is one of my favorite Chrome browser plugins. I&#8217;ve been using to quickly test http requests for Salesforce and other services for a long time. One thing that comes in really handy is that it stores all your queries so you can come back and reuse or make a little change and reuse instead of typing entire queries.</p>
<table width="100%">
<tbody>
<tr>
<td valign="top"><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/05/DEV_HTTP_CLIENT_soap1.png"><img class="size-medium wp-image-14118" style="vertical-align: top" src="http://blogs.developerforce.com/developer-relations/files/2013/05/DEV_HTTP_CLIENT_soap1-300x175.png" alt="" width="300" height="175" /></a></td>
<td valign="top"><a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/05/DEV_HTTP_CLIENT_REST.png"><img class="size-medium wp-image-14086" style="vertical-align: top" src="http://blogs.developerforce.com/developer-relations/files/2013/05/DEV_HTTP_CLIENT_REST-300x158.png" alt="" width="300" height="158" /></a></td>
</tr>
</tbody>
</table>
<p><strong>5. Ajax toolkit shell (aka Debug Shell)</strong> (<a href="https://login.salesforce.com/soap/ajax/27.0/debugshell.html" target="_blank">https://login.salesforce.com/soap/ajax/27.0/debugshell.html</a>)</p>
<p>A lightweight online tool also allows you to perform regular SOQL, SOSL queries. It comes with auto-complete and most of the operations are under sforce.connection and sforce.sObject. We use this the most when we need to quickly get hold of ‘sessionId’.</p>
<p>For example: To get sessionId, simply login to <span style="text-decoration: underline"><a href="https://login.salesforce.com/soap/ajax/27.0/debugshell.html">https://login.salesforce.com/soap/ajax/27.0/debugshell.html</a></span> and type:<strong> </strong><em>sforce.connection.login(yourEmail, yourPwd); </em>and hit enter. You&#8217;ll see something like below: <a class="overlay" href="http://blogs.developerforce.com/developer-relations/files/2013/05/debugShell.png"><img class="size-large wp-image-13756" style="vertical-align: top" src="http://blogs.developerforce.com/developer-relations/files/2013/05/debugShell-1024x377.png" alt="" width="1024" height="377" /></a></p>
<p><strong>6. CURL </strong><br />
Good old cURL remains extremely popular among linux/mac developers. You can obviously do any kind of http requests to query Salesforce or any other services. Here is couple of examples of how you can use cURL against Salesforce:</p>
<ul>
<li>Get SessionId via POST:</li>
</ul>
<p style="padding-left: 60px">See <a href="http://www.salesforce.com/us/developer/docs/api_asynch/Content/asynch_api_quickstart_login.htm" target="_blank">http://www.salesforce.com/us/developer/docs/api_asynch/Content/asynch_api_quickstart_login.htm</a></p>
<ul>
<li>Get two contacts:
<pre>curl -H 'Authorization: OAuth  YOUR_SESSION_ID https://na15.salesforce.com/services/data/v20.0/query/?q=SELECT+name+from+Contact+limit+2'</pre>
</li>
</ul>
<div style="padding-left: 30px">
<p><strong>6.1 CURL Tips and tricks</strong></p>
<ul>
<li>Make sure to<strong> use single quotes</strong> around sessionId, coz sessionId might have <strong>&#8220;!&#8221; </strong>and other special characters.</li>
<li>Make sure to prepend <strong>&#8216;OAuth &lt;space&gt;&#8217;</strong> to your <strong>sessionId</strong> for <strong>&#8220;Authorization&#8221;</strong> header</li>
<li>Pretty print.  Pass <strong>-H &#8220;X-PrettyPrint:1&#8243; </strong>to prettyprint and easily see SOAP/JSON results<strong>.</strong></li>
</ul>
</div>
<div>
<pre style="padding-left: 30px">curl -H 'Authorization: OAuth YOUR_SESSION_ID' -H 'X-PrettyPrint:1' https://na15.salesforce.com/services/data/v27.0/query/?q=SELECT+name+from+Contact+limit+2</pre>
<pre style="padding-left: 30px">{
  "totalSize" : 2,
  "done" : true,
  "records" : [ {
    "attributes" : {
      "type" : "Contact",
      "url" : "/services/data/v20.0/sobjects/Contact/003i0000005zwGpAAI"
    },
    "Name" : "Rose Gonzalez"
  }, {
    "attributes" : {
      "type" : "Contact",
      "url" : "/services/data/v20.0/sobjects/Contact/003i0000005zwGqAAI"
    },
    "Name" : "Sean Forbes"
  } ]
}</pre>
</div>
<p>&nbsp;</p>
<hr />
<p>Now those are the main tools available to interact with Salesforce database. Internally the unofficial popularity of these tools are in the following order #1, #6, #5, #2, #3, #4. Go ahead and use the tips mentioned earlier to pick few of them and see which one works the best.</p>
<p>As I mentioned earlier, I will cover other tools, tips and tricks related to developing mobile apps on Salesforce.</p>
<p>Finally, remember tools are there to help you and it is as important to learn about tools as learning programming languages and design.<br />
- Cheers!<br />
Raja (<a href="http://twitter.com/rajaraodv" target="_blank">@rajaraodv</a>)</p>
<img src="http://feeds.feedburner.com/~r/developerforce/developerelations/~4/5YRHuCKSHWo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.developerforce.com/developer-relations/2013/06/tools-tips-and-tricks-for-developing-mobile-apps-on-salesforce-part-1.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blogs.developerforce.com/developer-relations/2013/06/tools-tips-and-tricks-for-developing-mobile-apps-on-salesforce-part-1.html</feedburner:origLink></item>
	</channel>
</rss>
