At Dreamforce 2010, I had the honor of writing the only (to date) community-contributed app to the Dreamforce org: Chatter BINGO.
It has been in an AppExchange listing for a while, in an unmanaged package, but I decided to open it up on GitHub to see if anyone wants to make updates/improvements.

In the previous post, we looked at using the standard (button-click) way to create a new child record using Publisher Actions. Pretty basic stuff. Using Visualforce to create a custom action is a bit harder. Let's start with the documentation. The PDF provided by clicking on the link in the Actions screen (Account action is an example) has nothing about Visualforce. Searching in the Help & Training section yields a page Creating Visualforce Pages to Use as Custom Publisher Actions, but I can't see where that page is found in the help tree on the left side of the page. Interestingly, to find correct code (because the item above has a misprint) I had to go to Customizing Case Feed with Visualforce (PDF). Let's set up our use-case and see what we can do with a Visualforce publisher. As before, we want to create a Task from a Case. The […]

I've seen a lot of coders put the following into their custom Visualforce controllers: I've decided that I don't like this approach. It feels too much like a URL hack, and though I'm sure that it will always work (meaning that salesforce.com will never change its way of referring to a record by /<recordID>), I'd like to suggest a different method that may use more resources, but will leverage standard controllers, possibly future-proofing the application: What do you think? Does anyone have coding-style tips to share?

With Dreamforce 2010 behind us and Dreamforce 2011 fast approaching, the first ever crowdsourced conference application is publicly available! Chatter BINGO has been released as an unmanaged package, meaning that all the source code is open and ready for customizing to your hearts’ content. Chatter BINGO was conceived by Chris Shackelford and Brad Gross (@imperialstout) while chattering in the Dreamforce org, and they asked me to build it. Within two weeks, it had passed QA and was deployed to the org. One of my favorite moments from Dreamforce was at the Tweetup (#df10tu – see you at #df11tu) when someone walked up to me with a printout of the PDF BINGO card she had generated, asking me to mark myself on the page. It always feels good to see people enjoying one’s work! The listing is at http://www.x2od.com/getchatterbingo. Enjoy!

I’m totally addicted to the new Visualforce inline editing feature. It all started with this post by Josh Birk at Developerforce. I liked it, but as a “standardstylesheets” specialist, I wanted a bit more. Then I looked at the Visualforce apex:inlineEditSupport documentation, and I was hooked. Okay, so you’re probably wondering why this is so neat. I’ll show you how to enable fields for inline editing, and then I’ll show you why the apex:inlineEditSupport tag is completely unnecessary! Here’s a simple example. You’ll notice that inline edit support has only been given to the contact.phone field. resetInlineEdit() is referenced in the code, but the actual Javascript isn’t shown anywhere. PLEASE don’t be fooled by the bad code in the documentation: It works perfectly for that “undo” arrow by the inline edit field, but it doesn’t work on the cancel button. changedStyleClass is optional. Omitting it uses the standard style we’re […]