SharePoint 2010 – Out of NDA and All Over Twitter

October 27, 2009

Last week the Microsoft SharePoint Conference 2009 was held in Las Vegas, and following Steve Ballmer’s Keynote address, the NDA was lifted.  Very soon after came lots of blog posts and tweets about all of the new features.

Here at WorkerThread Towers we’ve had access to the preview bits of both Office 2010 and SharePoint 2010 since July and I’ve been doing my best to try out all of the new features in both.  I’ve also had a look at SQL Server 2008 R2, and spent a some time understanding how this integrates with SharePoint 2010. 

Before I get started, the clue is in the name: SharePoint and Office 2010 will be released some time in 2010.  Expect a public beta in November and I guess at least one more refresh of that (release candidate or similar) before it is released to manufacture.  But it’s still going to be worth spending some time before release understanding the new features.

As there’s a lot of stuff already out in the blogosphere, and I’m sure much much more to come, I thought I would use this post for two purposes – first to point you to some interesting summary posts on new features, and secondly to talk briefly about some of the new areas that will help develop (almost) code-free solutions.

So, to get a quick overview of the new features, take a look at these posts:

SharePoint Team Blog – Describing SharePoint 2010 in 1 Sentence,8 Categories and 40 Feature Areas

Joel Oleson – SharePoint 2010 Top 10 Features and Resources 

SharePoint Experts – Favourite Technologies Unveiled

Arpan Shah – Welcome to SharePoint 2010

SharePoint 2010 at Microsoft.com

And below is my quick list of favourite new stuff, with particular reference to features that involve the Office 2010 applications.   Actually before I start, I want to mention that some of the new stuff, useful though it is, should really have been there in earlier releases in my opinion.  For example, you can finally have unique constraints on list columns, SharePoint Designer Workflows can be list-independent, etc.  All of this is going to be very useful, just a shame we had to wait so long.  Also, for this post I won’t go into too much detail here on new features for developers using Visual Studio 2010 with SharePoint 2010 there is some really good new stuff here too – take a look here.

List Enhancements: many more configuration options such as not allowing duplicate values in columns, better column validation rules and options for “referential integrity” between a column and its lookup item (such as “cascade delete” so that deleting the “parent” record will delete its associated children).  You can also include more than one column in a lookup list – for example if you had a contact last and first name both can be displayed in the drop-down.

Access 2010 and Access Services: I’m really interested in this.  In a nutshell it is possible to use Access 2010 to develop an application using tables, queries, forms, reports and macros and then publish the whole lot to a SharePoint 2010 server running Access Services.  Now let’s not get too carried away – you wouldn’t want to use this for many of the very sophisticated Access apps that are out there, but it still looks to be a worthwhile technology to allow rapid deployment of a web application being used to capture data, produce reports etc.  There is a new Access show on MSDN Channel 9 where you can see a video explaining more.  Also I will be presenting on this subject at the UK Access User Group National Seminar on 26th November.

Business Connectivity Services: SharePoint 2007 has the Business Data Catalog, which provides a method to surface read-only “line of business” data in SharePoint as lists, searchable content etc.  In SharePoint 2010 this has been replaced by Business Connectivity Services and this can now be configured as a read-write data source.  To the user it can look like any other SharePoint list, and be used in DataViews, custom applications etc.  Under the covers it can be talking to a SQL Server database or similar.  Data from the connection can also be cached using a SQL CE database local to the SharePoint server.  It’s also possible to surface the BCS data in other client applications such as Outlook.  Powerful stuff, although it will definitely require tight control if we are to avoid performance bottlenecks when querying/updating line of business databases.  Read more on this here.  One other point – I believe I heard somewhere (but can’t remember where right now) that the original Business Data Catalog features will be available in Windows SharePoint Services 4.0 (the free version).

SharePoint Designer 2010: Like the current 2007 version, SharePoint Designer 2010 will remain free of charge, but worth noting that it can only be used with SharePoint 2010 servers (or WSS 4.0 I guess?).  For me, the best new features here are around workflows – you can create workflows in SharePoint Designer 2010 which are re-usable across different lists or sites.  Also, several new workflow conditions and actions which will make life easier, around the areas of list permissions particularly.  Here’s an initial post from the SharePoint Designer Team, and some info on the new conditions and actions.

InfoPath 2010: Lots of new design features here, many of which make it easier to build attractive and intuitive forms for use with Forms Services.  Also, you can use InfoPath 2010 to customise the design of the edit/display/new forms associated with SharePoint lists, instead of using SharePoint Designer.  Speaking as someone who has had “issues” more than once with SharePoint Designer-customised forms this will come in very handy.  More details from the InfoPath team here .

Visio 2010 and Visio Services: Microsoft’s own SharePoint 2010 demo videos include a look at one of new Visio/SharePoint features – you can create a Visio diagram which connects to backend data (in the Microsoft demo it’s a manufacturing process) then publish the data-connected diagram to a SharePoint 2010 site using Visio Services.  You can get a flavour of this here.  Also, Visio 2010 can be used as the starting point for creation of a SharePoint Designer Workflow.  The SharePoint Workflow template in Visio 2010 can be used to visualise what the workflow should achieve, then the finished article can imported into SharePoint Designer 2010 as a new workflow.  Here is a blog post from Phil Wicklund with some more detail.

Project 2010 Integration with SharePoint (and SharePoint 2010 Project Tasks Lists): Often, when I show users Project Task lists in SharePoint 2007, I’m immediately asked about task dependencies and how these can be incorporated.  Well the good news is that SharePoint 2010 task lists know a lot more about dependencies.  And with Project 2010 you can synchronise a task list between SharePoint and Project – something that many Project users will like a lot.

SharePoint Workspace 2010: This is what Groove has turned into.  Its a desktop client application that lets you cache copies of SharePoint site content on your desktop (or most likely laptop), work on the data, then re-sync with SharePoint. When you do this it’s possible to select which content on a site you actually copy offline, so again quite a useful tool.  Here’s a post from the SharePoint Workspace Team to explain more.

Business Intelligence, SQL Server 2008 R2 and PowerPivot: Microsoft evangelists have referred to SQL Server 2008 R2 as the “Business Intelligence Release”.  Definitely that’s where the emphasis lies regarding new features.   One much-publicised feature is PowerPivot (previously Gemini) an add-in for Excel 2010 which lets Excel users manipulate very large data sets in “slice and dice” mode, and publish the analyses up to SharePoint.  And if you want to integrate SQL Server Reporting Services with SharePoint, it looks like SQL Server 2008 R2 will make this a lot easier for admins – certainly the preview release allows you to install your SharePoint 2010 components, then install SQL Server 2008 R2 and select “Analysis Services with SharePoint Integration” as the configured option. 

Finally, don’t forget that SharePoint 2010 is totally 64 bit technology and definitely needs a fair amount of memory to run properly.  If you are planning to develop, test or demo on a laptop and want to use Virtual Machines, this means either installing Windows Server 2008 with Hyper-V or using VMWare Workstation or Virtual Box.  Alternatively you will be able to install SharePoint 2010 onto a 64-bit Windows 7 machine for development purposes, and indeed Tom Rizzo did just this in his demo at the SharePoint conference.

Oh, and SharePoint 2010 now has the much loved/much hated Office style ribbon…..

Technorati tags: ,

SQLBits Goes West

September 19, 2009

SQLBitsLogo

If you’re a UK-based IT professional working with Microsoft SQL Server as a developer or administrator then you should definitely check out the forthcoming SQLBits conference being held at the Celtic Manor Newport from 19th to 21st November 09.  As usual with SQLBits the Saturday event is free of charge, and looks like it will have an impressive line-up of sessions (right now you can vote for the ones you would like to see – including “Elementary Welsh for DBAs”!).

But wait, there’s more!  Thursday 19th November is a training seminar day which includes seminars on the new SQL Server 2008 R2 features from Donald Farmer, and an introduction to MDX from Chris WebbFriday 21st November is devoted to SQL Server 2008 and R2 and will include talks on the new BI features, Reporting Services, Master Data Services and lots of DBA-specific stuff.  Note that for the Thursday and Friday sessions you need to pay a fee, but these look very reasonable and if you book by 30th September you can get an early-bird rate.

Here’s some Elementary Welsh for DBAs - "Mae’r data-bas yn ddirwy, mae’n rhaid i fe bod y rhwydwaith" which apparently means “the database is fine, it must be the network”

Technorati tags: ,

10 Essential Tips for SQL Developers

September 15, 2009

I got this link via the BI Monkey blog and thought it was well worth noting.  10 Essential SQL Tips for Developers is a good set of basic but important SQL points that all developers should fully understand.  It’s often the case that developers don’t pay enough attention to how well-crafted SQL can make a big difference to application performance and reliability.

Technorati tags:

Use Integration Services to Import SharePoint List Items to SQL Server

August 28, 2009

A recent project I worked on called for data captured into a SharePoint list using InfoPath Forms Services to be ultimately imported into a SQL Server database for use with a set of performance reports. 

Given that InfoPath solutions can be designed to submit data to SQL Server (generally via a web service) you may ask why this wasn’t used for the solution.  Well, we wanted to do more stuff with the captured data in SharePoint, using workflows and task assignments before the data finally got approved and loaded into SQL Server.

In summary, the data was going to be submitted using InfoPath and Forms Services as promoted columns in a document library.  Once the appropriate people had reviewed, actioned and submitted the data it would be moved to a separate list, and any new items then needed to be loaded into SQL Server.  From there, Reporting Services would be used to generate and distribute nice looking reports.

So I took a look around to see what tools I might use to get the data into SQL Server with minimum coding effort, and ideally without installing any custom components on the SharePoint server.  I was aware of a set of SharePoint Designer Actions on CodePlex which included an Execute SQL Action.  For me the problem with this was that I was fairly sure I wouldn’t be allowed to install these on the production SharePoint server.

Also on CodePlex is a set of SQL Server Integration Services Community Samples, including SharePoint List Source and Destination Components.  For this project these components seemed more suitable, particularly as we would only need to import new items into SQL Server at the end of each day, and Integration Services would let us schedule a daily import.  And there’s even a MSDN article showing you how to do it.

To show how it works, I created a test SharePoint list called Responses which looks like this (let’s assume this data is coming in via InfoPath)

spResponse

And on SQL Server, I created a table which looks like this:

SQLResponse

Once the List Source and Destination components have been installed into Integration Services, I can create a Data Flow Task to read from SharePoint and write to SQL Server:

Dataflow

And map columns like so -

Mappings

Of course when I run this I only want to import new rows.  The way I’ve handled this is to store the ID of the SharePoint list items in the SQL Server table and execute a SQL task to get the Max ID currently in the table like so –

SELECT ISNULL(MAX(ResponseID),0) AS LastResponseID  FROM Responses

As the SharePoint List Source component has a CAMLQuery property which I can update with a property expression at runtime, I can set it to something like this –

<Query><Where><Gt><FieldRef Name="ID" /><Value Type="Counter">1</Value></Gt></Where></Query>

In fact in the Integration Services Property Expression Editor I created an expression like this (LastResponseID is the output from my SQL Query):

"<Query><Where><Gt><FieldRef Name=’ID’ /><Value Type=’Counter’>" + (DT_STR, 4, 1252)  @[User::LastResponseID] +"</Value></Gt></Where></Query>"

So now if I put all of this together, I have an Integration Services Package which -

- Gets the last imported ID from the SQL Server table

- Queries the SharePoint list for items with an ID greater than the last one imported

- Loads any new list items into the table

Making it easy to get my list items -

ResponseList

Into my SQL Server table -

ResponseData

And I can schedule this to run each night, all without installing any new stuff on the SharePoint server or spending any money on new components!


Checking Your SQL Server Jobs

August 12, 2009

Far too frequently I go to a client site, take a look at their SQL Server setup and notice that one or more of their SQL Server scheduled jobs is failing.  Now we all know that job monitoring should be part of a DBA’s daily checklist, but still things seem to get missed, particularly if there are multiple servers to monitor, a stream of user departments asking for assistance, etc etc.   Not good, especially if the job is a critical operation and you only find out when you need to do a restore.

So I often suggest that they download SQL Job Manager from Idera.  This is a free tool which lets you set up a single view of all jobs running on your SQL Server installations and very quickly see/fix any failure or contention problems.  Well worth a look.

And if you are doing SharePoint admin, they have a free SharePoint Performance Monitor as well.