رفع خطای شیرپوینت هنگام Deploy نمودن دشبوردهای Performance Point Server 2007

سلام

چند روز پیش تصمیم داشتم تا دشبوردهایی که در PPS2007 توسط SSAS 2005 ایجاد کرده بودم را در شیرپوینت Deploy کنم. پس از Deploy کامل دشبوردها به شیرپوینت، هنگام نمایش اطلاعات با پیغام خطای زیر مواجه شدم :

WebPart : An Unexpected Error Occurred

پس از حدود چند ساعت بررسی و تحقیق مشکل رو برطرف کردم و اکنون تصمیم دارم نحوه رفع این مشکل رو برای شما توضیح بدم.

گام اول :

کامپننت Dashboard Viewer for SharePoint Service یا DVSS  شامل یک وب پارت Solution به نام PSCWebparts.cab می باشد که شما باید ابتدا آنرا از طریق دستور زیر بر روی سایتی که قرار هست دشبوردها داخل آن Deploy شوند، فعال کنید :

stsadm.exe -o deploysolution -name PSCWebParts.cab -url http://Site/ -local -allowgacdeployment -force

به جای http://Site نام سایت شیرپوینتی را وارد کنید. به عنوان مثال : http://mymosssite:23000

گام دوم :

کامپننت Dashboard Viewer for SharePoint Service یا DVSS  همچنین شامل یک مسترپیج به نام PerformancePointDefault.master می باشد که باید آنرا از آدرس زیر کپی و به لیست MasterPage های سایت شیرپوینتی اضافه کنید :

C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\Assemblies

گام سوم :

تگ ها و خطوط زیر را به ترتیب زیر در فایل web.config سایت شیرپوینتی درج کنید…

– خطوط زیر را در پایین تگ <configSections> اضافه کنید :

<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>

– خطوط زیر را در پایین تگ <httpHandlers> اضافه کنید :

<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" />

– خط زیر را در پایین تگ <httpModules> اضافه کنید :

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions,

Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

– خط زیر را در پایین تگ <globalization> اضافه کنید :

<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8"

culture="auto" uiCulture="auto" />

– خط زیر را در پایین تگ <assemblies> اضافه کنید :

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35" />

– خطوط زیر را در پایین تگ <pages> اضافه کنید :

<controls>

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

</controls>

  – خطوط زیر را در پایین تگ <system.web> اضافه کنید :

<webServices>

      <protocols>

        <add name="HttpGet" />

        <add name="HttpPost" />

      </protocols>

    </webServices>

   – خطوط زیر را در پایین تگ <appSettings> اضافه کنید ، به جای عبارت DataBase Server نام سرور SQL خود را که دیتابیس Monitoring مربوط به PPS 2007 را در آن ایجاد کرده اید ، وارد کنید :

<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" />

– قبل از تگ بسته </configuration> خطوط زیر را اضافه کنید :

<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>

پس از انجام مراحل فوق، تغییرات فایل web.config را ذخیره کنید و صفحه ای که دشبورد را در آن Deploy کرده بودید، باز کنید. مشاهده خواهید کرد که دشبوردها به درستی نمایش داده خواهند شد!

موفق باشید.

 

پاسخ دهید