Windows Sharepoint Services , Tracking, And Other Collaboration Applications Mike Ormond Developer & Platform Group, Microsoft Ltd
Office “12”: Server Investments Better empowerment, TCO and developer productivity Next generation , project management, workflow, blog and wiki support Collaboration Business Intelligence 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 spread sheets 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 Content Management Windows SharePoint Services Site Provisioning, Storage, Security, Management, APIs
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 support Distribution list support Sync APIs and Outlook synchronization UI extensibility Alerts and RSS
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 Lightweight project management functionality Gantt charts for visualization of project plan Gantt view generic functionality available for any list type with date fields
Demo Tracking Functionality
Example Versions OM private void button1_Click(object sender, EventArgs e) { SPSite site = new SPWeb web = site.OpenWeb(); SPList list = web.Lists["Helpdesk"]; foreach (SPListItem item in list.Items) { foreach (SPListItemVersion version in item.Versions) { if (version["Priority"].ToString().StartsWith("(1)")) label1.Text += "Version: " + version.VersionLabel + " | " + "Priority: " + version["Priority"].ToString() + " | " + version["AssignedTo"].ToString() + Environment.NewLine + item["Title"].ToString() + Environment.NewLine + Environment.NewLine; }
Integration SharePoint Lists can now receive Discussion Boards, Calendars, Document Libraries, Announcements accept incoming Discussion boards maintain threading and full HTML messages Calendars process incoming iCals Document libraries map attachments to documents Extensible support for custom ‘ handlers’ Custom lists can support by writing a ‘handler SharePoint handles routing of , your code can map data to list data
Example Handler namespace TaskHandler { public class SimpleHandler:SP EventReceiver { public override void Received(SPList list, Microsoft.SharePoint.Utilities.SP Message Message, string receiverData) { SPListItem item = list.Items.Add(); item["Title"] = Message.Headers["Subject"]; item["DueDate"] = System.DateTime.Parse( Message.Headers["Date"]).AddDays(21); item["Description"] = Message.HtmlBody; item.Update(); }
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
Directory Services Methods ChangeContactMembershipInDistributionGroup ChangeUsersMembersihpInDistributionGroup CreateContact CreateDistributionGroup DeleteContact DeleteDistributionGroup GetJobStatus ModifyContact ModifyDistributionGroup RenameDistributionGroup
Directory Services Example Snippet [WebMethod] public RequestStatus CreateContact( string Alias, string FirstName, string LastName, string Forwarding , ContactFlags Flags) { StringCollection formals = new StringCollection(); StringCollection args = new StringCollection(); formals.Add("Alias"); args.Add(Alias); formals.Add("FirstName"); args.Add(FirstName); formals.Add("LastName"); args.Add(LastName); DmsLog("CreateContact", formals, args); return (RequestStatus)Enum.Parse(typeof(RequestStatus), "Success"); }
Integration
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 9 11
Outlook Synchronization
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 Sample Alert $Resources:Alerts_2_filter_shortname; …
Alert Template Snippet $Resources:Alerts_event_lastmodified; ]]>
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
Alerts, RSS, And UI customization
Mobile Browsing SharePoint data accessible on mobile devices (e.g. phones, PocketPC). Accessible at Read/Write capabilities for list items Mobile view authoring from browser UI
Mobile
Community Resources SharePoint Products and Technologies on MSDN SharePoint Products and Technologies on GotDotNet Links to blogs, newsgroups, etc microsoft.public.sharepoint.general microsoft.public.sharepoint.design_and_customization microsoft.public.sharepoint.development_and_programming
© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.