Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications Mike Morton OFF310 Lead Program Manager Microsoft Corporation.

Similar presentations


Presentation on theme: "Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications Mike Morton OFF310 Lead Program Manager Microsoft Corporation."— Presentation transcript:

1 Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications Mike Morton OFF310 Lead Program Manager Microsoft Corporation

2 2 Office “12” : Server Investments Better empowerment, TCO and developer productivity Next generation e-mail, project management, workflow, blog and wiki support Collaboration BusinessIntelligence Portal Enhanced SharePoint Portal aggregation and personalization Great relevance with rich people and business data search Server-based forms and workflow with smart client and browser interfaces Server-based spreadsheets plus BI portals built on SQL Server Analysis Services Integrated document, records and Web content management Business Processes Unified ASP.NET 2.0 workspace foundation for scalability and extensibility Search ContentManagement Windows SharePoint Services Site Provisioning, Storage, Security, Management, APIs

3 3 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

4 4 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

5 5 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

6 6 Demo Tracking Functionality

7 7 Example Versions OM SPSite site = new SPSite("http://os.litwareinc.com/research/"); SPWeb web = site.OpenWeb(); SPList list = web.Lists["Issues"]; SPListItemCollection items = list.Items; foreach (SPListItem item in items) { foreach (SPListItemVersion version in item.Versions) foreach (SPListItemVersion version in item.Versions) { if (version["Priority"].ToString() == "(1) High") if (version["Priority"].ToString() == "(1) High") label1.Text += "Version " + version.VersionLabel + " - " + item["Title"].ToString() + ": " + version["AssignedTo"].ToString() + "\n"; label1.Text += "Version " + version.VersionLabel + " - " + item["Title"].ToString() + ": " + version["AssignedTo"].ToString() + "\n"; }}

8 8 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

9 9 Example Email Handler namespace TaskHandler { public class SimpleHandler:SPEmailEventReceiver public class SimpleHandler:SPEmailEventReceiver { public override void EmailReceived(SPList list, Microsoft.SharePoint.Utilities.SPEmailMessage emailMessage, string receiverData) public override void EmailReceived(SPList list, Microsoft.SharePoint.Utilities.SPEmailMessage emailMessage, string receiverData) { SPListItem item = list.Items.Add(); SPListItem item = list.Items.Add(); item["Title"] = emailMessage.Headers["Subject"]; item["Title"] = emailMessage.Headers["Subject"]; item["DueDate"] = System.DateTime.Parse(emailMessage.Headers["Date"]).AddDays(21); item["DueDate"] = System.DateTime.Parse(emailMessage.Headers["Date"]).AddDays(21); item["Description"] = emailMessage.HtmlBody; item["Description"] = emailMessage.HtmlBody; item.Update(); item.Update(); } }}

10 10 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

11 11 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)

12 12 GetListItemChangesSinceToken Example 9 9 11 11 </Changes> </rs:data>

13 13 Demo Outlook Synchronization And Email Support

14 14 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

15 15 Alert Template Snippets <FilterDefinition> Sample Alert Sample Alert $Resources:Alerts_2_filter_shortname; $Resources:Alerts_2_filter_shortname; </FilterDefinition>…

16 16 Alert Template Snippet <Immediate> <table> $Resources:Alerts_event_lastmodified; ]]> $Resources:Alerts_event_lastmodified; ]]> </table><Immediate>

17 17 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

18 18 Example Custom Menu Item <Feature Id="0F121A23-C6BC-400F-87E4-E6BBDD999999" Title="Site Actions Menu Customization" Title="Site Actions Menu Customization" Description="Test Site Actions Menu Customization" Description="Test Site Actions Menu Customization" Version="12.0.0.0" Version="12.0.0.0" Scope="Site" Scope="Site" xmlns="http://schemas.microsoft.com/sharepoint/"> xmlns="http://schemas.microsoft.com/sharepoint/"> </Feature> <CustomAction Id="SiteActionsCustomization" Id="SiteActionsCustomization" Location="Microsoft.SharePoint.StandardMenu" Location="Microsoft.SharePoint.StandardMenu" GroupId="SiteActions" GroupId="SiteActions" Title="SiteActions Menu Customization" Title="SiteActions Menu Customization" ControlAssembly="SiteAction,Version=1.0.2075.32537,Culture=neutral,Publi cKeyToken=018d632ecf51b278" ControlAssembly="SiteAction,Version=1.0.2075.32537,Culture=neutral,Publi cKeyToken=018d632ecf51b278" ControlClass="SiteAction.SiteActionCustomization"> ControlClass="SiteAction.SiteActionCustomization"></CustomAction>

19 19 Example Custom Menu Item public class SiteActionCustomization : WebControl public class SiteActionCustomization : WebControl { protected override void CreateChildControls() protected override void CreateChildControls() { base.CreateChildControls(); base.CreateChildControls(); MenuItemTemplate menuItem = null; MenuItemTemplate menuItem = null; ToolBarMenuButton siteActionsControl = ToolBarMenuButton.GetMenuControl(this); ToolBarMenuButton siteActionsControl = ToolBarMenuButton.GetMenuControl(this); menuItem = new MenuItemTemplate(); menuItem = new MenuItemTemplate(); menuItem.ID = "CustomAction"; menuItem.ID = "CustomAction"; menuItem.Text = "Advanced Permissions"; menuItem.Text = "Advanced Permissions"; menuItem.Description = "Manage users for this site."; menuItem.Description = "Manage users for this site."; menuItem.Sequence = 400; menuItem.Sequence = 400; menuItem.ClientOnClickNavigateUrl = "/_layouts/user.aspx"; menuItem.ClientOnClickNavigateUrl = "/_layouts/user.aspx"; Controls.Add(menuItem); Controls.Add(menuItem); } }

20 20 Demo Alerts, RSS, And UI customization

21 21 Community Resources SharePoint Products and Technologies on MSDN http://msdn.microsoft.com/sharepoint http://msdn.microsoft.com/sharepoint SharePoint Products and Technologies on GotDotNet http://gotdotnet.com/team/sharepoint http://gotdotnet.com/team/sharepoint Links to blogs, newsgroups, etc.

22 22 Questions?

23 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "Windows SharePoint Services “v3”: Developing Collaboration And Tracking Applications Mike Morton OFF310 Lead Program Manager Microsoft Corporation."

Similar presentations


Ads by Google