Fri, 31 Aug 2012

Fixing "emulator window was out of view and was recentered"

Every time I tried to start an Android emulator, the window appear briefly, then disappear, and I'd get the error, "emulator window was out of view and was recentered". The solution is to edit emulator-user.ini in the avd's directory, $HOME/.android/avd/<image name>, by default, on linux. Set window.x and window.y to 0.

The solution is on stackoverflow, but Google couldn't find it.

Update 10/05/2012: I've found this solution to work inconsistently. A better solution under xmonad is to set up a ManageHook to match the emulator window and move it to the floating layer:

myManageHook  = composeAll
	[ className =? "emulator-arm" --> doFloat
	]

tech | Permanent Link

Sat, 11 Aug 2012

Kanban for Salesforce

Based on my previous Force.com app for managing Salesforce Cases on a Kanban board, I've built Kanban for Salesforce, a project management tool on the Force.com platform. It uses a custom object for cards so it's not tied to an existing Salesforce native object. Cards can be organizated into sprints.

I've built a proper website for it, and there's an online demo. Check it out at octoberswimmer.com.

tech » salesforce | Permanent Link

Mon, 25 Jun 2012

Kanban Cases Board Updated for Multiple Filters

I've updated my kanban tool for Salesforce Cases to allow filtering Cases by multiple criteria. In addition to Owner, you can now filter by the age of the Case, the Priority, and the Type.

Install CaseBoard Install to a sandbox

tech » salesforce | Permanent Link

Tue, 22 May 2012

Kanban Board for Managing Salesforce Cases

I've started building a tool to manage Salesforce Cases on a kanban board. Each case is a card, and each Status picklist value is a list on which the cases can be organized. You can drag cases around to prioritize and track progression.

The lists are organized left-to-right in the same order that the picklist values are arranged top-to-bottom. There's a custom setting to treat the first picklist value, typically "New", as your backlog. The backlog is hidden by default, and can be shown by clicking the arrow on the top left.

If you use Salesforce Cases, please try it out. I would love to get some feedback and suggestions for features. It's still early in development, but I was able to get off to a good start on the front-end by adapting code from huboard, a great tool for managing github tickets.

Install CaseBoard Install to a sandbox

This is also my first time trying to build my own commercial application on the force.com platform. Thoughts from anyone who has sold applications on the AppExchange would also be appreciated.

Update 2012-05-27: Added better handling of many open Cases.
Update 2012-06-24: Now supports filtering by multiple criteria.
Update 2012-08-11: I've developed a new project management tool not tied to native Cases, Kanban for Salesforce.

tech » salesforce | Permanent Link

Fri, 11 May 2012

git diff for Salesforce static resources

Static Resources in Salesforce are often zip files containing multiple files. If you're keeping static resource under version control using git, here's how to get useful diffs for them whether they are zip files or single text files.

Create a shell script which will identify whether a file is a zip file or not. If so, it should unzip the contents to stdout; otherwise, it should just output the contents of the file. I called it resource-conv.

#!/bin/bash

file -b --mime-type $1 | grep application/zip && unzip -c -a $1 || cat $1

Tell git to use this conversion utility for a new "resource" diff driver:

$ git config [--global] diff.resource.textconv resource-conv

Tell your repo that .resource files should use the "resource" diff driver by adding the following to your .gitattributes:

*.resource diff=resource

tech » salesforce | Permanent Link

The state is that great fiction by which everyone tries to live at the expense of everyone else. - Frederic Bastiat