Today I decided to try and focus a little bit on development as I hadn’t attended many of those sessions yet. Some turned out to be a lot more technical and informative than others, but in the end I did see some cool new features that got me excited about the future. Each session I attended is listed below with some of the highlights.
- Workflow Enhancements in SP 2010
One disappointing thing to hear was that SP 2010 will use continue to use Workflow Foundation 3.5 instead of 4.0 which is supposed to come out early next year. This essentially means that workflows will remain quite the same, at least in design, as they were in 2007. There were a few cool changes though listed below.
You can now create a workflow in SharePoint Designer (SPD) and then export it to a .wsp file. This can then be imported into visual studio (VS) to make further changes. So, another way to look at this is that you can now create reusable workflows in SPD! The only downside is that you can’t turn around and export it back into SPD once changes have been made to it in VS. This will at the very least give people a good way to create reusable workflows, or get started with the basic structure of a workflow before jumping into VS.
They also added workflow initiation and association forms into Visual Studio, so now it is very simple to add forms to kick off your workflows. What used to involve making an InfoPath form and manually tying it back into the workflow now only takes a couple of clicks!
There is also a new kind of workflow, called a “Site Workflow” that does not need to be tied to a list item. Basically it is stored at the site level and has to be started manually. In the past there were instances when you wanted a workflow, but had to end up tying it to a dummy list item to get it started, so this was a nice little enhancement. The example demonstrated was related to site creation. When a user wanted a new blog site created, they would fill out the instantiation form requesting a blog and click submit. The workflow then created a task, and if they task was completed it would create the site – kind of cool.
The last big enhancements to workflows is that they can now interact directly with external systems. For example, a workflow inside of SharePoint can send out a request for some kind of information to an external system. It will then go to sleep and idle until the workflow system receives a response from that system. At that point, the workflow will wake up and resume processing – very neat.
- Creating a Reporting Environment in 2007 and 2010
I was a little disappointed that most of this session revolved around SP 2007, which consisted of installing the Add on for Reporting Services to the SharePoint server. If you haven’t seen this, it is kind of neat and essentially allows you to display reports generated in Reporting Services inside of SharePoint. This is pretty cool as it is a free add on, so if you use reporting services you should check it out.
The only new things they demonstrated are that it now supports Alternate Access Mapping (AAM) – apparently it only used to work for the default zone, I didn’t know that. Also, it now has native support for reporting on data in SharePoint lists and this engine is also what Access Services uses when displaying reports in the browser. One last thing, they said it is easier to install this if you install the Add on and then Install SharePoint Server… Good to note I guess if you are starting from scratch.
- REST and LINQ in SharePoint
This was a great, fast paced sessions where they basically showed several different methods of getting at data stored inside of SharePoint. The best part is that they posted their code samples used during the demonstration Here for anyone to access.
Client Side Access Techniques: REST gives us a very quick and easy way to get data in XML format out of a SharePoint list simply by passing it a correctly formatted URL. You can also do some pretty cool things like filtering the data by passing it a filter tag in the query string. This was something that would have definitely made my life easier over the past couple of years. The client Object Model is something new that was demonstrated as well. Basically using .NET or Javascript you are able to queue up a bunch of calls to the SharePoint server and then issue an execute command for them to be well… executed. We essentially have a lot more tools to develop client side web apps now with SharePoint.
Server Side Access Techniques: LINQ is much better than I would have imagined. Essentially SharePoint supports it not so that you can write a simple LINQ query that looks similar to SQL instead of CAML. Did anyone like CAML? Anybody??? I didn’t think so. SharePoint will then behind the scenes translate your LINQ query into CAML, but as far as the developer is concerned it is all LINQ.
- Themeing and Branding in SP 2010
I was kind of dissapointed in this session as it just didn’t cover very much. He spent most of the time going over Themes which are much improved, but the session ended 30 minutes early and wasn’t very Technical.
Themes are much more flexible in SP 2010, allowing you to change the colors of the theme directly in the browser, or you can create you own in the browser as well. No longer do they have to be created by IT (This could be good and bad…). Master Pages remain much the same in their structure, and if you need to upgrade an existing master page in general terms, all you need to do is add support for the Ribbon and remove some duplicate items. He made it sound like it wouldnt be that difficult which kind of suprised me.
The biggest thing to come out of this session though was they it was promised that there will be deep documentation relating to masterpages, outlining every item in the new default masterpage, what it does and why it is there. This kind of information would have been very useful in 2007.
- Building Data Centric Applications (The Data View WebPart)
This session was actually really cool. If you haven’t played with the Data View web part before, it is really powerful in that you can pull in data from a lot of different sources, format it and display it right in the browser. Well, it is used a lot more in SP 2010. In fact, the List View web part is no longer – you know, the web part used when you were looking at a list. Well now, that uses a Data View Web Part now and is hence much more flexible. Also, important to note is that you need SPD to add a data view – cant do it through the browser.
So, the first thing to note is that you can now bring in Data from multiple sources into the same Data View web part. The demo was bringing in data from a SP list and an XML file and merging them by a common field of customer. This is very powerful, as you can build some rich applications, combining a customer list stored in SharePoint with timesheet data or production metrics stored in some external system into one location to easily summarize the data. There were also a couple of different ways to combine the data that were pretty powerful.
The coolest thing shown however was combining JQuery with the Data view webpart. If you haven’t used JQuery before, it is basically JavaScript classes that let you build powerful, great looking applications without writing much code at all – a really great resource to learn. The first demo made the description of a document pop up when you hover over the document’s name which was kind of neat. Then he took it further, using the JQuery SparkLine class to turn CSV data into a chart, directly in the data view. He then added 1 line of AJAX code to make the CSV data update every 15 seconds, without posting back to the server. So with very little code, he built an auto updating view of data that combined different data sources to build a nice looking dashboard. Very impressive.