in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

Aaron Robertson-Hodders SharePoint Blog

Adding your own Administration Pages to Site Settings or Central Administration

You can make your custom SharePoint Applications look more like a part of the SharePoint environment by adding any Administration Tasks (ie. settings pages) that you might require into the Admin Console or Site Settings areas.

To do this you need a Feature and a definition of the new menu item to be added and where it links to. The Feature file is pretty standard:

<?xml version="1.0" encoding="utf-8"?>
<Feature  Id="34251A34-3B03-4149-94A3-A04C5F99E251"
          Title="My Administration Link"
          Description="Link to administration page for my product."
          Version="12.0.0.0"
          Scope="Web"
          Hidden="FALSE"
          DefaultResourceFile="core"
          xmlns="
http://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location="elements.xml" />
    </ElementManifests>
</Feature>

The Admin Page would normally be a part of a bigger feature for your application, but in this case, it's the entire thing, so the elements.xml just contains what is required to render the link and tie it to the page I want:

<?xml version="1.0" encoding="utf-8"?>
<Elements
    xmlns="
http://schemas.microsoft.com/sharepoint/">
    <CustomAction
        Id="ManageMySettings"
        GroupId="SiteCollectionAdmin"
        Location="Microsoft.SharePoint.SiteSettings"
        RequireSiteAdministrator="TRUE"
        Sequence="45"
        Title="Manage My Settings">
        <UrlAction
            Url="_layouts/MyAppSettings.aspx" />
    </CustomAction>
</Elements>

This elements.xml file adds a link to the Site Settings Page (by setting the Location attribute), under the Site Collection Admin area (specified by the Group ID) and requiring Site Administrator Access to get to. The UrlAction element specifies where the link goes (in this case to an aspx page in _layouts).

I can also insert links into the Central Admin area if needed just by specifying a different CustomAction:

<?xml version="1.0" encoding="utf-8"?>
<Elements
    xmlns="
http://schemas.microsoft.com/sharepoint/">
    <CustomActionGroup
        Id="Mine"
        Location="Microsoft.SharePoint.Administration.ApplicationManagement"
        Title="My Applications"
        Sequence="100" />
    <CustomAction
        Id="MyAppSettings"
        GroupId="Mine"
        Location="Microsoft.SharePoint.Administration.ApplicationManagement"
        Sequence="11"
        Title="My App Settings">
        <UrlAction
            Url="/_admin/AppSettings.aspx" />
    </CustomAction>
</Elements>

In this case, I specified a CustomActionGroup so that I get my own section on the Application Management Page, but I could add it to an existing one by setting the correct GroupID. Note also, that the Location is different, and points to the Central Admin Application Area. I also put the page into the _admin area as it is an admin page - I'm not 100% on whether this is best practice, so happy to hear thoughts on that.

 

 

Comments

 

Nas said:

Hi there, great post, now if I want to add a new section in the Site Settings page, how can I do that?

Thanks in advance.

Nas

March 24, 2008 3:24 PM

Leave a Comment

(required )  
(optional )
(required )  
Add

About adrh

I'm a Kiwi, living in Australia (for the past 10 years). I work for MacroView, a consulting firm in Sydney specialising in SharePoint solutions, products (WISDOM Document Management extensions, Custom Search solutions) and consulting around Enterprise Search. My background includes experience developing solutions in VB, VB.Net C#, ASP, ASP.Net, SharePoint (from V1) and Office.

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts