TFS Reporting Recipes #0: Introduction


Well, it’s been a while since I’ve last blogged and it’s time to get back into the rhythm!  In this series, which I’m calling TFS Reporting Recipes, I’d like to show some tricks, tips and other patterns that help me along when I’m writing reports for customers.  I almost always use the relational warehouse since I feel more comfortable in SQL than in MDX, so for the recipes I assume you’re in the Tfs_Warehouse database. Feel free to sound off in the comments if you have questions/issues that you’d like to see me address. Happy Reporting! ...
no comments

Quality-Jitsu, or Learning to Empty Your Cup


Aikido, and I suppose all martial arts, are painful.  Mostly physically painful, depending on how skilled – or rather, how unskilled – the person on the other end of your joint is.  But there is also a great deal of figurative pain.  It’s the pain of letting go of your ego and the pain of emptying your cup.  It’s the acceptance that someone half your size (or less) can be twice (or more) as effective as you are, disabling and throwing you around seemingly without even trying.  It’s understanding that no, it’s not as trivial as your teacher makes...
one comment

TFS 11 מעט על התצורות החדשות הצפויות לנו עם


בתור מי שעוסק בתחום ה-ALM, יצא לי להיתקל לא פעם בלקוח ששואל אותי 'למה אני צריך TFS'? הטיעונים סובבים לרוב סביב שני נושאים: הראשון – העובדה ש-TFS הוא כלי מסחרי שדורש רישוי בעוד שישנם מוצרים מקבילים חינמיים והשני – שהתקנה ותחזוקה של שרת TFS היא יקרה ומורכבת. התשובה שלי מתחילה תמיד ב-'אתה צודק, לגבי שתי הנקודות'. ברגע שהסכמנו שהוא צודק, נפתחת בפניי הדרך להסביר שהשאלה אינה כה פשוטה כמו שהיא נשמעת. ואז יש לי הזדמנות לטעון מספר דברים משל עצמי. ראשית, ההשוואה בין TFS למוצרים חינמיים היא לרוב השוואה שאינה מדוייקת. מוצר חינמי – כמו לדוגמא subversion – שמספק יכולות...
tags: , , ,
no comments

More on Team Build 2010 Extensions


In my last post, I touched briefly on the concept of build extensions, and explained that they are an implementation of WF4 extensions.  I thought it would be useful to list the other build extensions that are available inside of a build template: IBuildDetail – This build extension enables you to notify the build server about important aspects of your build (compilation/test status, overall build status, the label associated with the build, etc.).  In fact, this is the how the SetBuildDetails built-in activity is constructed.  So a typical use-case for this extension could be, for example, to fail the build...
no comments

Add Chuck Norris to Your Build!


In this post I’ll show how to write a somewhat more complex and hopefully fun activity for TFS 2010 Team Build (code is available here).  In particular, I’ll make use of the following features: The ActivityTrackingAttribute class Build Extensions (a specialization of WF4 Workflow Extensions) Since our builds are sometimes long and dull processes, we need some stuff to talk about while they run.  What could be better than discussing the prowess of the one-and-only Chuck Norris?  We’ll have Team Build produce a new Chuck Norris (CN) fact every time a build runs: And now we have a good conversation starter! ...

Writing a Simple TFS Report – Part 4: Publishing the Report


In the last post of this series we completed our report so that it contains all the graphical annotations we wanted.  It is now time to publish it to the server and make it available to our users.  Publishing the Report to the Server Once we have a report running on the local machine, publishing it is the easy part!  1.  Open the report that we worked on throughout the previous parts of the series 2.  From the main ribbon button, choose the Save As menu option.  The Save As Report file dialog...

Writing a Simple TFS Report–Part 3: Adding the Final Touches


In the last post of this series, we created a report that visually displayed the data we extracted from the TFS 2010 warehouse.  In this post, we’ll add some additional enhancements to the report in order to increase its effectiveness.  As you recall, we want our report to look like this: While right now our report looks like this: This means we need to add the following enhancements: 1.  Change the report’s title and fields 2.  Make sure that cells which have a reason of Fixed have a green...

Writing a Simple TFS Report – Part 2: Creating the Report


Welcome back!  In the last part of this series we discussed the actual query needed to extract the data from the TFS relational data warehouse.  In this post, we’ll see how to use this query in order to create an actual report.    Choosing a Report Authoring Tool In order to actually produce our report we need a report authoring tool.  This tool should allow us to design our report in a WYSIWYG manner and specify the query for getting the data.  We would normally choose from the following options: Business...

Writing A Simple TFS Report – Part 1: Getting the Data


In the last post we saw the final result of what we’re aiming for – the Bug’s Life report.  In this post, we’ll start working on the report by actually extracting the data. The TFS Reporting Data Sources TFS supplies us with two different data sources for reporting needs: The data warehouse – A relational data store that is designed using a snowflake schema and is named Tfs_Warehouse.  By default, this database is updated within 30 minutes of an anything ‘interesting’ happening in TFS.  We query this database using the SQL language. ...
no comments

“IBuildDetail not defined” error in TFS 2010 Build Templates


Recently I started receiving the following error when trying to edit TFS 2010 build templates on my machine: Type ‘IBuildDetail’ is not defined This was exceptionally weird as TFS was running happily for quite a while.  Turns out the culprit was the Developer Preview edition of Visual Studio 11 that I installed alongside the existing VS2010.  Anyway, in order to solve the problem: 1.  Open your build template (the .xaml file) in code mode.  (From the Source Explorer, right-click the file, choose ‘View With…’ and select ‘XML (Text) Editor’. 2.  Locate the first...