Wednesday, August 26, 2009

QSI Grok Talk: PEX

Developers at Quick Solutions have a monthly meeting known as "Grok Talk". The meeting typically takes place during lunch. The goal of the meeting is to share information on the topic of choosing. The most recent Grok has been done by Mel Grubb on PEX.
Here is the recording of the session:

Friday, August 14, 2009

QSI Tech Night: Code Generation with T4 Templates

Recently, Mel Grubb has presented Code Generation with T4 Templates at Quick Solution's Tech Nigh meeting. While we still finalizing the details on how to share those presentations with the community you may watch Mel's presentation from here:

Monday, August 3, 2009

Follow up questions from KY SDLC

After the SDLC presentation we had several questions that we were going tofollow through:

Q: How can I see all created Alerts for the selected TFS Project?
The answer is Yes and No. There is no an easy UI that will tell someone of all project alerts, but this information can be easily discovered by two methods:
Option 1: Query the underlying database (not recommended), all subscriptions are stored in
[TfsIntegration].[dbo].[tbl_subscription]. If soemone chooses this path my recomendation would be: LOOK, BUT DON'T TOUCH.
There is a reson on why there is ae extensive set of API asvaialble to us, modifying data in the table may lead into path of unpredictable problems with TFS.

Option 2: use TFS API web services to aggregate the information.
you will start by calling ReadIdentityFromSource method of the http://localhost:8080/services/v1.0/GroupSecurityService.asmx service to find out the list of all users that have access to a project, assuming that you know names of the Application Groups (like Contributors, Project Administrators, etc) then you can set factor as: AccountName, and factorValue as: {Account Group Name, ex. [DCVR]\Contributors]}

Now that you have a list of users that have access to the project, you may get each person's subscription by calling EventSubscriptions method of http://localhost:8080/services/v1.0/eventservice.asmx service.

if you are not sure on what Application Groups you have, you may find them by either looking at the "Group Memebership" option of the Team Project Setting in the Team Explorer or you can use TFS APIs:

http://localhost:8080/services/v1.0/CommonStructureService.asmx?op=ListProjectsx to get the Project URI
http://localhost:8080/services/v1.0/GroupSecurityService.asmx?op=ListApplicationGroups to get the list of the groups for the selected Project URI.

More information of the TFS API can be found at Buck Hodges blog

Q: I am having a problem with check-in 50MB file, is there a setting to increase a max size of checked in file?
There are no switches in TFS that will limit a person on the size of the check-in file. Mike and I were able to check-in 100+MB file without any problems. My recomendation will be to check IIS and Application Event logs for logged messages as a strating point to troubleshoot the issue.

An interesting fact is: if you are checking large files (>16MB) then TFS deltas mechanism that is used to figure out the difference between file versions will not be used, which means that the entire file will be checked into source control. Not a big deal unless you are working with a lot of large files and have a database disk constrain. To ensure that TFS deltas mechanism is used to store file revisions you will need to update the default value of "deltaMaxFileSize" key located in {TFS Install Folder}\Web Services\VersionControl\:

Another interesting fact: by default workitem attachments are limited to 4MB sizes. To change that value one will need to call the GetMaxAttachmentSize method of http://localhost:8080/services/v1.0/ConfigurationSettingsService.asmx service.

Q: Can recorded Web Tests be hooked to the external data source to provide input values?
Yes, web test can be easily configured to support input of the values from the external sources like: database, csv, or xml. You may find additional details from my previous post: