Winning Combo for Non-profits: Salesforce + Google Apps

Google and Salesforce announced a new product today joining two of the best web-based tools into one suite. Check out this video for an overview of Salesforce + Google Apps,

At my former non-profit, I loved that Salesforce did not require an infrastructure to support. I kept eyeing my problem-prone Exchange server thinking, "Now if I can only get rid of you." Google Apps was a possibility but the migration was daunting and it didn’t integrate with Salesforce as Outlook does. With the added value of integration, the payoff for migration becomes that much greater. Especially when you take into account that both Google and Salesforce offer product donations to 501c3 non-profits.

More info on Google apps for non-profits.
More info on Salesforce for non-profits.

Any startup or grassroots org without legacy systems shouldn’t even think twice about a platform like this. No equipment. Low cost implementation. Free licenses.

WYSIWYG Editor in Salesforce Scontrols

Until Salesforce adds a native option for WYSIWYG editing controls for text areas (promote the idea) the only workaround is to create an Scontrol form that calls on other Javascript toolkits to handle this functionality.

Salesforce hosts the Dojo Toolkit but unfortunately there is a lack of definitive documentation on employing it in Scontrols. I wanted to create an scontrol that uses the Dojo Editior ( to give the user WYSIWYG controls for a text area.

Thanks to some assistance from fellows on the forums at I was able to put together a working prototype. Here is the working code;


<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<title>Editor Demo</title>
<style type="text/css">
@import "/js/dojo/0.9/dijit/themes/tundra/tundra.css";
@import "/js/dojo/0.9/dojo/resources/dojo.css"
<script src="/soap/ajax/10.0/connection.js"></script>
<script type="text/javascript"
djConfig="parseOnLoad: true"></script>
<script type="text/javascript">

<body class="tundra">
<form method="post">
<textarea name="field" width="200px"
It was a dark and stormy night. Your story belongs here!
<input type="submit" value="Save" />

There still remains the javascript needed to load the data from a text area field into the editor on page load and the function for saving the edited text back to that field. Since that varies greatly depending on the object you are using, I leave that to you.

Looking for a fight

FightclubTwo weeks ago, I showed up at the office looking a bit like Ed Norton’s character in Fight Club. I had a nice scrape going diagonally across my forehead to the tip of my nose courtesy of the velcro on my sparring partner’s glove during a guillotine attempt. There were a few other scrapes and bruises adding to the whole "tough guy going to court" motif I had going on that day.

Now, for the past week and a half, I’ve been traveling on business in the Bay area. I’m finding it surprising how much I’ve been itching for a fight. Certainly, I’m not thinking of trolling dive bars and talking smack about someone’s mother but, I was working Google maps to find a place to get a ‘quick fix’. Fairtex  – Mountain View is oh so tantalizingly close. If I only had a car.

I often find people have a hard time getting their heads around why someone who isn’t looking to go pro and seemingly no obvious psychological issues would be involved in Thai boxing and MMA. Going forward I’m going to suggest they read A Fighter’s Heart: One Man’s Journey Through the World of Fighting by Sam Sheridan. The synopsis on the book jacket describes how this "Harvard-educated" author moves through the world of Muay Thai, boxing, and MMA. Apparently, the implication from the marketing folks being that Harvard grads aren’t crazy and don’t need the money, so they must not be your typical thugs. Luckily, the author is much more humble about his education and talent. The early chapters describe his time training through heat and humidity for 8 hours a day at the original Fairtex camp in Thailand. So jealous. The book later becomes an philosophical exploration of the desire and drive to fight.

It is unfortunate that the chapter in which Sheridan outlines the crux of his insights, "gameness", is also the chapter that describes (with too much affinity) his experience with the deplorable world of dog-fighting.To paraphrase, gameness is the willingness to push oneself and test the limits of their ability. It is the fighter who comes back strong after losing a few rounds. It is the marathon runner who keeps going after hitting the wall. While the concept can obviously be applied to any sport there is a unique aspect to combat where two opponents are actively engaged in taking away each others gameness through attrition. Moreover, because of the close proximity, if not intimacy, of the ring, fighters share greater respect for each other than in most other sports. Observe how many other sports end with opponents embracing. The camaraderie gained through this intense shared experience is genuine. So, the desire to fight is not born of a desire to destroy, but of a desire to live.

My issue with the number of pages Sheridan devotes to dog fighting is less one with animal cruelty but more one with spectators of sport who overly identify with "the man in the area". As T. Roosevelt put it, "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood, who strives valiantly,… so that his place shall never be with those cold and timid souls who knew neither victory nor defeat."  There is little honor in fighting by proxy, whether through man or beast.