Thursday, August 26, 2010

SharePoint 2010 Chart Web Part v/s Dundas Chart for SharePoint

I was really excited to hear that Microsoft was finally going to offer a decent OOTB Charting web part when I heard about the Chart Web part in SP 2010. Having used the Dundas Chart Web part for Sharepoint extensively in SP 2007, I told all my team members that this would eliminate the need to renew our Dundas Chart license once we migrated to 2010, since Microsoft acquired the same web part from Dundas.

Well, I spoke too soon.

After I started playing with the SP 2010 web part, I realized ,even though Microsoft made it a part of the OOTB offering, they elimininated several powerful features from it. The lack of those features made the the 2010 Chart web part less useful for our purposes.

The list of those features is as follows:

1) Code Editor:

Dundas chart has a great Code Editor that lets you do things like manipulate data formats, apply business logic, hide/show the chart web parts etc. See the screenshots below:




Counter Argument: Some of these tasks can be done in Performance Point, but that does involve migration effort. Also the Chart web part is probably sealed so we cannot extend it.

2) Connect to External Data sources

This was a real bummer. In SP 2007, we built several Dundas Dashboards using a custom sql server database and simply writing stored procs that returned data to the Dashboards.

By not including this option, we were suddenly faced with a huge development effort of recreating all our existing dashboards to use some other data source, such as a SP List or BDC.

Please see screenshot below:


Counter Argument: This could be accomplished in BCS, but that again involves migration effort.

3) Advanced Properties

In version 2.6 of the Dundas Chart, several new and useful Advanced Properties were introduced, such as the ability to do Aggregation Operations on data from an Excel Worksheet at run time. This option was not included in SP Chart web part.

Hopefully in a future release of Sharepoint, or a Service Pack, this functionality would be introduced.

Please see screenshot below:


Counter Argument: Once again, some of these could be done using Analysis Services, BCS or Performance point.

Conclusion:

Power users of Dundas Dashboards cannot expect to save maintenance effort and costs by migrating to the Sharepoint 2010 Chart web part. They will need to migrate to the Dundas Chart for sharepoint 2010.

Thursday, August 19, 2010

SharePoint 2007 issue with Alerts and Event Reciever triggerred on the same list Item

We ran into an interesting issue with SharePoint 2007 alerts recently. I dont know if it has been addressed in SP 2010.

Here is the issue:

- We have a list that has an Event Reciever. The Event Reciever is fired after an Item is Added or Updated, and it updates a number of columns based on the selection the user makes on a particular column (a drop down list). The updates are made based on references to a look up list.

For example, let's assume there is a column called Country ( a drop down list) on the list. There is another column called Public Debt on the list. The default value of the Public Debt column is 0. The user selects United States and submits the entry. On submit, the event reciever is fired and it updates the column called Public Debt with a value stored in another Lookup list.

Now, assume a user has set up an alert for All types of changes ( inserts, updates and deletes). The Alert Email displays the default value of the Columns that are supposed to be set by the Event Reciever. Hence, when a new Item is created the Alert Email displays 0 for the Public Debt column instead of the value set by the Event Reciever. However, the values are displayed correctly in the List Item. That means the Alert Email is created BEFORE the event reciever has run, which is inexplicable.

Now the interesting part is as follows: if the user updates the same list item once again ( even if it is a dummy update, in other words, a column other than Public Debt and Country ), the Alert Email displays the correct vaue.

This causes confusion amongst users, who see values different in emails from those in the List Items.

The onlyy solution I can see to this problem is to use the Event Reciever to send Alert Emails and tell users that the 'Alert Me' functionality has been disabled for that List.