A brief introduction
SharePoint Central Admin Pages physically located inside \12\Admin folder.
If you want to look through how some of the current Central Admin Application Pages function, you may use .NET Reflector on Microsoft.Sharepoint.ApplicationPages.Administration.dll and Microsoft.Office.Server.UI.dll. It is respectively located inside of \12\CONFIG\ADMINBIN folder and Assembly Cache.
Review out-of-the-box pages.
Lets review existing MOSS out-of-the-box Central Administration Application Pages:
Page | Inherits | Based |
---|---|---|
Operations | ||
Operations.aspx | Microsoft.SharePoint.ApplicationPages.OperationsLandingPage | GlobalAdminPageBase |
FarmServers.aspx | Microsoft.SharePoint.ApplicationPages.FarmServersPage | OperationsPage : GlobalAdminPageBase |
Server.aspx | Microsoft.SharePoint.ApplicationPages.ServerPage | OperationsPage : GlobalAdminPageBase |
GlobalEmailConfig.aspx | Microsoft.SharePoint.ApplicationPages.GlobalEmailConfigPage | OperationsPage : GlobalAdminPageBase |
IncomingEmail.aspx | Microsoft.SharePoint.ApplicationPages.IncomingEmailPage | OperationsPage : GlobalAdminPageBase |
FarmCredentialManagement.aspx | Microsoft.SharePoint.ApplicationPages.FarmCredentialManagementPage | OperationsPage : GlobalAdminPageBase |
irmadmin.aspx | Microsoft.SharePoint.ApplicationPages.IrmGlobalSettings | OperationsPage : GlobalAdminPageBase |
avadmin.aspx | Microsoft.SharePoint.ApplicationPages.AntiVirusConfigPage | OperationsPage : GlobalAdminPageBase |
BlockedFileType.aspx | Microsoft.SharePoint.ApplicationPages.BlockedFileTypePage | OperationsPage : GlobalAdminPageBase |
policyfeatures.aspx | Microsoft.Office.RecordsManagement.InformationPolicy. ApplicationPages.PolicyFeatures (Microsoft.Office.Policy.AdminPages.dll) | GlobalAdminPageBase |
managesso.aspx | Microsoft.SharePoint.Portal.SingleSignonAdministration.ManageSSOPage (Microsoft.SharePoint.Portal.dll) | SSOAdminBase : OfficeServerPageBase |
metrics.aspx | Microsoft.SharePoint.ApplicationPages.MetricsPage | OperationsPage : GlobalAdminPageBase |
LogUsage.aspx | Microsoft.SharePoint.ApplicationPages.LogUsagePage | OperationsPage : GlobalAdminPageBase |
policyRptConfig.aspx | Microsoft.Office.RecordsManagement.Reporting. ApplicationPages.PolicyRptConfig (Microsoft.Office.Policy.AdminPages.dll) | GlobalAdminPageBase |
CMSMigration.aspx | Microsoft.SharePoint.Publishing.Internal.CodeBehind.ManageMigrationProfile (Microsoft.Sharepoint.Publishing.dll) | Microsoft.SharePoint.WebControls. UnsecuredLayoutsPageBase |
SkuUpgrade.aspx | Microsoft.SharePoint.Portal.ServerAdmin.SkuUpgradePage(Microsoft.SharePoint.Portal.dll) | CentralAdminPageBase |
EnableFeatures.aspx | Microsoft.SharePoint.Portal.ServerAdmin.FeaturePushdownPage (Microsoft.SharePoint.Portal.dll) | CentralAdminPageBase |
Conversion.aspx | Microsoft.Office.Server.Internal.UI.ConversionPage | CentralAdminPageBase |
ServiceRunningJobs.aspx | Microsoft.SharePoint.ApplicationPages.TimerJobsPage | OperationsPage : GlobalAdminPageBase |
ServiceJobDefinitions.aspx | Microsoft.SharePoint.ApplicationPages.TimerJobsPage | OperationsPage : GlobalAdminPageBase |
sitedirectorysettings.aspx | Microsoft.SharePoint.Portal.ServerAdmin.SiteDirectorySettings (Microsoft.SharePoint.Portal.dll) | CentralAdminPageBase |
linkscheckerjobsettings.aspx | Microsoft.SharePoint.Portal.SiteAdmin.LinksCheckerJobSettings (Microsoft.SharePoint.Portal.dll) | CentralAdminPageBase |
AlternateUrlCollections.aspx | Microsoft.SharePoint.ApplicationPages.AlternateUrlCollectionsPage | GlobalAdminPageBase |
ManageFarmFeatures.aspx | Microsoft.SharePoint.ApplicationPages.ManageFarmFeaturesPage | ApplicationsManagementPage : GlobalAdminPageBase |
QuiesceFarm.aspx | Microsoft.Office.Server.Internal.UI.QuiesceFarmPage | CentralAdminPageBase |
Solutions.aspx | Microsoft.SharePoint.ApplicationPages.OperationsPage | GlobalAdminPageBase |
backup.aspx | Microsoft.SharePoint.ApplicationPages.BackupPage | BackupAdminPageBase : OperationsPage : GlobalAdminPageBase |
backuphistory.aspx | Microsoft.SharePoint.ApplicationPages.BackupHistoryPage | BackupAdminPageBase : OperationsPage : GlobalAdminPageBase |
restorestep1.aspx | Microsoft.SharePoint.ApplicationPages.RestoreStep1Page | BackupAdminPageBase : OperationsPage : GlobalAdminPageBase |
Restorestep3.aspx | Microsoft.SharePoint.ApplicationPages.RestoreStep3Page | BackupAdminPageBase : OperationsPage : GlobalAdminPageBase |
backupstatus.aspx | Microsoft.SharePoint.ApplicationPages.BackupStatusPage | BackupAdminPageBase : OperationsPage : GlobalAdminPageBase |
defaultcontentdb.aspx | Microsoft.SharePoint.ApplicationPages.DefaultContentDatabasePage | OperationsPage : GlobalAdminPageBase |
DspSettings.aspx | Microsoft.SharePoint.ApplicationPages.DspSettings | OperationsPage : GlobalAdminPageBase |
Deployment.aspx | Microsoft.SharePoint.Publishing.Internal.CodeBehind. DeployManagePathsAndJobsPage (Microsoft.Sharepoint.Publishing.dll) | BasePublishingPage : LayoutsPageBase : UnsecuredLayoutsPageBase |
DeploymentSettings.aspx | Microsoft.SharePoint.Publishing.Internal.CodeBehind.DeploySettingsPage (Microsoft.Sharepoint.Publishing.dll) | BasePublishingPage : LayoutsPageBase : UnsecuredLayoutsPageBase |
DeploymentStatus.aspx | Microsoft.SharePoint.Publishing.Internal. CodeBehind.DeploymentObjectStatusPage (Microsoft.Sharepoint.Publishing.dll) | BasePublishingPage : LayoutsPageBase : UnsecuredLayoutsPageBase |
Application Management | ||
applications.aspx | Microsoft.SharePoint.ApplicationPages.ApplicationsPage | GlobalAdminPageBase |
extendvsoption.aspx | Microsoft.SharePoint.ApplicationPages.ExtendVsOptionPage | GlobalAdminPageBase |
unextendvs.aspx | Microsoft.SharePoint.ApplicationPages.UnextendVirtualServerPage | ApplicationsManagementPage : GlobalAdminPageBase |
deletewebapplication.aspx | Microsoft.SharePoint.ApplicationPages.DeleteWebApplicationPage | ApplicationsManagementPage : GlobalAdminPageBase |
scprefix.aspx | Microsoft.SharePoint.ApplicationPages.SscPrefixPage | ApplicationsManagementPage : GlobalAdminPageBase |
vsemail.aspx | Microsoft.SharePoint.ApplicationPages.VSEmailConfigPage | ApplicationsManagementPage : GlobalAdminPageBase |
vsgeneralsettings.aspx | Microsoft.SharePoint.ApplicationPages.VirtualServerGeneralSettingsPage | ApplicationsManagementPage : GlobalAdminPageBase |
cntdbadm.aspx | Microsoft.SharePoint.ApplicationPages.ContentDBManagmentPage | ApplicationsManagementPage : GlobalAdminPageBase |
ManageWebAppFeatures.aspx | Microsoft.SharePoint.ApplicationPages.ManageWebAppFeaturesPage | ApplicationsManagementPage : GlobalAdminPageBase |
WebApplications.aspx | Microsoft.SharePoint.ApplicationPages.ListWebApplicationsPage | SelectWebApplicationPage : SelectPage : GlobalAdminPageBase |
managessp.aspx | Microsoft.Office.Server.Internal.UI.ManageSspPage | CentralAdminPageBase |
manageinterfarmservices.aspx | Microsoft.Office.Server.Internal.UI.ManageInterFarmServicesPage | CentralAdminPageBase |
checkfarmservices.aspx | Microsoft.Office.Server.Internal.UI.CheckFarmServicesPage | CentralAdminPageBase |
SessionStateAdmin.aspx | Microsoft.Office.Server.Internal.UI.SessionStateAdminPage | CentralAdminPageBase |
SPSecuritySettings.aspx | Microsoft.SharePoint.ApplicationPages.WebPartPageSettingsPage | ApplicationsManagementPage : GlobalAdminPageBase |
configssc.aspx | Microsoft.SharePoint.ApplicationPages.ConfigSscPage | ApplicationsManagementPage : GlobalAdminPageBase |
vsmask.aspx | Microsoft.SharePoint.ApplicationPages.VirtualServerMaskPage | ApplicationsManagementPage : GlobalAdminPageBase |
policy.aspx | Microsoft.SharePoint.ApplicationPages.PolicyPage | ApplicationsManagementPage : GlobalAdminPageBase |
AuthenticationProviders.aspx | Microsoft.SharePoint.ApplicationPages.GlobalAdminPageBase | |
managesearchservice.aspx | Microsoft.SharePoint.Portal.Search.Admin.Pages.ManageSearchService (Microsoft.SharePoint.Portal.dll) | SearchCentralAdminPageBase : CentralAdminPageBase |
workflowadmin.aspx | Microsoft.SharePoint.ApplicationPages.WorkflowAdminPage | ApplicationsManagementPage : GlobalAdminPageBase |
createsite.aspx | Microsoft.SharePoint.ApplicationPages.CreateSitePage | ApplicationsManagementPage : GlobalAdminPageBase |
delsite.aspx | Microsoft.SharePoint.ApplicationPages.DeleteSitePage | ApplicationsManagementPage : GlobalAdminPageBase |
DeleteSiteConfig.aspx | Microsoft.SharePoint.ApplicationPages.DeleteSiteConfig | ApplicationsManagementPage : GlobalAdminPageBase |
ManageQuotaTemplate.aspx | Microsoft.SharePoint.ApplicationPages.ManageQuotaTemplatePage | ApplicationsManagementPage : GlobalAdminPageBase |
SiteQuota.aspx | Microsoft.SharePoint.ApplicationPages.SiteQuotaPage | ApplicationsManagementPage : GlobalAdminPageBase |
owners.aspx | Microsoft.SharePoint.ApplicationPages.OwnersPage | ApplicationsManagementPage : GlobalAdminPageBase |
SiteCollections.aspx | Microsoft.SharePoint.ApplicationPages.ListSitesPage | SelectSitePage : SelectPage : GlobalAdminPageBase |
OfficialFileAdmin.aspx | Microsoft.SharePoint.ApplicationPages.OfficialFileAdminPage | ApplicationsManagementPage : GlobalAdminPageBase |
HtmlTransAdmin.aspx | Microsoft.SharePoint.ApplicationPages.HtmlTransAdminPage | ApplicationsManagementPage : GlobalAdminPageBase |
DocTransAdmin.aspx | Microsoft.SharePoint.ApplicationPages.DocTransAdminPage | ApplicationsManagementPage : GlobalAdminPageBase |
ManageFormTemplates.aspx | Microsoft.Office.InfoPath.Server. ApplicationPages.ManageFormTemplatesPage (Microsoft.Office.InfoPath.Server.Pages.dll) | GridViewPageBase : AdminPageBase |
ipfsConfig.aspx | Microsoft.Office.InfoPath.Server. ApplicationPages.FormServerConfigPage (Microsoft.Office.InfoPath.Server.dll) | AdminPageBase |
UploadFormTemplate.aspx | Microsoft.Office.InfoPath.Server. ApplicationPages.UploadFormTemplatePage (Microsoft.Office.InfoPath.Server.dll) | AdminPageBase |
ManageDataConnectionFiles.aspx | Microsoft.Office.InfoPath.Server. ApplicationPages.ManageDataConnectionFilesPage (Microsoft.Office.InfoPath.Server.Pages.dll) | GridViewPageBase : AdminPageBase |
ManageFormsServiceProxy.aspx | Microsoft.Office.InfoPath.Server. ApplicationPages.ManageFormsServiceProxyPage (Microsoft.Office.InfoPath.Server.Pages.dll) | AdminPageBase |
Shared Services Administration | ||
managessp.aspx | Microsoft.Office.Server.Internal.UI.ManageSspPage | CentralAdminPageBase |
Building minimal SharePoint Central Administration Application Page.
Typical Central Admin Application Page inherits from Microsoft.SharePoint.ApplicationPages.GlobalAdminPageBase.
In order to be consistent with current pages we want to inherit the new:
• Operations Section page – from Microsoft.SharePoint.ApplicationPages.OperationsPage;
• Application Management page – from Microsoft.SharePoint.ApplicationPages.ApplicationsManagementPage;
Both OperationsPage and ApplicationsManagementPage classes overrides just one PageToRedirectOnCancel property from GlobalAdminPageBase.
Let’s build our first blank Central Admin Applications Management page:
Here is the code:
In order to be consistent with current pages we want to inherit the new:
• Operations Section page – from Microsoft.SharePoint.ApplicationPages.OperationsPage;
• Application Management page – from Microsoft.SharePoint.ApplicationPages.ApplicationsManagementPage;
Both OperationsPage and ApplicationsManagementPage classes overrides just one PageToRedirectOnCancel property from GlobalAdminPageBase.
Let’s build our first blank Central Admin Applications Management page:
Here is the code:
using System; using System.Web; namespace Sharepointalist.Samples.CentralAdmin { public class ApplicationManagementSamplePage : Microsoft.SharePoint.ApplicationPages.ApplicationsManagementPage { } }Here is the web page:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ApplicationManagementSamplePage.aspx.cs" Inherits="Sharepointalist.Samples.CentralAdmin.ApplicationManagementSamplePage, Sharepointalist.Samples.CentralAdmin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5f18faed9b7b4caf" MasterPageFile="~/_admin/admin.master"%> <asp:Content ID="Content1" contentplaceholderid="PlaceHolderAdditionalPageHead" runat="server"> </asp:Content> <asp:Content ID="Content2" contentplaceholderid="PlaceHolderPageTitle" runat="server"> </asp:Content> <asp:Content ID="Content3" contentplaceholderid="PlaceHolderPageTitleInTitleArea" runat="server"> </asp:Content> <asp:content ID="Content4" contentplaceholderid="PlaceHolderPageDescription" runat="server"> </asp:content> <asp:content ID="Content5" contentplaceholderid="PlaceHolderMain" runat="server"> </asp:content>
Deployment.
The best way to deploy Central Administration Application Pages is to create a feature. This is described numerous times, so I am not going to get deep this. Just don't forget:
In many cases we want to add a new link to our new page on the MOSS Central Administration Site. We can use Element Manifest file with CustomAction defined for that. Please refer to Custom Action Definitions and Default Custom Action Locations and IDs on MSDN for detailed info.
In short, we need to choose Location(Page) and select/create a Group for our link.
Possible Locations and Groups:
Here is a sample Elements.xml
Here is a sample Feature.xml
- Add breadcrumbs. Please check following Jan Tielens blog posts: Adding Breadcrumb Navigation to Application Pages in SharePoint Central Administration and Adding Breadcrumb Navigation to SharePoint Application Pages, the Easy Way
- Do not deploy your pages right into ADMIN folder. Create a subfolder.
In many cases we want to add a new link to our new page on the MOSS Central Administration Site. We can use Element Manifest file with CustomAction defined for that. Please refer to Custom Action Definitions and Default Custom Action Locations and IDs on MSDN for detailed info.
In short, we need to choose Location(Page) and select/create a Group for our link.
Possible Locations and Groups:
- Operations Page - Microsoft.SharePoint.Administration.Operations.
- Backup and Restore - BackupRestore;
- Data Configuration - DataConfiguration;
- Global Configuration - GlobalConfiguration;
- Logging and Reporting - LoggingAndReporting;
- Security Configuration - Security;
- Topology and Services - Topology;
- Upgrade and Migration - Upgrade;
- Content Deployment - ContentDeployment;
- Application Management Page - Microsoft.SharePoint.Administration.ApplicationManagement.
- Application Security - ApplicationSecurity;
- External Service Connections - ExternalService;
- SharePoint Site Management - SiteManagement;
- SharePoint Web Application Management - WebApplicationConfiguration;
- Workflow Management - WorkflowManagement;
- Search - SearchGroup;
- InfoPath Forms Services - IPFSApplicationConfiguration;
- Office SharePoint Server Shared Services - OfficeServerCoreServices;
- Application Created Page - Microsoft.SharePoint.Administration.ApplicationCreated.
- Links - Links;
- Shared Services Administration Page - Office.Server.ServiceProvider.Administration.
- User Profiles and My Sites - UAP;
- Search - Search;
- Excel Services Settings - ExcelServer;
- Audiences - AUD;
- Office SharePoint Usage Reporting - PortalAnalytics;
- Business Data Catalog - BDC;
Here is a sample Elements.xml
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomActionGroup Id="Sharepointalist.Samples.CentralAdmin.ApplicationManagementGroup" Location="Microsoft.SharePoint.Administration.ApplicationManagement" Title="Sharepointalist" Sequence="10" /> <CustomAction Id="Sharepointalist.Samples.CentralAdmin.ApplicationManagementSamplePage" GroupId="Sharepointalist.Samples.CentralAdmin.ApplicationManagementGroup" Title="Application Management Sample Page" Sequence="1" Location="Microsoft.SharePoint.Administration.ApplicationManagement"> <UrlAction Url="/_admin/Sharepointalist/Samples/ApplicationManagementSamplePage.aspx"/> </CustomAction> </Elements>
Here is a sample Feature.xml
<?xml version="1.0" encoding="utf-8" ?> <Feature Id="90AC28E1-F64B-42bb-AB51-C65590ED5CD4" Title="Sharepointalist Sample Central Administration Feature" Description="Sample Central Administration Feature. Please visit my web page at http://www.sharepointalist.com/" Version="1.0.0.0" Creator="http://www.sharepointalist.com/" ActivateOnDefault="True" Scope="Farm" xmlns="http://schemas.microsoft.com/sharepoint/" ReceiverAssembly="Sharepointalist.Samples.CentralAdmin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5f18faed9b7b4caf" ReceiverClass="Sharepointalist.Samples.CentralAdmin.FeatureHandler"> <Properties> <Property Key="GloballyAvailable" Value="true" /> </Properties> <ElementManifests> <ElementManifest Location="Elements.xml"/> </ElementManifests> </Feature>
Sharepoint, sharepoint, sharepoint...
ReplyDeleteno wonder your consultant fees are high.. you are a mess of xml tags, C#, etc..
best post ever!
ReplyDeletewas googling for this topic in agony for a few hours now! you saved me! THANKS!
Thanks a lot. simple and easy to follow! :)
ReplyDeleteFab, just fab! Love to see posts that make you feel alive. Too bad we do not get more of these. This made my soul smile….
ReplyDelete