Monday, July 8, 2013

RedirectHelp Page to Integrate Google Sites with Salesforce for Context-Specific Help

If you want to use Google Sites for contextual documentation in Salesforce, the following steps will enable your users to trigger a contextual search in your Google site when they click "Help for this Page":

  1. Deploy the RedirectHelp page to a public site in your Salesforce org
  2. Open your Google site
  3. Perform a search for any keyword (e.g., "help")
  4. Copy the resulting URL. It should look something like, https://sites.google.com/a/granite.edu/technology-playbook/system/app/pages/search?scope=search-site&q=help
  5. Edit the RedirectHelp page. Set the baseURL variable to the Google site query URL, with {#section} inserted as a placeholder for the query keyword
  6. Copy the public URL of the RedirectHelp page
  7. On the "Help Settings" page in Salesforce, set the Re-direct Help URL to the public URL you just copied


Note: When you are satisfied with the functionality of the RedirectHelp page, you should set the pause variable to "0" so that the redirect is instantaneous.

Additional Info

Google Sites is a great, cost-effective way to create documentation for customized, enterprise systems such as Salesforce. However, integrating the two is not seamless out of the box.

Salesforce's Help Settings allow one to specify a Re-direct Help URL, which can be set to the base URL for a Google site. For example: https://sites.google.com/a/example.com/help/


But the Google site would not know what to do with the default loc, target and section parameters that Salesforce automatically adds to the URL.

Since the section parameter really provides the contextual keyword for the Online Help request, it would make sense to perform a search through the Google site for the keyword whenever a user clicks "Help for this page". Deploying the simple RedirectHelp page achieves this goal without custom Apex or JavaScript.

Note: This solution was last tested in Summer '13 DE and EE orgs.

Wednesday, July 3, 2013

Data Loader process.bat Error: The system cannot find the path specified

When trying to run process.bat for Salesforce's Data Loader from the command line, I encountered an error, "The system cannot find the path specified."

The problem turned out to be that I was not running process.bat from the %DATA_LOADER_HOME%\bin folder.

Running process.bat from the folder where the BAT file was located (shown below) solved the problem.


The root cause of the error is that process.bat (in Data Loader 28) looks for the JRE executable in a relative path, assuming the user is running the script from %DATA_LOADER_HOME%\bin.

Monday, July 1, 2013

How to Install Java 7 Plugin for Firefox on Windows Server 2008 R2

If you have to set up Windows Server 2008 R2 environments and try to get the JRE 7 plug-in to work in Firefox on the server, you may not have found it to be an intuitive process.

The quickest solution seems to be:
  1. Open Google, and search for "java plugin verify"
  2. Click the result with a title similar to "How do I test whether Java is working on my computer?" See the screenshot below for reference.
  3. Click the Free Java Download button
  4. Click the Agree and Start Free Download button. This should prompt you to download an installer such as "jxpinstall.exe".
  5. Once the download is complete, close Firefox
  6. Run the installer, and follow the on-screen instructions to complete the installation
  7. After the installation, return to the verification page to make sure the Java plugin for Firefox now works


For some reason, downloading and installing the JDK or the JRE from Oracle's website does not install the plugin correctly for Firefox. This is the only reliable way I've encountered so far of getting the plugin to work in Windows Server 2008 R2.

Monday, June 3, 2013

Be Courageous and Get On With It after Graduation

Blue skies and sunshine set the tone for Granite State College's commencement ceremony yesterday, celebrating the accomplishments of hundreds of newly minted alumni. Juggling full-time jobs, families, disabilities and more while tackling rigorous curricula, many of these graduates model values of persistence and discipline that all of us can emulate.

Yet... as the songs, speeches and thunderous applause all drew to a close, I couldn't help but to ponder silently: What's next for each of them? What will they do with their education and degrees? While completing the years of coursework is commendable, earning a degree is still a fairly structured process with a well-defined beginning and end. Life, however, is very open-ended, and life's unknowns are exactly what face the graduates as each one descends from the stage, leather diploma cover in hand.

I wonder whether they were moved by a common message from the speakers, that all of us can do something extraordinary for at least one other person, if we set our hearts and minds to it. Hal Jordan posed a challenge to the audience: "Be courageous. The opposite of courage is not cowardice. It's apathy." And apathy is what worries me. With so many resources invested by all parties in this education, apathy is a sure way to net little in the end.

Apathy is not usually intentional, either. I think it's just the comfortable default. When there is a clear goal in sight, we can motivate each other to reach it. But once the concrete objective of completing a collegiate program is attained, one doesn't always leave with a clear goal for what's next. Change the country? Change our state? Change our local community? These sentiments sound great, but it's unclear how to really make a difference. Instead, I fear that we will simply go back to the known goal of improving our own situations.

So, I have just one wish for all who were touched by #GSC2013: Each participant at commencement today picks a single dream or aspiration and defines a short-term goal to move in that direction. Then, as Lucile Jordan advised, we can "get on with it." Let's achieve the monumental eventually, starting with a realistic game plan that builds on the momentum of graduation.

Sunday, March 31, 2013

Maintaining Inbox Zero: No Emails in Your Inbox

"Inbox Zero" was a dream that began to look realistic when I decided to separate my emails into tiers: Chatter notifications, Basecamp notifications and everything else. When Chatter notifications were all that I was seeing in my inbox, it was easy to empty my inbox on a daily basis. But the illusion of having responded to everything faded very quickly as the number of unread emails piled up in a separate folder lurking just beneath my inbox.

Finally, to dispel the illusion and to actually respond to all incoming email, I took control of my inbox by making one simple decision. That decision is simply to check my email just twice a day, once in the morning and again in the evening. And now I am able to consistently meet a 24-hour response time to emails during weekdays.

Implementing the decision required just a few major behavior changes:

  • Schedule 90 mins per session to handle email. Time not used in a session can be reallocated to other activities.
  • Spend no more than 6 mins responding to an email. If more time is required, flag the email for follow-up. As a courtesy, after flagging an email for follow-up, I generally reply to the sender to let him or her know that I have received the email and need more time to craft a full response.
  • Once read or flagged, either move the email into another folder or delete it.


The point of this change was to increase productivity by reducing stress, anxiety and workplace distractions from two things: constantly switching into and out of Outlook, and worrying about unread emails.


If you try this or are already doing something similar, have you been able to maintain inbox zero? Or does your job demand a different way to handle email? While I am far from completing all of my tasks on a day-to-day basis, I take comfort in knowing that I can at least respond to all emails that come my way. After all, communication is a key component of everyone's work.

Tip: To follow through with eliminating email distractions, turn off email notifications in Outlook, on your tablet and on your smartphone.

Tip: The articles below may provide additional perspectives on handling email: