PerformancePoint Planning Assignment Web Part for SharePoint

Update: Version 1.1 is now available

So the Adatis dev team have been busy!

As I mentioned in a previous post, one of our clients wanted to be able to show a user’s active PPS Planning assignments in their Sharepoint Portal in the same way you can see them in the assignments pane within Excel when you have the add-in installed.  “No Problem!” we said naively, assuming it wouldn’t be too tricky as everything is passed back and forth using the web service.   Anyone who has developed .Net Web Parts will know it’s a little convoluted, particularly if you want incorporate a decent user interface.  Calling the  Planning Web Service itself was relatively straight-forward though a couple of things were far from obvious and required work-arounds.

One of the development requirements was that none of the PPS dll’s should need to be installed on the server as it is purely a SharePoint box.  This made things a little more tricky as there is a bit more going on in the PPS excel add-in than just calling the web service!  It also needed to be configurable using the web part property editor as well using allowing users with the PPS Add-in installed to click on the hyperlink and open the assignment in Excel

Anyway a few weeks (a few late nights and a few more grey hairs) later it’s ready for a beta release:


There is currently no documentation around the planning web service so we took a good look round the dll’s that get installed with PPS using a great freeware product called Reflector and managed to piece together what was going in Excel when you connected to the PPS Server.


If anyone would like to try the web part please drop us an e-mail and we’ll be happy to send you a copy (with the usual disclaimers in case your server falls over in a heap!) in return for some testing and feedback.  We’ve only had a limited amount of time to test it so any help is much appreciated.  Once it’s stable we’ll put it on our Web site for download.

Thanks to Bully for just a little bit of help with the code ;).  Thanks also to Kevin White and Scott Heimendinger at Microsoft for some pointers in the right direction.