Wednesday, August 20, 2014

Choose the right workspace type when using Team Foundation Server and Eclipse

Microsoft has a nice TFS Eclipse plugin that acts like any other Eclipse team provider.  It provides full TFS Source Control and Team view support inside of Eclipse. You can find information about the plugin on the the Microsoft MSDN site.

Team Foundation Server supports TFS version control (TFS) projects and GIT version control (TFS) projects.  TFS uses the concept of a workspace to track changes.  A TFS Project Workspace can be managed as either a "Server Workspace" or "Local Workspace".  There are several good articles that describe how this works phkelly's blog and MSDN documentation.

  • Server Workspace: These were the default for all workspaces created prior to TFS 2012. Server Workspace follows an older convention where all files on the local machine are marked as "Read Only" until checked out for modification.  This means you cannot edit files outside of TFS or Eclipse unless they have already been checked out for modification.
    • Server workspaces operate more like Clearcase or Visual Source Safe
  • Local Workspace: These are the default for all workspaces created in TFS 2012 or later. Local Workspace uses a workspace scanner to identify file changes and automatically adds them to the list of modified files. This means you can edit files outside of TFS or Eclipse with editors or scripts like maven.
    • Local workspaces operate more like CVS, SVN or Perforce.
Eclipse users that rely on Maven (mvn) or customized tooling that modify programs external to an IDE should use "Local Workspaces".  This includes customized eclipse versions like the Mule ESB IDE, Mulesoft Anypoint Studio, which integrates with the maven build process.

Setting the Workspace Type for Existing Workspaces

You can see and change the workspace type in TFS by editing the workspace settings in Visual Studio or using the TFS Eclipse plugin.

Finding the "Manage Workspace" Panel In Visual Studio

  1. Open your Team Explorer in Visual Studio
  2. Open the solutions drop down. It will be empty if you have never opened any solutions
  3. Select the drop down next to the workspace name.

  4. Select "Manage Workspaces..." to bring up the "Manage Workspaces" panel
  5. Select the workspace and "Edit..."

    Finding the "Manage Workspace" Panel in Eclipse

      1. Open the Package Explorer View
      2. Right click on your project
      3. Select Team --> Manage Project 
      4. Select the workspace for this machine and then "Edit..."

      Then in both VS and Eclipse

      1. Select the "Advance>>" button at the bottom
      2. Set the "Location" to "Local" if it is currently set to "Server"Click "OK"
      3. The TFS plugin will immediately start converting your workspace to "Local" if it was "Server" prior to this.

      You should be able to edit files at will both using the IDEs and external tools like Notepad++ or Maven.  The scanner will also pick up autogenerated files so you may have to update your .tfsignore file.

      Sunday, August 17, 2014

      Will you recognize change when you hear it?

      Technicians think they understand how rapid technological advances affect our lives.  After all, everyone can see the impact of cell phones and the internet.  There are subtle changes that occur when a younger generation embeds technology as a foundation of what they do instead of as an supplement. What happens when a new generation makes that technique a standard part of their toolbox?

      Tools available for everyone...
      Billy Joel and Jimmy Fallon recorded their own Doo Wop version of "The Lion Sleeps Tonight" using an iPad App on TV in 2014. The two of them performed all six parts. Joel and Fallon first looped 4 backing tracks live and then sang two part harmony. I was blown a way that they were willing go do this "on their own" in front of a live studio audience. It is doubly amazing when you consider how many folks will lip sync a performance.

      Their act was a super example of how technology makes the complex simple, enabling new types of creativity without getting in the way. A lot of the (technical) press talked about how this  performance counters the common statement that Tables and Phones are only used for content consumption. This ignores more interesting aspect how new technology is being used in the arts without much of the audience understanding the sophistication of the performance.

      We watched and Listened...
      My wife and I went to the Strathmore music hall the last night to see a "tribute show". Margo MacDonald, performed her version of "Private Life". She recorded at least 6 backing tracks 13 loops including vocals and percussion. She then switched on and off while singing. I believe that Ms. MacDonald also added additional tracks during the performance. You can see the type of thing she does on her you tube channel and in this video.

      Most of the audience had any idea what they just listened to. I was pretty much the only one who stood up at the end of the performance. Later I explained to a couple of the folks near me what just happened. They had no idea why what I was talking about or why it was exciting.

      Do people see the future when it's happening?
      It will be exciting to see what people will do when they start building using this new world as a base. I hope I'm attentive enough to recognize the magic when its in front of me.