Disclaimer: this post is mainly a link-listing to get your started.
With the launch of SharePoint 2010 coming up (May 12, 2010), I thought it was time to introduce myself into SharePoint development. It’s a wave I wouldn’t like to miss and like a good surfer, I like to get prepared for the wave before it hits me.
Even though SharePoint 2010 is just around the corner, there will be quite some work left in SharePoint 2007 during the first months (or even years). Next to that you might require some knowledge of SharePoint 2007 to perform migration/upgrade tasks. Even with all the new features in SharePoint 2010, the basics you learn from SharePoint 2007 are not lost. So therefore I’ll start with SharePoint 2007 and I’d recommend you to do the same for the next few weeks if you want to follow the SharePoint path.
Installing SharePoint 2007
The first step before development is preparing your environment, without you can’t do much. For this I’ve tweaked the company laptop to run Windows Server 2008 R2 and used Hyper-V for my SharePoint 2007 image.
The basic tools you need in your development environment are:
- WSS 3.0/MOSS 2007
- SQL Server 2005 / 2008
- Visual Studio 2005 / 2008
- SharePoint Designer 2007
You can use other tools or add-ins to make your job easier. I’ll get deeper into one of them, the WSPBuilder, further down in this post.
As an extra you also might add the following directory to the TEMP\path environment variable: “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN”. This makes it possible to run stsadm.exe, which you’ll use quite often, in command line without having to change the directory to .\12\BIN.
Useful links for installation:
- Hardware/Software Requirements.
- Installing MOSS 2007 on Windows Server 2008 (8 part step-by-step guide).
- Create SharePoint slipstream (to be able to install MOSS 2007 on Server 2008 R2, you need SP2).
- Installing Windows Server 2008 via USB.
- Installing Windows Server 2008 on Lenovo T61 (similar tasks can be performed for other machines).
- Using Hyper-V with a wireless network.
Starting SharePoint 2007 Development
Books
- Inside Microsoft Windows SharePoint Services 3
- Inside Microsoft Office SharePoint Server 2007
- Professional SharePoint 2007 Development
- Microsoft SharePoint 2007 Development Unleashed
Instructional videos
This is a list of instructional videos from Microsoft, focusing on .NET developers that want to make the step to SharePoint.
- Module 1: Developing Solutions for the SharePoint Platform
- Module 2: Web Parts
- Module 3: Page Navigation
- Module 4: Page Branding
- Module 5: Data Lists
- Module 6: Web Services
- Module 7: Event Handlers
- Module 8: Content Types and Site Columns
- Module 9: Workflow
- Module 10: User Management
- Module 11: Silverlight
- Module 12: Deployment
These and other videos are also available via the Microsoft SharePointDeveloper site. The source code for the Hands On Labs is available from this site, or directly through this link.
Hands on
The first section is about deployment with solutions and features. You can step through this section seperately or take it as a part of another section, e.g. Web Parts. You’ll need this section for most of the other sections, since it’s required to do a deployment to the server to view and test your labs. Next to these links you can also use the hands on labs to get started.
Solutions and Features
- Watch Module 1: Developing Solutions for the SharePoint Platform
- Watch Module 12: Deployment
- MSDN: SharePoint Solution Framework
- CodePlex: WSPBuilder tool
- WSPBuilder Walkthrough
- MSDN: Feature Stapling
Web Parts
- Watch Module 2: Web Parts
- MSDN: Create your first WebPart and deploy it manually
- Unit testing SharePoint WebParts (also has a description on how to make your first web part in the last pages).
- Read the WSPBuilder Walkthrough for creating a Web Part Feature with WSPBuilder.
- Extra on MSDN: Web Parts Resource Center
A small side note here is that if you opt for the manual deployment, you have to pass by the Web Parts Gallery to add the web part. If you choose for installing a feature, you should go to the features administration page and activate the feature there. This will make sure that your web part gets added automatically in the gallery, under the group you specified instead of under Miscellaneous.
Data Lists
- Watch Module 5: Data Lists
- MSDN: Introduction to Data Lists
- MSDN: CAML
Web Services
- Watch Module 6: Web Services
- MSDN: Introduction to Web Services
- Extra on MSDN: SharePoint Web Services General Reference
Keep in mind that SharePoint 2007 Web Services are .NET 2.0 web services and not WCF.
Event Handlers
- Watch Module 7: Event Handlers
- MSDN: Introduction to Event Handlers
- MSDN: Create Event Handler Feature
- Check the Event Handler and Feature Receiver templates in WSPBuilder.
Content Types and Site Columns
- Watch Module 8: Content Types and Site Columns
- MSDN: Introduction to Content Types
- MSDN: CAML
- MSDN: Building Custom Content Types in WSS 3.0
- MSDN: Content Type Definition Schema
- Create a Site Column (with WSPBuilder)
- Create a Content Type with feature
- Extra on MSDN: Content Types General Reference
Workflow
- Watch Module 9: Workflow
- MSDN: Introduction to Workflows
- Office: Build Workflows in SharePoint Designer
- Check the Sequential and State Machine Workflow templates in WSPBuilder.
- Extra on MSDN: Workflow Resource Center
User Management
- Watch Module 10: User Management
- MSDN: Introduction to User Management
Silverlight
- Watch Module 11: Silverlight
- MSDN: Introduction to Silverlight in Web parts
- MSDN: Silverlight Blueprint for SharePoint
- Silverlight Home Page
With SharePoint 2010, Silverlight will likely to be used even more often since everything is about ‘rich user interfaces’.
Page Navigation
- Watch Module 3: Page Navigation
- MSDN: Introduction to Page Navigation
- Office: Customize Site Navigation
Page Branding
- Watch Module 4: Page Branding
- MSDN: Introduction to Page Branding
- Office: How to open your SharePoint site in SharePoint Designer
- MSDN: Customizing and branding WCM-enabled SharePoint sites (3 parts).
To conclude 2 more e-learnings from Microsoft:
- Clinic 5045: Inside Look at Developing with Microsoft® Windows® SharePoint® Services 3.0
- Clinic 5046: Inside Look at Building and Developing Solutions with Microsoft® Office SharePoint® Server 2007
Other useful information:
- Best Practices: Using Disposable Windows SharePoint Services Objects
- Create GUID Generator macro for Visual Studio
PS: If you have more interesting resources, please share below in comment.