views:

177

answers:

2

We have Data Mart DB with performance data which we need to show in a SharePoint application. The data will change only once a day. We need to show a lot of graphs as part of the data. We have kind of decided to use Dundas. But we are planning to explore other charting solutions that I'd like to know from the group.

What is the best way to generate the graphs? (Do we need to build any Data Layer in .Net to generate graphs and store them?) Data will not change throughout the daytime.

Where can we store the graphs - in SharePoint or the file system? What is the best approach?

Performance is our main criteria, since it is going to be a public facing site.

+1  A: 

As for generating the graphs I can't really advise. But for optimum performance in doing so you'll want to generate the graphs overnight when I'm assuming the server load will be minimal. I would probably go about creating a timer job that does the neccessary graph generation either natively or by calling out to something else. You would then end up with your graphs and you can programmatically add them to a hidden list somewhere. From here the graph content can be accessed throughout the day in your pages, webparts ect.

Dan Revell
I agree with this solution. You might store the generated graphes in a list, that way they will be stored in the content database and will be included in database backups and farm scenarios will be supported. It's probably best to deploy this in a feature and be careful deploying the .dlls so that they are trusted (http://blog.henryong.com/2009/09/02/code-access-security-vs-global-assembly-cache-vs-full-trust-bin-deployment-for-sharepoint/)
armannvg
+2  A: 

Look at the open source project ChartPart for SharePoint. This contains code to generate nice graphs from SharePoint lists. I think the best solution is to combine this with Dan's idea of writing a timer job. The timer job can store data in the SharePoint lists for ChartPart to use as source data.

The ChartPart uses the Microsoft Chart Controls for Microsoft .NET Framework 3.5 so you would need to install this as well as .NET 3.5 on your servers. This is a simple install and nothing to be concerned about.

Alex Angas