Locked History Actions

MicrosoftOfficeSharePointResources

Microsoft Office Sharepoint Resources (MOSS)

Essentials

Hello World Web Part

MSDN Webcast: SharePoint Products and Technologies for Internet Site Development: Getting Started (Level 100)

SharePoint Developer MSDN Web Cast Series

MS Resources

Deployment

Pricing

Tools

WSPBuilder

From what I am told by some of my SharePoint/MOSS cohorts, no one really:

  1. Uses the SharePoint Extenstions for Visual Studio to create WSP files

  2. Unlike some MOSS books suggests manually create a manifest.xml, a DDF file, and using the makecab.exe utility to create a WSP file.

Apparently what "everyone does" is uses the WSPBuilder from CodePlex. That being the case here's a link to it as well as a link to the blog of the authorand a link to his list of links on documentation written by other people for it.

Here is a useful tip that explains how to incoporate user controls into your WSPBuilder project. This blog provide an alternative approachwhich includes using a separate web app to support the development of the user control.

STSDev

Haven't tried this, but heard it is also used. STSDev from CodePlex.

Object Model

/ObjectModel

Code Fragment List/View Manipulation

using Microsoft.SharePoint;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SPWeb web = SPContext.Current.Web;
        this.Label1.Text = web.Title;

        web.AllowUnsafeUpdates = true;

        TreeNode root = null;
        this.TreeView1.Nodes.Add(root = new TreeNode(web.Title));
        //foreach (SPWeb w in web.Site.RootWeb.Webs)
        foreach (SPWeb w in web.Webs)
        {
            root.ChildNodes.Add(new TreeNode(w.Title));
        }

        SPList list;
        try
        {
            list = web.Lists["Foobar"];
        }
        catch (Exception)
        {
            Guid listId = web.Lists.Add("Foobar", "",
                SPListTemplateType.GenericList);
            list = web.Lists[listId];
        }

        SPFieldCollection fields = list.Fields;
        SPField biff;
        if (fields.ContainsField("biff"))
        {
            biff = fields["biff"];
        }
        else
        {
            fields.Add("biff", SPFieldType.Text, false);
        }

        SPView view = list.DefaultView;
        if (!view.ViewFields.Exists("biff"))
        {
            view.ViewFields.Add("biff");
            view.Update();
        }
    }
}

Code Fragment Security Manipulation

Code sample using security related classes such as SPGroup, SPUser, SPRoleAssignment, and SPRoleDefinition.


CategoryMicrosoftOfficeSharePoint