Why Go to Dreamforce 2014

Since “I said so”  or “Because you get to see my ugly mug in person” won’t suffice, here are some valid reasons you should strongly consider heading to Dreamforce 2014 this year, particularly if you are a developer.

#1) The DevZone — last year was my first Dreamforce experience and sadly I missed much of what was going on in the DevZone. However I did find myself skipping out on a couple of sessions (sssshhhh) to go see what all the buzz was about. From arduino & Raspberry PI to 3D printers, this place had it all and was the ideal place to get your geek groove on. Oh yeah, and Bean Bags…lots of Bean Bags…

#2) H.O.T.s — Hands On Training. Last year I was only able to get into one of these things but it was great (Canvas Apps in case you were wondering).  They fill up early so be sure to reserve your place as soon as possible. How better to learn something new than by doing? Its how we do what we do right? Remember H.O.T.s == Good++ :)

#3) Mini Hacks — last year they had a huge hackathon, but the real action if you ask me, was in the mini hacks. I didn’t officially participate in them, but I did snag some of the challenges and spec things out in my hotel room later. This year, they’re definitely on my radar. I’m purposely going to leave a few holes in my sessions to see whats up for grabs.

#4) The Music –Not to be stereotypical but if you’re a geek, you are likely into music as well. I don’t know a single developer that doesn’t sling code without a pair of noise-canceling headphones and their favorite jam blaring full-bore into their cerebral cortex. Dreamforce has music everywhere you go. Last’s year’s Gala was Green Day (one of my favorites), this year is Bruno Mars — not exactly my thing, but he could be yours right? Its a big, big world. There were also a number of indies on the smaller stages throughout the week. Its everywhere, and its good…so good.

#5) Knowledge — last year there were 130,000 people at Dreamforce. The amount of concentrated knowledge in that one single spot in San Francisco is unfathomable and some of that knowledge is bound to rub off on you. If you’re a newbie like I was, you’ll come back invigorated, ready to put  your new found knowledge to practice. If you’re an expert already, you’ll no doubt pass on your knowledge to others. It can’t be helped, its what developers do, we talk about code. We eat, live, breathe code. Maybe you’ll even make a couple friends, get popular and find yourself on the next MVP list? Hey! It could happen.

#6) The people — they’re everywhere. You WILL meet someone new, even if you’re an introvert (I’m an introvert — it took me 20 minutes to get up the courage to go talk to a guy about his Google Glass — Glasses?? Glass? I digress). And let’s face it, we’re not there just to learn about the platform, we are there to hang out and let loose with “our kind”. I fully plan on earning a new nickname as the one I earned at Midwest Dreamin’, while rather entertaining just isn’t gonna cut it for me long term (sorry Bubba, EasyT and Blondie) — ask me in person sometime, its not for public consumption — and where better to ask me than Dreamforce 2014?.

Lastly — because I said so, and my ugly mug will be there — we can selfie :)

Go check it out.


Standard Page Layout Blackbox Magic in VF

As a developer, I’m often times very eager to jump in and start writing code. The Salesforce platform however has a “Clicks Not Code” methodology that I often overlook. Much of the time when a developer is asked to step in, the majority of the “Clicks Not Code” options have been exhausted. It’s no wonder then that I often forget that even though its time to start slinging code, there are number of prebuilt items that I can leverage. This morning, this bit me in the posterior for awhile.

I was working with a bit of legacy code that now required us to have different types of the same object, we’ll call this Object A for simplicity sake. We also have another custom object, Object B that has a lookup to Object A. However, Object B now also needed two more lookups to Object A in order to represent the other types (it was possible to have all three populated at the same time). So far so good. Object B -> Lookup Object A (Type 1), Object B -> Lookup Object A (Type 2), Object B -> Lookup Object A (Type 3).

Object A is represented in the UI using a custom VF page. Now normally, I’d be all to eager to build the VF page *completely* from scratch, field by field as that’s what I’ve been doing for 14 years. With Salesforce, its possible to leverage the prebuilt pieces of the object PageLayout using specific apex tags. In this case, the existing page was using <apex:detail> and <apex:relatedList/> tags to represent the basic details of the object and the Object B related list respectively. I had to add two more related lists to this page and have them conditionally rendered based on Object A’s type field.

The original Object B related list had several columns that my related list needed to duplicate, however no matter what I did I could not figure out how to add these columns to my related lists. As it turns out, the answer is simple. Since I was using the <apex:relatedList/> tag, all I had to do was edit Object A’s standard page layout, select my related lists, and add the columns there. This thought never even occurred to me because after all, from a coding stand point, I was using VisualForce, not the standard page layout, all the while forgetting that the builtin in tags use the default related list functionality from the page layout.

So, if you find yourself struggling in VisualForce code, don’t forget some of the black box magic that is taking place behind the scenes. Even though you may not be using the standard page layout, that standard functionality is still playing a role.




Thats Why Admin’s Drink

EDIT: My kickstart to get this professionally going. Please consider helping out.

Reverb Nation (link to audio)

As a hobbyist musician — lets face no Grammy’s are heading my way anytime soon — I couldn’t resist writing a song about Salesforce. I’ve been particularly infatuated with the hash tag: #ThatsWhyAdminsDrink. So today, I bring to the incredible admin’s all throughout the Salesforce community their very own song based on the afore mentioned hashtag.

This comes with a caveat however, not only am I NOT a professional musician — I’m even MUCH LESS a professional sound engineer. I can do some very basic “stuff” with Garage Band, but I feel in order to do this right, I’d like to have this professionally recorded in a studio but someone who actually knows what they are doing. To that point, I’d also like to add some studio musicians to the mix because I need drums, bass, and a guitar player that can solo. I have a few connections that I can line this up with no doubt but it all takes time and money. Time I can deal with, but money, not so much. So this is me, writing a song for a community I’ve enjoyed being part of for over a year now, asking for a little help in making this something we can all point to and tell our friends: “That song is about me — and what I do everyday” :)  Please consider donating to my Kickstarter project in order to help me make this a real thing :)

For now, the very rough recording can be found on my Reverb Nation page (Dammit Andy).

I know its rough, but please let me know what you think in the comments.