2014-10-25

This was my first time attending Dreamforce and subsequently presenting there as well. I focused primarily on the development side of things, so spent most of my time around Moscone West. I've collected some of my session notes and general conference thoughts here. Content here will evolve over time as I collate all my notes etc...

Sessions

Introducing VF Fiddle

Presenter: @EvilN8

As you may know, I'm an active member of the Salesforce StackExchange site. I find the format useful for asking and answering Salesforce specific questions. One of the time consuming things about the site is trying to replicate an askers environment and then communicating the solution back in the answer.

VFFiddle by @EvilN8 looks like it will be real useful for @StackSalesforce pic.twitter.com/8TptjUFkno

— Daniel Ballinger (@FishOfPrey) October 13, 2014

https://vffiddle.herokuapp.com/

External Objects - Magical External Objects: Seamless Integration is Here

Presenters: Agustina Garcia Peralta and Andrew Fawcett

a.k.a Salesforce1 Platform Connect a.k.a. Lightning Connect

External Objects allow you to view and search data from an external system as though is was a native custom object without actually loading all the data into Salesforce.

Configured under Build > Develop > External Objects and ExternalDataSource.

The main advantage of not storing the data in a custom object is that it does not count against the Org storage limits and you don't need to try and keep the data in sync. At this stage data can't be updated in the data source.

Odata
Odata limits apply on single round trip size - 4 MB.
Total size of continuation links is 8MB.

There is also a pilot Apex Connector API with classes extending DataSource.Connection and DataSource.Provider

Can you query the data in Apex and SOQL? Yes

Used as field relationship? Yes, with some limits - Can't be used in a Master-Detail relationship.

Are updates from Salesforce synced back? Read Only at this stage.

Where a standard custom object has the __c suffix, external objects have the __x suffix.

Limited to 100 External objects per org.

Access External Data with Salesforce1 Platform Connect

Apex Tips And Tricks

SOQL queries often take up most of the CPU time.

The Developer Console Execution Overviews Timeline is a great way to check a transaction to see where the performance issues are. Open the Apex log and use Debug > Switch Perspective > All or Analysis.



Message Queuing

Presenter: @anup

An alternative to using Outbound messages using a custom queue implementation. Independent batches that monitor a message queue and invoke the applicable service handle to send the message out and process the response.





Build Your Own Platform on Force.com

This session will provide an overview of Platform on the Platform, including demonstrations by sfdc partners of features built with the first of our three major features: Custom Metadata. Custom Metadata are similar to List Custom Settings except that the records can be packaged, installed, deployed and managed as metadata. We will show how for the first time, sfdc customers and partners will be able to create their own metadata records and your own platform.

__mdt suffix

Proxly - Speed Up Your Force.com Development and Go Localhost

Use local resources for JavaScript and CSS references to speed up development. https://github.com/dnakov/proxly

Flex Queue - Apex Flex Queue: Batch Apex Liberated

Presenter: @CarolEnLaNube

Current Situation:

@Future No Job ID - returns void - can't monitor - must be static - primitive data types

Batch Jobs - returns ID that can be monitored, recursive calls, only 5 active jobs, can't be ordered.

Schedule Jobs

Flex Queue - combines best parts of @Future and Batch

More that 5 Apex Jobs in the Apex Jobs Table

5 Apex Jobs Processing + 95 Apex Jobs in Holding

Can you reorder Jobs from code or give them a priority? Appears not.

Can't abort holding jobs using the UI, need to use System abort.

Queueable interface and QueueableContext in execute. Provides a middle ground between Batch jobs and @future

Supports more than just primitive arguments that @future methods do.

Less overhead than a Batch job as there is no start method to go through the aync queue.

System.enqueueJob() - returns Job ID. So you can monitor progress.

Can be chained together, which future jobs can't be.

Can have 50 Queueable jobs.

Flex Your Batch Apex Muscles with FlexQueue

The New Apex Queueable Interface

Interactive Apex Debugging

Video. Due sometime in 2015. Sounds like it will be a paid SKU.

Lightning

FAQ

Extend Salesforce1 Using the Lightning Component Framework

Sessions I want to catch up on (among others)

Catch Bugs Early with Apex Diagnostic Code
Ridding your Apex code of pesty bugs improves the quality of your Salesforce implementation and increases the predictability of your application's success. Catching those bugs early saves time and money and having the proper skills to do so when you start development saves even more. Join us as we cover contract programming, assertions, and enhanced logging and notification.

A Deep Dive into Debugging Applications on the Salesforce1 Platform

Building Machine Learning Systems with Apex

FinancialForce DevTalks DF14 - Apex Unit Testing with ApexMocks Framework

I was surprised to hear about the meetup scheduled during Dreamforce. It was a really interesting session on a mocking framework called ApexMocks.

Presenting - Using the Tooling API to Generate Apex SOAP Web Service Clients

I gave a breakout presentation on the WSDL2Apex component of the FuseIT SFDC Explorer that increases support for calling SOAP based web services.

NZ representing at #DF14 Good crowd for @FishOfPrey 's WSDL session pic.twitter.com/c7Uwaef1gc

— Dan Fowlie (@danfowlie) October 13, 2014

The demos went well. I was caught out a bit with the resolution. I went in expecting 1280x720 and it got bumped up to 1920x1080. Hopefully the core parts scalled well enough to be seen. Note to self, have a mangnifier tool handy for future demos.

It was difficult to see the audience in the breakout room with 3 spot lights pointed at the stage - the cellphone camera isn't really showing how blinding it was. I could hear people were out there, but couldnt' really see them. Some of the breakout rooms had this setup and some didn't, I'm not sure why.

Miscellaneous Notes

Salesforce StackExchange

I had a number of shirts to give out, which was easily accomplished on the first day. It's a great way to get talking to people.

. @LaceySnr and @bigassforce presenting on @StackSalesforce at #DF14 pic.twitter.com/QnbnTxBKLX

— Daniel Ballinger (@FishOfPrey) October 14, 2014

Breakfast, Lunch on site

The on site breakfast on the Monday was a selection of fruit and granola bars. Lunch was no longer available in Moscone West or the Yerba Buena Gardens around 12:30 pm on the Monday. Subsequent days I had better luck with the Moscone West expo area around 11:30am. It tended to be prepackaged, so you could grab something and eat it later easily enough.

Gala

Taking notes

I'd recently picked up a Surface 2 and already had the type keyboard acccessory to use with it. Combined in Onenote it worked well as an all day not taking device. I was also able to use it to complete some of the labs using Salesforce from the built in IE browser. There were a few qwirks with using the developer console.

Uber

Salesforce gave out a coupon code for first time users of Uber with the $30 credit for the first trip. I set this up with Uber on my phone before leaving New Zealand using my local credit card and cell phone number. On arriving in San Francisco I picked up an AT&T SIM card to avoid excessive international roaming charges. When I tried to book my first Uber ride they sent a confirmations SMS text message to my NZ cell phone number, which I wasn't able to receive due to switching SIM cards. I could have swapped the SIM cards to get the message, but found it too much of a hassle to try and accomplish in the street. My phone needs a pin or similar to pop the SIM card out. So, moral of the story, wait to register for Uber until you get your local SIM if you are going to switch.

Tourist Travels

Being my first trip to San Francisco I wanted to get out and do some touristy things. I'd recommend:

Hire a bike and ride over the Golden Gate Bride to Sausalito or further on to the Red Woods. I made a day of it and cycled back as well. If I'd known it was there I would have visited the Bay Model Visitor Center.

The Alcatraz audio tour.

Show more