Welcome to the Microsoft Office SharePoint Server 2007 SDK

Switch View :
ScriptFree
Welcome to the Microsoft Office SharePoint Server 2007 SDK

Revised: April 2009

The Microsoft Office SharePoint Server 2007 Software Development Kit (SDK) includes documentation, as well as code examples within the topics, for Microsoft Office SharePoint Server 2007.

Downloads   The SharePoint Server 2007 SDK is also available as a download. To download the SDK and the sample code, see SharePoint Server 2007: Software Development Kit.

The Microsoft Office SharePoint Server 2007 SDK describes the technologies that Office SharePoint Server 2007 provides for developers. It contains overview information and step-by-step, how-to procedures for programming with Office SharePoint Server 2007 that can help you get started writing applications. There are several code examples within the documentation, as well as some tips and best practices for using the development platform of Office SharePoint Server 2007.

After installing the SDK, those new to Microsoft SharePoint Products and Technologies should start with What's New for Developers in Office SharePoint Server 2007. More seasoned developers might also want to review Changes and Enhancements for SharePoint Portal Server 2003 and MCMS 2002 Developers.

Microsoft Office SharePoint Server 2007 builds upon the Windows SharePoint Services 3.0 infrastructure to provide a true enterprise portal platform. For core platform documentation, refer to the Windows SharePoint Services 3.0 SDK.

You're Talking, We're Listening

We are constantly improving the Microsoft Office SharePoint Server 2007 SDK releases as a direct response to customer feedback. Let us know your requests for future releases! For more information about how you can provide feedback, see We Need Feedback.

See Also

Community Content

Chris Wilkins
Download the SDK

You can download the SDK from this location: http://www.microsoft.com/downloads/details.aspx?familyid=6d94e307-67d9-41ac-b2d6-0074d6286fa9&displaylang=en .

Note (August 29, 2008): The download version and the MSDN online Library version are in synch. Both are Version 1.4 (August, 2008) and reflect changes made as part of the recent Infrastructue Update (most notably, Federated Search APIs).

Read more about the infrastructure update here on TechNet: http://technet.microsoft.com/en-us/office/sharepointserver/bb735839.aspx.


Thomas Lee
Installer shows version 1.4 - but is actually 1.5
Running the .exe /? shows what looks to be the 1.4 version of the SDK to be installing. However, running the install past the EULA shows it to be 1.5 .

chris peng
Error in ECM Starter Kit

When I add the following method in ECM Starter Kit, and program will assign permission in this method. But something happened. Some times the assign permission successfully, but sometimes assign permission failed, and no error appeared. My email is : chrisky2@163.com

private void OnTaskCreated(object sender, TaskEventArgs e)
{
WssTaskActivity task = sender as WssTaskActivity;
int taskItemID = e.AfterProperties.TaskItemId;
Contact contact = task.TaskAssignedTo;
//Add permission , we are trying to find another method to instead this method to add permission.
SPWeb wkflowWeb = workflowProperties.Web;
SPSite siteCollection = new SPSite(wkflowWeb.Url);
SPWeb web = siteCollection.OpenWeb();
//SPWeb wkflowWeb = workflowProperties.Web;
//SPWeb web = wkflowWeb.Site.OpenWeb(wkflowWeb.ServerRelativeUrl);
SPList list = web.GetList(this.workflowProperties.TaskListUrl);

SPListItem item = list.GetItemById(taskItemID);
SPRoleAssignment roleAssignment = new SPRoleAssignment(contact.LoginName, contact.EmailAddress, contact.DisplayName, "");
SPRoleDefinition roleDefinition = new SPRoleDefinition();
roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Contributor);


if (!roleAssignment.RoleDefinitionBindings.Contains(roleDefinition))
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);

//web.AllowUnsafeUpdates = true;
//Check for permission inheritance, and break if necessary
if (!item.HasUniqueRoleAssignments)
{
//not need to copy role assignments from parent
item.BreakRoleInheritance(true);
}
item.RoleAssignments.Add(roleAssignment);
item.Update();

//..... some other things

}


MUstafa Fazlyi
Is there a sandbox server where I could try SharePoint before purchasing it?

I am considering Microsoft SharePoint services to create a "Document Workspace" in a "Shared Workspace" on a server for collaborative document creation/reviewing.

Is there a sandbox server where I could try SharePoint before purchasing it?

[from RandallI - MSFT, 8/2/2007]
Try the VPC for MOSS, which is a free download here: http://www.microsoft.com/downloads/details.aspx?FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74&DisplayLang=en.


FredMorrison
ECM Starter Kit 1.3 - improved WssTaskActivity with OnTaskCreated support

Who can I communicate with about my improved WssTaskActivity that I would like to have adopted by the people at Microsoft in charge of the ECM Starter Kit?

I took the ECMActivities project that comes with ECM Starter Kit 1.3 and modified the WssTaskActivity class to include an OnTaskCreated workflow action. It includes the ability to call a method so that things like finding the ID value can be performed (crucial for folks who need to send out emails with hyperlinks pointing back to the SPWorkflowTask).

The lack of OnTaskCreated in the Microsoft-supplied WssTaskActivity has been the source of much grief in the SharePoint workflow developer community. Hopefully, my improved WssTaskActivity will alleviate some of that pain and suffering.

Example of user-defined method called during OnTaskCreated (with my version known as WssTaskActivityV2):

        #region OnTaskCreatedMethodV2
/// <summary>
/// Called by the WssTaskActivityV2 when it's TaskCreated event fires.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnTaskCreatedMethodV2(object sender, TaskEventArgs e)
{
// Pull out the goodies from the calling arguments
WssTaskActivityV2 wssTask = sender as WssTaskActivityV2;

            // do something here

  
}
#endregion

Mike Walsh FIN
Additional Resources

Official
SharePoint: http://blogs.msdn.com/sharepoint/
Enterprise Content Management: http://blogs.msdn.com/ecm
Forum: http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=328&SiteID=1
Discussion Groups: http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.sharepoint.portalserver

More
SharePoint Blogs: http://www.sharepointblogs.com/
Arno Nel IW Blog: http://arnonel.com/blogs/arnonel/default.aspx
WSSDemo.com Resources: http://www.wssdemo.com/Pages/technologyresources.aspx
WSS FAQ: http://www.wssfaq.com

SharePoint Books: http://wss.asaris.de/sites/walsh/Lists/WSSv3%20FAQ/V%20Books.aspx

Workflows
http://www.developer.com/net/net/article.php/3652346
http://blogs.msdn.com/sharepoint/archive/2006/12/01/developing-workflows-in-vs-part-7-summary-and-final-thoughts.aspx

Virtual Labs
https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032304181&EventCategory=3&culture=en-US&CountryCode=US&flag=1


Mike Walsh FIN
Wrong Download?
The download link shown above seems to be for the old version of the SDK?
----------------------------------
I've added a comment to it so that this ought now to be clear to people reading this link! (Mike Walsh)