Friday, September 27, 2013

Genymotion

Initial tests looked great!  Genymotion-based VMs run faster or on par with similar AVD images with HXAM support.  It also doesn't suffer from the RAM limit (768MB).  With controls on all the sensors (GPS, cams, accelerametor, etc.) Genymotion VMs have, it looks like a superior emulator for Android devs.

Genymotion is still x86 based, like the Atom images that come with AVD.  As such it's not for "realistic" testing of ARM targets.  Since it's also uses VTx for acceleration, I noticed once Genymotion is running, any HXAM powered AVD images cannot run at the same time.

Thursday, September 26, 2013

Galaxy Nexus for debugging

I did get the Samsung phone to work with Eclipse for testing Android apps, but not with Samsung's driver.  For some reason Windows 7 x64 just kept insisting there's no compatible driver in the package.  I used the Universal Naked Driver 0.72 by 1wayjonny from XDA Developers.  It's just amazing how much the community can provide!

Fingerprint reader on Latitude E6230

Finally got it to work the way I wanted!  Struggled a bit to find which software is the right one to use.  I did fly under the radar of IT - but I doubt involving them would have made things easier.  In the end this ControlVault driver seems to work, but even though everything seemed to get recognized and running fine, it kept saying "Framework not activated".  Eventually I checked the "Allow users to use fingerprint to log on to domain", and that made the difference.  

One odd but convenient thing: after pressing CTRL-ALT-DEL on the logon screen, you're always presented with the password screen.  However if you swipe finger anyway, it'll allow you in (provided the fingerprint read is good).  Just a tip for whoever is puzzling over how to make the biometric credential to be the default.

Developer Console hung more often with Winter' 14

This is just an impression at this moment, but I haven never encountered SFDC Developer Console becoming unresponsive this often before.  I noticed it on two sandbox orgs that are currently on Winter '14.  When it happens CPU usage just goes to 100%, or 100% for one core, so in my case it's 25%, and I could hear the fans start to go crazy.  This seems to happen the most when retrieving test results, and the crash affects the tab that launched the Developer Console as well.  Both would have to be killed (for Chrome), or worse, the whole browser is dead (for Firefox).

Wednesday, September 25, 2013

AVD emulator

I've started to play with NPM distributed toolkit for SFDC mobile development.  Most of the quirks have been ironed out in a day, but AVD is still kind of a pain.  I've got HXAM running - it's actually easier to set it up on Windows 7 with no need for the extra patch for Mountain Lion.  So Atom based emulator is pretty snappy, but I still couldn't get the RAM to go beyond 768 MB.  There are a bunch of references out there advising manually editing the config files for AVDs, but none worked for me so far.  Will have to take a good look at Genymotion later I guess.

Dates in PowerPivot

http://office.microsoft.com/en-us/excel-help/dates-in-powerpivot-HA102836917.aspx

The "Truncate times if..." tip there helped me in analyzing the email log files I downloaded from SFDC.  The timestamps came in this format "7/2/2013 6:41:40 PM", so a TRUNC([EmailDate], 0) gives me an easy way to group things right after importing the log into PowerPivot.

Wednesday, September 18, 2013

Metadata types for Workflow components

The Guide for the Migration Tool is pretty incomplete when it comes to workflow stuff (unless you're ok with deploying all workflow elements wholesale every time).  There are a number of things that can be deployed individually.


I remember seeing someone's post about the details of them, but couldn't find it anymore.  Basically they all need to be dot qualified by the object they belong to (similar to custom fields), then listed under the correct type names to be used by the package.xml.  For instance, a Field Update looks like this:

<types>
<members>Lead.Update_Lead_Submitter_Team</members>
<name>WorkflowFieldUpdate</name>
</types>

Tuesday, September 17, 2013

Dude, where’s my permission?

It is Adam Torman’s excellent post about dealing with permissions by Metadata API.  I only have a few things to add (or more accurately, to complain about MdAPI):

  • Despite the similarity between the permissions available for both Profile and Permission Set, certain items can only be put through MdAPI via one, but not the other metadata entity.  The most prominent example is the user and system permissions.  In essence, the element <userPermissions> is a non-starter with Profile; it’s only available with Permission Set.
  • If you construct the package xml by hand, like what I prefer to do sometimes, make sure you group elements together – don’t mix them up with other sibling elements.  For instance, if you have several <tabVisibilities> to include and they’re separated by other things, you’d get a “duplicate” error message.
  • I wonder why there isn’t a comprehensive list of user permissions in the documentation?  There’s a long list of permissions, and without documentation it’s nearly impossible to do things manually.  Maybe that is just what SFDC is trying to discourage – create metadata files by hand – in order to avoid problems.  But why would you go through all the clone-change-retrieve trouble just so you can have a reusable metadata file to deploy with only minor changes?  Wouldn’t a quick manual tweak be more efficient for advanced admins?

Thursday, September 5, 2013

Fixing misidentified language in PowerPoint 2010

All of a sudden PowerPoint insisted that this piece in a bullet list is French:
§User object changes:  save behavior (error codes), workflow beta, user sharing
So a bunch of words were marked by the spell-checker.  After searching around,  I learned here's how to fix it manually if your PPT starts to think you're a second language learner - just select the text, then use the Language setting on the Review tab.