<?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>Just Another Dang Blog &#187; SalesForce</title>
	<atom:link href="http://blog.lopau.com/category/salesforce/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lopau.com</link>
	<description>A tech blog about web development, graphic designs, freelancing, cloud computing, mobile development, innovations and seo.</description>
	<lastBuildDate>Thu, 06 Oct 2011 03:01:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Create a Web Service using SOAP</title>
		<link>http://blog.lopau.com/create-a-web-service-using-soap/</link>
		<comments>http://blog.lopau.com/create-a-web-service-using-soap/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 14:49:58 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[Web Resources]]></category>
		<category><![CDATA[force.com]]></category>
		<category><![CDATA[soap]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=1502</guid>
		<description><![CDATA[This week one of the requirements for our client was to have a force.com application communicate with an external web service running on PHP to generate a barcode sequence. I&#8217;ll teach how I was able to setup the web service using NuSOAP and a document/literal as rcp/encoded is not supported by force.com. My goal was [...]]]></description>
			<content:encoded><![CDATA[<p>This week one of the requirements for our client was to have a force.com application communicate with an external web service running on PHP to generate a barcode sequence. I&#8217;ll teach how I was able to setup the web service using NuSOAP and a document/literal as rcp/encoded is not supported by force.com. My goal was to make the task easier on php side so from force.com it would make a request by passing a string delimited by an asterisk and pipe. We process the string and return it back as url for the barcode image. I wont be covering barcode creation though in this tutorial but only the web service and sample client.<br />
<span id="more-1502"></span></p>
<p>
<!-- Begin Google Adsense code -->
<div class="googleads">
<script type="text/javascript"><!--
google_ad_client = "pub-4515932012590505";
/* 200x200, created 10/29/08 */
google_ad_slot = "3929428513";
google_ad_width = 200;
google_ad_height = 200;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<!-- End Google Adsense code -->
<br />
e.g. Name*2|Mr.*3</p>
<p>The web service will parse the string convert it to an array. You can ofcourse pass any other type of string with a delimiter. </p>
<p>Here is how the server is.</p>
<div class="codesnip-container" >// Pull in the NuSOAP code<br />
require_once(&#8216;lib/nusoap.php&#8217;);<br />
// Create the server instance<br />
$server = new soap_server();<br />
$server->configureWSDL( &#8216;servicename&#8217;, &#8216;urn:servicename&#8217;, &#8221;, &#8216;document&#8217;);<br />
myRegister($server,&#8217;DoSomething&#8217;,array(<br />
	&#8216;in&#8217; => array(<br />
		&#8216;sf-parameters&#8217; =>  &#8216;xsd:string&#8217;),<br />
	&#8216;out&#8217; => array(&#8216;Pass&#8217; => &#8216;xsd:string&#8217;)<br />
));<br />
//if in safe mode, raw post data not set:<br />
if (!isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA = implode(&#8220;\r\n&#8221;, file(&#8216;php://input&#8217;));<br />
$server->service( $HTTP_RAW_POST_DATA);<br />
function myRegister( &#038;$server, $methodname, $params) {<br />
	$server->register($methodname, $params["in"], $params["out"],<br />
&#8216;urn:servicename&#8217;, // namespace<br />
	$server->wsdl->endpoint .&#8217;#&#8217;. $methodname, // soapaction<br />
&#8216;document&#8217;, // style<br />
&#8216;literal&#8217;, // use<br />
&#8216;Generate Barcode Sequence URL&#8217; // documentation<br />
	);<br />
}<br />
function DoSomething($params) {<br />
	$string = $params;<br />
	$list = explode(&#8220;|&#8221;, $string);<br />
	//make associative array<br />
	$result = array();<br />
	foreach($list as $key=>$values) {<br />
		$result[] = explode(&#8220;*&#8221;, $values);<br />
	}</p>
<p>	//creates the string<br />
	$bcStr = &#8220;&#8221;;<br />
	foreach($result as $values) {<br />
		$bcStr .= $values[0];<br />
		for ($i = 1; $i < = $values[1]; $i++) {<br />
			$bcStr .= "\t";<br />
		}<br />
	}</p>
<p>	return array('Pass'=> $bcStr);<br />
}</p></div>
<p>You are instantiating a class of the NuSOAP server and configuring it with WSDL. You also create two functions,, one handles the $server->register method which takes the argument incoming request and the outgoing response and the $server->wsdl with arguments defining the server as a document/literal. </p>
<p>Then for my task purpose the incoming delimited string is converted to an associative array and then converted back to string with the proper formatting I require ($bcStr), if you have barcode class you can pass that string and a barcode image should be generated from it. That however is not covered on this tutorial.</p>
<p>Next is simple php client to test the web service out.</p>
<div class="codesnip-container" ><?php<br />
// Pull in the NuSOAP code<br />
require_once('lib/nusoap.php');<br />
// Create the client instance<br />
$ns="urn:servicename";<br />
$client = new nusoap_client('http://localhost/soap_server/hellowsdl2.php?wsdl', true);<br />
if ( $client->getError() ) {<br />
	print &#8220;Soap Constructor Error:
<pre>".
	$client->getError()."</pre>
<p>&#8220;;<br />
}<br />
$params=array(&#8220;sf-parameters&#8221;=>&#8221;Name*2|Mr.*3&#8243;);<br />
$result = $client->call( &#8220;DoSomething&#8221;, array(&#8220;parameters&#8221;=>$params), $ns);<br />
if ($client->fault) {<br />
	//soap_fault<br />
	print &#8220;<br />
<h2>Soap Fault: </h2>
<pre>(". $client->fault->faultcode .")  ".
	$client->fault->faultstring. "</pre>
<p>&#8220;;<br />
}<br />
elseif ( $client->getError() ) {<br />
	print &#8220;<br />
<h2>Soap Error: </h2>
<pre>". $client->getError() ."</pre>
<p>&#8220;;<br />
}<br />
else {<br />
	print &#8220;<br />
<h2>Result: </h2>
<pre>". $result["Pass"] ."</pre>
<p>&#8220;;<br />
}<br />
print &#8216;<br />
<h2>Details:</h2>
<hr />&#8216;.<br />
&#8216;<br />
<h3>Request</h3>
<pre>' .
htmlspecialchars( $client->request, ENT_QUOTES) .'</pre>
<p>&#8216;.<br />
&#8216;<br />
<h3>Response</h3>
<pre>' .
htmlspecialchars( $client->response, ENT_QUOTES) .'</pre>
<p>&#8216;.<br />
&#8216;<br />
<h3>Debug</h3>
<pre>' .
htmlspecialchars( $client->debug_str, ENT_QUOTES) .'</pre>
<p>&#8216;;<br />
?></p></div>
<p>This time I instantiated a <strong>nusoap_client</strong> note that underscore _ as I got stuck on this earlier and got PHP complaining when it was just <strong>nusoapclient</strong>. Next I created the string params to be passed to the DoSomething method via $client->call.</p>
<p>Then from here we goback to our force.com app we make a soap request to the webservice and it returns with the response we need. On Force.com make sure you add your web service the Remote Site Settings under Setup > Administrative Setup > Security Controls. </p>
<p>Kudos for the resource and solution for task from the original author <a href="http://mleiv.com/php-nusoap-documentliteral-web/">mleiv blog&#8217;s.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/create-a-web-service-using-soap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>August Goal: Create first mobile iOS app &amp; Force.com Advance Developer Certification</title>
		<link>http://blog.lopau.com/august-goal-create-first-mobile-ios-app-force-com-advance-developer-certification/</link>
		<comments>http://blog.lopau.com/august-goal-create-first-mobile-ios-app-force-com-advance-developer-certification/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 06:58:03 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[SalesForce]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=1372</guid>
		<description><![CDATA[Welcome August, time really flies so fast. I&#8217;m setting a couple of goals to complete before August ends to get things crossed out from my 2011 Todo List. I&#8217;ve been doing alot of reading and studying on iOS for almost 5 months and need to really get something off the shelf so to speak. For [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome August, time really flies so fast. I&#8217;m setting a couple of goals to complete before August ends to get things crossed out from my <a href="http://blog.lopau.com/todo-for-2011/">2011 Todo List</a>.</p>
<p>I&#8217;ve been doing alot of reading and studying on iOS for almost 5 months and need to really get something off the shelf so to speak. For my first application I got some ideas from my <a href="http://tinokla.lopau.com">wife</a> who owns a preschool. This would be an educational app for preschool kids. I&#8217;ll be leveraging a little bit of salesforce.com on the app.</p>
<p>Also  I&#8217;ve been a certified <a href="http://blog.lopau.com/finally-passed-my-force-com-certified-developer-exam/">Force.com certified developer</a> since last year November 2010. Time to prep up my skills and move to bigger and tastier things like getting the <a href="http://www.salesforce.com/assets/pdf/misc/SG_CertifiedADVDeveloper.pdf">Force.com Advanced Developer</a> exam, this focuses more on the programmatic side of building apps using Force.com.</p>
<p>So looking forward to cracking the shell this August.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/august-goal-create-first-mobile-ios-app-force-com-advance-developer-certification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lots of new Force.com features in Spring &#8217;11</title>
		<link>http://blog.lopau.com/lots-of-new-force-com-features-in-spring-11/</link>
		<comments>http://blog.lopau.com/lots-of-new-force-com-features-in-spring-11/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 00:16:58 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=1074</guid>
		<description><![CDATA[Spring 11 is out with a bang with about 170 overall releases. Here are the new features for the release on Force.com only. Criteria Based Sharing Rules &#8211; allows you to share records based on value of a particular field. Force.com Flows Package Support Access Trialforce Email Branding &#8211; if your using trialforce you can [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Spring 11 is out with a bang with about 170 overall releases.</div>
<div></div>
<div>Here are the new features for the release on Force.com only.</div>
<div></div>
<div>
<ol>
<li>Criteria Based Sharing Rules &#8211; allows you to share records based on value of a particular field.</li>
<li> Force.com Flows</li>
<li>Package Support Access</li>
<li>Trialforce Email Branding &#8211; if your using trialforce you can brand the email copy instead of the generic sf email when a user signs to your trialforce page.</li>
<li>Mass User Licensing for Managed Packages &#8211;  ability to add/remove via a group of users</li>
<li>Force.com Apex Code Enhancements<br />
ReadOnly Annotation<br />
Chatter Triggers<br />
Revised Governor Limits<br />
Apex Test Framework—Pilot</li>
<li>System Log Console Execution Summary</li>
<li>Visualforce Enhancements &#8211; what I like is the support for inline editing</li>
<li>Field Sets—Beta</li>
<li>API Enhancements</li>
<li>Force.com Development as a Service Enhancements</li>
<li>Change Sets—Generally Available</li>
<li>Security Enhancements</li>
<li>Google Chrome Browser Support</li>
<li>Setup Audit Trail Enhancements</li>
<li>Delegated Approval Email Settings</li>
<li>Daily Limit on Workflow Alert Emails &#8211; 1000/24 hours.</li>
<li>Sharing Enhancements</li>
<li>Globalization Enhancements</li>
<li>Outbound Port Enhancement</li>
</ol>
<p>There is alot of changes so don&#8217;t forget to check the updated documentation and training help.
</p></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/lots-of-new-force-com-features-in-spring-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally passed my Force.com Certified Developer Exam</title>
		<link>http://blog.lopau.com/finally-passed-my-force-com-certified-developer-exam/</link>
		<comments>http://blog.lopau.com/finally-passed-my-force-com-certified-developer-exam/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 04:27:00 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[force.com]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=985</guid>
		<description><![CDATA[Barely starting developing on Force.com for a couple of months and hurriedly studied to prepare for the exam I failed the exam and I retook the exam after a month and failed again, I knew then the preparing for the third retake that I should need a definite study plan and alot more time to [...]]]></description>
			<content:encoded><![CDATA[<p>Barely starting developing on Force.com for a couple of months and hurriedly studied to prepare for the exam I failed the exam and I retook the exam after a month and failed again, I knew then the preparing for the third retake that I should need a definite study plan and alot more time to know the ins and out. 3 weeks before the exam I studied straight and was ready to take the exam 2-3 days before the exam. The reference materials below helped me in preparing for the Exam. Because materials tends to be updated on new releases make sure you get the latest copies online.<br />
<span id="more-985"></span><br />

<!-- Begin Google Adsense code -->
<div class="googleads">
<script type="text/javascript"><!--
google_ad_client = "pub-4515932012590505";
/* 200x200, created 10/29/08 */
google_ad_slot = "3929428513";
google_ad_width = 200;
google_ad_height = 200;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<!-- End Google Adsense code -->
<br />
1. Create two Salesforce.com account. <a href="http://www.developerforce.com/events/regular/registration.php?d=70130000000EjHb" target="_blank">Free Developer Edition</a> and<a href="https://www.salesforce.com/form/signup/freeforce-platform.jsp?d=70130000000EoUN"> Force.com Free Edition </a> &#8211; The Free Edition has the ability to create 1 sandbox. Feature that allow you to learn the ins and out productions to sandbox vice versa, loading data etc. So create the Recruiting App on the Free Developer Edition covered on the <a href="http://developer.force.com/books/fundamentals">Fundamentals</a> and the Warehouse app in the Force.com Edition in the <a href="http://www.salesforce.com/us/developer/docs/workbook/workbook.pdf">Workbook.</a></p>
<p>2. I read all these ebooks except those that pertain to Flex development and advance Apex subject.</p>
<p><strong><a href="http://developer.force.com/books/fundamentals">Force.com Fundamentals: Custom Application Development in the Cloud</a></strong></p>
<p><strong><a title="http://www.salesforce.com/assets/pdf/misc/SG_CertifiedDeveloper.pdf" rel="nofollow" href="http://www.salesforce.com/assets/pdf/misc/SG_CertifiedDeveloper.pdf">Force.com Certified Developer Study Guide</a></strong></p>
<p><strong></strong><strong><a href="http://www.salesforce.com/us/developer/docs/workbook/workbook.pdf">Force.com Workbook: Get Started Building Your First App in the Cloud</a></strong></p>
<p><strong><a href="http://wiki.developerforce.com/index.php/Members:DevGuideDownload">Force.com Developer Guide</a> &#8211; </strong>Material is from Summer 09 but still useful information regarding Tagging, Analytic Snapshots</p>
<p><strong><a href="http://forceprepare.com" target="_blank">Forceprepare.com</a>- </strong>excellent mockup exams to test your knowledge and other useful information.</p>
<p>And the DEV 401 Training Video. I broke it down to view only 3 hours video per day, so you don&#8217;t bored and lose interest.</p>
<p>And some key pointers I noted from the test, funny that every time after an exam I get blanked out and cant seem to recall the questions on the test. I only managed to recall the topic.</p>
<blockquote>
<div id="_mcePaste">some key points</div>
<div id="_mcePaste">-review the security controls &#8211; make sure you understand in and out: most use cases are a mix of the following</div>
<div id="_mcePaste">- profiles</div>
<div id="_mcePaste">- object level permissions</div>
<div id="_mcePaste">- field field level permissions</div>
<div id="_mcePaste">- record level permissions</div>
<div id="_mcePaste">- record level access</div>
<div id="_mcePaste">- role hierarchy</div>
<div id="_mcePaste">- reports</div>
<div id="_mcePaste">- how are objects related to reports</div>
<div id="_mcePaste">- type of dashboard to component to use per case scenarios</div>
<div id="_mcePaste">- what can be done with custom report types</div>
<div id="_mcePaste">- Analytic Snapshots</div>
<div id="_mcePaste">- workflow and approvals</div>
<div id="_mcePaste">- pararrel approval</div>
<div id="_mcePaste">- approval process</div>
<div id="_mcePaste">- use case for time triggered actions</div>
<div id="_mcePaste">- limitations of data loader on importing standard,custom objects</div>
<div id="_mcePaste">- features of the data loader</div>
<div id="_mcePaste">- sidebar feature how are items added</div>
<div id="_mcePaste">- User objects</div>
<div id="_mcePaste">- Types of relationships including hierarchal</div>
<div id="_mcePaste">- Use case on best relationship to use</div>
<div id="_mcePaste">- Use case for using VisualForce and Apex</div>
<div id="_mcePaste">- Authentication on Sandbox</div>
<div id="_mcePaste">- Encrypted Fields</div>
</blockquote>
<p>After all those hard work I&#8217;m officially certified.<br />
<a href="http://blog.lopau.com/wp-content/uploads/2010/11/sf_cert_dev_rgb.jpg"><img class="aligncenter size-full wp-image-987" title="sf_cert_dev_rgb" src="http://blog.lopau.com/wp-content/uploads/2010/11/sf_cert_dev_rgb.jpg" alt="" width="225" height="192" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/finally-passed-my-force-com-certified-developer-exam/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>VisualForce Row Count</title>
		<link>http://blog.lopau.com/visualforce-row-count/</link>
		<comments>http://blog.lopau.com/visualforce-row-count/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 13:13:29 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[force.com]]></category>
		<category><![CDATA[visualforce]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=974</guid>
		<description><![CDATA[This is my first tutorial on VisualForce &#8211; a markup language for Force.com. The scenario was I needed to display a numbering for each child record found on the master record without coding an extension or using a controller. My solution. Code below would loop to the child records and display each result found. The [...]]]></description>
			<content:encoded><![CDATA[<p>This is my first tutorial on VisualForce &#8211; a markup language for Force.com.</p>
<p>The scenario was I needed to display a numbering for each child record found on the master record without coding an extension or using a controller.</p>
<p>My solution. Code below would loop to the child records and display each result found. The number count is declare as a variable with a value that starts at 1 before the start of the repeat tag and then another variable tag declaring using the same variable, using the formula VALUE before the end of the repeat to initialize it from text to a number integer then incrementing it by one.</p>
<blockquote>
<div id="_mcePaste">&lt;apex:variable value=&#8221;1&#8243; var=&#8221;rowNum&#8221;/&gt;</div>
<div id="_mcePaste">&lt;apex:repeat value=&#8221;{!Work_Order__c.Work_Order_Charges__r}&#8221; var=&#8221;List&#8221; id=&#8221;theRepeat&#8221;&gt;</div>
<div id="_mcePaste">&lt;tr&gt;</div>
<div id="_mcePaste">&lt;td&gt;&lt;apex:outputtext value=&#8221;{!rowNum}&#8221;/&gt;&lt;/td&gt;</div>
<div id="_mcePaste">&lt;td&gt;{!List.Quantity__c}&lt;/td&gt;</div>
<div id="_mcePaste">&lt;td&gt;{!List.Description__c}&lt;/td&gt;</div>
<div id="_mcePaste">&lt;td&gt;{!List.Rate__c}&lt;/td&gt;</div>
<div id="_mcePaste">&lt;/tr&gt;</div>
<div id="_mcePaste">&lt;apex:variable var=&#8221;rowNum&#8221; value=&#8221;{!VALUE(rowNum) + 1}&#8221;/&gt;</div>
<div id="_mcePaste">&lt;/apex:repeat&gt;</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/visualforce-row-count/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force.com Certified Developer retake</title>
		<link>http://blog.lopau.com/force-com-certified-developer-retake/</link>
		<comments>http://blog.lopau.com/force-com-certified-developer-retake/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 04:25:59 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[force.com]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=952</guid>
		<description><![CDATA[After a few months after failing my 2nd attempt to get certified, actually its me and my colleague that failed the 2nd retake. Now this is my third retake and I have more experience developing applications on force.com so I feel more comfortable that I would really pass it this time. Have close to 3 [...]]]></description>
			<content:encoded><![CDATA[<p>After a few months after failing my 2nd attempt to get certified, actually its me and my colleague that failed the 2nd retake. Now this is my third retake and I have more experience developing applications on force.com so I feel more comfortable that I would really pass it this time.  Have close to 3 weeks to prepare. So good luck to me again.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/force-com-certified-developer-retake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Object Relationships and Fields</title>
		<link>http://blog.lopau.com/object-relationships-and-fields/</link>
		<comments>http://blog.lopau.com/object-relationships-and-fields/#comments</comments>
		<pubDate>Thu, 06 May 2010 14:20:20 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=900</guid>
		<description><![CDATA[Object Relationships Link two objects -parent to child -one to many two main types -lookup -master-detail two special types // implementation of the two -self relationships -many to many relationships lookup relationships -loosely coupled * child field value may be optional * no cascade delte * independent ownerhip / &#8212; independent access control * max [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Object Relationships</strong><br />
Link two objects<br />
-parent to child<br />
-one to many</p>
<p>two main types<br />
-lookup<br />
-master-detail</p>
<p>two special types // implementation of the two<br />
-self relationships<br />
-many to many relationships</p>
<p>lookup relationships<br />
-loosely coupled<br />
 * child field value may be optional<br />
 * no cascade delte<br />
 * independent ownerhip / &#8212; independent access control<br />
* max 25 lookup per child<br />
&#8211; child may not have a parent</p>
<p>master detail<br />
-tightly coupled<br />
 * child field vale is always required<br />
 * cascade delete<br />
 * inherited ownership * sharing<br />
* max 2 per detail object</p>
<p>Custom Fields<br />
- store the data for your custom object records<br />
- automatically include some standard fields<br />
- create custom fields to store additional information</p>
<p>Custom Fields and External Ids<br />
- Custom index on any custom field of type Text, Number or Email<br />
- Available on all objects that support custom fields<br />
- User-defined cross-reference field<br />
- Why is it important?</p>
<p> &#8211; Increases report and API SOQL performance<br />
 &#8211; Used with upsert to easiy integrate apps with other systems</p>
<p>- An object can have three External IDs</p>
<p>Encrypted Fields<br />
-Encrypted fields allow for masking data from all users except those with the &#8220;View Encrypted Data&#8221; permission &#8211; provisioned feature<br />
- Encrypted custom fields cannot be unique, an external ID or have default values<br />
- Encrypted fields are editable regardless of whether the user has the &#8220;View Encrypted Data&#8221; permission &#8211; can use validation rules, field level security, page layout etc.. to </p>
<p>2 Types Activites<br />
- Task<br />
- Activity</p>
<p>6 Standard Name fields<br />
-Name<br />
-ID<br />
-Created By<br />
-LAst Modified By<br />
-Created Date/Last Modified Date<br />
-Owner </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/object-relationships-and-fields/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force.com Custom Objects</title>
		<link>http://blog.lopau.com/force-com-custom-objects/</link>
		<comments>http://blog.lopau.com/force-com-custom-objects/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 12:54:57 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[custom objects]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=897</guid>
		<description><![CDATA[Most of the work revolves around creating custom objects, there are standard objects provided by the platform but custom objects are the core structure data model that makes your application relevant &#038; useful to your organization. Custom Objects are the the heart of any application - provide a structure for storing data - power the [...]]]></description>
			<content:encoded><![CDATA[<p>Most of the work revolves around creating custom objects, there are standard objects provided by the platform but custom objects are the core structure data model that makes your application relevant &#038; useful to your organization.</p>
<p>Custom Objects are the the heart of any application<br />
- provide a structure for storing data<br />
- power the interface elements for users to interact with the data<br />
- store information that is unique and important to your organization<br />
- are reportable and searchable<br />
- have configurable access control features aka Security and Sharing Rules<br />
- has properties such as custom fields, relationships to other objects, page layouts , tabs(optional)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/force-com-custom-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Key Technologies Behind the Force.com Platform</title>
		<link>http://blog.lopau.com/key-technologies-behind-the-force-com-platform/</link>
		<comments>http://blog.lopau.com/key-technologies-behind-the-force-com-platform/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 10:04:58 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=892</guid>
		<description><![CDATA[Multitenant architecture &#8211; An application model in which all users and apps share a single, common infrastructure and code base Metadata-driven development model &#8211; An app development model that allows apps to be defined as declarative “blueprints,” with no code required. Data models, objects, forms, workflows, and more are defined by metadata. NOTE: There is [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Multitenant architecture &#8211; An application model in which all users and apps share a single, common infrastructure and code base</li>
<li>Metadata-driven development model &#8211; An app development model that allows apps to be defined as declarative “blueprints,” with no code required. Data models, objects, forms, workflows, and more are defined by metadata.
<p>NOTE: There is a Force.com Metadata API that allows you to directly manipulate the XML that controls the Metadata of your application/organization.
</li>
<li>Force.com Web Services API &#8211; An application programming interface that defines a Web service that provides direct access to all data stored in the Force.com platform from virtually any programming language and platform</li>
<li>Apex &#8211;  The world’s first on-demand programming language, which runs in the cloud on the Force.com platform servers</li>
<li>Visualforce &#8211;  A framework for creating feature-rich user interfaces for apps in the cloud</li>
<li>Force.com Sites &#8211; Public websites and applications that are directly integrated with your Salesforce.com organization—without requiring users to log in with a username and password</li>
<li>AppExchange  directory -A Web directory where hundreds of Force.com apps are available to Salesforce.com customers to review, demo, comment upon, and/or install. Developers can submit their apps for listing on the AppExchange directory if they want to share them with the community.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/key-technologies-behind-the-force-com-platform/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Force.com Understanding the Basics</title>
		<link>http://blog.lopau.com/force-com-understanding-the-basics/</link>
		<comments>http://blog.lopau.com/force-com-understanding-the-basics/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 15:59:49 +0000</pubDate>
		<dc:creator>lopau</dc:creator>
				<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://blog.lopau.com/?p=879</guid>
		<description><![CDATA[The applications you build on force.com follows a building block layer logic of MVC(Model-View-Controller). Being able to quickly identify on which building block you are working would help on studying the different exam outline. From wikipedia. The model is the domain-specific representation of the data upon which the application operates. Domain logic adds meaning to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lopau.com/wp-content/uploads/2010/04/expanding-basics.jpg"><img class="aligncenter size-medium wp-image-880" title="expanding-basics" src="http://blog.lopau.com/wp-content/uploads/2010/04/expanding-basics-300x226.jpg" alt="" width="300" height="226" /></a><br />
<a href="http://blog.lopau.com/wp-content/uploads/2010/04/building-blocks.jpg"><img class="aligncenter size-medium wp-image-890" title="building-blocks" src="http://blog.lopau.com/wp-content/uploads/2010/04/building-blocks-300x210.jpg" alt="" width="300" height="210" /></a></p>
<p>The applications you build on force.com follows a building block layer logic of  MVC(Model-View-Controller). Being able to quickly identify on which building block you are working would help on studying the different exam outline.</p>
<p>From <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">wikipedia.</a></p>
<blockquote><p>The <strong>model </strong>is the domain-specific representation of the data upon which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user&#8217;s birthday, or the totals, taxes, and shipping charges for shopping cart items). When a model changes its state, it notifies its associated views so they can be refreshed.</p>
<p>Many applications use a persistent storage mechanism such as a database to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model. Models are not data access objects; however, in very simple apps that have little domain logic there is no real distinction to be made. Also, the ActiveRecord is an accepted design pattern which merges domain logic and data access code &#8211; a model which knows how to persist itself.</p>
<p>The <strong>view </strong>renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes.</p>
<p>The <strong>controller </strong>receives input and initiates a response by making calls on model objects.</p></blockquote>
<p><strong>NOTE:</strong> What I post for my study preparations here are my own understanding and interpretation which are open for corrections and discussions. So please feel free to comment for corrections, I&#8217;m always eager to learn.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lopau.com/force-com-understanding-the-basics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

