<?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>Perspectives on Salesforce.com &#187; Wish List</title>
	<atom:link href="http://sfdc.arrowpointe.com/taxonomy/category/wish-list/feed/" rel="self" type="application/rss+xml" />
	<link>http://sfdc.arrowpointe.com</link>
	<description>Authored by Scott Hemmeter of Arrowpointe Corp, this blog is written from the perspective of a Salesforce.com solution provider and contains information on Arrowpointe's AppExchange products as well as tips, findings, sample code, functionality wishes, etc.</description>
	<lastBuildDate>Mon, 23 Aug 2010 23:00:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fight Web to Lead Spam w/ Akismet</title>
		<link>http://sfdc.arrowpointe.com/2007/05/24/fight-web-to-lead-spam-w-akismet/</link>
		<comments>http://sfdc.arrowpointe.com/2007/05/24/fight-web-to-lead-spam-w-akismet/#comments</comments>
		<pubDate>Fri, 25 May 2007 04:10:14 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Akismet Web-To-Lead]]></category>
		<category><![CDATA[Arrowpointe Products]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Innovations]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2007/05/24/fight-web-to-lead-spam-w-akismet/</guid>
		<description><![CDATA[This functionality has been improved, runs native on force.com and released on the AppExchange.  Learn more on our website.
Back in January, I posted about a way to help combat web to lead spam.  That type of solution works well, but is not scalable.  Also, it is a reactive approach rather than a [...]]]></description>
			<content:encoded><![CDATA[<p style="line-height: 1.5em; font-size: 80%;"><em>This functionality has been improved, runs native on force.com and released on the <a href="http://www.arrowpointe.com/getspamcheck">AppExchange</a>.  Learn more on our <a href="http://www.arrowpointe.com/spamcheck/">website</a>.</em></p>
<p>Back in January, I <a href="http://sfdc.arrowpointe.com/2007/01/31/stopping-web-to-lead-spam-poor-mans-way/">posted</a> about a way to help combat web to lead spam.  That type of solution works well, but is not scalable.  Also, it is a reactive approach rather than a proactive one.</p>
<p>I decided to try and see if I could incorporate Akismet into the web to lead process and I was successful in doing so!  I created a set of scripts for you to download if you&#8217;d like to leverage Akismet with your web to lead forms.</p>
<p><a href="http://www.akismet.com">Akismet</a> is the best spam tool I have ever used.  When I <a href="http://sfdc.arrowpointe.com/2007/01/31/stopping-web-to-lead-spam-poor-mans-way/">posted in January</a>, it had captured <strong>7,680</strong> spam in its existence on this blog.  Less than 4 months later, the spam count is up to <strong>23,994</strong>.  Needless to stay, spam is an exponentially increasing problem and will plague your Salesforce.com environment eventually.  I feel that Salesforce.com needs to include a spam filter in their product for web to lead (<a href="http://ideas.salesforce.com/article/show/29238" target=_blank>vote for it</a>).</p>
<p>Until then, leveraging Akismet could help you significantly.</p>
<h6>About the Solution</h6>
<p>The scripts are intended to be proof of concept for you to use and apply to your own environment.  The code and downloads are now being officially hosted at <a href="http://code.google.com/p/arrowpointe/" target=_blank>Arrowpointe&#8217;s Open Source Project at Google</a>.</p>
<p>To use this solution, you&#8217;ll point your web to lead forms to this script rather than to the standard Salesforce Web to Lead page.  The script accepts the data from your web to lead form, passes it to Akismet to determine whether it&#8217;s spam or not and then passes the data to Salesforce.com&#8217;s web to lead page with the Akismet result appended to it.</p>
<p>In Salesforce, you&#8217;ll need to add checkbox field (e.g. &#8220;Akismet marked as spam&#8221;) on your Lead.  If Akismet thinks it&#8217;s spam, that field will be set to TRUE.  You would then need to add assignment rules or validation rules to do whatever you need.  For example, you could have a lead assignment rule looking at that one checkbox field and put leads into a special queue if they are marked as spam.</p>
<p>The script leverages the <a href="http://www.achingbrain.net/stuff/akismet/">Akismet PHP5 Class</a> to handle the core communication with Akismet.  I found this class from the <a href="http://akismet.com/development/">Akismet Development page</a>.</p>
<p>This script will only work on PHP5 and requires the <a href="http://us.php.net/curl">cURL module</a> to be enabled.  cURL is enabled by default in most PHP installations.  The PHP5 requirement is a limitation of the Akismet PHP5 Class.  If you are on another platform (PHP4, Ruby, Java, etc.), I don&#8217;t see any reason why you couldn&#8217;t use these scripts and integrate a different Akismet toolkit into it.  Additional toolkits are available from the <a href="http://akismet.com/development/">Akismet Developer Page</a>.</p>
<h6>Cost</h6>
<p>You&#8217;ll need a server running PHP5.  If you have a server already setup, then hardware should cost you nothing.</p>
<p>Akismet is free for personal use, but has a small license fee for commercial use.  If you will be using this in production, you should purchase an <a href="http://akismet.com/commercial/">Akismet Commercial License Key</a>.  During development, I am sure you could use a <a href="http://akismet.com/personal/">personal key</a> to make sure it works.</p>
<p>The scripts themselves are free and licensed under the <a href="http://www.gnu.org/licenses/gpl.html" target=_blank>GNU General Public License v3</a>.  I did this as a proof of concept for the betterment of Salesforce.com data quality everywhere.</p>
<h6>Getting Started</h6>
<ol>
<li>Add a checkbox field to your Salesforce.com Lead Object that will hold whether Akismet thinks it&#8217;s spam or not.</li>
<p><img src="http://sfdc.arrowpointe.com/wp-content/images/akismet_marked_as_spam.png" alt="akismet_marked_as_spam.png" title="akismet_marked_as_spam.png" width="220" height="27" /></p>
<li><a href="http://code.google.com/p/arrowpointe/downloads/list" onClick="javascript:pageTracker._trackPageview ('/downloads/Salesforce-Web2Lead-Akismet'); "><strong>Download</strong></a> the scripts.  Three files will exist in the zip file:
<ul>
<li><strong>index.php</strong>:  The main script that handles the incoming data, talks to Akismet and posts the data to Salesforce.com Web to Lead.</li>
<li><strong>constants.php</strong>:  You will need to go into this file and edit some variable values based upon your own organizational setup.  See the next step.</li>
<li><strong>Akismet.class.php</strong>:  This is the <a href="http://www.achingbrain.net/stuff/akismet/">Akismet PHP5 class</a> I was talking about above.</li>
</ul>
</li>
<li>Edit the <strong>constants.php</strong> file:
<ul>
<li>Enter your Wordpress API key where it says ENTER_WORDPRESS_API_KEY.  Get a <a href="http://akismet.com/personal/" target=_blank>personal</a> or <a href="http://akismet.com/commercial/" target=_blank>commercial</a> key if you don&#8217;t have one.</li>
<li>Enter your company URL where it says ENTER_YOUR_COMPANY_URL.</li>
<li>Enter your company&#8217;s Salesforce.com Org ID where it says ENTER_YOUR_SALESFORCE_ORG_ID.  This is actually optional.  Doing this allows you to remove the OID from your public web to lead forms so spammers don&#8217;t know your Org ID.  Doing this will reduce the amount of spam you actually need to process.</li>
<li>Generate a web to lead form in your Salesforce setup.  Find the new Salesforce field you created in step 1 and copy the id value from the HTML form and put it in the constants.php file where it says ENTER_THE_W2L_CUSTOMFIELD_NAME.  This step is required so that your Salesforce org is actually populated with the Akismet result.</li>
<li><em>PHP Advanced</em>:  The $Akismet_noPass array holds the names of fields that should <u>not</u> be included in the content passed to Akismet.  Feel free to add/remove values from this array.  The values in the array are referring to the names of form fields in your web to lead HTML form.  I have no idea if this helps/hurts, but it seemed like a practical thing to add into the script.</li>
</ul>
</li>
<li>Upload the scripts to your web server and note the fully qualified URL for that directory (e.g. http://www.example.com/web2lead)</li>
<li>Update your web to lead forms to have them post to the location of the files from the previous step (e.g. http://www.example.com/web2lead/ &#8211; make sure to put the / at the end of the URL.  Not sure why, but I wasn&#8217;t able to get it to work without it)</li>
<li>Test your form to see if it works.  The script acts as an intermediary between your form and Salesforce web to lead.  The end-user experience should be the exactly the same with or without the scripts.</li>
<li>Once you know it works, you should add a lead assignment rule into Salesforce as rule #1 that looks to see if this field is checked.  If so, then route the lead to a &#8220;Potential Spam&#8221; queue or something of that nature.  Another option is to create a validation rule that doesn&#8217;t even allow the lead into the system.</li>
<li>Make sure your Auto Response rules don&#8217;t email a reply to leads marked as spam.  If you allow this, then those spammers have an email address to try.</li>
<li>Update some/all of your web to lead forms to post to this new page.  If desired, remove the &#8220;oid&#8221; field from the HTML form for each of these since the script will pass your Org ID to Salesforce automatically.</li>
</ol>
<h6>Other Stuff</h6>
<p>These scripts are a proof of concept.  I am not officially supporting them, but am happy to help people out informally.  Post comments here if you have questions/comments/criticisms.</p>
<p>I have only tested this with leads that were either real or very obviously spam.  It worked well.  From Akismet&#8217;s perspective, the data it checks looks just like a blog comment and I can attest that Akismet is amazing at identifying blog comment spam.  So it should work well for Salesforce.com web to lead.</p>
<p>I am going to update my existing web to lead forms on this site and see how it works and report back to you.  I encourage you to do the same and let me know your experiences with it or recommendations on how to improve the scripts.</p>
<p>Enjoy!</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=224&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2007/05/24/fight-web-to-lead-spam-w-akismet/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
		<item>
		<title>Stopping Web to Lead Spam</title>
		<link>http://sfdc.arrowpointe.com/2007/01/31/stopping-web-to-lead-spam-poor-mans-way/</link>
		<comments>http://sfdc.arrowpointe.com/2007/01/31/stopping-web-to-lead-spam-poor-mans-way/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 04:28:22 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2007/01/31/stopping-web-to-lead-spam-poor-mans-way/</guid>
		<description><![CDATA[Check out a more recent post about stopping web to lead spam.  I was able to integrate Akismet into the process and have scripts available to download.
Over the past week, I have had an ever-increasing number of web-to-lead spam entries come into my Org.  It gets to be VERY frustrating!  Unfortunately, Salesforce.com [...]]]></description>
			<content:encoded><![CDATA[<p style="line-height: 1.5em; font-size: 80%;"><em><a href="http://sfdc.arrowpointe.com/2007/05/24/fight-web-to-lead-spam-w-akismet/">Check out</a> a more recent post about stopping web to lead spam.  I was able to integrate Akismet into the process and have scripts available to download.</em></p>
<p>Over the past week, I have had an ever-increasing number of web-to-lead spam entries come into my Org.  It gets to be VERY frustrating!  Unfortunately, Salesforce.com does not have any sort of anti-spam functionality for web-to-lead (want them to?  <a href="http://ideas.salesforce.com/article/show/29238"><strong>Vote for it</strong></a>).</p>
<p>What would be great is an add-in to Salesforce.com that evaluates a Lead&#8217;s content prior to getting in the Org.  Blog software has this for comments.  For example, I use <a href="http://akismet.com/">Akismet</a> on this blog to take care of the non-stop comment spam I get.  It is incredible.  It catches 99% of it.  If Akismet didn&#8217;t exist, I probably would stop allowing comments on this blog.</p>
<p><img src="http://sfdc.arrowpointe.com/wp-content/images/akismet_spam_caught.png" alt="akismet_spam_caught.png" title="akismet_spam_caught.png" width="471" height="151" /></p>
<p>If you use a tool like Form Assembly or Clicktools for web-to-lead forms, they have functionality to help you.  However, what if you don&#8217;t?  </p>
<p>I discovered that Validation Rules work pretty well.  If you can determine any consistencies with the spam you are getting, create a Lead Validation Rule to stop it.  For example:</p>
<blockquote><p><code>AND(<br />
ISPICKVAL(LeadSource , "Web"),<br />
OR(<br />
CONTAINS(  Description , "mortgage") ,<br />
CONTAINS(  Description , "diploma") ,<br />
CONTAINS(  Description , "auto loan")<br />
))</code></p></blockquote>
<p>The Validation rule above will cause an error for any lead with a Lead Source of &#8220;Web&#8221; AND the Description contains any of the following: &#8220;mortgage&#8221;, diploma&#8221;, &#8220;auto loan&#8221;.  You can make the message of the validation rule say &#8220;This is Spam&#8221;.</p>
<p>Web to Lead records do not get created if they don&#8217;t pass the Validation Rule.  However, you will get an email from Salesforce Support with a subject of &#8220;Salesforce Lead Alert&#8221; with the Lead information in it.  What I did was to create an email rule that label emails meeting the following criteria (another alternative would be to delete them):</p>
<ul>
<li>From Salesforce Support</li>
<li>Subject of &#8220;Salesforce Lead Alert&#8221;</li>
<li>With &#8220;This is Spam&#8221; in the message body</li>
</ul>
<p>If you go this route, be careful not to make your Validation Rule too generic.  You could end up stopping a good lead from coming in.  If you do happen to neutralize a good Lead, the lead&#8217;s information will be in the &#8220;Salesforce Lead Alert&#8221; email you received.  It&#8217;d be a good idea to review those emails from time to time.</p>
<p>This is not a long term solution, but can help alleviate some pain.</p>
<p>An alternative approach would be to do something similar with Workflow Field Update Rules or Lead Assignment Rules and to auto-set the Lead Status to &#8220;Spam&#8221; or to assign it to a &#8220;Spam&#8221; queue.  Doing this will capture the Lead in the database, but will help segment it out of your way.</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=202&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2007/01/31/stopping-web-to-lead-spam-poor-mans-way/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Is &#8220;Platform Edition&#8221; a reality?</title>
		<link>http://sfdc.arrowpointe.com/2007/01/17/is-platform-edition-a-reality/</link>
		<comments>http://sfdc.arrowpointe.com/2007/01/17/is-platform-edition-a-reality/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 23:40:03 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[Winter '07]]></category>
		<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2007/01/17/is-platform-edition-a-reality/</guid>
		<description><![CDATA[In April of 2006, I blogged about the need for Salesforce to adopt a new licensing scheme to accommodate a license to the platform only.  In that post, I described what I felt to be the necessary components of the platform in that licensing model.
I remember hearing people at Dreamforce mention that this could [...]]]></description>
			<content:encoded><![CDATA[<p>In April of 2006, I <a href="http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/">blogged</a> about the need for Salesforce to adopt a new licensing scheme to accommodate a license to the platform only.  In that post, <a href="http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/">I described</a> what I felt to be the necessary components of the platform in that licensing model.</p>
<p>I remember hearing people at Dreamforce mention that this could become a reality soon, but I don&#8217;t recall hearing anything specific about it actually being deployed.  However, I am seeing some hints in the application now that it&#8217;s been upgraded to Winter 07 that elude to it being a reality.</p>
<ul>
<li>There is a field called <strong>License Type</strong> on the user record.  This defaulted to &#8220;Salesforce&#8221; for all users (as far as I know).  The Help explains that there are now 3 potential values here.</li>
<ul>
<li><strong><em>Salesforce License</em></strong>: Designed for users who require full access to standard CRM and AppExchange apps</li>
<li><strong><em>Apex Platform Licenses</em></strong>:  Designed for users who do not need standard CRM functionality. Users with an Apex Platform user license are entitled to use custom apps developed in your organization or installed from the AppExchange.  In addition, they are entitled to use core platform functionality such as accounts, contacts, reports, dashboards, documents, and custom tabs. </li>
<li><strong><em>Apex Platform One Licenses</em></strong>:  Designed for users who are entitled to use only one custom app developed in your organization or installed from the AppExchange. The app is restricted to five custom tabs. In addition, they are entitled to use core platform functionality such as accounts, contacts, reports, dashboards, documents, and custom tabs.</li>
</ul>
<li>There is a new standard App called <strong>Platform</strong>.  This includes the Accounts, Contacts, Reports, Dashboards and Documents tabs.</li>
<li>In the Company Profile screen, there is now a <strong>list of Licenses for your organization</strong>.  A record exists for each of the 3 license types I mention above.</li>
</ul>
<p>I cannot find very much information on how one can buy an org with Apex Platform Licenses only.  The ability to purchase a platform-only license like this would be huge.  It would obviously provide a platform for companies to build apps on even though they aren&#8217;t interested in CRM (yet).  It would also instantly provide a very solid, configurable back-end to a web application.  This would compete with the MySQLs, Oracle&#8217;s, etc. of the world.  A benefit over those guys is that you have an instant user interface and robust reporting tools to manage your application&#8217;s database. </p>
<p>Does anyone out there have additional information on this licensing model?  If so, what capabilities are included?  Suppose this license type was added to the Salesforce.com&#8217;s <a href="http://www.salesforce.com/products/comparison.jsp">edition comparison chart</a>, how would it look?</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=191&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2007/01/17/is-platform-edition-a-reality/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>API Authentication List</title>
		<link>http://sfdc.arrowpointe.com/2006/11/27/api-authentication-list/</link>
		<comments>http://sfdc.arrowpointe.com/2006/11/27/api-authentication-list/#comments</comments>
		<pubDate>Mon, 27 Nov 2006 18:17:27 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2006/11/27/api-authentication-list/</guid>
		<description><![CDATA[I submitted an entry on IdeaExchange today about adding more authentication to the API to avoid rogue applications/people from wreaking havoc in your system and to provide a means of tracking the applications that modify your data.  
Someone with average programming skills could cause some destruction via the API if they wanted to and [...]]]></description>
			<content:encoded><![CDATA[<p>I submitted an <a href="http://ideas.salesforce.com/article/show/42227/API_Authentication_List">entry on IdeaExchange</a> today about adding more authentication to the API to avoid rogue applications/people from wreaking havoc in your system and to provide a means of tracking the applications that modify your data.  </p>
<p>Someone with average programming skills could cause some destruction via the API if they wanted to and I think some mechanism of locking it down further would be good.  Also, since so many applications will be accessing/manipulating data via the API, it&#8217;d be good to limit what an app can do (e.g. only access specific objects, read vs. write) and also to track the application that is making changes to records.  It&#8217;s like having application-specific profiles.  When a user logs into Salesforce via a external application, they only get the permissions where their user profile and the application&#8217;s profile match (maybe they have delete Account rights in their user profile, but the application profile doesn&#8217;t allow deletes.  They won&#8217;t be able to delete Accounts when using that application).</p>
<p>I don&#8217;t have the design all figured out, but it&#8217;s the idea I wanted to get across.  I am interested in what you all think.  If you have an opinion (agree or disagree), please add your comments to the post on IdeaExchange.</p>
<p><a href="http://ideas.salesforce.com/article/show/42227/API_Authentication_List">http://ideas.salesforce.com/article/show/42227/API_Authentication_List</a></p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=182&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/11/27/api-authentication-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppExchange 2.0</title>
		<link>http://sfdc.arrowpointe.com/2006/07/18/appexchange-20/</link>
		<comments>http://sfdc.arrowpointe.com/2006/07/18/appexchange-20/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 19:12:56 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2006/07/18/appexchange-20/</guid>
		<description><![CDATA[The IT Redux blog has a nice write up on their suggestions for what they call &#8220;AppExchange 2.0&#8243;.  They are mostly suggestions on what should be done to increase the capabilities of the overall Salesforce platform like server-side scripting and a business process manager.
View their blog post
]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://itredux.com/blog" target=_blank>IT Redux blog</a> has a <a href="http://itredux.com/blog/2006/07/17/appexchange-20/" target=_blank>nice write up</a> on their suggestions for what they call &#8220;AppExchange 2.0&#8243;.  They are mostly suggestions on what should be done to increase the capabilities of the overall Salesforce platform like server-side scripting and a business process manager.</p>
<p><a href="http://itredux.com/blog/2006/07/17/appexchange-20/" target=_blank>View their blog post</a></p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=139&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/07/18/appexchange-20/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OEM Edition</title>
		<link>http://sfdc.arrowpointe.com/2006/05/25/oem-edition/</link>
		<comments>http://sfdc.arrowpointe.com/2006/05/25/oem-edition/#comments</comments>
		<pubDate>Fri, 26 May 2006 06:59:02 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2006/05/25/oem-edition/</guid>
		<description><![CDATA[Salesforce.com announced the launch of the OEM Edition yesterday.  The OEM Edition allows Salesforce partners to build applications on the Salesforce.com platform and offer their products to non-Salesforce.com users.  The price per user for the OEM Edition is $25/month.
I think I am interpreting this correctly&#8230;
You, as an OEM provider, offer your product/service to [...]]]></description>
			<content:encoded><![CDATA[<p>Salesforce.com <a href="http://www.salesforce.com/newsevents/press-release.jsp?year=2006&#038;month=May&#038;id=060524-39" target=_blank>announced</a> the launch of the <a href="http://www.salesforce.com/landing/appexchange_oem.jsp?d=70130000000CQDf" target=_blank>OEM Edition</a> yesterday.  The OEM Edition allows Salesforce partners to build applications on the Salesforce.com platform and offer their products to non-Salesforce.com users.  The price per user for the OEM Edition is $25/month.</p>
<p>I think I am interpreting this correctly&#8230;</p>
<p>You, as an OEM provider, offer your product/service to both Salesforce.com customers and customers not yet on the Salesforce platform.  <u>The OEM Edition only applies to the customers not yet on the Salesforce platform</u>.  As an OEM vendor, you pay Salesforce.com $25/month/user for anyone that takes up a license.  It is then up to you to pass through that cost to your customer.  The end result is that the customer only has a relationship with you, the OEM vendor.  You, in turn, have the relationship with Salesforce.com as the platform provider for your product/service.  Correct?  Please add your comments to help clear this up.  It is not totally straight forward in the press release.</p>
<p>This is a step in the right direction, but is not as ideal (IMHO) as the <a href="http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/">Platform Edition</a> licensing I recommended in April.  I feel that another licensing model is still necessary that allows you, as a consumer or corporate purchaser, to buy licenses to the Salesforce.com platform only.  And to buy them directly from Salesforce.com.  This would be a relationship between you and Salesforce.com with no third party involved.  You just pay your subscription fee to the platform.  From there, you would have the ability to add to it through AppExchange or by building your own apps.  This allows for much more flexibility in that you start with the platform and then select/build the apps you want.  Like I said, the OEM model is a step in the right direction, but you need to want one of those OEM products before you can get on the platform.  The Platform Edition idea is an option to opt-in to the platform first (like buying a computer with only the operating system and then choosing the software you want).</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=123&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/05/25/oem-edition/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Functionality Wishes (05/2006)</title>
		<link>http://sfdc.arrowpointe.com/2006/05/12/functionality-wishes-052006/</link>
		<comments>http://sfdc.arrowpointe.com/2006/05/12/functionality-wishes-052006/#comments</comments>
		<pubDate>Sat, 13 May 2006 00:25:36 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2006/05/12/functionality-wishes-052006/</guid>
		<description><![CDATA[I have been delving into some new areas lately and I keep coming up with more and more functionality wishes.  Some bigger than others, but I want to keep documenting them as I collect bunches of them.  These are more configuration and development related.]]></description>
			<content:encoded><![CDATA[<p>I have been delving into some new areas lately and I keep coming up with more and more functionality wishes.  Some bigger than others, but I want to keep documenting them as I collect bunches of them.  These are more configuration and development related.</p>
<h6>Sorting QueryResultSets</h6>
<p>When querying data using SOQL, you cannot perform an ORDER BY.  I assume this is to protect system performance, but it&#8217;d be great if there was some way to perform sorts on your data in the API.  Maybe this is having ORDER BY as a parameter in SOQL.  Alternatively, there could be a sort() method that can be called once you actually have your QueryResult in memory.  This method should allow you to provide a multi-column sort order.</p>
<p>I have seen some sorting functions on the message boards, but they are a bit over my head.  It would be nice to have this built right into the product.</p>
<h6>Configuring Partners</h6>
<p>I echo <a href="http://gokubi.com/archives/salesforcecom-wish-list" target=_blank>Gokubi&#8217;s recommendation</a> for the ability to configure the Partners object.  It would be great to be able to add additional information regarding the relationship between 2 accounts.</p>
<h6>More Description fields when configuring</h6>
<p>It would be nice to have more areas to input a description when you are configuring.  Also, when there is a description field, it&#8217;d be nice to be able to see that when viewing the data in a list.  For example,</p>
<ul>
<li>Display the Description when listing the Fields for an object</li>
<li>Include a description on the Sharing Rule page and display it when viewing Sharing Rules.  Some organizations have 100s of Sharing rules and it&#8217;s hard to keep them straight sometimes.  Display this field on the Sharing Rule list</li>
<li>Display the Description field when listing the Profiles</li>
<li>etc.</li>
</ul>
<h6>Utilize Views in more places in the Setup area</h6>
<p>Setup Views on pages like Fields, Profiles, Sharing Rules, etc. so you could include any fields you want on there.  You might have a view for Formula Fields that shows you all the formulas right there in one page.  Or a Profile view that displays the profiles and all of their Tab permissions.  Views exist today when Managing Users.  Apply the same concept in other areas of the application so we do not have to drill into each record to see details all the time.</p>
<h6>Where is this Public Group Used?</h6>
<p>Publis Groups can be very useful for administering access to Reports, Dashboards, Documents, etc.  However, it is difficult to know where a Public Group is being used unless you click into every folder.  It&#8217;d be nice to have a view from the Public Group page to see where it is being used.</p>
<h6>Picklists in Formula Fields</h6>
<p>Right now, you cannot simply grab the value of a picklist field in a formula.  You have to know the value you are looking for and use the ISPICKVAL function.  Alternatively, you need to create a formula field for the picklist and go through every possible picklist value and output its corresponding text.  This can be burdensome.  There should be a way to simply reference the picklist field in a formula and use its value.</p>
<h6>Formula Field Length</h6>
<p>The workaround to the issue with picklist fields is to create a formula field that does an ISPICKVAL function on every possible picklist value and then outputs the equivalent text.  The max formula size is 1000 characters, so sometimes you need to create multiple formula fields to accomplish this.  If the <strong>Picklists in Formula Fields</strong> wish isn&#8217;t fulfilled, then the max length of a formula field should be increased.</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=119&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/05/12/functionality-wishes-052006/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wish List from gokubi</title>
		<link>http://sfdc.arrowpointe.com/2006/05/04/wish-list-from-gokubi/</link>
		<comments>http://sfdc.arrowpointe.com/2006/05/04/wish-list-from-gokubi/#comments</comments>
		<pubDate>Fri, 05 May 2006 00:57:11 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2006/05/04/wish-list-from-gokubi/</guid>
		<description><![CDATA[Steve at GoKubi.com has posted his wish list items that append to my own.
]]></description>
			<content:encoded><![CDATA[<p>Steve at <a href="http://gokubi.com/archives/category/technology/crm/" target=_blank>GoKubi.com</a> has posted <a href="http://gokubi.com/archives/salesforcecom-wish-list" target=_blank>his wish list items</a> that append to <a href="http://sfdc.arrowpointe.com/taxonomy/category/wish-list/">my own</a>.</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=117&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/05/04/wish-list-from-gokubi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Platform Edition Licensing</title>
		<link>http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/</link>
		<comments>http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/#comments</comments>
		<pubDate>Thu, 06 Apr 2006 03:40:07 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/</guid>
		<description><![CDATA[As is being proven by the hundreds of available downloads on the <a href="http://www.appexchange.com">App Exchange</a>, <a href="http://ideas.thumbware.com">many</a> <a href="http://bookmark.thumbware.com">innovative</a> <a href="http://gmail.thumbware.com">mashups</a> and the <a href="http://blog.sforce.com/sforce/2006/01/hello_appexchan.html">stats about API usage</a>, Salesforce.com is (becoming) equal parts platform and CRM application.

However, their licensing model is CRM application first and platform second.  Today, you cannot purchase Salesforce.com licenses to utilize just the platform.  Is this coming?  What would it include?]]></description>
			<content:encoded><![CDATA[<p>As is being proven by the hundreds of available downloads on the <a href="http://www.appexchange.com">App Exchange</a>, <a href="http://ideas.thumbware.com">many</a> <a href="http://bookmark.thumbware.com">innovative</a> <a href="http://gmail.thumbware.com">mashups</a> and the <a href="http://blog.sforce.com/sforce/2006/01/hello_appexchan.html">stats about API usage</a>, Salesforce.com is (becoming) equal parts platform and CRM application.</p>
<p>However, their licensing model is CRM application first and platform second.  Today, you cannot purchase Salesforce.com licenses to utilize just the platform.  Is this coming?  What would it include?  In my mind, it should include:</p>
<ul>
<li>Very Important</li>
<ul>
<li>Full access to the user &#038; security components (users, profiles, public groups, field-level security, secure authentication, password generation, etc.)</li>
<li>Full access to Custom Objects, Custom Tabs, Custom Applications, S-Controls and Get/Share with the App Exchange</li>
<li>Sharing Rules (role hierarchy, including functionality to setup sharing rules for custom objects)</li>
<li>API Access</li>
<li>Reports</li>
<li>Ability to brand all system communication (welcome emails, notifications, etc.)</li>
</ul>
<li>Somewhat Important</li>
<ul>
<li>Activity Management</li>
<li>Notes &#038; Attachments</li>
<li>Documents</li>
<li>Workflow</li>
<li>Email Templates</li>
<li>Sforce Data Loader</li>
<li>Dashboards</li>
</ul>
</ul>
<p>The ability to buy this kind of license should be self-service with no need to work through a sales rep.  I can envision going to the Salesforce site to sign up for a Platform Edition org (a unique instance of the application), input my information (contact info, billing information, etc.) and I am in.  The cost model could be based on user logins and volume (API calls or storage).  Perhaps there are cost tiers with maximum thresholds on # of users and/or volume before you auto-move to the next tier.  This would make it easier to manage and predict cost.  Billing would take place automatically at the end of each month against a credit card or other payment service like Paypal.</p>
<p>If something to this effect is done, it opens Salesforce up to a whole new market.  Gone is the limitation of having a CRM license to take advantage of the platform.</p>
<p>I would suspect that something like this is on its way, but I have no evidence to support this.  Does anyone know anything about this?</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=106&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/04/05/platform-licenses/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Functionality Wishes (03/2006)</title>
		<link>http://sfdc.arrowpointe.com/2006/03/21/functionality-wishes-032006/</link>
		<comments>http://sfdc.arrowpointe.com/2006/03/21/functionality-wishes-032006/#comments</comments>
		<pubDate>Wed, 22 Mar 2006 06:41:26 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/?p=94</guid>
		<description><![CDATA[Here are a few of the functionality wishes that have come out of my recent projects...]]></description>
			<content:encoded><![CDATA[<p>Here are a few of the functionality wishes that have come out of my recent projects.  My <a href="http://sfdc.arrowpointe.com/taxonomy/category/wish-list/">wish list category</a> has all of the functionality wishes that I have written about in the past, many of which have already been implemented by Salesforce.com.</p>
<h6>Bubble Help</h6>
<div style="float:right; margin: 2px;">
<img src='http://sfdc.arrowpointe.com/wp-content/images/sfdc_bubble_help.png' alt='Bubble Help' />
</div>
<p>This could improve usability quite a bit.  It&#8217;d be great if we had the ability to configure a 1 to 2 sentence bit of help text on a field.  It would work similar to the graphic on the right where Salesforce allows you to hover over the information icon for a bit more detail on that piece of functionality.</p>
<p>It&#8217;d be really nice have this capability at the Field level.  Then, at the page layout level, you would have the ability to show the bubble help text (or not) for each field on the page layout.</p>
<p><img src='http://sfdc.arrowpointe.com/wp-content/images/bubble_help.png' alt='Activate Bubble Help on Page Layout' /></p>
<h6>Campaign Visibility &#038; Sharing to allow for broader Campaign usage</h6>
<p>I have written about this before, but the need comes up on almost every project I am on.  Users regularly request the ability to manage a campaign-like event.  This could be a seminar they are conducting, a dinner they are holding, responses to a series of emails they are sending about a new product line, etc.  The Campaign module fits this mold perfectly.  However, in today&#8217;s world, a user needs the <strong><em>Marketing User</em></strong> permission to run any kind of Campaign.  Once they have that permission, they have visibility and edit rights to every Campaign in the system.</p>
<p>I am suggesting the Campaign object utilize sharing rules similar to Leads, Accounts, etc.  This would allow users to setup personal campaigns without having to work through marketing and without having read-write access to every campaign in the system.  This would support the ability to have:</p>
<ul>
<li><em>Standard Company Marketing Campaigns</em> viewable by everyone.</li>
<li><em>Private Company Marketing Campaigns</em> viewable only by Marketing &#038; key Executives.</li>
<li><em>Private Personal Campaigns</em> viewable by the owner of the campaign and those that they report to (up the role hierarchy).</li>
</ul>
<h6>Threaded Activity Discussions</h6>
<p>The Activity History list can become overwhelming, especially when being viewed at the Account level.  It&#8217;d be really great to organize the activity history into activity threads.  This would result in the Activity History list being viewable in a mode that would look similar to a message board .  An email conversation would be organized under a thread.  A meeting may spawn follow up emails and follow up calls.  All of this could be viewable as a thread of activity history.  The ability to expand/collapse these threads would be nice too.</p>
<h6>AJAX-ify the UI</h6>
<p>Someone well versed in UI design would probably have better ideas than I do, but it&#8217;d be great to be able to use AJAX technologies to provide better usability in the UI.  The main premise would be to allow you to add/edit data quickly without having to refresh the entire page everytime.  Serious study would need to be done by Salesforce.com to understand common workflows and pick the &#8220;sweet spots&#8221; for improvement.  Some random ideas:</p>
<ul>
<li>Add a list of competitors next to the Competitor related list on the Opportunity page to quickly add competitors to it.</li>
<li>Add a similar list for the contact roles related list.</li>
<li>Ability to quickly log a call in a fashion similar to how you can add To-Dos in <a href="http://www.backpackit.com">Backpack</a>.</li>
<li>Hover over a link to another record (e.g. the Account field on a Contact record) and get a pop-up preview of key fields on that linked record without having to leave the page you are on.  This would act similar to how you can hover over a movie name in <a href="http://www.netflix.com">Netflix</a> to see a description of that movie with no need to click into that movie&#8217;s page.</li>
</ul>
<h6>Tagging records</h6>
<p>The <a href="http://bookmark.thumbware.com">del.icio.us / salesforce integration by Thumbware</a> helps with this, but it&#8217;d be nice to have it native to Salesforce so that navigation could be improved and so it could be accessed via the API.  You should be allowed to tag any record you want.  Every record should have a permanent tag based upon the object of the record.  For example, an Account record for <strong>Arrowpointe Corp.</strong> would be auto-tagged with &#8220;Account&#8221;, but a user could add other tags for it such as &#8220;consultant, integrator, salesforce.com&#8221;.  A tag cloud view would be available to navigate all of your records by tag like you can do on del.icio.us.</p>
<h6>Organizing Reports</h6>
<p>There is only 1 Personal Custom Reports folder.  This folder can grow very quickly and a naming convention is required in order to have any control over it.  If a user was allowed to create multiple personal report folders, this problem could be minimized.  The new Report Search feature has helped to minimize this issue.</p>
<h6>B2C support</h6>
<p>Salesforce is an Account-centric system and the Account object is meant to represent a business or organization, not an individual.  However, many companies deal directly with individuals (B2C).  Today, most of these companies will pirate the Account object to represent a personal account or a household for the purposes of managing Opportunities.  They will usually create a Contact record too for the support of email and campaign functions.  The concept of a Consumer Account that can be used with Opportunities, Cases, Campaigns and the Send Email function would be great so that you are not required to perform double-entry.</p>
<p>I believe Salesforce is working on B2C support.  A client of mine was interviewed by Salesforce on this subject at the end of 2005.  They are definitely thinking about it.</p>
<h6>Field Validation Rules</h6>
<p>Ability to add validation rules against a particular field based upon situational criteria.  Example of how this could be used include:</p>
<ul>
<li>If Stage = &#8216;Closed/Lost&#8217;, then a custom field called &#8220;Reason Lost Comments&#8221; is required.</li>
<li>If Account Type = &#8216;Customer&#8217;, then Account Number is required.</li>
<li>If Opportunity Probability is > 50%, a primary contact must be associated to the Opportunity</li>
</ul>
<p>Today, you can work around this limitation by creating a formula field to display an error message when validation rules fail.  However, this does not prohibit someone from saving the record.</p>
<p>Please comment with your thoughts and any other items on your own wish list.</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=94&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2006/03/21/functionality-wishes-032006/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Random Wish List</title>
		<link>http://sfdc.arrowpointe.com/2005/06/15/random-wish-list/</link>
		<comments>http://sfdc.arrowpointe.com/2005/06/15/random-wish-list/#comments</comments>
		<pubDate>Wed, 15 Jun 2005 19:51:59 +0000</pubDate>
		<dc:creator>Scott Hemmeter</dc:creator>
				<category><![CDATA[Wish List]]></category>

		<guid isPermaLink="false">http://sfdc.arrowpointe.com/?p=39</guid>
		<description><![CDATA[Wanted to document a few &#8220;wish list&#8221; items that Salesforce.com should put into the application. Hopefully someone from Salesforce.com is checking out this blog.
Mass Email Activities (more detail)
When using the mass email feature today, it can log an activity for each Contact. However, the activity says next to nothing. It does not contain the text [...]]]></description>
			<content:encoded><![CDATA[<p>Wanted to document a few &#8220;wish list&#8221; items that Salesforce.com should put into the application. Hopefully someone from Salesforce.com is checking out this blog.</p>
<h4>Mass Email Activities (more detail)</h4>
<p>When using the mass email feature today, it can log an activity for each Contact. However, the activity says next to nothing. It does not contain the text of the email and has no reference to the email template. The activity created should provide the text of the email that went out and any attachments included (just like the Send Email feature does). If that is too much text and SFDC fears it&#8217;ll increase database size too much, at least have a reference to the email template that was used.</p>
<h4>Campaign Visibility &#038; Sharing</h4>
<p>Right now, the Marketing User user profile field gives someone control of the Campaigns. It&#8217;d be fantastic if Campaigns were made to work just like the other objects with their own default Sharing Rule and the ability to add Campaign Sharing Rules to extend visibility to Campaigns. I think Campaigns were designed for a centralized marketing group to use. However, the functionality is applicable to a sales user too whereby a Sales person may want to run a personal Campaign. In today&#8217;s world, they would need the Marketing User flag set on their profile. This would let them do that, but it&#8217;d also let them edit/delete anyone else&#8217;s Campaigns.</p>
<h4>Keyboard Shortcuts</h4>
<p>Some keyboard shortcuts for things like Save, Cancel, New, etc. would be nice. SFDC currently requires heavy use of a mouse. Keyboard shortcuts are especially important on the Supportforce side of the house.</p>
<h4>More than 1 personal reports folder</h4>
<p>Give users the ability to create more than 1 personal reports folder. It is currently the equivalent of having 1 folder on your harddrive for all of your documents. Users should be able to create multiple folders. That&#8217;s step 1. The second (and less important) step would be to allow for a hierarchy of folders. This functionality would negate the need for the HTML component I mentioned in a earlier posting.</p>
<h4>Sales History Related List being Customizable</h4>
<p>The new customizable related list functionality is great. It&#8217;d be nice if the Sales History list was editable too. For example, Expected Revenue is stuck on there. I have yet to see an implementation where my clients puts any significance on that field. We should be able to remove it.</p>
<h4>Additional To people on an email</h4>
<p>In the summer 05 release, the CC and BCC fields can bring up a list of Contacts to pick from. That link needs to be on the Additional To field too. This may have been a Summer 05 release oversight.</p>
<h4>Mass Mail Merge</h4>
<p>Allow users to do a mass mail merge similar to how the mass email is performed.</p>
<h4>My Personal Mail Merge Templates</h4>
<p>Just like having personal email templates, personal mail merge templates should exist.</p>
<h4>Personal Bookmarks on Homepage</h4>
<p>The ability to add personal bookmarks on your homepage. This might be links to external sites, but could also be a link to a report or another record in Salesforce.com.</p>
<img src="http://sfdc.arrowpointe.com/?ak_action=api_record_view&id=39&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sfdc.arrowpointe.com/2005/06/15/random-wish-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
