code-u-like

C#, .Net, Sql Server, Salesforce, Dynamics CRM etc,
Charity and Not-for-Profit sector

Thursday, May 29, 2014

Remote Desktop on High DPI screens

Scott Hanselman wrote a nice blog post back in January about some of the issues you might face running Windows on a High DPI screen like that of a Surface Pro or Lenova Yoga. I'm kindof mystified that he didn't mention Remote Desktop though because thats been the number one problem for me on High DPI screens.

That said, if you remote into very recent Server OS's like Windows Server 2012 R2, then apparently Remote Desktop will sort out the DPI scaling automatically. Perhaps Scott hadn't noticed the Remote Desktop issue because he only remotes into Server 2012 R2. Certainly if I was Scott, I wouldn't remote into anything less than that.

But, in practice, I regularly have to remote into Server 2008 machines and yes even Server 2003. If you do that from a high DPI screen, the remote desktop is rendered at regular pixel size, which makes everything tiny.

Its hard to show screenshots of High DPI screens that correctly convey the pixel size, so I've photoshopped them onto a picture of a Surface and its pen, to give you an idea of scale:


Suffice to say, its hard to get anything done when everything is that size. There are an annoying number of not-quite-right solutions to this that don't work:
  • The Windows RDP client has 'Smart Scaling' - that will let you scale a desktop down to display a large amount of desktop in a smaller box ... but it won't let you scale up to display a smaller-res desktop in a larger box.
  • The Metro RDP client has a Zoom feature - but it won't let to set the screen resolution of the remote machine (so you can't, for example, connect at 1280x800 and scale up)
Turns out the solution is to install an alternative RDP client with a similar sounding name of Remote Desktop Connection Manager 2.2

This is a souped-up version of the Windows RDP client, apparently intended for people switching between many different servers. It displays a tree of servers on a panel to the left of the screen, and displays the remote machines desktop on the rest of the screen. With the right settings, you can get it to display a sane sized desktop on a high DPI screen:


As you can see, the remote machine now appears within the Remote Desktop Connection Manager client area, but it is rendered at a much more usable scale.

To get it to display correctly, I needed to set the 'Remote Desktop Settings' after adding a new server, and select the 'Same as client area' option:



Thanks to Falafel Software's blog post for pointing me in the direction of this solution.

Edit (July 2015): This is a Windows 8 solution, it wont work on Windows 7. Also, there is now a newer version of Remote Desktop Connection Manager (2.7) that doesn't fix scaling as described here. So you need to get the 2.2 version (linked above) in order for this to work.

Wednesday, May 14, 2014

Salesforce User License Transitions

In Salesforce, User License types are tied to Profiles, so to change the User License type of a User, you need to change their Profile. However, only certain types of transitions are allowed:

Core Licenses:


aka "Salesforce Licences". You can transition users between these six core licenses, but you can't transition from these six to any of the others. That is, you can't convert to Chatter or Community/Portal licenses.
  • Salesforce
  • Salesforce Platform
  • Force.com - App Subscription
  • Force.com - Free
  • Partner App Subscription
  • Work.com Only

Chatter Licenses:


  • Chatter Free
    This license can be changed to any of the six Core Licences listed above - but then you cannot change back
  • Chatter External
    This license can be changed to Chatter Free or any of the six Core Licences listed above - but then you cannot change back

Customer Community Licenses:


You can transition users between these four Customer Community type licences, but you can't transition from these four to any of the others. That is, you can't convert to Core Licences or Chatter, etc.
  • Customer Community
  • Customer Community Login
  • High Volume Customer Portal
  • Authenticated Website

Partner Comminity Licenses:


You can transition users between these four Partner Community type licences, but you can't transition from these four to any of the others. That is, you can't convert to Core Licences or Chatter, etc
  • Partner Community
  • Partner Community Login
  • Gold Partner
  • Silver Partner


In summary: You can transition from Chatter to Core, but apart from that you cannot move between Core, Customer Community and Partner Community licenses.

To find out more details about the various User License types, see Salesforce Help - User Licenses Overview. But make sure you've got a decent hat on, because you're going to be scratching your head. A lot.

edit: Along similar lines, I just found this great blog post by Marty Chang - Allowed User License Changes: Upgrades, Downgrades, Switches which uses a large matrix to show all the allowable license transitions.

Labels: