Technoviking – Nu med subtitles!
Förbättring av videon jag postade sist (Tack Stina för länken):
1 commentBesiktning, Tandläkare och jobb
Idag känns det som jag har fått ganska mycket uträttat. Började morgonen med att åka till besiktningen med Morfars (numera Mormors) bil. Det gick väl inte så bra som det kunde ha gått kanske. Spindelled på vänster sida var glapp och det var läckage i avgassystemet. Så det ska jag åka och fixa någon utav dagarna nu. Annars gick det prima!
Därefter var det besök hos tandläkaren. Skulle kostat 410:-, men blev bara 15:- (för parkeringsavgiften…). Min tandläkare var nämligen så snäll och bjöd på avgiften, bara för att det gick så snabbt. Hade i och för sig bara beställt konsulttid, men ändå. Det är en stor besparing som gjordes. Slutsatsen? Jag behöver inte göra något åt mina tänder. Inte ännu, i alla fall. Om det skulle visa sig att vänster framtand flyttar sig mer om ett par år så kan man ta till åtgärder då. Men inte i dagsläget, det var för lite. Och jag håller väl med, var bara lite orolig över att det skulle bli mycket värre än vad det har blivit. Så verkar inte vara fallet dock, vilket är skönt.
Det har rört sig en hel del på jobbfronten! Jag har varit hos Sogeti 2 gånger nu på intervjuer, och väntar på besked från dem med jobbförslag (eller nekande, såklart). Imorgon ska jag gå på intervju för arbete på Ericsson, och på onsdag nästa vecka är det intervju på Cybercom. Ska bli väldigt intressant, och känns samtidigt bra att ha lite att jämföra med.
Imorgon bitti blir det att hjälpa farsan att få upp båten på land, om inte min kusin hade tid att hjälpa. Då blir det att fortsätta jobba med examensarbetet istället. Ja, det har du ju kunnat läsa om här på bloggen också, så ingen mening med att tjata om det ytterligare. Framåt går det, men inte riktigt i den takt som man skulle vilja kanske.
Och inte nog med det – mycket fest är på gång! Den 31 oktober är det Zatox (och Tiesto…) på Otten, den 2 November är det Showtek på Sweapsound (Blue Heaven), och sedan bär det fasen av till QLIMAX! Jag är grymt peppad, och det ska bli hur kul som helst!
Ska försöka hinna med att träffa så många människor som möjligt nu också. Vet att jag har haft dåligt med tid (och har det fortfarande), men jag gör mitt bästa för att höra av mig och försöka ses.
1 commentConnecting to TFS
I managed to make a short program which connects to the TFS Server and extracts information from it. The program is written in C#, and is not really hard to make. I’m not sure though if that’s the right way to go. I know that I can implement some C# code in my webservice, but it’s still not clear to me if I should connect to TFS this way or another.
Anyway, I do it like this, in a simple C# console application (yes, it is from an article at MSDN – I just don’t remember the source right now):
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.TeamFoundation.Client;using Microsoft.TeamFoundation.WorkItemTracking.Client; namespace MyFirstApplicationForTFS{ class Program { static void Main(string[] args) { // Let the user choose a TFS Server Console.Write("Please enter a valid TFS Server or URI: "); String tfsServer = Console.ReadLine(); tfsServer = tfsServer.Trim(); // Connect to the TeamFoundation Server Console.WriteLine(); Console.Write("Connecting to Team Foundation Server {0}...", tfsServer); TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(tfsServer); // Example: Connect to the WorkItemStore Console.WriteLine(); Console.Write("Reading from the Work Item Store..."); WorkItemStore workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore)); // Example: Display the details about the teamFoundationServer Console.WriteLine("\n"); Console.WriteLine("Team Foundation Server Details"); Console.WriteLine("Server name: " + tfs.Name); Console.WriteLine("Uri: " + tfs.Uri); Console.WriteLine("AuthenticatedDisplayName: " + tfs.AuthenticatedUserDisplayName); Console.WriteLine("AuthenticatedUserName: " + tfs.AuthenticatedUserName); Console.WriteLine("workItemStore:"); // Example: List the projects in the WorkItemStore. Console.WriteLine(" Projects.Count: " + workItemStore.Projects.Count); foreach (Project pr in workItemStore.Projects) { Console.WriteLine(" " + pr.Name); } Console.WriteLine("\n\nDONE!"); } }}
It works fine, I’ve tried it on the TFS VPC. But as I said, I’m not sure that I’m on the right track here. Perhaps webservices that are to be a part of TFS should communicate in some other way with the server. I’ll have to study some more. Please do give me some feedback on my thoughts!
I did it! WCF Conquered
Found this excellent example on how to implement a simple web service (explained step by step on this blog). It helped me a lot to understand how I am supposed to do. And, amazingly, I got it working! I’m so overfilled with joy right now I don’t know what to do. I’ve spent almost all day figuring out how to use WCF and configuring IIS to get around all possible types of error messages – and finally, it worked.
Now, there are obviously more things to do. First of all I need a client which sends the code metrics data to the web service (I did implement a simple client, but Magnus is taking a deeper look into making a client via a package for VS 2008). Secondly, the web service needs a method that receives these code metric data and finally forwards them into the Data Tier on TFS. I know how to construct a method that receives the data. Now I need to concentrate on two primary things regarding the web service:
- How does TFS register that my web service exists? (I think I’ve read about that somewhere but forgot it by now… typical!)
- How does the web service push the data into our operational store?
- Furthermore, after these two things have been dealt with, I need to find out:
- Where and how do we implement the operational store? (Yeah I know, in the SQL server in TFS – but I need more details! Preferably a guide or walkthrough)
- …and then all the things concerning the adapter, the XML schema and those things in that area.
TODO-list:
Learn WCFBuild a web service- Make XML schema for the adapter
- Create Adapter
- Create operational store
- Write some parts of the master thesis (theoretical)
Extending TFS continued (and more…)
It’s been a while since I wrote something here, so I think it’s time I’ll give you all an update on what’s going on in the project.
On monday this week we had a Live Meeting with Mr. König, where we showed this presentation with our findings and questions. The black hole as we saw it then was how to implement the operational store where we should store our data in the TFS server.
The answer to that question were pretty straightforward. We have to create a new database in the same SQL-Server. Then we have to build our own Web service layer on TFS. Finally, we have to implement a client which communicates with the web service. This client should send the code metrics down to our operational store (database). The webservice we implement should then be added to the IIS on the TFS server. As an endpoint to which the client can communicate, we need to provide an URL for the service.
The Team Foundation Object Model that I’ve been wondering about will apparently be created when you supply the URL to the client. I didn’t really understand how that works, but I think It’ll be clear as soon I start experimenting with it.
We should have our emphasis on the Adapter + operational store + the report, and not spend too much time constructing the web service.
One thing to think about is how to map our dimensions we’ll create to those that already exist in the data warehouse in TFS.
We still need to put our emphasis on the server part of the project, not the client. Next week we will meet with an American gentleman who has been responsible for the (now existing) Code Metrics in Visual Studio 2008. Depending on the outcome of that meeting, we’ll see what twist & turns the project will take on the client side. Some suggestions were uttered during the meeting; you could for example see if it is possible to extend the Code Analysis engine to get our code metrics. Or, we could use some kind of external open source tools that performs the code analysis in Visual Studio.
Regarding the reports, we should use MDX and the Report Designer to create them.
So Magnus and I have splitted up the work between us. I will take care of:
- Figuring out how to create the Operational Store
- Create a Web Service
- Create an Adapter
- Create a XML schema for the Adapter
Magnus will take care of:
- Creating the report (MDX + Report Designer)
- Take a look at the Dashboard-part; how to implement that in the project portal
- Figuring out how to use the TFC API to create our client
As for the master thesis part, work is not going so well. We still haven’t got a project context to work with (delimitations on project type, role, size of project etc) so we can’t do any empirical research. We’re at a complete halt here, and it is very concerning! Time is running out and I’m really worried if we’ll make it on time. To add up to all this we still haven’t got the books we need to do a good job. None of these things are at our table, so I really really do hope that it gets sorted out soon, preferrably already yesterday.
Anyway, my TODO-list:
- Learn WCF
- Build a web service
- Make XML schema for the adapter
- Create Adapter
- Create operational store
- Write some parts of the master thesis (theoretical)
I will start with a try to create the web service and a client (just a simple one) to see if it works. Then I will create a really simple operational store and an adapter associated with it. Start simple, and then extend it further.
Well, time to get some work done.
Over and out!
1 comment

