How to handle a sophisiticated status reporting system requirement using SP2007?
Hello i just completed a workflow system using 2007 and somehow i lucked out and made it work and the reason it worked is because there wasn't anything really complex about it and i was able to create a parent child key relationships using create another
list and pass the parent key the child, whewww thank goodness.
But now i realize that to create some of the most basic applications like a status reporting application with rollups of the entries to monly levels will be impossible using "out of the box" features, so how it is that Sharepoint is so popular when you really
can't do anything close in sophistication that you can do with regular ASP.net?
in other words what i'm saying is i was lucky this time around and now everyone wants me to start doing real sophisticated apps, well like status reports, which are pretty sophisticated when i look at what Sharepoint really has to offer! In other words,
if its not a straight add update delete list, you really can't even do basic reporting with Sharepoint, so why is SP doing so well, is it because people are doing the sophisticated stuff with BCD or InfoPath, is that how one would handle sophisticated apps?
P.S again, i've been lucky up to now with simple apps, but now i'm worried about selling SP any further knowing its real limitations, ie 2007
Or in other words how would you handle a sophisiticated status reporting system requirement using SP2007, ie with daily updates, monthly rollups and final reporting of status ect ect?
May 26th, 2011 7:09pm
Well, first off, in SharePoint you can do absolutely everything that you can do in ASP.Net. SharePoint is built on top of ASP.Net and allows you to extend and enhance it with your own ASP.Net in a number of ways. What makes SharePoint so popular is that
it gives you so much on top of ASP.Net. It gives a huge amount of functionality stright out of the box that is easily accessible and configurable, even to non-technical users, although more technical users can get even more out of it. It also gives an
incredible amount of "semi-out of the box" functionality which can be configured by more technical users (or perhaps BAs etc), such as stuff like InfoPath forms, SharePoint Designer workflows, data views etc. Finally, when the other options fail it's easily
extensible with your own code like custom web parts, coded workflows, event recievers, layouts/application pages amongst others, and SharePoint provides a nice API which makes a lot of stuff super easy.
I'm assuming that you are an ASP.Net developer who is now trying to get to grips with SharePoint. It's a tough leap to make. When you are used to starting an application from scratch or perhaps using a relatively light framework, it can be tough to start
working within the already fleshed-out confines of a platform like SharePoint, it can feel a bit like trying to rearrange the contents of a black box by poking your finger in the side. And you start to find that SharePoint wants you to do things in particular
ways which don't make a whole lot of sense at first.
But in time, as you learn more about SharePoint, you find that it actually all does make a hell of a lot of sense and you start to accept the way SharePoint wants you to do things. And you start to build up a toolkit of things you know how to do easily
OOTB, semi-OOTB and with your own code. As you gain experience you start to know instinctively which bits of those toolkits will work well for your requirements, and you'll start to be able to guide requirements from early on in a project so that you can maximise
OOTB functionality and only fall back to semi-OOTB or code when completely nessecary.
But none of that probably helps your current situation very much. There's a number of things you can look at for sophisticated reporting in SharePoint.
-One way is to just let your users export lists to excel and create pivottables and pivotcharts etc. Excel by default will maintain the connections to your lists as data sources so the report can be saved and then refreshed when opened or as needed.
(or you could create the excel reports form them and let them open them).
-You could display the lists as web parts on a web part page, create specialised views and add filter web parts. Easy to do but fairly limited if it doesn't meet your needs.
-You could use SharePoint Designer to add a Data Viewer Web Part. This is a specialised flexible web part. It's highly customiseable just using the options in SharePoint Designer to set it's data source, customise it's layout and set parameters, filters
etc. You can also customise the XSLT for complete flexibility. (you build pretty complex apps easily using a few pages with DVWPs with custom XSLT to pass paramters and values between each other.)
-You could use SQL Server Reporting Services which can use sharepoint lists as a data source and build out repots in it. This can be installed totally seperate to SharePoint, or in SharePoint Integrated mode. Either way you can put a web part on SharePoint
pages to display annd work with the reports.
-You could build a cutom layouts/application page. This is pretty much your standard ASP.Net page with or without code, it sits in SharePoint's layouts folder and runs in the context of the site its is navigated to from. Layouts is a special folder in SharePoint
such that http://portal/site1/_layouts/mypage.aspx and
http://portal/site2/_layouts/mypage.aspx both point to the same aspx file but it runs in the context of site1 and site2 repectively.
-You could also do custom web parts, a custom web part is pretty much a class in a class library that inherits from the base web part type, you just need to implement a method to write out whatever html you want.
The last two have project templates available in Visual Studio 2010, or with the VSeWSS add-on for earier versions. Whatever approach works best gor your requirements, I can pretty much gaurantee it'll be a lot quicker and easier than starting an ASP.net
app from scratch.
Free Windows Admin Tool Kit Click here and download it now
May 27th, 2011 7:27am
Thank You Steven for your very thoughtful and indepth response and and i am now alot more encouraged to move forward in working with and understanding Sharepoint's capbilities!
Have a nice weekend Steven!
May 27th, 2011 1:50pm