locked
Can the chart controlls be installed on SharePoint 2007 MOSS and used within SharePoint pages RRS feed

  • Question

  • Hello, in a work request I am going to produce a digital dashboard site on SharePoint 2007 Server MOSS. I have seen that Microsoft Chart Controls for ASP.NET has been released.  Can this be added to a SharePoint site?

    .NET 3.5 can be installed. 
    and I know you can do ASP.net Webparts 

    so I would think this is a yes but if anyone knows for definate then that would be a great help.

    thank you

    barry Allott 
    me,.
    Thursday, November 6, 2008 2:22 PM

Answers

  • Here are the settings you'll need if you use the SharePoint web part project template:

    1. AppSettings section:
    <add key="ChartImageHandler" value="Storage=memory;Timeout=20;Url=~/tempImages/;"/>

    2. System.Web - httpHandlers section   
    <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

    3. System.WebServer - handlers section
    <
    remove name="ChartImageHandler"/>
    ...
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    Friday, November 7, 2008 6:20 PM

All replies

  • This is possible but can be tricky (I tried this only with the Dundas predecessor of the MS chart). Here are few things that can help:

    1. Use the Sharepoint web part project template.

    2. Install the MSChart assembly into GAC on the sharepoint box.

    3. Update the root web.config for your sharepoint site. 
          - include reference to ChartAxd.axd handler. 
          - include the ChartHttpHandler appsetting.  
       (It might help to create another simple ASP.NET application with Chart and then look at the web.config to find an example of these settings) 

    4. If you have problems with the "storage=file" mode, you can try switching ChartHttpHandler appSetting into the "storage=memory" mode.

    5. If the web part is not working after installation - GAC the web part assembly.

    6. It really helps to run "iisreset" from command line every time you redeploy and try the results.

    Good luck.
    Victor.
    Thursday, November 6, 2008 6:06 PM
  • Hello, I downloaded the code sample and the web.config is below. I see something similar to ChartAxd.axd in ChartImg.axd, im guessing that is the correct one, but can you point out the rest I would need to copy over to the sharepoint site.

    <?xml version="1.0"?>  
    <!--   
        Note: As an alternative to hand editing this file you can use the   
        web admin tool to configure settings for your application. Use  
        the Website->Asp.Net Configuration option in Visual Studio.  
        A full list of settings and comments can be found in   
        machine.config.comments usually located in   
        \Windows\Microsoft.Net\Framework\v2.x\Config   
    --> 
    <configuration> 
      <configSections> 
        <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">  
          <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">  
            <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>  
            <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">  
              <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>  
              <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>  
              <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>  
              <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>  
            </sectionGroup> 
          </sectionGroup> 
        </sectionGroup> 
      </configSections> 
      <appSettings> 
        <add key="ChartImageHandler" value="Storage=file;Timeout=20;Url=~/tempImages/;"/>  
      </appSettings> 
      <connectionStrings/> 
      <system.web> 
        <!--   
                Set compilation debug="true" to insert debugging   
                symbols into the compiled page. Because this   
                affects performance, set this value to true only   
                during development.  
            --> 
        <compilation debug="true">  
          <assemblies> 
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
            <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>  
          </assemblies> 
        </compilation> 
        <!--  
                The <authentication> section enables configuration   
                of the security authentication mode used by   
                ASP.NET to identify an incoming user.   
            --> 
        <authentication mode="Windows"/>  
        <!--  
                The <customErrors> section enables configuration   
                of what to do if/when an unhandled error occurs   
                during the execution of a request. Specifically,   
                it enables developers to configure html error pages   
                to be displayed in place of a error stack trace.  
     
            <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">  
                <error statusCode="403" redirect="NoAccess.htm" /> 
                <error statusCode="404" redirect="FileNotFound.htm" /> 
            </customErrors> 
            --> 
        <pages> 
          <controls> 
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
            <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>  
          </controls> 
        </pages> 
        <httpHandlers> 
          <remove path="*.asmx" verb="*"/>  
          <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>  
          <add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>  
          <add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>  
          <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>  
        </httpHandlers> 
        <httpModules> 
          <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
        </httpModules> 
      </system.web> 
      <system.codedom> 
        <compilers> 
          <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">  
            <providerOption name="CompilerVersion" value="v3.5"/>  
            <providerOption name="WarnAsError" value="false"/>  
          </compiler> 
          <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">  
            <providerOption name="CompilerVersion" value="v3.5"/>  
            <providerOption name="OptionInfer" value="true"/>  
            <providerOption name="WarnAsError" value="false"/>  
          </compiler> 
        </compilers> 
      </system.codedom> 
      <!--   
            The system.webServer section is required for running ASP.NET AJAX under Internet  
            Information Services 7.0.  It is not necessary for previous version of IIS.  
        --> 
      <system.webServer> 
        <validation validateIntegratedModeConfiguration="false"/>  
        <modules> 
          <remove name="ScriptModule"/>  
          <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
        </modules> 
        <handlers> 
          <remove name="WebServiceHandlerFactory-Integrated"/>  
          <remove name="ScriptHandlerFactory"/>  
          <remove name="ScriptHandlerFactoryAppServices"/>  
          <remove name="ScriptResource"/>  
          <remove name="ChartImageHandler"/>  
          <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
          <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
          <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
          <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>  
        </handlers> 
      </system.webServer> 
      <runtime> 
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
          <dependentAssembly> 
            <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>  
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>  
          </dependentAssembly> 
          <dependentAssembly> 
            <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>  
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>  
          </dependentAssembly> 
        </assemblyBinding> 
      </runtime> 
    </configuration> 
     

     


    me,.
    Friday, November 7, 2008 9:32 AM
  • Here are the settings you'll need if you use the SharePoint web part project template:

    1. AppSettings section:
    <add key="ChartImageHandler" value="Storage=memory;Timeout=20;Url=~/tempImages/;"/>

    2. System.Web - httpHandlers section   
    <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

    3. System.WebServer - handlers section
    <
    remove name="ChartImageHandler"/>
    ...
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    Friday, November 7, 2008 6:20 PM
  • Hi,

    our team is currently planning to use these chart controls in a SharePoint solution, and I had to produce a POC recently.
    So here is a tutorial : 

    http://mosshowto.blogspot.com/2008/11/chart-controls-net-framework-sharepoint.html

    My web.config is a little bit different, and another important point is to copy the Chart Controls images in the 12 hive directory and use a virtual path since you re not usually allowed to access to FSO with SharePoint.

    Hope that helps



    Saturday, November 29, 2008 7:11 AM