Archive for Dreamforce 2006 Category Feed

ADN @ Dreamforce Summary

Here is my summary of the more developer-related topics from the AppExchange Developer Network (ADN) @ Dreamforce tracks.

To make sure you get the real scoop, I recommend you watch the session videos as they get posted. All are located in the Dreamforce Guide at Here are some of the key ones:

Data & Native Framework

All of these are things built right into the Setup area and require no coding to perform.


A really good approval process is coming out. You can do approvals on any object including custom ones, but excluding Tasks & Events. This will allow a record to be sent into a configured approval process. There are a multitude of configuration options that apply to implementing approvals. Just know it will be quite flexible.

Field Updates
Have you ever wanted to automatically update a field based upon a condition? For example, when an Opportunity is set to “Closed Won”, change the record type to lock down the record. Or automatically change the owner of records that meet certain criteria. You can do this with Field Updates.

Outbound Messages
Send a strong typed XML document to an end point. You specify the fields to include and the criteria by which the message should be sent. You also have the ability to generate a WSDL for use in developing the end point. You can also include the Session ID with the message so that the end point could leverage that session and manipulate other data.


Validation Rules
You can now setup validation rules that stop a user from saving a record. For example, create one to validate that discount percentages fall within a certain range. Or validate that the Country value entered matches up against a list of valid countries (since the country field is not a picklist).

Sharing on Custom Objects
Woo hoo!! I have been asking for this one. This capability is a big step towards being able to truly build applications on the Salesforce platform that someone might purchase even if they don’t have CRM.

Field History Tracking
Keep an audit trail of field-level changes on a record.

I didn’t catch too much about this, but it made it sound like the ability to do hierarchical relationships within an object. Similar to the parent-child account relationship.

Queues on Custom Objects
Just like on Leads and Cases, custom objects will allow a record to be owned by a queue instead of an individual owner. This, along with the Sharing on Custom Objects, add a lot to record-level security in Salesforce.



This is great. You can now pull, with 1 query, what used to require multiple. It is similar to joins in SQL.

  • M:1: Include information from a related record. For example, you can now query the Contact object and reference fields that Contact’s related Account record.
  • 1:M: Embed sub-queries in your SOQL statement to return the records that would normally appear in the related lists. For example, in a single query you could return an Account record, all its Contacts, all its Opportunities, all its Cases, etc.

It will be interesting to see how this affects the API as a % of all traffic. Today it’s touted as 40% of all traffic. This change, especially, will eliminate a lot of calls to the service.

You can now (finally!) order your resultset. I believe you can only order by 1 column, but don’t quote me on that.

Use IN to simplify your WHERE clause, like in SQL.

Simply return a record count from a query. I believe this will only be available in the main query, not in the sub-queries.

Use this statement to limit the number of records to be returned. This can be used in the sub-queries too.

This will utilize the Translation Workbench to translate the values that get returned so that you can create Internationalized interfaces.

forceAMP will have a new tool out called QueryAmp that will allow for advanced SOQL modelling with the resultsets being put into Excel. Kind of a combo of the Excel Toolkit and the .NET Explorer. Be on the lookout, this will be handy. Will probably be for a fee.

UPSERT with Relationships

Data Loader will support this. When loading a record into the database, you can reference the External ID value rather than the ID fields. For example, if your Account uses a custom DUNS_Number__c field as an External ID, you can load Contacts that reference that DUNS Number in order to link the record to the appropriate Account. Today, you would need to do a lookup in the Account object, return the ID and use that.

Merge API

There is a new merge call in the API. It is only supported on Accounts, Contacts and Leads. A new field is included in this API called masterrecord.

  • QueryAll: Use this method to query and also include records from the Recycle Bin.
  • Undelete: You can undelete records from the Recycle Bin through the API.
  • describeLayout performance enhancements
  • New Objects Exposed
  • Email Header: In places where the system would be sending people emails (user creation), you can invoke this in the API

Composite Framework

Inline S-Control
Lots of buzz around this. You can now embed your s-Controls into a Page Layout. There will be LOTS of development going on in this area.

Before you could add custom links to the application to go to a URL or run an s-Control. Now you can do this with custom buttons. In addition to going to a link or running an s-Control, this can also be used to run APEX code.

You can also override the standard buttons. For example, change the new opportunity button to run custom code of yours. This will impact any time an Opportunity is created in the UI.

Packaging & Distribution

There’s a lot to talk about here that I don’t have the energy to write about. Check out the Packaging It Up: Latest Enhancements for App Distribution session video when its released. In short, there is a new concept called “Managed Packages”. This works in conjunction with an app called the License Manager. Managed Packages allow you to seamlessly upgrade your apps for your customers. The License Manager allows you to see who downloaded your app and what version they are on.

Also, you will have the ability to package up new objects like Custom Buttons and Custom Fields on Standard Objects.


I suggest you visit for the real information. Here’s a summary of what I learned about it.

  • APEX will be launched in beta in Q1 2007
  • You will have the ability to create “a discrete piece of code written in the APEX language and executed by the APEX platform”
  • Runs natively on the server and is much faster than AJAX
  • Interacts with the UI via buttons & events (triggers).
  • Interacts with data via the API.
  • Java-like syntax for creating logic and manipulating data
  • Language scope similar to stored procedures
  • “Compiled” and strongly typed. Basically, your code is validated before it is allowed to be executed.
  • The “compile” process will keep metadata about your code so that it can warns/stops you from deleting a field referenced by APEX code.
  • Transactional. Supports COMMIT and ROLLBACK calls. Does not support nested transactions.
  • You will have the ability to “add verbs” to the API. Basically, you can write code in APEX and expose it as a Web Service. Maybe you want to have a verb called “NewWithDeDupe” that checks for duplicates before insert. Go for it.

Other Stuff

  • A new PHP toolkit will be available when Winter ’07 is released
  • A new Eclipse plug-in using Eclipse 3.2 will be available
  • New Data Loader to support Upsert changes

Comments (5) comments feed

Building an Effective Community Strategy with On-Demand and Salesforce

This post is being made during Dreamforce 2006 in the Building an Effective Community Strategy with On-Demand and Salesforce break-out session, which is part of the Marketing Executives track. This post is being made during my presentation to demonstrate the simplicity of using blogs as a means for communicating with an audience.

You can find the audio and video archive of this breakout session here. This will be available a short time after Dreamforce has completed.

Comments (1) comments feed

Thanks to Salesforce re: General Powell

I just want to thank for having General Powell as a Dreamforce keynote speaker. It is rare for me to have the opportunity to hear a speech like that in person. I am very pleased to have had the opportunity to be a part of it. Thanks!

Comments (2) comments feed

Dreamforce Keynote

A bit before 9am, the doors opened and we were all hit with lots of music, lights and fanfare. This is my first Dreamforce and I was not left disappointed. It’s quite a show.

The keynote was broken into 3 primary parts:

  1. Company Positioning
  2. Winter ’07 Preview
  3. Apex
Company Positioning

Marc Benioff started off talking about the Consumer Web and the move to the Business Web. Because of the proven technology and innovation by companies like Apple, eBay, Google, Yahoo and Amazon, Salesforce is in a position to deliver their service and make the enhancements to it that they are announcing today. This part of the presentation did not produce too much news for me, as it was a bit of a repeat of other presentations Marc has delivered recently, but it did help set the stage for the rest of the presentation and I’m sure it was new material for most of the attendees. Some of the interesting things I took away from this section were:

  • Salesforce’s 501,000+ subscribers are paying subscribers only. This number does not include developer accounts, non-profit accounts or trial versions.
  • Salesforce’s service performed 3.1 billion transactions in Q2, 45% of which were through the API.
Winter ’07

Now we start getting to the fun stuff. George Hu, the CMO, did an excellent presentation on the upcoming release. Some of the key points were:


  • Business Web Desktop (the “Console” tab) – This is a new AJAX based UI that allows for a lot of interaction on 1 page. This is the #1 voted for item on the Idea Exchange.
  • Calendar Re-Write: The Calendar was completely re-written and adds a lot of AJAX functionality to improve usability such as the ability to hover over an entry to see its details rather than having to click into it.
  • Reminders: I know my clients are applauding this one. Like in Outlook, you can be reminded of items on your calendar.
  • Collapsible Sidebar: Show/Hide the sidebar with a single-click to increase the amount of screen real-estate you have.
  • Related List Hovers: No longer do you need to scroll down the page to see Related records. A list of related objects will be above the
    record, allowing you to view all the related records right there. If the Show More link appears, the additional items will be shown in the same hover window.
  • Embedded Objects: Also, referred to as “Inline S-Controls”. The demonstration showed a Yahoo Map embedded on an Account page, a Writely document embedded in a Candidate custom object of a recruiting application to show the person’s resume, a timeline widget that shows the interaction history with an Account. Basically, you can embed an S-Control into a Page Layout and have it render inside the layout.
  • Approvals via Workflow: The approvals engine has been greatly enhanced so you can add an Approval processes to any object, even custom ones. Approval processes can be invoked via Workflow, so you could have different processes for different criteria.


  • Salesforce for Google Adwords was emphasized. Read my review of the product prior to it being acquired by Salesforce. It allows you to manage your Google AdWords campaigns within Salesforce and track from Ad keyword to Lead to Opportunity. It’s top notch.

Service & Support

  • Salesforce is releasing 16 pre-built CTI connectors. These will work with all major phone systems.
  • Integrated Softphone technology: Screen pops, Hold / Transfer / Conference calls, log call notes from the screen pop screen and have them saved as Activity records automatically.

Marc touched briefly on PRM and then Michael Dell gave a quick talk about how the entire Apex platform is running on Dell Servers. Marc then stressed the importance of partners. They have a PRM offer now:

Buy 2 PRM licenses and get the 3rd free.


Marc and Parker Harris presented this piece. This section focused on moving the platform capabilities from configuration (and light customization) to advanced customization.

“What if there was a C++/.NET/Java for On-Demand Applications?”

There is. “APEX – The World’s first multi-tenant programming language”

APEX lets you write and run code on Salesforce servers.

Apex is planned for a beta release in Q1 of 2007. You program in a Java-esque language and all of it is compiled/hosted on hardware. An Eclipse plug-in will be available to give you a nice IDE. Apex will allow you to call code you wrote as a web service, invoke it via an S-Control or invoke it based upon a user actions such as a button click. It’s purpose is to manipulate the data in the database. And it’ll be FAST because they are compiling it on their servers and it’ll be running in their data center. There is some overlap between what the AJAX toolkit can do and what APEX can do. I’ll get into my understanding of the differences later. I need a few more sessions under my belt to be sure I understand it completely.

An example scenario was given to help us get the idea of what you could do with APEX:


Maybe you want to re-write the Lead Convert process to do something completely different. Now you can (example above). AJAX toolkit will handle the UI interaction and can call APEX functions to do the heavy lifting on the data side.

There’s lots more to talk about and I didn’t even cover all the presentations that were part of the keynote. I am sure Mark at will take care of those details. I’m going to try and focus on the things that are most relevant to developers and for providing Salesforce solutions.

Gotta go…

Comments (2) comments feed

Getting Ready for Dreamforce 2006

I will be at Dreamforce this year (my first one). I am really looking forward to it. I will be participating in the Building an Effective Community Strategy with On-Demand and Salesforce panel on Wednesday, October 11 @ 10:15am, which is part of the Marketing Executives track. On the panel with me are:

Echoing what Charlie Wood and Mark Mangano already wrote, here’s where you can keep up to date on what’s happening during Dreamforce:

If there are other people blogging the event, please comment here and let us know about it.

Comments (1) comments feed

« Previous entries