TFS Automation And SharePoint – CoreCompile Does Not Compile All Files

When using SharePoint as part of build automation processes they generally rely on msbuild.exe to compile/test the solution. These projects can often times consist of a multitude of projects, from just one type to several hundred SharePoint projects. A problem that is frequent is if there are no build errors then all the SharePoint assemblies will be generated, and the world is great. However, for chained builds if one of the projects does not build even though there is no dependency between the projects it will skip compiling the others. Ideally, no compilation is skipped unless an explicit dependency has been noted, however using the most immediate solution, the ContinueonError and StopOnFirstFailure properties will not work.

As opposed to this approach, it is based to divvy your solutions based on relationships, thereby defining the relationships in a matter that provides true separation in TFS. While you will have more solutions, you can still be related sets of them and build your pass/fail gates to work in a more targeted manner. Following, any sort of orchestration could be used for independent compilation.


The SharePoint Federated Identity Process – Part 1 – Introduction

* Throughout this series, Adam Buenz’s Software House  is a medium sized company using Active Directory to authenticate. ARB Security Solutions is a customer of Adam Buenz’s Software House, buying….you know software from them. *

The desire for a business to share various types of resources with others is very common. Yet each business has a different method in place for taking care of issues including security, authentication, and their directory services. Through the use of federated identity though we are able to get passed such barriers. It allows employees to have a standard type of credential that they use to log on to a network.

Let’s put this idea into practice shall we? The basis will be a business known as Adam Buenz’s Software House. We will be exploring how it allows ARB Security Solutions, one of its customers, to share various types of resources through the use of federated identity.

Adam Buenz’s Software House has SSO for the employees to use, so we can move on to the next step in the process. The customers are asking to have an software component order program in place so they can track the progress of what people have ordered from start to finish, hosted in SharePoint. They want it to operate like a SharePoint application that is in their own domain. The sales manager wants to be able to log on using the credentials that ARB Security Solutions has provided him with to do so.

Through such a process, he will have the same access to the information as employees of Adam Buenz’s Software House have. However, the manger of ARB Security Solutions won’t need to have any special credentials in order for this to happen. Adam Buenz’s Software House allows this because they don’t want the responsibility of maintaining any account for another company that happens to be using one of its applications.


Free SharePoint WebPart – Simple, Generic Rollup WebPart

The client I am presently at has a comparatively large internal .NET shop since they are a .NET SaaS firm, and a lot of the traditional .NET developers are starting to migrate over to SharePoint for an internal product basis. So we figured the best way to train was to pick a pretty generic WebPart requirement, everyone builds their own, see who does what how, integrate the best approaches from the different projects, and see what the final product looks like.

Thus was born the Simple Rollup WebPart. It is named as such because it is literally the most generic WebPart that I have ever seen. And the requirement that was given was to make the World’s most generic WebPart. So this was successful!

In the spirt of being super generic, it is also really easy to use with a nominal amount of properties requiring configuration. Namely, there is:

  1. A URL
  2. A List Name
  3. A View Name
  4. Amount Up To Query
  5. Amount Down To Query

Noticably, the approach being used is much faster than traditional SharePoint rollups I have seen in the past, way past what the CQWP (Content Query WebPart) performs at.

Ok, so now to the screenshot-tastic demonstration of how the WebPart works. The WebPart is written in a Feature controlled format, following the same approach as nearly every other WebPart available on this site. So, firstly add the SharePoint Solution to the Solution store by running the installation .bat file:

10-22-2009 11-54-48 AM

After, the Solution will be available in the Solution store for deployment:

10-22-2009 11-53-40 AM

Once the solution is deployed, you have to active the Rollup Feature to populate the WebPart description file into the gallery so that you can add it to the page. Navigate to the Site Collection Features, and Active The Rollup WebPart Feature. 

10-22-2009 11-58-16 AM


Once Activated, you will find the WebPart available under the ARB Security Solutions group heading in the WebPart gallery:

10-22-2009 12-00-33 PM

Add it to the page, and you will be presented with the notification that no items have been found (because you haven’t configured the Rollup properties yet!)

10-22-2009 12-00-09 PM

Following, configure the properties for the WebPart. I have two Task lists on the primary and a subsite, so I am going to use that for testing. The properties are explained below:

10-22-2009 12-03-36 PM

  1. The URL to start the rollup at. If you leave this blank then it will use the current context as the starting point.
  2. The list name you want to query for, like “Tasks”, “Discussions”, etc.
  3. The levels up you want the rollup to go.
  4. The levels down you want the rollup to go
  5. The SharePoint view you want to target in the rollup, this allows you to target the data display to particular users since you have use the inherit view replacement variables, like [Me] and [Today].

Following, you will be presented with the columns and values based on those available in the configured view. The grouping is provided in order to split up the values by the site they are gathered from.

10-22-2009 12-08-37 PM

 And that’s it! The WebPart is free, but as always comments about use / backlinks are appreciated.


Link Will Be Back Up Shortly

Let me know if you have problems in the comments :)