Sunday, May 24, 2015

Enabling OS/X Keyboard support for Standard Function Keys

When coding with Visual Studio or XCode, developers rely on the F1 to F12 keys. By default an OS/X machine uses these sacred keys for monitor brightness, keyboard backlight, volume and media control. The Mac keyboard provides a function key, fn (the function key), in order to make use of F1-F12 rather than the default potpourri provided by Apple. The fn key is located on the lower left of the standard Mac keyboard:

Thankfully OS/X provides a setting that makes the F1-F12 behaves as the F1-F12 keys without hitting the function key. To configure this setting, first click on System Preferences (see below):

From the System Preferences dialog click on the Keyboard button:
The keyboard dialog is as follows and note the "Use all F1, F2, etc. keys as standard function keys" checkbox: 

Check the "Use all F1, F2, etc. keys as standard function keys" checkbox to toggle the behavior of the function keys. In order to use the keys less used by developers (monitor brightness, keyboard backlight, volume and media control) click on the function key (fn) followed by the desired action.

Visual Studio was referenced as one reason to make the fault keyboard behavior be to use the function keys, F1-F12. Visual Studio does not run on OS/X by VM Fusion does so it is possible to run a Windows Virtual machine on a Mac. This is extremely handy for developers who develop in both environments.

Wednesday, May 20, 2015

Visual Studio Online: Adding a User to a Project/Team


As a consultant, I set up one Visual Studio Online (VSOL) repository per-client and then after a project is completed the clients own all their source code control. The client gets the security of cloud-based (automatically backed up) source code control and the client can remove my access since I am no longer engaged in work. The downside to this is what happens when I am re-engaged to perform development tasks. This write up covers how to add a user to a specific VSOL Project/Team.

Previously I provided instructions on how sign up for Visual Studio Online, "Signing up for Visual Studio Online (cloud-based Team Foundation Server)". VSOL is cloud-based source code control free for up to 5 users accessing source code control and free for unlimited users to access project management features and bug/tasks (see "Visual Studio Online (cloud hosted TFS): Unlimited (no cost) users can Create/Access Bugs/Tasks").

VSOL is organized into teams/projects where each project serves as a separate hive containing source code tasks/bugs and project management features such as the support for Agile processes (sprints, backlogs, etc.). Each project is even associated with a room where developers can post messages in a social networking fashion because it is well known fact that a developer under 30 years old cannot function unless they can post what they ate for breakfast each day. Microsoft seems to use the terms team and project interchangeably. The terms are just ways to segregate user access to different code repositories.

VSOL users can be assigned to various roles within a project where the most important role for a developer is having access to source code control (under the covers Team Foundation Version Control - TFVC). Giving a developer access to source code what will be demonstrated here.

Adding a User to Visual Studio Online

Remember to perform administrative tasks such as adding a user to project/team, the user logged into VSOL must have the appropriate permissions. Typically the account owner has such permissions. When an administrator (or any users) logs into their Visual Studio Online instance a screen such as the following is shown:

At the top of the screen are a set of tabs: Overview, Users, Rooms and Load Test.If the user to add is a new user, then select the Users tab:

A user added by clicking the appropriately named, Add button:

The "Sign-in address" is an email address that is a Microsoft ID. The "License" drop down is significant because the user being added must have access to source code control. The drop down contains the following values:

The type of licenses for a user that requires source code assess are Basic or Eligible MSDN Subscriber. Basic license are from the 5-free pool or additional Basic licenses can be purchased (including license with more functionality than Basic). MSDN Premium subscribers automatically have access to a VSOL license that includes access to source code (if permitted). The type of user that should not be added to access source code control is a Stakeholder. The Stakeholder license types are the unlimited free licenses that only have access to Bugs/Tasks and project management.

Once the new user's information has been provided, the Send Invitation button should be clicked. This button click sends the user an email so they can access VSOL. This does not, however mean the user has access to a particular project. Giving a user access to a a project is an additional administrative step within VSOL.

Adding a User to a Project/Team

To manage (including adding) the users associated with a project, go to the Room tab and select the desired project (remember the tabs along the top of VSOL are Overview, User, Rooms and Load Test):

The current room is selected on the left. It is possible select a different room using the list of rooms on the left. For a given room the "Manager users" link is visible on the right. Clicking on the "Manager users" link displays the MANGE MEMBERS dialog:

A user can be added to the project (drum roll please) using the Add button:

Selecting "Add user" allows an existing VSOL user to be added. Users can be added in groups (VSOL Groups) and all users in a VSO Group can be given access to a project using the "Add VSOL Group" option. Once the user is added, said user has access to the source code control for the project.