Posts Tagged ‘Salesforce

24
Nov
09

Quick Thoughts on Dreamforce 2009

We headed out to San Francisco last week for Dreamforce, the annual salesforce.com user conference. While the primary objective was to learn about the future direction of Salesforce CRM and the Force.com platform, I also wanted to put my finger on the pulse of cloud computing in the enterprise and validate my optimism for 2010 and beyond. With over 15,000 people attending Dreamforce, and a party scene reminiscent of the Dot Com days, I came home with great enthusiasm and little doubt that “the cloud” has reached the tipping point, and combined with an economic recovery will create a perfect storm scenario in the coming year that will make the innovations of the Dot Com era pale in comparison to what we’re about to see with cloud computing.  Some thoughts:

  • The “big announcement” revealed during Marc Benioff’s first of several lengthy keynotes was Salesforce Chatter, a social platform designed to drive collaboration within the Salesforce CRM environment. I can’t say I was all that excited about Chatter until I went to the salesforce.com area of the Expo Hall and got a first-hand look at it. Even though we won’t see it generally available until mid or late 2010, the deep-dive demo that I got helped me to understand the business value of Chatter and how Delivered Innovation will be able to design next generation Salesforce and Force.com systems around a real-time social and collaborative paradigm.
  • The session that I was most looking forward to was the discussion on integrating Google Wave with Salesforce.  Unfortunately the Google Product Manager was unavailable, and despite the best efforts of his replacement the session was a disappointment. I’m still trying to wrap my head around whether Wave will be able to provide business value or if it’s just a new toy with a lot of buzz around it.
  • The best session that I attended gave a sneak peek of new packaging and patch management tools for commercial applications.  Today, any customer that downloads a package from the AppExchange has to explicitly download and install updated packages in order to upgrade a commercial application; in the near future it will be possible to push patches and version upgrades to customers directly and instantaneously.  The other impressive feature that I did not realize was already available was the ability to apply conditional logic within Apex classes to create branching based on the installed package version in a customer Salesforce org…for all intents and purposes this creates an in-line code branching solution that avoids the complexity of managing multiple class instances within a package.  But for when a situation does call for a code branch to address critical issues and distribute patches, salesforce.com has created a paradigm of parallel development orgs that can be used to branch code and merge it back into the core code base of the original development org for version releases.
  • I will chalk it up to growing pains and West Coast time management, but almost nothing ran on schedule during Dreamforce, and I found that to be frustrating at times. Lesson learned – leave some flexibility in your itinerary and be prepared to make choices regarding sessions because Dreamforce was pretty chaotic at times.  And if you’re planning on grabbing some food from a sponsored lunch, get there early.
  • I realize that events are huge marketing opportunities, but I walked out of a couple of sessions because I felt like I was being hard sold on messaging that I had long bought into. There may be a fine line between education and indoctrination, but let people drink the Kool Aid by choice…not brute force.
  • My biggest takeaway was the genuine enthusiasm that I got from current and potential Salesforce customers that had “found religion” in cloud computing.  It was very exciting to have the opportunity to talk to so many people that had made the conceptual leap and understood the importance of the cloud.

In a broader context, the energy that I felt in San Francisco last week was like nothing that I had experienced since I lived and worked there almost ten years ago.  There were times when I felt as if I had stuck my finger directly into an electrical outlet and kept it there until I boarded the plane home. 2010 is going to be an explosive year, and whether it was Dreamforce itself or just the timing of the event, many of us will look back at this week in San Francisco as the start of a golden era of technology.

09
Aug
09

Force.com Tip: ‘New’ Button Override to Assign VisualForce Page to Specific Record Type Using Native Apex Code

* Updated 8.14.09 with a link to a similar post by Jeff Douglas and refactored code that is more applicable to a broader audience using Apex PageReference methods rather than the original string concatenation that was used for human (non-Salesforce developer) readability

You’ve probably come across this before…you need to create a custom VisualForce page for a specific Record Type, but overriding the ‘New’ or ‘Edit’ button seems to be an all-or-nothing proposition (i.e. you can do a single VisualForce page and embed the Page Layout using Apex:Detail, but you can’t mix custom pages with standard Page Layouts). We came across this recently at Delivered Innovation, and we want to share our solution with the community. This specific example involves the Saleforce Case object, but can be applied to any Standard or Custom Object.

Use Case: Client has multiple call centers supporting various product lines; support team ‘A’ requires a custom Wizard to rapidly search for and collect details for the Case record that the standard Salesforce search interface cannot provide.

Solution: While you can assign a specific Page Layout to a specific Record Type and embed VisualForce pages in the object Detail view, currently salesforce.com does not support embedded VisualForce Pages in the Edit view of a Page Layout; likewise, salesforce.com does not support custom VisualForce pages for specific Record Types.  The solution is to “intercept” the command to create a new record in an Object before Salesforce processes it, and this is accomplished with a 1-line VisualForce page and a StandardController extension that pulls and analyzes certain URL parameters to enhance the out-of-the-box process routing capabilities of Salesforce.

Continue reading ‘Force.com Tip: ‘New’ Button Override to Assign VisualForce Page to Specific Record Type Using Native Apex Code’

07
Aug
09

How Force.com Changes System & Software Testing Processes

It’s evident by this point that cloud computing technologies such as Software-as-a-Service (SaaS) and Platform-as-a-Service (PaaS) have changed the way applications are developed.  The interesting thing that we are finding with our customer engagements is that the rapid and iterative nature of designing and developing apps on Force.com has created an entirely new set of challenges with how the apps are tested prior to deployment to production environments.  The ability to demonstrate application features and functionality to project stakeholders in near-real time is more of a double-edged sword than most people realize; on the one hand, being able to show progress and continuously incorporate feedback has fundamentally changed the concept of application development and delivery.  On the other hand, if expectations are not managed properly, the ability to visually represent system designs and demonstrate prototypes in such a rapid timeframe could potentially trivialize the importance of testing, code refactoring and optimization, and change management.

Continue reading ‘How Force.com Changes System & Software Testing Processes’




Cloud computing application & service design by Delivered Innovation

Subscribe to Delivered Innovation with RSS  Follow Delivered Innovation on Twitter  Find Delivered Innovation on Facebook