windows sharepoint services v3 developing collaboration and tracking applications l.
Skip this Video
Download Presentation
Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications

Loading in 2 Seconds...

play fullscreen
1 / 23

Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications - PowerPoint PPT Presentation

  • Uploaded on

Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications. Mike Morton OFF310 Lead Program Manager Microsoft Corporation. Business Intelligence. Collaboration. Business Processes. Portal. Content Management. Search.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications' - claudia

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
windows sharepoint services v3 developing collaboration and tracking applications

Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications

Mike Morton


Lead Program Manager

Microsoft Corporation

office 12 server investments better empowerment tco and developer productivity









Office “12” : Server InvestmentsBetter empowerment, TCO and developer productivity

Server-based spreadsheets plus BI portals built on SQL Server Analysis Services

Next generation e-mail, project management, workflow, blog and wiki support




Server-based forms and workflow with smart client and browser interfaces

Enhanced SharePoint Portal aggregation and personalization

Site Provisioning, Storage, Security, Management, APIs

Integrated document, records and Web content management

Great relevance

with rich people and

business data search

Unified ASP.NET 2.0 workspace foundation for scalability and extensibility

collaboration and tracking features overview
SharePoint lists are frequently used for ‘tracking’. This can include tracking issues, tasks, contacts, documents, etc.

SharePoint Services “V3” adds many core ‘list’ features to enabled users/developers to build great ‘tracking’ applications

Feature areas

List history and versioning

Project Tasks list

Email support

Distribution list support

Sync APIs and Outlook synchronization

UI extensibility

Alerts and RSS

Collaboration And Tracking Features Overview
list history and versioning
List History And Versioning
  • Core improvements to ‘list’ architecture to support tracking
    • Version history for all SharePoint items
      • Shows changes to the item for each version
    • “Append-only” comment fields
    • Multi-valued lookup fields
    • Large list indexing support
    • Applications built on SharePoint lists get functionality for ‘free’.
  • Updated ‘Issue tracking’ template
  • Integration with Windows Workflow Foundation for approval or custom workflows
project tasks list
Project Tasks List
  • Lightweight project management functionality
  • Gantt charts for visualization of project plan
  • Gantt view generic functionality available for any list type with date fields
example versions om
Example Versions OM

SPSite site = new SPSite("");

SPWeb web = site.OpenWeb();

SPList list = web.Lists["Issues"];

SPListItemCollection items = list.Items;

foreach (SPListItem item in items)


foreach (SPListItemVersion version in item.Versions)


if (version["Priority"].ToString() == "(1) High")

label1.Text += "Version " + version.VersionLabel + " - " + item["Title"].ToString() + ": " + version["AssignedTo"].ToString() + "\n";



email integration
Email Integration
  • SharePoint Lists can now receive e-mail
    • Discussion Boards, Calendars, Document Libraries, Announcements accept incoming email
      • Discussion boards maintain email threading and full HTML messages
      • Calendars process incoming iCals
      • Document libraries map attachments to documents
  • Extensible support for custom ‘e-mail handlers’
    • Custom lists can support email by writing a ‘handler
    • SharePoint handles routing of email, your code can map email data to list data
example email handler
Example Email Handler

namespace TaskHandler


public class SimpleHandler:SPEmailEventReceiver


public override void EmailReceived(SPList list, Microsoft.SharePoint.Utilities.SPEmailMessage emailMessage, string receiverData)


SPListItem item = list.Items.Add();

item["Title"] = emailMessage.Headers["Subject"];

item["DueDate"] = System.DateTime.Parse(emailMessage.Headers["Date"]).AddDays(21);

item["Description"] = emailMessage.HtmlBody;





distribution list support
Distribution List Support
  • SharePoint site groups can have an associated ‘distribution list’
  • Create a distribution list for members upon site creation
  • SharePoint sites will talk with directory services to create / manage distribution lists
    • Interface with directory service is pluggable through SharePoint directory management Web service interface
    • AD directory management Web service provided in SharePoint
    • Example: Plug into existing directory management tools – apply policy on allowed naming for distribution lists
outlook and synchronization apis
Outlook And Synchronization APIs
  • Outlook allows user to work with personal and team data in one place
    • Read/Write access to SharePoint datatypes
      • Calendar, tasks, contacts, discussions, and documents
    • Synchronization for offline support
  • Change Log APIs optimized for synchronization
    • GetListItemChangesSinceToken – Web service method that returns list of items that changed (adds, updates, deletes, etc)
getlistitemchangessincetoken example
GetListItemChangesSinceToken Example

<Changes LastChangeToken="1;3;f3141dd8-b7ae-47ab-9fcf-e5583242a625;632599270189500000;696">

<Id ChangeType="Delete">9</Id>

<Id ChangeType="Delete">11</Id>


<rs:data ItemCount="1">

<z:row ows_Attachments=';#http://server/Lists/Announcements/Attachments/13/News.txt;#' ows_LinkTitle='Announcement 5' ows_Modified='2005-08-18T01:55:42Z' ows_MetaInfo='13;#' ows__ModerationStatus='0' ows_Title='Announcement 5' ows_ID='13' ows_owshiddenversion='3' ows_UniqueId='13;#{A458968C-052A-42C5-B8CB-D90564D8430F}' ows_FSObjType='13;#0' ows_Created_x0020_Date='13;#2005-08-18T01:54:02Z' ows_Created='2005-08-18T01:54:02Z' ows_FileLeafRef='13;#13_.000' ows_FileRef='13;#Lists/Announcements/13_.000' ows_ScopeId='{A3588C7A-5389-43A0-8354-D1677D6A7968}' EffectivePermMask='FullMask'/>


keeping informed
Keeping Informed
  • Alerts
    • Filters for more relevant alerts
    • Richer information about item that has changed in the alert
    • Platform for custom formatting, events, and alerts
  • RSS
    • All SharePoint lists provide RSS feeds
alert template snippets
Alert Template Snippets


<FriendlyName>Sample Alert<FriendlyName>





<Value type="integer"><UserID /></Value><FieldRef name="Editor/Old"/>



<Value type="integer"><UserID /></Value><FieldRef name="Editor/New"/>





alert template snippet
Alert Template Snippet



<GetVar Name="AlertTitle" />

<HTML><![CDATA[ - ]]></HTML>

<GetVar Name="ItemName" />




<td class="leftcol">&nbsp;</td>


<td class="descriptiontext">$Resources:Alerts_event_lastmodified; ]]></HTML>

<GetVar Name="TimeLastModified" HTMLEncode="TRUE" /> <HTML><![CDATA[ by ]]></HTML> <GetVar Name="ModifiedBy" HTMLEncode="TRUE" />

<HTML><![CDATA[</td><td class="rightcol">&nbsp;</td>




ui and navigation
UI And Navigation
  • Breadcrumb
    • Site bread crumb provides user navigational context
  • Security Trimmed UI
    • Only show UI to users to which they have access
  • Quick Launch and top navigation
    • Present on view pages
    • Customizable in the browser UI
  • View Improvements
    • Paging Backwards
    • Better Filter/Sort UI
example custom menu item
Example Custom Menu Item

<Feature Id="0F121A23-C6BC-400F-87E4-E6BBDD999999"

Title="Site Actions Menu Customization"

Description="Test Site Actions Menu Customization"





<ElementManifest Location="operations.xml" />







Title="SiteActions Menu Customization"




example custom menu item19
Example Custom Menu Item

public class SiteActionCustomization : WebControl


protected override void CreateChildControls()



MenuItemTemplate menuItem = null;

ToolBarMenuButton siteActionsControl = ToolBarMenuButton.GetMenuControl(this);

menuItem = new MenuItemTemplate();

menuItem.ID = "CustomAction";

menuItem.Text = "Advanced Permissions";

menuItem.Description = "Manage users for this site.";

menuItem.Sequence = 400;

menuItem.ClientOnClickNavigateUrl = "/_layouts/user.aspx";




community resources
Community Resources
  • SharePoint Products and Technologies on MSDN
  • SharePoint Products and Technologies on GotDotNet
    • Links to blogs, newsgroups, etc.

© 2005 Microsoft Corporation. All rights reserved.

This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.