Source code Management using Visual Studio Team Foundation Server for SharePoint services
At backend, we run enormous number of applications on three tiers- Presentation layer, Business layer and data access layer.
Customer requirements are always dynamic and our coding becomes complex day by day. Following are the challenges we faced to manage the source code for each change request.
1. Difficult to move the code from test environment to production that required lot of time, sometimes erroneous
2. Manual tracking of code change for future reference was difficult and not accurate
3. Developers forget the part of code they had changed and also the reason behind it.
4. Some part of code changes affected the production environment
5. Transition between developers was highly challenging
6. Coding standards were not followed
To overcome these problems, we implemented source code management using Team Foundation server for our SharePoint applications. We have mounted Team Web Access which is a web application portal on SharePoint, through which we can track and manage the source code of all the projects. TWA is configured at SharePoint level as a web part. The sources that are checked-in to the Team Foundation Server can be accessed through this TWA.
In the above image, we can find the source files related to our SharePoint based Account Receivable project that are checked-in to the TFS central repository at server level. Version controlling is a built in feature, where each version of a source code is called a changeset.
When we right click on each file name, we have many built in options like download latest version; compare the current version to the prior versions etc. Ideally it highlights the changes made by user and time. If the particular code change hampers the production, we can rollback the current version to previous version easily. An issue raised in issue portal can be linked to the version number of the source code wherein the source code is changed to resolve that issue. So with the issue number we will be able to track the changes made to the source file. We can also link the version number with the any number of work items.