Robert MacLean
9 June 2010
Note: This post is part of a series and you can find the rest of the parts in the series index.
Throughout the series I have share a bunch of power tips for making this easier and this is a quick cheat sheet of them all.
From Part II: Getting Started
- Power Tip: Once you have completed the tools install, go into to SQL Server and backup the TFSIntegrationPlatform database immediately. There are not only a few odd bugs that roam around which may cause you to need it but if you want to test on a clean environment, a restore is quicker than a reinstall.
- Power Tip: Make a common root for the TFS code and yours (in my case I used RangersCode) and then create sub directories in there for platform and your code (so I had My Production and MS production folders under RangersCode). This helps keep the items close, which makes things easier later plus keeps them separate so you can identify them.
From Part III: Overview of adapters
- Power Tip: The TraceManager puts all information written to it in the log files, so please make sure you do not put any sensitive information in there.
From Part IV: IProvider
- Power Tip: Using Visual Studio 2010’s new “Generation from usage” features makes this stage of development much easier.
From Part V: Items (IMigrationItem & IMigrationItemSerializer)
- Power Tip: VC stands for Version Control. This refers to an adapter that works with the source control aspects of the system. WI, work items, and WIT, work item tracking, are the same thing. File attachments in WI are NOT regarded as VC and must be handled by your WI adapter.
- Power Tip: When you are downloading files in the IMigrationItem, you are responsible for the creation of the path too. So make sure you are creating directories and also checking what directories exist too.
From Part VIII: IMigrationProvider
- Power Tip: In my implementation I used the very useful Path.GetTempFileName() from the .NET framework to get a place to put the file. However this causes an empty temp file to be created automatically and the platform doesn’t like that, so I needed to delete the temp file after that, and then call Download.
- Power Tip: For folders creation or for deletes of files/folders you can use the Path property of the action to get the folder name.
From Part IX: IServerPathTranslationService
- Power Tip: The neutral path, or canonical path as it is correctly named, is a path that is “Unix like”, (I.e. /src/project/). However these do not follow all the same rules as true Unix paths. For example : is a valid character in the path.