Customizing the SharePoint 2010 Central Administration UI by Using Custom Actions

SharePoint 2010

Summary:  Learn about custom actions and how to use them to customize the Central Administration user interface in Microsoft SharePoint 2010.

Last modified: March 09, 2015

Applies to: Business Connectivity Services | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio

Provided by:  Yogesh Joshi, Microsoft Corporation

Contents

You use the Central Administration user interface (UI) to perform administration tasks for Microsoft SharePoint 2010 solutions from a central location. The SharePoint Central Administration site is automatically provisioned when you install SharePoint 2010. The site enables you to perform different operations by using the site user interface. In some situations, you may want to add elements to the default user interface to customize the appearance of the site or to perform additional actions. You can customize the UI by using powerful features that are provided by custom actions in SharePoint 2010.

This article describes how to customize the Central Administration user interface by using the CustomAction element.

Custom actions are one of the powerful features available in SharePoint 2010. The following is the list of several areas where you can add more elements by using custom actions in SharePoint application pages:

  • Server ribbon

  • Site Actions menu

  • Left navigation pane

  • List item menus

In the examples provided in this article, you use following elements that are available in the custom action schema.

For more information, see Custom Action.

Begin by creating a basic custom action. Suppose you want to add a policy statement link to the Central Administration home page.

Note Note

The procedures in this section assume a development environment in which SharePoint 2010 is installed and configured, Microsoft Visual Studio 2010 is installed, and the currently logged-on user has administrative rights on the SharePoint environment for deployment purposes.

To create a basic custom action

  1. In Visual Studio 2010, click New Project, expand the SharePoint node, click 2010, and then click Empty SharePoint Project. Name the project Contoso.CA.Customization, as shown in Figure 1. Click OK.

    Figure 1. New empty SharePoint 2010 project

    Create new empty SharePoint 2010 project
  2. In the SharePoint Customization Wizard, select the local SharePoint site that will be used for debugging, and choose Deploy as a farm solution, as shown in Figure 2. Click Finish.

    Figure 2. Specifying the deployment method and SharePoint site

    Specify the deployment method and SharePoint site
  3. Add a Feature and an empty element to contain the custom action. In Solution Explorer, right-click the Contoso.CA.Customization project, point to Add, and then click New Item.

  4. In the Add New Item dialog box, expand the SharePoint node, click 2010, and then click Empty Element. Name it HomePageCustomActions, as shown in Figure 3. Click Add. Visual Studio automatically creates a Feature and adds the HomePageCustomActions element to it.

    Figure 3. Adding an empty element file

    Add an empty element file
  5. In Solution Explorer, double-click Feature1. Specify the title and description of the Feature, and then set the scope as Web, as shown in Figure 4.

    Figure 4. Specifying the Feature properties

    Specify the feature properties
    Note Note

    By default, the Feature scope is set to Web. The Feature must be Web-scoped so that when the custom action group is added to the home page, SharePoint will automatically add it to the left navigation pane. If the Feature’s scope is other than Web, the custom action group link will not appear in the left navigation pane.

  6. Rename the Feature folder to ContosoCACustomization, as shown in Figure 5.

    Figure 5. Renaming the Feature folder

    Rename the feature folder
  7. In Solution Explorer, double-click the Elements.xml file under the HomePageCustomActions node. In the code editor, add the following code, and then save the file.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <CustomActionGroup 
        Id="CA_Contoso_IT"
        Location="Microsoft.SharePoint.Administration.Default"
        Sequence="100"
        Title="Contoso IT"    
        Description="Visit Contoso IT Home Page."
        ImageUrl="/_layouts/IMAGES/CONTACT.GIF">
        <UrlAction Url="http://www.contoso.com/it/default.aspx"/>
      </CustomActionGroup>
      <CustomAction
        Id="CA_Contoso_IT_PrivacyPolicy"
        GroupId="CA_Contoso_IT"
        Location="Microsoft.SharePoint.Administration.Default"
        Title="Privacy Policy"
        Description="View privacy policy.">
        <UrlAction Url="http://www.contoso.com/it/privacypolicy.aspx"/>
      </CustomAction>
      <CustomAction
        Id="CA_Contoso_IT_Analytics"
        GroupId="CA_Applications"
        Location="Microsoft.SharePoint.Administration.Default"
        Title="Contoso web analytics"
        Description="View contoso web analytics reports.">
        <UrlAction Url="http://www.contoso.com/it/webanalytics.aspx"/>
      </CustomAction>
    </Elements>
    
  8. In Solution Explorer, right-click the Contoso.CA.Customization project, and then click Deploy.

  9. Open the Central Administration site. On the home page, observe that the following links have been added (see Figure 6):

    • Contoso IT—In the left navigation pane

    • Contoso IT—As a custom group

    • Privacy Policy—Under the Contoso IT group

    • Contoso web analytics—Under the Application Management group

    Figure 6. Custom links on the Central Administration home page

    Custom links on Central Administration Home Page

Table 1 contains information about the default custom actions on Central Administration pages.

Table 1. Default custom action locations, groups, identifiers, and titles

Location (Specifies Page)

Group

Custom Action ID

Title

Microsoft.SharePoint.Administration.Applications

Databases

D_CTDRS

Configure the data retrieval service

D_MCD

Manage content databases

D_SDDS

Specify the default database server

ServiceApplications

SA_AASS

Configure service application associations

SA_MSA

Manage service applications

SA_MSOS

Manage services on server

SiteCollections

SC_CSC

Create site collections

SC_CSUAD

Confirm site use and deletion

SC_DSC

Delete a site collection

SC_SCA

Change site collection administrators

SC_SCL

View all site collections

SC_SCQAL

Configure quotas and locks

SC_SQT

Specify quota templates

SC_SSSC

Configure self-service site creation

WebApplications

WA_CAAM

Configure alternate access mappings

WA_MWA

Manage web applications

Microsoft.SharePoint.Administration.Backups

FarmBackup

BA_BS

Configure backup settings

BA_CBRJS

Check backup and restore job statusManage web applications

BA_PAB

Perform a backup

BA_RFAB

Restore from a backup

BA_VBRH

View backup and restore history

GranularBackup

GB_BEST

Check granular backup job status

GB_BSC

Perform a site collection backup

GB_BSLE

Export a site or list

GB_UCDB

Recover data from an unattached content database

Microsoft.SharePoint.Administration.Default

CA_Applications

CA_Applications_CSC

Create site collections

CA_Applications_MCD

Manage content databases

CA_Applications_MSA

Manage service applications

CA_Applications_MWA

Manage web applications

CA_Backups

CA_Backups_PAB

Perform a backupManage web applications

CA_Backups_RFAB

Restore from a backup

CA_Backups_SCE

Perform a site collection backup

CA_Monitoring

CA_Monitoring_HS

Review problems and solutions

CA_Monitoring_SearchReports

View Web Analytics reports

CA_Monitoring_TJ

Check job status

CA_Security

CA_Security_CSA

Configure service accounts

CA_Security_MTFGA

Manage the farm administrators group

CA_SystemSettings

CA_SystemSettings_ManageFarmFeatures

Manage farm features

CA_SystemSettings_MSITF

Manage servers in this farm

CA_SystemSettings_MSOS

Manage services on server

CA_SystemSettings_SetupAlternateAccessMappings

Configure alternate access mappings

CA_UpgradeAndMigration

PatchStatus

Check product and patch installation status

UpgradeStatus

Check upgrade status

Microsoft.SharePoint.Administration.GeneralApplicationSettings

ExternalServiceConnections

ESC_CDC

Configure document conversions

ESC_MRC

Configure send to connections

SPD

SPD_CSPD

Configure settings

Microsoft.SharePoint.Administration.Monitoring

HealthStatus

HS_ManageRules

Review rule definitions

HS_ViewProblems

Review problems and solutions

Reporting

Rep_CDL

Configure diagnostic logging

Rep_RequestReport

View health reports

Rep_SearchReports

View Web Analytics reports

Rep_SUAP

Configure usage and health data collection

TimerJobs

TJ_CheckJobStatus

Check job status

TJ_Review

Review job definitions

Microsoft.SharePoint.Administration.Security

GeneralSecurity

GS_CSA

Configure service accounts

GS_CSSSC

Configure self-service site creation

GS_DBFT

Define blocked file types

GS_MA

Configure managed accounts

GS_MAS

Manage antivirus settings

GS_MGMTRU

Manage trust

GS_MWPS

Manage Web Part security

GS_PS

Configure password change settings

GS_SAP

Specify authentication providers

InformationPolicy

InformationPolicyConfiguration

Configure information rights management

Users

SpecifyWebApplicationPolicy

Specify web application user policy

U_AORDG

Approve or reject distribution groups

U_MTFG

Manage the farm administrators group

Microsoft.SharePoint.Administration.SystemSettings

Email

E_CIES

Configure incoming email settings

E_CMA

Configure mobile account

E_COES

Configure outgoing email settings

FarmManagement

FM_CFA

Configure cross-firewall access zone

FM_MFF

Manage farm features

FM_MFS

Manage farm solutions

FM_MUS

Manage user solutions

FM_PO

Configure privacy options

FM_SAAM

Configure alternate access mappings

Servers

S_MSITF

Manage servers in this farm

S_MSOS

Manage services on server

Microsoft.SharePoint.Administration.UpgradeAndMigration

Patch

DatabaseStatus

Review database status

PatchStatus

Check product and patch installation status

UpgradeStatus

Check upgrade status

Note Note

Adding any custom actions to the location Microsoft.SharePoint.Administration.Default displays them on the Central Administration home page.

The steps in this section add custom actions to Central Administration application pages. The process involves the following actions:

  1. Create a new module in the SharePoint 2010 project.

  2. Identify the location of the custom action. You can use the information in Table 1 to identify the locations. Each location represents an out-of-the-box page.

  3. If you want to add a custom action to an existing group, identify the group identifier by using the information in Table 1.

  4. If you want to add a new group, set the group identifier property accordingly.

  5. Create a new custom action element and set the appropriate property values.

  6. Deploy the solution.

First, add a custom action group and links to the SharePoint Application Management page.

To add a custom action group to the Application Management page

  1. In Solution Explorer, right-click the Contoso.CA.Customization project, click Add, and then click New Item.

  2. In the Add New Item dialog box, expand the SharePoint node, click 2010, and then click Empty Element. Name it ApplicationsPageCustomActions.

  3. In Solution Explorer, double-click ApplicationsPageCustomActions.

  4. Add the following code to the Elements.xml file.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <CustomActionGroup
        Id="WA_Contoso_IT"
        Location="Microsoft.SharePoint.Administration.Applications"
        Sequence="100"
        Title="Contoso IT"
        Description="Visit Contoso IT Home Page"
        ImageUrl="/_layouts/IMAGES/CONTACT.GIF">
        <UrlAction Url="http://www.contoso.com/it/default.aspx"/>
      </CustomActionGroup>
      <CustomAction
        Id="CA_Contoso_IT_PrivacyPolicy"
        GroupId="WA_Contoso_IT"
        Location="Microsoft.SharePoint.Administration.Applications"
        Title="Privacy Policy"
        Description="View privacy policy.">
        <UrlAction Url="http://www.contoso.com/it/privacypolicy.aspx"/>
      </CustomAction>
      <CustomAction
        Id="WA_Contoso_IT_Analytics"
        GroupId="WebApplications"
        Location="Microsoft.SharePoint.Administration.Applications"
        Title="Contoso web analytics"
        Description="View contoso web analytics reports.">
        <UrlAction Url="http://www.contoso.com/it/webanalytics.aspx"/>
      </CustomAction>
    </Elements>
    
  5. In Solution Explorer, right-click the Contoso.CA.Customization project, and then click Deploy.

  6. Open the Central Administration site, navigate to the Application Management page, and observe that the following links have been added (see Figure 7):

    • Contoso web analytics—Under the Web Applications group

    • Contoso IT—New group at the bottom of the page

    • Privacy Policy—Custom link under the Contoso IT group

    Figure 7. Custom links on the Application Management page

    Custom links on Application Management page

The steps in this section customize the Central Administration ribbon. This procedure involves the following steps:

  1. Create a new module in the SharePoint 2010 project.

  2. Identify the location of the custom action. In this procedure, it is CommandUI.Ribbon in case the custom action needs to be added on the Server ribbon.

  3. Use Table 2 (later in this article) to identify the group identifier. If you want to add a button to the Manage group in the Web Applications tab, the group identifier will be similar to Ribbon.WebApp.Manage.Controls._children. Notice that Ribbon.WebApp.Manage represents the identifier of the group. Controls._children tells SharePoint to add this button as a child element of the group.

  4. Add a new group by using Group and Controls elements.

  5. Create a new custom action element, and then set the appropriate property values.

  6. Deploy the solution.

First, add custom action group buttons to the Server ribbon of the SharePoint Manage Web Applications page.

To add a custom action group to the ribbon of the Manage Web Applications page

  1. In Solution Explorer, right-click the Contoso.CA.Customization project, click Add, and then click New Item.

  2. In the Add New Item dialog box, expand the SharePoint node, click 2010, and then click Empty Element. Name it ApplicationsPageCustomActions.

  3. In Solution Explorer, double-click ApplicationsPageCustomActions.

  4. Add the following code to the Elements.xml file.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <CustomAction
        Id="Contoso.SharePoint.Administration.Application.Group"
        Location="CommandUI.Ribbon">
        <CommandUIExtension>
          <CommandUIDefinitions>
            <CommandUIDefinition
              Location="Ribbon.WebApp.Groups._children">
              <Group
                Id="WA_Contoso_IT_RibbonGroup"
                Sequence="50"
                Description="Contoso IT"
                Title="Contoso IT"
                Command="WA_Contoso_IT_RibbonGroup_Command"
                Template="Ribbon.Templates.Flexible2">
                <Controls Id="Contoso.SharePoint.Administration.Application.Group.Controls">
                  <Button
                    Id="WA_Contoso_IT_RibbonGroup_HomePage"
                    Command="WA_Contoso_IT_RibbonGroup_HomePage_Command"
                    Image16by16="Insert an image URL here."
                    Image32by32="/_layouts/images/HTML32.GIF"
                    LabelText="Home Page"
                    TemplateAlias="o2"
                    Sequence="10" />
                  <Button
                    Id="WA_Contoso_IT_RibbonGroup_PrivacyPolicy"
                    Command="WA_Contoso_IT_RibbonGroup_PrivacyPolicy_Command"
                    Image16by16="Insert an image URL here."
                    Image32by32="/_layouts/images/HTML32.GIF"
                    LabelText="Privacy Policy"
                    TemplateAlias="o2"
                    Sequence="20" />
                </Controls>
              </Group>
            </CommandUIDefinition>
            <CommandUIDefinition
              Location="Ribbon.WebApp.Scaling._children">
              <MaxSize
                Id="WA_Contoso_IT_RibbonGroup_MaxSize"
                Sequence="15"
                GroupId="WA_Contoso_IT_RibbonGroup"
                Size="LargeLarge" />
            </CommandUIDefinition>
          </CommandUIDefinitions>
          <CommandUIHandlers>
            <CommandUIHandler
              Command="WA_Contoso_IT_RibbonGroup_Command"
              CommandAction="javascript:return true;" />
            <CommandUIHandler
              Command="WA_Contoso_IT_RibbonGroup_HomePage_Command"
              CommandAction="http://www.contoso.com/it/default.aspx" />
            <CommandUIHandler
              Command="WA_Contoso_IT_RibbonGroup_PrivacyPolicy_Command"
              CommandAction="http://www.contoso.com/it/privacypolicy.aspx"/>
          </CommandUIHandlers>
        </CommandUIExtension>
      </CustomAction>
      <CustomAction
         Id="WA_Contoso_IT_Analytics"
         Location="CommandUI.Ribbon"
         GroupId="WA_Contoso_IT_RibbonGroup"
         Title="Add a Browse Button"
         Sequence="100">
        <CommandUIExtension>
          <CommandUIDefinitions>
            <CommandUIDefinition
              Location="Ribbon.WebApp.Manage.Controls._children">
              <Button Id="WA_Contoso_IT_WebApp_Analytics"
                Command="WA_Contoso_IT_WebApp_Analytics_Command"
                Sequence ="100"
                Image32by32="/_layouts/images/NEWREPORT_SP.GIF"
                LabelText="Contoso Web Analytics"
                TemplateAlias="o1" />
            </CommandUIDefinition>
          </CommandUIDefinitions>
          <CommandUIHandlers>
            <CommandUIHandler
              EnabledScript="javascript:(function (){return SP.UI.Admin.WebApplicationPageComponent.isEnabled(0);})();"
              Command ="WA_Contoso_IT_WebApp_Analytics_Command"
              CommandAction="http://www.contoso.com/it/webanalytics.aspx"
              />
          </CommandUIHandlers>
        </CommandUIExtension>
      </CustomAction>
    </Elements>
    
  5. In Solution Explorer, right-click the Contoso.CA.Customization project, and then click Deploy.

  6. Open the Central Administration site, navigate to the Application Management page, navigate to the Manage Web Applications page, and observe the custom ribbon. The ribbon has the following additional elements (see Figure 8):

    • Contoso web analytics—New button on the Web Applications tab in the Manage group

    • Contoso IT—New group on the Web Applications tab

    • Home Page—Custom button in the Contoso IT group

    • Privacy Policy—Custom button in the Contoso IT group

    Figure 8. Custom buttons on the Manage Web Applications page server ribbon

    Custom buttons on the server ribbon

Table 2 contains the default custom action identifiers and other group information on the Central Administration ribbon for all group identifiers. For more information, see Default Server Ribbon Customization Locations.

Table 2. SharePoint Central Administration Default Ribbon Tab and Group Identifiers

Tab Id

Tab Title

Group Id

Group Title

Ribbon.BDCAdmin

Edit

Ribbon.BDCAdmin.ActionManagement

Actions

Ribbon.BDCAdmin.ApplicationManagement

Manage

Ribbon.BDCAdmin.ApplicationModelManagement

BDC Models

Ribbon.BDCAdmin.PermissionManagement

Permissions

Ribbon.BDCAdmin.ViewManagement

View

Ribbon.ManageTrust

Trust Relationships

Ribbon.ManageTrust.Operations

Manage

Ribbon.SvcApp

Service Applications

Ribbon.SvcApp.Create

Create

Ribbon.SvcApp.Operations

Operations

Ribbon.SvcApp.Sharing

Sharing

Ribbon.WebApp

Web Applications

Ribbon.WebApp.Contribute

Contribute

Ribbon.WebApp.Manage

Manage

Ribbon.WebApp.Policy

Policy

Ribbon.WebApp.Security

Security

This article describes how to customize the default SharePoint Central Administration UI by using custom action elements. The article also provides information about the included command identifiers and locations that can serve as a reference for your own customizations.

Show: