Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Everything We Can Possibly Cover about Developing with SharePoint® Technology in an Hour's Time Sofia, Bulgaria | 9-10 October Agenda ● This session is all about “what”, not “how” ● We’ll explain what’s different to developing with Windows SharePoint Services v3 and Microsoft Office SharePoint Server 2007 ● We’ll enumerate where within SharePoint Products and Technologies you can add your own code ● We’re here to provide a big picture – albeit a technical big picture ● We’ll point you to the places to go for more information about how to do all of these things Sofia, Bulgaria | 9-10 October What is SharePoint Technology Designed to Accomplish? Sofia, Bulgaria | 9-10 October Windows SharePoint Services version 3 Docs/tasks/calendars, blogs, wikis, e-mail integration, project management “lite”, Outlook integration, offline docs/lists Collaboration Platform Services Workspaces, Mgmt, Security, Storage, Topology, Site Model Sofia, Bulgaria | 9-10 October Microsoft Office SharePoint Server 2007 Server-based Excel spreadsheets and data visualization, Report Center, BI Web Parts, KPIs/Dashboards Docs/tasks/calendars, blogs, wikis, e-mail integration, project management “lite”, Outlook integration, offline docs/lists Business Intelligence Rich and Web forms based frontends, LOB actions, enterprise SSO Business Forms Platform Services Workspaces, Mgmt, Security, Storage, Topology, Site Model Content Management Integrated document management, records management, and Web content management with policies and workflow Collaboration Portal Enterprise Portal template, Site Directory, My Sites, social networking, privacy control Search Enterprise scalability, contextual relevance, rich people and business data search Sofia, Bulgaria | 9-10 October How does SharePoint Technology Fit Together? Sofia, Bulgaria | 9-10 October SharePoint Technology Stack Applications/Portals Collaboration Enterprise Content Management Personalization Search Business Application Integration Business Intelligence Discussions Calendars E-Mail Presence Project Mgt. “Lite” Offline Authoring Approval Web Publishing Policy/Auditing Rights Management Retention Multi-Lingual Staging My Sites Targeting People Finding Social Networking Privacy Profiles Indexing Relevance Metadata Alerts User Experience Rich Forms Web Forms Biz Data Catalog Data in Lists LOB Actions Single Sign-On BizTalk Integration Server Calculations Web Rendering KPIs Dashboards Report Centers SQL RS Integration SQL AS Integration Core Workspace Services Storage Security Management Topology Site Model APIs Repository Metadata Versioning Backup Rights/Roles Pluggable Auth Per Item Rights Trimming Admin UX Delegation Provisioning Monitoring Config. Mgmt. Farm Services Feature Policy Extranet Rendering Templates Navigation Visual Blueprint Fields/Forms OM and SOAP Events Deployment Operating System Services ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc. ) ADO.NET / SQL Server IIS Windows Workflow Foundation Sofia, Bulgaria | 9-10 October Why Develop with SharePoint Sites? Sofia, Bulgaria | 9-10 October Anatomy of a Page Request The typical ASP.NET way Browser: HTTP GET http://server/appname IIS C:\inetpub\wwwroot\appname web.config default.aspx myapp.css mycontrol.dll myothercontrol.ascx . . . Database Sofia, Bulgaria | 9-10 October Anatomy of a Page Request The Windows SharePoint Services way Browser: HTTP GET http://server/appname IIS WSS all work and no play makes Jack a dull boy all work and no play makes Jack a dull boy Web Part Assemblies Database Site Definition /bin or GAC Default.aspx schema.xml allitems.aspx WebPart1.dll WebPart2.dll Sofia, Bulgaria | 9-10 October Many Sites on a Single Farm The typical ASP.NET way Browser: HTTP GET http://server/appname Default.aspx web.config IIS Default.aspx otherpage.aspx Default.aspx web.config mystyles.css Default.aspx web.config otherpage.aspx web.config otherpage.aspx mystyles.css Default.aspx otherpage.aspx Defau mystyles.css Default.aspx web.config Default.aspxweb.config Default.aspx mystyles.css Database web.c otherpage.aspx web.config web.config Default.aspx Default.aspxotherpage.aspx Default.aspx otherp Default.aspx mystyles.css atabase web.config otherpage.aspx otherpage.aspx Default.aspx Default.aspx Default.aspx web.config mystyles.css mysty web.config web.config Default.aspx mystyles.css mystyles.css otherpage.aspx web.config otherpage.aspx web.config otherpage.aspx web.config otherpage.aspx Default.aspx Database web.config mystyles.css otherpage.aspx otherpage.aspx Database mystyles.css otherpage.aspx mystyles.css web.config mystyles.css otherpage.aspx Database mystyles.css mystyles.css mystyles.css otherpage.aspx mystyles.css mystyles.css Database Database Database Database Database Database Database Database Database Database Database Database Database Sofia, Bulgaria | 9-10 October Database Many Sites on a Single Farm The Windows SharePoint Services way Browser: HTTP GET http://server/appname IIS WSS all work and no play makes Jack a dull boy all work and no play makes Jack a dull boy Web Part Assemblies Database Site Definition /bin or GAC Default.aspx schema.xml allitems.aspx WebPart1.dll WebPart2.dll Sofia, Bulgaria | 9-10 October Why Develop with SharePoint Sites? ● Provisioning engine ● One project can yield thousands of instances ● Information store ● List and document management services ● Events and workflow ● Access via SOAP, WebDAV, et. al. ● Ready-to-use facilities you don’t have to write ● Pre-existing list templates ● Navigation, security, site administration, logging, etc. Sofia, Bulgaria | 9-10 October A Quick Standardization of Terms IIS WSS v2 / SPS 2003 WSS v3 / MOSS Web Sites Virtual Servers Web Applications ● SPSite = WSS Site Collection Physical Server ● SPWeb (or Web) = WSS Site Web Application(s) Top Level Site(s) Site(s) Site(s) Site Collection Sofia, Bulgaria | 9-10 October What Do You Build for Windows SharePoint Services? ● Store Enhancements ● ● ● ● ● Event Receivers Workflows Field Types Content Migration Security Policies ● Site Metadata ● Site Columns ● Content Types ● List Definitions ● UI Enhancements ● Web Parts ● Master Pages ● View Definitions ● Smart Clients ● SOAP ● WebDAV ● FrontPage RPCs ● Provisioning ● Site Definitions ● Feature Definitions ● Provisioning Assemblies Sofia, Bulgaria | 9-10 October Data ● Lists, libraries, views ● Calendars / Contacts / Announcements / Links / Surveys / Discussions … ● Change logs ● Exposed on server via managed object model ● Exposed remotely via Web Services ● Documents ● Accessible via WebDAV or FrontPage RPCs ● You can create SOAP interface, but be careful Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Demonstration Smart Clients and Web Services Events ● Before and after events ● List schema events ● SPWeb deletion events ● Events on lists and libraries ● Pre-synchronous with cancellation and filtering ● Multiple event receivers ● Event Receivers per list Item ● Attach events at SPWeb or Item Level Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Demonstration Event Receivers Workflow ● Windows Workflow Foundation embedded ● Types of projects ● Workflow activities ● Workflow assemblies ● Workflow metadata ● Workflow UI ● Tools ● Visual Studio ● SharePoint Designer Sofia, Bulgaria | 9-10 October Metadata ● Site Columns ● Centralized Field Management ● e.g., all “Priority” fields should have 3 choices: 1, 2, 3 ● Inherits to subsites ● Content Types ● Reusable definition of a list schema ● Hierarchical ● Associate Behaviors ● Events ● Document Templates ● Workflows ● Inherits to subsites Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Demonstration Content Types and Site Columns ASP.NET Extensions ● Web Parts ● Custom pages ● Application Pages (apply to all sites) ● Site Pages ● Master Pages ● Custom controls ● User/role providers ● Allow for forms-based authentication ● ASP.NET ships with SQL Server and Active Directory/ADAM providers in the box Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Demonstration Master Pages in SharePoint Sites Feature Definitions ● Collection set of components and specifications ● e.g., list, view, Web Part, workflow, content type, custom page ● Interdependent – useless without each other ● Installed as a set ● Activated in sites if site owner chooses ● Can be programmatically activated Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Demonstration Feature Definitions Site Definitions ● “Real” templates (c.f., user templates) ● Instructions for creating a site ● Assets referenced by a site ● Can be little more than a set of features ● Can call provisioning assembly code during site creation Sofia, Bulgaria | 9-10 October Development Environment ● Tools ● Visual Studio 2005 ● Microsoft Office SharePoint Designer 2007 ● Platform ● Windows Server 2003 Sofia, Bulgaria | 9-10 October Use SharePoint Designer to… ● Write No-code workflows ● Modify CSS files ● Edit .aspx pages ● Add script to pages ● Customize look & feel of Web Parts ● Write XSLT to customize data rendering ● More… Sofia, Bulgaria | 9-10 October Rich Data Views Sofia, Bulgaria | 9-10 October Workflow in SharePoint Designer Sofia, Bulgaria | 9-10 October Use Visual Studio to… ● Create code components ● ● ● ● Web Parts Event receivers Document converters Workflow activities, templates ● Create provisioning assets ● Site definitions ● Feature definitions ● XSDs provided for validating XML ● Create solution packages Sofia, Bulgaria | 9-10 October Windows Server 2003 ● Windows SharePoint Services only runs on Windows Server 2003 or later ● You can develop without it, but… ● You need a copy to deploy/debug ● Options ● Make it your development OS ● Run it in a Virtual PC ● Have a standalone server at your disposal Sofia, Bulgaria | 9-10 October Code Deployment ● Old School Method: ● ● ● ● Manually copy files onto the file system Add web.config entries for assemblies Do IIS reset Repeat, on EVERY web front end! ● New School Method: ● Solution Packages Sofia, Bulgaria | 9-10 October Solution Deployment How It Works HelpDesk.wsp (WSS Solution Cab) add delete WSS Config DB Feature Manifests Template Files Assemblies deploy retract UI, Command Line, OM “deploy” command New WFE Web Front End Servers Sofia, Bulgaria | 9-10 October Solution Deployment Central Admin UI ● Solution Information ● Status ● Lang pack? ● Deployed? ● Scheduled Deployment ● This solution deploys to the GAC and to the bin ● Warns admin of GAC install ● Admins can choose particular Web Application Sofia, Bulgaria | 9-10 October Site Deployment ● Content Migration APIs ● ● ● ● Uses change logs Builds CAB files with data, metadata changes Job server copies them to target server/site Job server applies them on target sever/site ● Used by Windows SharePoint Services to copy list/library content to other sites ● Extended by Microsoft Office SharePoint Server to deploy site applications Sofia, Bulgaria | 9-10 October Microsoft Office SharePoint Server 2007 ● It’s an example of what you can build on Windows SharePoint Services ● It adds several declarative development options for solution development ● It adds several object models for custom extensibility projects Sofia, Bulgaria | 9-10 October Office SharePoint Server as the Ultimate WSS Development Example ● Most of Microsoft Office SharePoint Server 2007 consists of: ● Features (with lots of components) ● Site Definitions ● Shared Services Sofia, Bulgaria | 9-10 October What Can You Build for Microsoft Office SharePoint Server 2007? ● Business Intelligence ● Excel worksheets ● .NET User Defined Functions ● SQL Server Analysis Services cubes ● SQL Server Reporting Services reports ● Filter-aware Web Parts ● Search ● Custom Web Parts ● iFilters/Protocol Handlers ● Custom smart clients ● InfoPath Form Services ● Records Management ● “Workflow” Policies ● Web Content Management ● Page Layouts ● Custom Deployment Jobs ● Business Data Catalog ● Custom UI components ● Entity Web services ● Custom Actions ● People/Personalization ● Privacy-aware Web Parts ● User profile import code ● User profile clients ● Custom forms Sofia, Bulgaria | 9-10 October Excel Services ● Excel Calculation Services ● Loads workbooks ● Calculates them ● Refreshes external data ● Maintains session state ● Excel Web Access ● Web Part ● Excel Web Services ● ASMX Sofia, Bulgaria | 9-10 October InfoPath Form Services ● Develop forms (client and server) ● Within InfoPath IDE ● ● ● ● Logic inspector Template parts (“formlets”) Migration from Word, Excel forms Visual Studio Tools for Applications (VSTA) ● Within Visual Studio via VSTO ● Forms become content type on publish ● Content type is responsible for extra UI Sofia, Bulgaria | 9-10 October Business Data Catalog Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Demonstration Business Data Catalog Business Data Catalog ● Creating Web services ● You’d be doing this anyway to build a service-oriented architecture ● Make sure you have methods for display, enumeration ● Creating custom consumer components ● Custom Web Parts ● Custom synchronization methods ● Creating custom actions Sofia, Bulgaria | 9-10 October Search Development ● Customize/extend Search Center ● Add tabs ● Modify XSLT, CSS on results ● Modifying query parameters ● Custom search Web Parts ● Customize alerts ● Index custom data ● Protocol handlers and iFilters ● Custom search Web service clients Sofia, Bulgaria | 9-10 October Custom Search Web Parts Sofia, Bulgaria | 9-10 October User Profile Store Sofia, Bulgaria | 9-10 October Personalization Development ● Privacy policy-compliant code ● Custom synchronization ● Reading/writing information about: ● Users ● Profiles ● Memberships ● Colleagues ● Audiences ● Audience-targetable components Sofia, Bulgaria | 9-10 October Enterprise Document Content ● Document Information Panels ● Policies ● Document converters ● Workflows ● Records repositories ● Search and Process Items Sofia, Bulgaria | 9-10 October Enterprise Document Content Document Information Panels ● InfoPath forms ● Usable in ● Word ● Excel ● PowerPoint Sofia, Bulgaria | 9-10 October Enterprise Document Content Policies ● Event Receivers ● Scoped to ● Lists/Libraries ● Content Types ● Policies ● Policy Item (settings) ● Policy Feature (assembly) ● Policy Resource (assembly) ● Can include clientside add-in logic Sofia, Bulgaria | 9-10 October Enterprise Document Content Document Converters ● Packaged as Features ● Converter logic ● ASP.NET UI ● XML definition ● Dependent on shared services to manage execution, load balancing, etc. ● Relationship is preserved Sofia, Bulgaria | 9-10 October Enterprise Document Content Workflows ● What’s unique to Office – beyond just Windows SharePoint Services ● ● ● ● Client components and UI if desired Additional activities SharePoint Designer InfoPath forms for workflow association, initialization, tasks Sofia, Bulgaria | 9-10 October Web Content Management ● Professional Developer-level work ● Portal site provisioning assemblies ● Long-running operations ● Multi-language enhancements ● Navigation providers ● Field controls ● Deployment jobs ● Reporting ● Designer-level work ● Master pages and page layouts ● Placement of field controls, etc. Sofia, Bulgaria | 9-10 October Summary ● There’s a lot going on here ● It’s yet one more way to use .NET skills ● Windows SharePoint Services ● Facilities for creating code components ● Provisioning engine ● Microsoft Office SharePoint Server ● Declarative options for creating solutions ● Additional object models ● Go here for more information: ● http://msdn.microsoft.com/sharepoint ● http://msdn.microsoft.com/office/sharepoint Sofia, Bulgaria | 9-10 October Sofia, Bulgaria | 9-10 October Please fill out the survey forms! They are the key to amazing prizes that you can get at the end of each day Thank you! Sofia, Bulgaria | 9-10 October Q&A Sofia, Bulgaria | 9-10 October