Skip to main content

Posts

Showing posts from November, 2009

Lost camera icon in iPhone

Me and my co-workers recently ran into an issue with our iPhones. All of a sudden the camera icon dissappeared and it required a hard reset to get it back. At least that is what we thought. When i set up my Exchange account in the iPhone, the camera icon dissappeared again. It turned out to be our Exchange server that caused this behaviour.

A couple of weeks ago we upgraded our Exchange environment to Exchange 2007. In Exchange ActiveSync it is possible to set policys for the connecting devices. One of the policies allows the use of the camera and this is disabled in the default policy.

Team Foundation Server Power Tools

Since I moved to Stockholm and caused our development team to be divided into two offices the need for a good team platform has increased. Team Foundation Server does the job perfectly, but the fact that I have not found TFS Power Tools until now is stunning, because it is exactly what I have been looking for.

TFS Power Tools contains among other things increased possibilities for team member communication through Windows Live Messenger integration in Visual Studio. On top of that there are a large amount of useful tools that makes everyday life a little bit easier. The following features are installed with the installation package tfpt.msi:
Command line tool (TFPT.EXE)Team Explorer IDE menu additionsBuild Notification toolTFS Best Practices AnalyzerProcess Template EditorWork Item TemplatesCustom check-in policiesTFS Server ManagerTFS Users toolAlert EditorTFS Power Shell ExtensionsTFS Windows Shell ExtensionsTeam Members Tool

Active Directory Topology Diagrammer

I sometimes get very positively surprised by Microsoft. In the work of cleaning and structuring an Active Directory environment we wanted to produce a graphical overview of our current forest. It did not take long before I found Active Directory Topology Diagrammer, which is an absolute perfect tool for this purpose. And it is free!

Active Directory Topology Diagrammer gets the entire AD structure according to the parameters you supply and draws the structure in a Visio document. It does however require Visio 2003 or later installed to be able to do this export.

Experiences with TFS Destroy

During the last weeks we have been working on cleaning the TFS Version Control from old files. We encountered some unexpected problems, most of which was caused by the fact that the hard drive that holds the database only is 70 GB. The size of the database was around 30 GB and the files to be destroyed were around 15 GB. What we found was that destroying large amounts a data also requires large amount of disk space.

The destroy-command marks the files to be destroyed and a scheduled job is run each night to perform the actual destroy. This job can also be invoked manually from SQL Management Studio.

When the TfsVersionControl Administration Job is run the transaction log is filled with up to 2.5 times the size on the data that should be destroyed. That means that before the transaction is committed the size of the log in our case was around 40 GB. This meant that before the transaction could be committed we ran out of disk space and the job was cancelled.

With some modifications on my…

Destroy old data in TFS

Team Foundation Server only performs soft deletes and the files are very easy to recover just by performing an undelete. After a while the deleted files may use a lot of unneccesary space. From TFS 2008 it is possible to erase the data from the database. On option would be to use tf.exe and the destroy command. That however will be pretty tedious when there is more than one file that should be destroyed. I have created a small application to help with this task.

The TFS communication is handled in a separate class which i very simple without any error handling.

using System; using System.Net; using System.Windows.Forms; using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.VersionControl.Client; using Microsoft.TeamFoundation.VersionControl.Common; namespace TFSCleanupTool { internal class TFS { private string ServerName = null; private VersionControlServer VersionControl = null; internal TFS(string servername) { Ser…