SharePoint is one of Microsoft's most used server applications. It is used in
Intranets, Extranets and business decision areas and even as a content
management system for many public websites.
SharePoint was available in
different versions — Windows SharePoint Services (WSS) 3.0, Microsoft Office
SharePoint Server (MOSS) 2007 Standard Edition and MOSS 2007 Enterprise Edition.
With the new Office 2010 coming up, SharePoint too gets a new version. WSS
has now been renamed to SharePoint Foundation Services and MOSS remains the
same. There are a huge number of changes in this new version of SharePoint — for
admins, developers and users. We will delve into the changes for developers in
this series. You will need the SharePoint Beta or RC for the code in this
series. These are available for free download from Microsoft's site.
Direct Hit! |
Applies To: CIOs, Developers USP: What's new in upcoming SharePoint 2010 release Primary Link: http://sharepoint2010.microsoft.com/ Search Engine Keywords: SharePoint 2010 |
SharePoint for Developers
One of the pain points of earlier SharePoint development was that you needed
to use Windows Server on each developer's machine to install SharePoint and the
developer tools. One of the coolest new changes for developers in SharePoint
2010 is that these can be now installed on client operating systems such as
Windows Vista and Windows 7. Of course, you cannot run a production site off
these client OSs, but it can really help the developers.
The main development tools for SharePoint 2010 will be Visual Studio 2010 and
SharePoint Designer 2010. Both come with pre-built templates and connections to
SharePoint services that help you build a solution very quickly. We will look
into using these for various tasks throughout this series.
Out of the Box Capabilities
SharePoint 2010 defines the OOB capabilities in the form of the pie displayed.
Sites: allow users to store and retrieve lists and documents along
with tight integration with Office client applications (Word, Excel, etc.).
Communities: allows users to interact with other users by using
features such as search, tagging, and rating.
Content: managing content on a page, list, records or more.
Search: search content both stored with SharePoint itself or anywhere
else such as enterprise data stores or databases
Insights: ability to digest data in a meaningful form such as
dashboards or KPIs
Composites: extend solutions by business users for their own needs
The SharePoint ecosystem and capabilities matrix. |
Each of these can be leveraged by a developer and extended, customized and
solutions created out of them.
Other New Developer Enhancements
SharePoint 2010 has a huge number of other enhancements especially for
developers. The SharePoint SDK has a number of new objects and methods that can
help developers to write code better. SharePoint is based on the .NET Framework
3.5 and not 4.0 and is a 64-bit application.
The UI of SharePoint now contains the ubiquitous Ribbon which is Web based
but works in exactly the same way as in the client applications like Word and
Excel. Developers can extend this ribbon very easily as well.
SharePoint home page after installation. |
SharePoint is much more AJAX friendly too now. Most actions result in a
dialog box that refreshes data on the parent without refreshing the entire page
— only the data that changed. This makes for smaller postbacks and faster
rendering. Many dialogs now also support SilverLight based controls making for a
much richer experience than what was available earlier.
Workflows can now be attached to a site rather than a particular list. This
makes for creating reusable workflows much easier and development of these are
very easy. LINQ to SharePoint is another new feature that allows developers to
query lists without resorting to CAML. Developers can use the much more
developer oriented language to query data from within SharePoint.
PowerShell
SharePoint 2010 is also very scriptable using the PowerShell architecture.
Powershell is a great combination of the Windows Command Prompt, UNIX Bash and
an object oriented shell. SharePoint 2010 comes with a built in snap in that
provides access to many of its functions through PowerShell. Let's take a look
at some simple scripting commands that you can perform with SharePoint 2010 on
PowerShell.
Start up PowerShell v2 on a machine that has SharePoint
2010 installed. To use the SharePoint features you need to load the PowerShell
snap-in using this command:
Add-PSSnapin Microsoft.SharePoint.Powershell
Selecting a WebPart adds new contextual tabs to the Ribbon. |
To see all the different things that you can do with
Powershell on SharePoint, run the command:
Get-Command -PSSnapin Microsoft.SharePoint.PowerShell
This will show you the whole list of commands you can use
with SharePoint. For instance you can create a new sub web site using the
following command:
New-SPWeb -URL “http://server/Demo01” -Template “STS#0”
-Name “Demo 01” —AddToTopNav —UseParentTopNav
This will create a new site called “Demo 01” on the
SharePoint server and use the STS#0 (Team Web) template. If you wish to delete
the site you can do this:
Remove-SPWeb -Identity “http://server/Demo01” —Confirm:$false
Working with the Object Model
Let's create a simple little project that works with the object model of
SharePoint 2010 in this first part of the series. To do this, open up Visual
Studio 2010 and create a new console application. Make sure it's selected as
.NET Framework 3.5. The first thing to do is to go the properties of the project
and set its build target platform to x64.
A new Task list created and populated through the code. |
Once this is done, add a new reference to the
Microsoft.SharePoint and System.Web namespaces. Add a using statement to
reference these on top of the code like this Add the following code to the
application.
static void Main(string<> args)
{
string targetSite = "http://Win08R2/";
string targetWeb = "Demo01";
using (SPSite siteCollection = new SPSite(targetSite))
{
using (SPWeb site = siteCollection.AllWebs
{
Console.WriteLine("Creating a new list: My Demo Tasks");
string ListTitle = "My Demo Tasks";
string ListDesc = "Demo Task List created using SP Object Model";
CreateList(site, ListTitle, ListDesc);
Console.WriteLine("Complete");
}
}
}
private static void CreateList(SPWeb site,string ListTitle,string ListDesc)
{
Guid ListID = site.Lists.Add(ListTitle, ListDesc, SPListTemplateType.Tasks);
SPList myTasks = site.Lists
myTasks.OnQuickLaunch = true;
myTasks.Update();
SPListItem newTask = myTasks.Items.Add();
newTask<"Title"> = "New Task";
newTask<"Assigned To"> = site.CurrentUser;
newTask<"Due Date"> = DateTime.Today;
newTask.Update();
}
This code basically goes ahead and connects to a SharePoint
site and within the web goes and creates a new Task list with a single item
within it. As you can see, the code is fairly simple and self-explanatory.
We've looked at some of the different things that are new
in the upcoming SharePoint 2010 release. We will delve deeper into many of them
as we go further in this series, so keep an eye on this space.