Tuesday, April 29, 2008

New Date and Time Data Types in SQL Server 2008

I am delinquent in the one-a-week challenge post for last week, and on top of that this is going to be a pretty lazy one, as I'm just going to refer to a good article I just found.

My current client has taken to early adopting the latest SQL Server 2008 CTP. One of my favorite new features are the enhanced date and time data types. Dinesh Asanka has a good summary of these new types over at SQL Server Performance and you should really just go check out his article.

My favorite additions are the DATE and TIME data types, how many times have you wanted to just specify a date or time portion of a value and had to do some sort of crazy truncation or logic in code to keep it straight? Well no longer.

Another great addition is the DATETIME2 data type, though its not going to win any awards for clever naming, the gist of it is that you now can specify the millisecond resolution of your DATETIME, previously it was defaulted to 3 decimal places, now you can specify from 0 to 7.

Sunday, April 20, 2008

TFS Blog Series: Setting Up Projects

Welcome to the second entry in Joel and my series on Microsoft Teams System (aka Team Foundation Server, aka TFS). To catch up, check out the previous entries in the series:
  1. Overview
In this post I'm going to cover the details of creating a new team project including the intricacies of setting up project permissions and permissions for the corresponding SharePoint and Reporting Services.

Creating a New Project

Creating a new project in TFS is pretty straight forward and involves the following steps:
  1. Launch Team Explorer (Visual Studio).
  2. In the Team Explorer toolbox, right click on your server name and choose "New Team Project...".
  3. In the wizard, give your project a proper name and description. You can name a project anything you want, but you should give some thought to this before committing to something because you cannot change this once the project is created. If you work in an organization like ours where you have many projects, a consistent naming convention is important. We use {ClientName}.{ProjectName}, so for this test I will create a project called Slalom.Test, Slalom because it is an internal project so we are our own client and Test because I'm just going to delete this thing when I'm done.

  4. Choose a project template. TFS comes with two built in, however you can create your own custom templates as well, allowing you to have some pre-canned work items generated for every project you create. We'll talk about template customization later in the series, for now we will just choose Agile.

  5. Choose where you want your source control, by default TFS builds out a new repository, in most cases this is what you will want to do.
  6. Once you click finish and let TFS build out your project you will have a new project listed in Team Explorer.

Setting Project Permissions

TFS allows you apply roles to your different users, these roles can be adjusted by right clicking on your team project and choosing "Team Project Settings > Group Membership..."

For a project, there are four groups available for classifying your users rights:
  1. Readers - Users that can access the project, but are not able to modify work items or check in code.
  2. Project Administrators - Users that can do anything within the project.
  3. Contributers - Users that can make changes in the project but are now allowed administrative tasks.
  4. Build Services - System role for building the project (for service accounts only).
Most people generally fall under project administrators or contributors.

Setting SharePoint and Reporting Services Permissions

Unfortunately setting permissions within TFS does not complete the process. Permissions must also be granted individually to the corresponding SharePoint site and SQL Server Reporting Services.

For SSRS permissions, we have simplified this by creating a Team Foundation Server Users domain group and putting all valid TFS users into that group, then giving that group read permission on the reporting server. This saves us from having to set these permissions each time.

For SharePoint we still must grant users proper access, do this follow these steps:
  1. Access your project portal (right click on your project and choose "Show Project Portal...") as an administrator.
  2. Choose "Site Settings" from the "Site Actions" drop down on the site.
  3. Choose "Advanced Permissions" from "Users and Permissions".
  4. Choose "New" to add your users and give them specific SharePoint permissions.

Sunday, April 13, 2008

Bad Dog

Well, this post is a little bit of a cop-out, but I'm still counting it for the "one a week" challenge. Next week I will get part two of Joel and my series on TFS out.

My mom called me this morning, she was upset because her dog jumped up and grabbed her iPhone off the kitchen counter in the middle of the night, and pretty much destroyed it. It will power on, but the screen is completely white. When I plugged it in, it did sync, so we were able to get her a new one and restore from the backup. Check out the photos below:

Tuesday, April 1, 2008

My First "Valley" Event

Well as a follow-up to my last post about how Seattle compares to The Valley last night I attended my first "Valley" event. A friend of mine that works for a PR firm down here told me about Mozilla's 10 year anniversary celebration that was going on last night. So I decided to check it out. It was pretty packed when I got there, but they had just made it open bar, so thanks Mozilla for the gin and tonics. There were a lot of .com folks chatting it up, a few folks that were clearly Mozilla contributors and a few valley celebrities (or so I'm told, I didn't really know who any of them were). At one point Mitchell Baker (I think) and Brendan Eich got up and thanked everyone and said some words that most of us couldn't hear. All-in-all it was an interesting experience and I hope to find my way into more of these things.

UPDATE: Here is proof that I was there, or at least that the back of my head was: http://valleywag.com/photogallery/mozilla10/1001073788