Team Build ‘Access Denied’ Errors…

Have you been getting an intermittent error similar to the following during a TFS
Team Build execution (within the CoreGet target) ?:

Access to the path 'C:\Documents and Settings\tfsbuild\Local Settings\Temp\TFSTemp\4580{#$@;._}808'
is denied.

If you look around, you will find a few folks who point at antivirus software as the
culprit, but in our case it turned out to be the disk defragmentation service…

 

ASP.NET MVC Source Code Now Available

ASP.NET MVC Source Code Now Available


Last month I blogged about our ASP.NET MVC Roadmap.  Two weeks ago we shipped the ASP.NET Preview 2 Release.  Phil Haack from the ASP.NET team published a good blog post about the release here.  Scott Hanselman has created a bunch of great ASP.NET MVC tutorial videos that you can watch to learn more about it here.


One of the things I mentioned in my MVC roadmap post was that we would be publishing the source code for the ASP.NET MVC Framework, and enable it to be easily built, debugged, and patched (so that you can work around any bugs you encounter without having to wait for the next preview refresh release).


Today we opened up a new ASP.NET CodePlex project that we’ll be using to share buildable source for multiple upcoming ASP.NET releases.  You can now directly download buildable source and project files for the ASP.NET MVC Preview 2 release here.


Building the ASP.NET MVC Framework


You can download a .zip file containing the source code for the ASP.NET MVC Framework for the release page here.  When you extract the .zip file you can drill into its “MVC” sub-folder to find a VS 2008 solution file for the project: 



Double-clicking it will open the MVC project containing the MVC source within VS 2008:



When you do a build it will compile the project and output a System.Web.Mvc.dll assembly under a \bin directory at the top of the .zip directory.  You can then copy this assembly into a project or application and use it.


Note: the license doesn’t enable you to redistribute your custom binary version of ASP.NET MVC (we want to avoid having multiple incompatible ASP.NET MVC versions floating around and colliding with each other).  But it does enable you to make fixes to the code, rebuild it, and avoid getting blocked by an interim bug you can’t work around.


Next Steps


Our plans are to release regular drops of the source code going forward.  We’ll release source updates every time we do official preview drops.  We will also release interim source refreshes in between the preview drops if you want to be able to track and build the source more frequently.


We are also hoping to ship our unit test suite for ASP.NET MVC in the future as well (right now we use an internal mocking framework within our tests, and we are still doing some work to refactor this dependency before shipping them as well).


Hope this helps,


Scott

ASP.NET MVC Source Code Now Available

ASP.NET MVC Source Code Now Available


Last month I blogged about our ASP.NET MVC Roadmap.  Two weeks ago we shipped the ASP.NET Preview 2 Release.  Phil Haack from the ASP.NET team published a good blog post about the release here.  Scott Hanselman has created a bunch of great ASP.NET MVC tutorial videos that you can watch to learn more about it here.


One of the things I mentioned in my MVC roadmap post was that we would be publishing the source code for the ASP.NET MVC Framework, and enable it to be easily built, debugged, and patched (so that you can work around any bugs you encounter without having to wait for the next preview refresh release).


Today we opened up a new ASP.NET CodePlex project that we’ll be using to share buildable source for multiple upcoming ASP.NET releases.  You can now directly download buildable source and project files for the ASP.NET MVC Preview 2 release here.


Building the ASP.NET MVC Framework


You can download a .zip file containing the source code for the ASP.NET MVC Framework for the release page here.  When you extract the .zip file you can drill into its “MVC” sub-folder to find a VS 2008 solution file for the project: 



Double-clicking it will open the MVC project containing the MVC source within VS 2008:



When you do a build it will compile the project and output a System.Web.Mvc.dll assembly under a \bin directory at the top of the .zip directory.  You can then copy this assembly into a project or application and use it.


Note: the license doesn’t enable you to redistribute your custom binary version of ASP.NET MVC (we want to avoid having multiple incompatible ASP.NET MVC versions floating around and colliding with each other).  But it does enable you to make fixes to the code, rebuild it, and avoid getting blocked by an interim bug you can’t work around.


Next Steps


Our plans are to release regular drops of the source code going forward.  We’ll release source updates every time we do official preview drops.  We will also release interim source refreshes in between the preview drops if you want to be able to track and build the source more frequently.


We are also hoping to ship our unit test suite for ASP.NET MVC in the future as well (right now we use an internal mocking framework within our tests, and we are still doing some work to refactor this dependency before shipping them as well).


Hope this helps,


Scott

Introducing the Autocomplete Text Field for SharePoint 2007

Introducing the Autocomplete Text Field for SharePoint 2007

Yesterday I finally had some time to finish a project I’ve been working on for some time: the Autocomplete Text Field for SharePoint 2007. Click here for a small demo screencast on Soapbox, or download the high resolution video from the CodePlex site.

The idea is pretty simple: you’ve got a SharePoint list (or document library) that contains some interesting lookup data, now you can make use of the Autocomplete Text Field to display a textbox to the user that will show a dropdown list of items that start with the text the user already entered. When the user types more (or less) text, the dropdown list will adapt to that and update the contents. All of this is made available as a new column type (aka custom field type) in SharePoint 2007. The beauty of this field is that it doesn’t need to do a page postback to refresh the data, the ASP.NET AJAX extensions are used to fetch the data in the background.

When the column is added to a SharePoint list or document library, the user can customize by defining various settings:

  • Column name: the name of the column
  • Description: the description of the column
  • Required: if the column should contain text or if it can stay empty
  • Lookup list: the list in which the column should do the lookup, this list can be selected from a dropdown
  • Autocomplete interval: the number of milliseconds after which the lookup list will appear
  • Items to display: the maximum number of items to display in the lookup list
  • Minimum prefix length: the minimum number of charactes which should be typed before the lookup list will appear
  • Show animations: enable or disable the fading effects when the lookup list is shown or hidden

For more information, the download and the source code; visit the SmartTools for SharePoint Codeplex site. Be aware that if you want to make use of this column, the ASP.NET AJAX extensions must be installed and configured on your SharePoint sites!! (more info here)

Technorati Tags: sharepoint,wss,moss,autocomplete,smarttools
The What’s New Web Part for SharePoint 2007

The What’s New Web Part for SharePoint 2007

A long, long time ago, back in the SharePoint 2003 days, I created some pretty popular web parts which filled in some gaps the out-of-the-box functionality left open. In SharePoint 2007 most of those web parts are obsolete; for example the Breadcrumbs web part is not necessary anymore since SharePoint 2007 has breadcrumbs by default. But a lot of people contacted me to ask for a SharePoint 2007 version of the What’s New web part. This web part displayed a list of new and changed items on site. It’s arguable that this functionality is not needed anymore because in SharePoint 2007 we have RSS feeds, the Content Query Web Part (MOSS only) etc. But apparently some people like the simplicity of the original What’s New web part so much … and just for those people I’ve create a new SharePoint 2007 What’s New web part! 🙂

Of course the new version is better and improved! Internally it’s making use of the SPSiteDataQuery class so it can also aggregate new and changed items from multiple sites (recursive from the current level, or the complete site collection). The web part has following configuration parameters:

  • Settings group
    • Number of items to show: determines the maximum number of items to show in the What’s New web part.
    • Scope of the Query: determines where the What’s New web part will check for new or changed items, possible values:
      • Site: the current site only
      • Recursive: the current site plus all the sub sites of the current site
      • Site Collection: the entire site collection of which the current site is a member
    • Cache interval: the number of seconds the results shown in the What’s New web part will be cached. This cache is per user. After a change to the properties of the What’s New web part, the cache is cleared automatically to reflect the changes.
    • Excluded Content Types: a list of content types which will be excluded from the results shown in the What’s New web part. The list is separated with the ; character. For example "Folder;Task" will excluded all changes and additions of Folder and Task items.
    • Show header row: enables or disables the header row of the results list.
    • Group items on date: enables or disables grouping of the results based on their date
    • Allow group collapse: enables or disables the ability to collapse the groups if the Group items on date setting is enabled.
  • Columns to show: you can choose which columns you want to show in the results list
    • Modified: the Modified timestamp, including the date and time
    • Time: the modified time (excluding the date part)
    • Date: the modified date (excluding the time part)
    • List: a link to list or document library containing the item
    • Site: a link to the site of the list or document library containing the item
    • Modified By: the account who changed or added the item

The installation is very easy (and completely documented), there is a setup wizard that will guide you through the process (thank you WSPBuilder and SharePoint Solution Installer!). For more information, download and source code; visit the SmartTools for SharePoint CodePlex site.

Technorati Tags: sharepoint,wss,moss,whatsnew,smarttools

Matching the BizTalk Service Name with its PID

I have been working with pipeline components quite a bit recently and when I try to attach to the BizTalk Server process I find that there are a lot of host instances and I need to determine which one to attach to.


If you run the tasklist utility from a command prompt it will enable you to get a list of the host instances (services) as well as the name and PID.  Exactly what we need to determine what to attach to.


If you have a 32 bit hosts then run the following:



tasklist /SVC /fi “imagename eq btsntsvc.exe”


and if you have 64 bit hosts then run this:



tasklist /SVC /fi “imagename eq btsntsvc64.exe”


the /fi is a filter and the eq is equals. 


The results that will come back will look something like


Image Name                        PID    Services
================== ==== ===============================
BTSNTSvc.exe                   6324    BTSSvc$BizTalkServerApplication
BTSNTSvc.exe                   3676    BTSSvc$BizTalkServerReceive
BTSNTSvc.exe                   6152    BTSSvc$BizTalkServerSend