Microsoft Office Sharepoint Resources (MOSS)
Essentials
SharePoint Developer MSDN Web Cast Series
MS Resources
Links
Deployment
Pricing
http://blah.winsmarts.com/2007-2-SharePoint_2007_Pricing_-_Made_Simple.aspx (this link contains the next one)
http://office.microsoft.com/en-us/sharepointserver/FX102176831033.aspx?ofcresset=1
Tools
WSPBuilder
From what I am told by some of my SharePoint/MOSS cohorts, no one really:
Uses the SharePoint Extenstions for Visual Studio to create WSP files
- 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
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.