Transfer TFS Work Item Queries from locally installed TFS to visualstudio.com - azure-devops

Is there any way to move custom queries I've setup in my company's locally hosted TFS server to my instance of TFS on visualstudio.com? I've Googled/Binged/Yahoo'd and even DuckDuckGo'ed around and asked other devs using the service but none of them had any saved queries they wanted to move, so no one had done any researching yet. After a few fruitless searches I've turned to the experts here on SO. Anyone find anything about this they can share?

The usual suspects when it comes to TFS Migration (namely the TFS Integration Platform) does not support moving project or personal queries. Depending on the quantity of queries, a manual recreation is obviously possible. However, if there are a significant number, then another option is to use the TFS SDK (Microsoft.TeamFoundation.Client and Microsoft.TeamFoundation.WorkItemTracking.Client). Within there, you can access the "My Queries" and project queries, including their folder hierarchy.
One example of this is available on Mike Poulson's blog where he shows going from a TFS 2010 -> TFS 2012 server. While this example is targeting on-prem, the same holds true for a move from TFS on-prem to Visual Studio Online.
Some of the queries may need "translation" in the migration process (naming differences, etc), using the SDK can also help in that process. So at the end of the day, it's a tradeoff between a manual recreation vs effort to code/debug/test a solution with the SDK.

Related

Slow migration to Visual Studio Online from TFS 2013.4 (OpsHub)

I am trying to migrate from TFS 2013 Update 4 to Visual Studio Online. I have had real difficulties using OpsHub Migration Utility, so I have come now seeking advice on how I may go forward.
I have 65 Team Projects to migrate, some with source code, others fairly empty with just a few work items so they differ in size a fair bit. I want to maintain branches we currently have which are cross Team Projects so I initially tried selecting all 65 projects for migration. This took 11hours at the creating configuration stage of the utility, then on getting to the end the tool complained it could not communicate with the service OpsHub Visual Studio Online Migration Utility. So back to square one.
Next approach was to batch the projects into sets of 10 projects. The validation and creating configuration stage was done in 10mins for each set which was a big leap forward, and the migration actually started. This has currently been running for about 17hours. It has done 29,000 work item revisions out of 480,000 across all Team Projects, so I think this may well take a couple of weeks to clear. It hasn't started on the Version Control data yet, which I'm hopeful it does at a later stage but this says not running at the moment.
This is running on a fast i7 box, with 16GB RAM, SSDs the business. 100Mbps internet connection.
I have emailed OpsHub to find out if the commercial version will perform better. But any suggestions what I could do better welcome, including any alternatives to the migration tool.
For Configuration creation taking high time, the assumed reason seems
to be due to issue in communicating with the service OpsHub Visual
Studio Online and waiting till the TimeOut.
The Work Item migration sync time seems to be near to the expectation, migration of Version Control data will be started once the work item migration is completed.
Also as the data is in big amount, its taking time but the migration would keep on running in background, you can use your source TFS instance(if required) without stopping the migration.
For more details on Profession Services you can drop an email to support#opshub.com
There is another tool named TFS Integration Platform that developed by MS for TFS Migration. You can try with it to see if it can migrate the data faster.

TFS configurations to support distributed teams

We are investigating using TFS for a small development group. All the developers are remote to the office. VPN is an option but not preferred, as we have to change vpn connections several times daily to support other functions in the business.
So I'm trying to figure out the different options that TFS can be configured with to support that model. I've read about setting up Proxy Servers but that was using an older version of TFS so I'm not sure that still is/was the best option.
I haven't been able to locate good current documentation about the best/different ways to configure TFS to support this model.
I don't need comments about using Mercuial, GIT or something else. I'm aware of them and including them in my overall evaluation but right now I'm trying to see what solutions TFS does or does not offer. All developers have MSDN licenses and so TFS is free to the group.
You have 2 options (without VPN)
1) Like Martin suggested, look at VSO (Visual Studio Online, http://www.visualstudio.com) this is the cloud based version of TFS it's free for up to 5 developers.
2) Setup TFS internally inside your organization and make that instance available on the internet through your firewall. You can secure it with certificates so only you team can connect in. There is a lot of information on MSDN on how to secure it using SSL and certificate.
Cheers,
ET

CodePlex TFS Services

I have been thoroughly confused by CodePlex and the TFS services it offers or doesn't offer. I am going to soon begin working on on open source project with a few friends using Visual Studio 2010 Professional. Because VS is so nicely tied in with TFS, we would prefer to use TFS.
However, we do not have the money to purchase TFS ourselves, so we were looking at CodePlex as an alternative. Does CodePlex offer free TFS hosting? I believed it did, until I came across this which led me to believe it only offers part of the TFS feature set.
(This is my first experience with version/source control, so please be light on the terminology.)
CodePlex offers free TFS hosting with a feature set aimed at hosting open-source projects. Its version control offerings are complete, but Team Foundation Server is a platform with many feature areas, so let's look at those:
Version Control: CodePlex supports the entire feature set of TFS Version Control. In fact, CodePlex pioneered some version control tools for TFS like their SVNBridge.
Work Item Tracking: Team Foundation Server allows for a customizable work item tracking template and ships several out-of-the box to suit development processes ranging from CMMI to Agile. CodePlex, however, provides a single work item tracking template that is suitable for open source projects and does not allow customization.
Continuous Integration: CodePlex does not support automated builds at this time. You can set up your own continuous integration builds against a CodePlex endpoint for source code, though.
Document Repository: There is no SharePoint document repository available in CodePlex.
Reports: SQL Reporting Services are not available in CodePlex.
I would argue that for a small open-source project, none of these are deal-breakers. For a very large project, however, some or all of these features may be desirable, though.
If you want to use TFS and you are looking for a cost-effective solution for a small project, you may also want to look into Team Foundation Service, which is currently free while it is in its preview state. (Future pricing has not yet been announced.)

Need advice/resources in starting nightly builds in TFS

I'm currently looking to start setting up nightly builds with TFS and our company has never done this before. I'm looking for some pointers on maybe where to get started, what I should look out for as well as structure of solutions.
Background
Current TFS source location has 2 web projects, 5-10 windows services, 10-15 supporting dlls. These will continue to grow.
Currently there are solution files for each web project and each windows service. Each of these solutions contain the supporting projects (internal dlls) and also the correlating unit testing projects.
All of our external dependencies (log4net, nhibernate etc) are managed by NuGet and are in a folder within TFS called packages
Some of my questions include but are not limited to
Should I have a master solution file that contains all of these projects? Maybe this is easier when setting up nightly builds?
I'd also like to run the unit and integration tests as part of the nightly builds. Is this just additional configuration on the build server?
What tools are involved when setting up nightly builds with TFS?
I'm not necessarily looking for complete answers but it would be great if someone could point me to some good resources (books, websites, blogs)? Like I said I'm really green as far as nightly builds are concerned and I just want to make sure I start off on the right foot. Hopefully I can learn from others mistakes.
Here are some simple "answers" to your 3 questions (though I agree with the comments above that this isn't the most answer-able SO question):
An good read on creating reliable builds in MSBuild : http://msdn.microsoft.com/en-us/magazine/dd483291.aspx
Yes running tests is just an option in a TFS Build Definition, you can configure a few options in addition to "on/off" : http://msdn.microsoft.com/en-us/library/ms253138.aspx
You can also use TFS Lab management and test agents to execute tests in a different manner: http://blogs.msdn.com/b/lab_management/archive/2009/05/18/vsts-2010-lab-management-basic-concepts.aspx
Configuring TFS builds : http://msdn.microsoft.com/en-us/library/dd647547.aspx

Source control for MS Dynamics CRM

I'm undecided about CRM at the moment. It's a great tool for the business users but so far for development it's been a bit against the grain. The next problem I need to tackle is how to easily source control javascript used within forms. We use TFS for our source control.
Anyone had an experience or have any ideas on how to do this?
Obvious choice would be to copy and paste the JS in to your source control, but it's also an obvious pain in the rear.
A couple of things that we do in our projects:
We use the Web Resource Utility included with the CRM SDK (actually a modified version of it) to deploy JavaScript web resources to a particular solution. Makes it very easy to keep script files checked in to source control as normal and avoid copying and pasting.
We wrote a custom HTTP Module that we use on local deployments. It intercepts requests for JavaScript libraries and redirects them to a location on local disk. That way, we don't have to actually redeploy the web resources as we test, just the JavaScript files to disk. (Note that this would be unsupported in a production environment. We just do it in our development environments to ease the pain of JavaScript deployment).
I answered a very similar question here - Version Control for Visual Studio projects and MS Dynamics CRM (javascript)
My choice for source control is TFS holding each of the 2011 JScript libraries.
We try to mirror the file structure that Dynamics uses for Web resources in a basic Library project. So version control works as normal, we just don't use the output from the project.
You can also try using the new "CRM Solution" project template (installed from the SDK) and have the ability to deploy from the context menu of the project.
I've had some issues with the template but something to check out.
Hope this helps.
You can take a look on my answer on my own question here.
MS Dynamics CRM 2011 SDK has solutionpackager.exe utility what could split all CRM resources into file tree and you can store them either in git or in tfs.
Any web resource in CRM 2011 is a pain to manage. We just end up doing a lot of copy pasting in and out of TFS 2010 (which has actually caused some problems with poor pastes).
Currently out of the box there isn't an easy way to do it.
Only worry about this if you really need the ability to go back to old versions of web resources. I've found that I don't often have to do this. Remember that the web resources are stored in SQL Server just like they would be if you put them in TFS, so as long as your CRM database is being backed up, you won't lose the web resources. In traditional development, it is important to keep the source in TFS because you can't easily get back to it once you compile and release. With CRM development, your web resources are mostly HTML or JavaScript, so you can always get at the source.
If you really need version control, why not build a quick little console app that downloads all customizations every night and stores that zip file in TFS? True, it wouldn't be as easy to get at older versions, but you should gain a lot of productivity by not having to manually keep TFS in sync. This also has the benefit of storing all customizations in TFS, not just web resources.
Silverlight is the obvious exception here - I would definitely store Silverlight web resource source code in TFS, because it is a "compiled" web resource. You are already in Visual Studio, so TFS is a natural fit anyway.
Hope that helps!