How do I deploy the Monitoring web part on a separate SharePoint Web Application on the same SharePoint Web Server?

 

The component Dashboard Viewer for SharePoint Services (DVSS) contains the following

-          A web part solution (PSCWebparts.cab)

-          A custom master page (PerformancePointdefault.master)

During installation of this component, the Configuration Manager does the following:

a.       Adds PSCWebparts.cab to the Solution Store of the SharePoint Web Server.

b.      Deploys PSCWebparts.cab to the SharePoint Web application of the site collection selected in Configuration Manager.

c.       Deploys PerformancePointdefault.master locally on the site collection selected (top level only)

d.      Configures the web.config of the selected SharePoint site collection

Let say for example, the site collection https://Contoso_company:50000/sites/HR/ is selected in Configuration Manager for DVSS. During installation of DVSS,

a.       PSCWebparts.cab is added to the Solution Store of the SharePoint web server.

b.      PSCWebparts.cab is deployed as a solution on https://Contoso_company:50000/

c.       PerformancePointdefault.master is added to https://Contoso_company:50000/sites/HR/_catalogs/masterpage/

 

It is possible to manually deploy DVSS on a SharePoint site which is on a separate SharePoint web application on the same Web server. (for example: https://Contoso_company:44444/sites/SALES/)

There are 3 steps involved in accomplishing this.

STEP 1  - DEPLOY the web part solution to the Web application

The web part solution need not be ADDED, as the Configuration Manager would have already added it to the Solution store of the SharePoint Web server during initial installation of DVSS.

 

Run the following STSAdm command to DEPLOY the web part solution to the second SharePoint web application. Replace Your_SharePoint_WebApp_URL with the URL of the SharePoint web application including the port number.

 

stsadm.exe -o deploysolution -name PSCWebParts.cab -url  

https:// Your_SharePoint_WebApp_URL /   -local -allowgacdeployment -force 

 

In the case of SharePoint site example referenced in this article, the command line would be:

stsadm.exe -o deploysolution -name PSCWebParts.cab -url  

https://Contoso_company:44444/ -local -allowgacdeployment -force 

 

To confirm if the web part (pscwebpart.cab) has been deployed as a solution on your SharePoint site, go to Central Administration à Operations à Global Configuration à Solution Management. (https://Your_Central_Admin_Site_URL/ _admin/solutions.aspx)

 

STEP 2  - Copy the master page to the new SharePoint site's master page gallery (web folder view)

The master page can be found at C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\Assemblies\PerformancePointDefault.master

To go to the web folder view of master page catalog for a site, go to https://Constoso_Company:60000/sites/Sales/_catalogs/masterpage. Select Actions àOpen with Windows Explorer. Copy the master page to this location.

 

STEP 3  - Add the following entries in web.config of the SharePoint web application

Add the following entries if any of the entries are not present in the web.config of the SharePoint web application (https://Consoto_Company:44444/) .

 

IMPORTANT: Backup the web.config file before making any updates.

 

a.       Entries under  <configSections> node

 

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />

          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />

        </sectionGroup>

      </sectionGroup>

    </sectionGroup>

    <sectionGroup name="Bpm">

      <section name="CustomReportViews" type="System.Configuration.DictionarySectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

      <section name="CustomDataSourceProviders" type="System.Configuration.DictionarySectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

      <section name="FCODaoProviders" type="System.Configuration.DictionarySectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

      <section name="CustomParameterDataProviders" type="System.Configuration.DictionarySectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

      <section name="CustomViewTransforms" type="System.Configuration.DictionarySectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

    </sectionGroup>

 

 

b.      Entries under  <httpHandlers> node

 

<remove verb="*" path="*.asmx" />

      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

 

 

c.       Entries under  <httpModules> node

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

 

d.      The <globalization> node

 

<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="auto" uiCulture="auto" />

 

 

e.      Entries under  <assemblies> node

 

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

 

 

f.        Entries under  <pages> node

 

<controls>

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

</controls>

 

 

g.       Entries under  <system.web> node

 

    <webServices>

      <protocols>

        <add name="HttpGet" />

        <add name="HttpPost" />

      </protocols>

    </webServices>

 

 

h.      Entries under  <appSettings> node. Replace YOUR_DATABASE_SERVER with the SQL server instance where the Monitoring database is installed.

   

<add key="Bpm.MonitoringConnectionString" value="Data Source= YOUR_DATABASE_SERVER;Initial Catalog=PPSMonitoring;Integrated Security=True" />

    <add key="Bpm.ServerConnectionPerUser" value="False" />

    <add key="Bpm.ElementMemoryCacheTime" value="5" />

    <add key="Bpm.EnableAnalyticQueryLogging" value="False" />

    <add key="Bpm.UseASCustomData" value="False" />

    <add key="Bpm.IndicatorImageCacheTime" value="10" />

    <add key="Bpm.DataSourceQueryTimeout" value="300" />

    <add key="ExportToExcelEnabledControls" value="PivotChart,SqlReport,TrendAnalysisChart,Scorecard,OLAPGrid,OLAPChart" />

    <add key="ExportToPowerPointEnabledControls" value="PivotChart,TrendAnalysisChart,Scorecard,OLAPGrid,OLAPChart" />

 

 

i.         Entries under  <configuration> node

 

<Bpm>

    <CustomReportViews>

      <add key="OLAPChart" value="Microsoft.PerformancePoint.Analytics.WebControls.OlapChartCtrl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="OLAPGrid" value="Microsoft.PerformancePoint.Analytics.WebControls.OlapGridWebControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="OlapMetadata" value="Microsoft.PerformancePoint.Analytics.WebControls.OlapCubeMetadata, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="PivotChart" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="PivotTable" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="Spreadsheet" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="SqlReport" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="StrategyMap" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="TrendAnalysisChart" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="Url" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="PasPage" value="Microsoft.PerformancePoint.Scorecards.WebControls.ReportViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="Scorecard" value="Microsoft.PerformancePoint.Scorecards.WebControls.ScorecardCtrl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="SingleSelectList" value="Microsoft.PerformancePoint.Scorecards.WebControls.SingleSelectDropDownControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="SingleSelectTree" value="Microsoft.PerformancePoint.Scorecards.WebControls.SingleSelectTreeViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="TimeIntelligenceCalendar" value="Microsoft.PerformancePoint.Scorecards.WebControls.TimeIntelligenceCalendarControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="MultiSelectTree" value="Microsoft.PerformancePoint.Scorecards.WebControls.MultiSelectTreeViewControl, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ExcelServices" value="Microsoft.PerformancePoint.Scorecards.WebControls.ExcelServicesReportView, Microsoft.PerformancePoint.Scorecards.WebControls, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    </CustomReportViews>

    <CustomDataSourceProviders>

      <add key="ADOMD.NET" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.AdomdDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ODBC" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.OdbcDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ExcelWorkbook" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ExcelDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ExcelServicesWorkbook" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ExcelServicesDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="SqlTabularDataSource" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.SqlTabularDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="SpListDataSource" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.SpListDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="SAPBW" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.SapBwDataSourceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.SapBW, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    </CustomDataSourceProviders>

    <FCODaoProviders>

      <add key="TempReportViewDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.TempReportViewDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="DashBoardDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.DashBoardDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="DataSourceDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.DataSourceDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="IndicatorDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.IndicatorDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="KpiDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.KpiDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ReportViewDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.ReportViewDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ScorecardDao" value="Microsoft.PerformancePoint.Scorecards.Server.Dao.ScorecardDao, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    </FCODaoProviders>

    <CustomParameterDataProviders>

      <add key="MemberParameterDataProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.MemberParameterDataProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="NamedSetParameterDataProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.NamedSetParameterDataProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="MDXParameterDataProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.MDXParameterDataProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="StaticList" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ParameterStaticListProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ParameterScorecardCellProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ParameterScorecardCellProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ParameterScorecardColumnMemberProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ParameterScorecardColumnMemberProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ParameterScorecardKpiProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ParameterScorecardKpiProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ParameterScorecardRowMemberProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ParameterScorecardRowMemberProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="TimeIntelligenceProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.TimeIntelligenceProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="TimeIntelligencePostFormulaProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.TimeIntelligencePostFormulaProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ScorecardProvider" value="Microsoft.PerformancePoint.Scorecards.DataSourceProviders.ParameterScorecardProvider, Microsoft.PerformancePoint.Scorecards.DataSourceProviders.Standard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    </CustomParameterDataProviders>

    <CustomViewTransforms>

      <add key="ExpandNamedSets" value="Microsoft.PerformancePoint.Scorecards.GridViewTransforms.ExpandNamedSets, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="RowsColumnsFilterTransform" value="Microsoft.PerformancePoint.Scorecards.GridViewTransforms.RowsColumnsFilterTransform, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="AnnotationTransform" value="Microsoft.PerformancePoint.Scorecards.GridViewTransforms.AnnotationTransform, Microsoft.PerformancePoint.Scorecards.Server, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="UpdateDisplayText" value="Microsoft.PerformancePoint.Scorecards.GridViewTransforms.UpdateDisplayText, Microsoft.PerformancePoint.Scorecards.Client, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ComputeRollups" value="Microsoft.PerformancePoint.Scorecards.GridViewTransforms.ComputeRollups, Microsoft.PerformancePoint.Scorecards.Client, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <add key="ComputeAggregations" value="Microsoft.PerformancePoint.Scorecards.GridViewTransforms.ComputeAggregations, Microsoft.PerformancePoint.Scorecards.Client, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    </CustomViewTransforms>

  </Bpm>

After completing these three steps, the second SharePoint site (https://Contoso_company:44444/sites/Sales) can be used for deploying dashboards.

Sujit Philip (sujitp@microsoft.com)