Friday, January 9, 2015

Add a Salesforce Console Component To Your App, Part 2

Ok, so you've read part one of this two-parter and you've got a console component that puts your Visualforce page into the Salesforce console, so what's next? Well all of the integration with the console itself is done via a Javascript API, so as always reading the documentation is a great place to start. It's broken down neatly into sections for different styles of interaction, but I want to call out some of the basics here so that you can get struck straight in (because the deep end is always fun, right?).

Are You In?

First up, it's probably a good idea to find out if our page is indeed being viewed in the console, and as you'd expect (or at least hope) it's very easy to find that out. First we have to include a script in the Visualforce page that provide access to the console API:

<script src="/support/console/32.0/integration.js" type="text/javascript"></script>

Now, in our own Javascript we can call the rather conveniently named function, isInConsole(). Care to guess how that function works? It's pretty much (I've not checked everything) the only function in this API that is synchronous, everything else uses callbacks.

<script type="text/javascript">

        console.log('Hello, Console!');

Friday, December 12, 2014

Add a Salesforce Console Component To Your App, Part 1

The Salesforce console (originally service, and now sales as well) is something that's always been on my radar but not something I'd ever used until last week. If that sounds like a familiar story then I really do urge you to check it out, a little customisation and there's a good chance you'll find it suits your work patterns better than the regular UI, and if it's not something you've considered for your app, you really should do.

Over the last week I've been adding console support to both CrowdGuide and Ring My Bell, and at first I found things a little confusing as it turns out there's not a heap of developer-focused information out there, so I'm writing up this short list of pointers to help others get started on the same path.

Ring My Bell in the Salesforce Console

Friday, November 21, 2014

Thimbleweed Park: Backing a Dream

TL;DR; BACK THIS NOW. In fact, do that, and THEN read this.

Update: 25/09/14

Ron and Gary hit their goal! At the time of writing they are around $15k over their target, but that doesn't mean you shouldn't back this game if you haven't done so already. Now that the main fundraising target has been hit, we're talking stretch goals, and these are more than worthy of your money, especially if English is not your first language or if you fancy playing Thimbleweed Park on your iOS or Android device using "jab & smoosh" technology. Keep up with the love people, and maybe we can all play the games we want to once again!

Original Post

While I love the never-ending evolution of computing and the systems we use, there's still a time and a place for machines, games and ideas from the past. Old does not mean defunct, even if you're not going to be using those machines to run your business. I suspect there's more than a few developers in our community, around my age, who spent the late 80s sand early 90s playing Lucasfilm (which became Lucasarts) adventure games. If you're not in that group it's never too late, but if you were I'm pretty sure you'll hold Monkey Island in the highest of regards, and you'll know it all started with the seminal Maniac Mansion.

Things Lost

This was the first screen I ever saw of Monkey Island
One thing that's always bugged me is that I'll never be able to play Monkey Island for the first time again, and if you haven't then I'm most definitely jealous of you. Extending that, for the last 15 years or so I've been gutted that I won't get to play a new Lucasfilm adventure ever again. I use the company name purely because they made, in my opinion, the greatest adventure games by far. That they did so has a whole lot to do with the fact that they had the SCUMM engine, created for Maniac Mansion by Ron Gilbert. Ron and Gary Winnick created a genre with Maniac Mansion, and then Ron went on to create Monkey Island which is game I've loved since first sight; and yes, I do remember the first time I saw it.

Friday, November 14, 2014

Get Started With KnockoutJS on the Salesforce1 Platform

Anyone who's talked with me (or heard me talk) over the last 6 months are so is likely to have heard me sing the praises of KnockoutJS, not least during the presentation I did with Chris Bland at Dreamforce this year. There is a veritable smorgasbord of Javascript libraries around these days, and there's more than a few that I like, but right now, for me, KnockoutJS is the shining star, and if you're looking to build more dynamic pages inside of Salesforce1, then I highly recommend you take a look at it.

Why Use Javascript At All?

As more and more of Salesforce development revolves around the Salesforce1 mobile application, it's becoming increasingly obvious that roundtrips to the server with Visualforce are not the way to go, sending and receiving everything that's required for your controllers is slow, and so remoting is the way to do things. If you've not tried it already then you'll be surprised at just how fast it is when compared to the more traditional Visualforce techniques.

Monday, November 3, 2014

Salesforce Trailhead: Create Your Career

In case you didn't guess, the reason for a temporary hiatus on this blog was the all-encompassing craziness that is Dreamforce; preparation took care of September and the first half of October and then the event hit and frankly I'm still not sure what time it is. I'm still playing catch-up on the news from Dreamforce, but one thing that definitely grabbed my attention was Trailhead, which if you've not seen already, is a whole new learning suite for developers coming to the Salesforce1 platform.

Helping people learn to code, (and especially on the platform) is a topic close to my heart, and I had great fun leading an Apex 4 Admins Hands-on Workshop at Dreamforce, so I'm particularly excited about this new tool. So now I'd like to introduce a guest post on the topic, from the ever-active Jayvin Arora (@JayvinArora - leader of the Philadelphia Salesforce User Group). In this post Jayvin makes a compelling argument for leveraging the benefits of Trailhead and getting a head start on the Salesforce1 platform, and I think anyone already working in this space wouldn't hesitate to recommend it.

Friday, September 19, 2014

Thank You

Today's post is short, but sweet. Frankly, I just want to say thank you.

Last week, over two and a half years after I originally submitted a proposal for it, the Salesforce StackExchange site graduated out of it's beta status and got upgraded with it's own new look.

Friday, September 5, 2014 Security Review Is a Blessing

This post is going to be short and sweet, partly because it doesn't need to be long and partly because we're getting dangerously close to Dreamforce, which means things are getting more and more crazy around here. Length doesn't dictate importance though, and security is something that is all-too-often overlooked by a lot of developers on the platform and that is not a good thing.

ISV Developers Get It Good

The chances are good that if you work at a ISV partner that you'll have encountered the AppExchange security review process. The chances are also good that it will seem like a thorn in your side, but it truly is a blessing in disguise, and I think that Sarah Whitlock and her team unfairly receive more flak than praise. The reason it's a blessing is because it will likely open your eyes to a whole world of security concerns that you may have never considered otherwise; not only does this help protect your customers, and therefore you and your reputation, but it helps increase your general awareness of issues, and that carries over into everything else that you do.