Help! I have deleted the Topics Area! (or any of the standard areas)

This has come up a number of times, both internally and with customers I have worked with, so what do you do when you have deleted one of the standard SharePoint Areas?

The first thing to say is that it is not a really a good idea. Instead of deleting one of these areas (News, Topics, Sites) I would instead hide it and then lock down security so that only an Admin can access it. This essentially deletes it for all users anyway. The reason I would recommend this approach, rather than deletion, is mainly because these are "special" areas. While you may be able to get them back functionally, you can't ever TRULY get them back.

To give you a couple of examples:

1. The Topics area is special because this is what drives the left hand navigation on the home page. If you delete the Topics area then you will notice that this control will instead display all the top level areas (the same ones as are appearing on the horizontal navigation bar across the top). This SPS control is driven off the Topic Area's "Category ID", these are automatically generated by SharePoint and unique, so even if you create a new area and name it "Topics" the navigation on your home page will not magically start "working" again (this also explain why if you rename the Topics area this functionality continues to work!).

I know what you are thinking. If I HAVE deleted the Topics area, or I have hidden the Topics area, how do I control what areas are displayed as navigation on the home page of my Portal. Well you can set this control to instead be driven off any area on the portal. To do this follow the following instructions:

a) Open <drive>:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\<Locale ID>\SPS\default.aspx
b) Search for the following string: <SPSWC:CategoryNavigationWebPart runat="server" id="VerticalNavBar" DisplayStyle="VerticalOneLayer" />
c) Replace it with the following string: <SPSWC:CategoryNavigationWebPart runat="server" id="NewVerticalNavBar" DisplayStyle="VerticalOneLayer" CurrentCategoryID=" <INSERT CAT ID HERE> "/>
d) Where <INSERT CAT ID HERE> is equal to the Category ID of the area whose children you wish to display as navigation. To get the Cat ID: Browse to an area, then click on "Change Settings" and copy the string that appears after "CatID=" in the URL.

2. One thing that is harder to fix, and really highlights why you should not delete these areas, is that there are a number of features in the SharePoint object model that allow you to quickly and easily access the system areas programmatically. I suspect that these calls are going to be used by custom web parts and third party SharePoint add-ins. I also suspect that once you have deleted a system area there is no way to reconnect the object model features.