Migrating the SharePoint 2007 “FAB 40” templates to SharePoint 2010 (Surya Kiran)


As a consultant for Microsoft Global Delivery, I recently worked with a Customer who asked for continued use of the Application Templates for Windows SharePoint Services 3.0 (known as the Fab 40 templates) in their Office 365, SharePoint Online Dedicated environment. But we were in a dilemma, because some templates were not working with the SharePoint 2010 release. With the help of .Net Reflector, I have found a resolution to this dilemma.


Basically, there are some issues with a few of the .wsp files after upgrade. In particular, after upgrading, some customers are unable to create new sites based on the following templates: Absence Request and Vacation Schedule Management, Call Center, Help Desk, IT Team Workspace, Knowledge Base, and Physical Asset Tracking and Management.

There are freely downloadable templates which can work in SharePoint 2010, but not with sites that have been upgraded from SharePoint 2007.

After the fixed FAB 40 templates are installed on a SharePoint 2010 environment, they will work with sites upgraded from SharePoint 2007, and new sites can also be created. See the Conclusion and Links section at the end of this article for the location where you can download the templates.

Note   Because the migrated FAB 40 templates are not sandboxed solutions, they cannot be used in Office 365 Standard. They can only be used in Office 365 Dedicated.

The problem

The following templates had issues with the Post Provisioning Event Handler, ZonedWebPartsUrlList:

  • Physical Asset Tracking and Management
  • Absence and Vacation Schedule
  • IT Team Workspace
  • Knowledge Base

The list of files that are passed to the ZonedWebPartsUrlList property are read by Post Provisioning Event Handler, and each Web Part on the page is updated with the list GUID. Unfortunately, many methods in thePost Provisioning Event Handler are obfuscated and cannot be reverse-engineered by .Net Reflector. However, I was still able to deduce the problem.

An error is thrown when the method, SubstituteTokens, gets executed in the Provisioning Event Handler. Here is the code as revealed by .Net Reflector.

In addition, the following templates had issues with other Event Handlers:

  • Document Library and Review
  • Inventory Tracking

The solution

Here are the five fixes in detail:

  • Comment the ZonedWebPartsUrlListproperty in onet.xml for these templates: 
    • Physical Asset Tracking and Management
    • Absence and Vacation Schedule
    • IT Team Workspace
    • Knowledge Base  


  • Replace the List ID with the List Name in the Data View Web Parts of these templates: 
    • Physical Asset Tracking and Management
    • Absence and Vacation Schedule
    • IT Team Workspace
    • Knowledge Base
  • Comment the existing features in onet.xml, and write new event receivers for the following templates. I used .Net Reflector to examine the old DLL files and copied the same code to  new event receiver DLL files. 
    • Document Library and Review 
    • Inventory Tracking     


  • Comment the existing features in onet.xml TSA Content Types and Fields Feature
  • Change the URL navigation in onet.xml. In SharePoint 2010 the value of the Url property is not being resolved from the resource file.

Download migrated FAB-40 SharePoint 2010 templates from http://gallery.technet.microsoft.com/Migrating-the-SharePoint-edf9ed0c

Conclusion and Links

For more information, see the following:

Comments (12)

  1. Jesper Osgaard says:

    Would be interesting to know which of the Fab 40 templates works with SharePoint Online?

  2. Surya Kiran says:

    All the FAb-40 templates will work in SharePoint Online – Dedicated

    They don't work in SharePoint Online – Shared, as they are not sand boxed solutions

  3. Madhur says:

    Great .. This is one of the most asked in SharePoint 2010

  4. Greg says:

    Now – are those migrated Fab40 templates supported by Microsoft, since  you're publishing this here?

    Most of them are based on site definition model – wouldn't we want to move away from that, since WebTemplate element provides same capablity?

  5. Surya Kiran says:

    These templates are not supported by Microsoft.

    These migrated templates are for the customers who want to migrate data from MOSS 2007 to SharePoint 2010 and have the same capabilities of FAB-40.

    If we want to get a way with the above approach, we need to built the capabilities of FAB-40 using WebTemplates and try to migrate the data alone from MOSS 2007

  6. dmdj2 says:

    Nice to see some more progress on these!  It would be great to see some of the other solutions/fixes people have found (that I think are still present in this set) merged into this latest update:

    1) social.msdn.microsoft.com/…/d2f562d5-888c-45a2-9f47-727af95304f7

     This concerns spurious "Unable to locate the xml-definition for FieldName .." errors in the logs all referencing App Core field GUIDs.

    2) ikarstein.wordpress.com/…/deploying-fantastic-fourty-templates-of-moss-2007-on-sharepoint-2010

     This talks about cleaning up the App Core WSP and removing fields that are being deployed twice.

    I was going to go with the updated set from TechSol, but Physical Asset Tracking indicates you need SP Enterprise enabled.

    Also, I'm getting an error of "A duplicated field name "Predecessors" was found" when provisioning most site types.  Something to do with the Tasks lists that are defined.

  7. DMDJ2 says:

    One more link of interest concerning how Lookup fields are declared in Fields.xml:


  8. Surya Kiran says:

    FAB40 Web-Templates are also available now from the below link


  9. Surya Kiran says:

    Source code is available on


  10. Nice one, can we have something like this for SharePoint 2013

  11. Eugene Boytsov says:

    Would love to see someone convert them for Sharepoint 2013

  12. Btw, for HelpDesk and Knowledge Base you can look to our products: http://www.harepoint.com

    Are commercial products, designed for SharePoint 2010, versions for 2013 will available in two weeks.

    WBR, Aleksandr

Skip to main content