SHAREPOINT  Presentation By Ajay Jain
Agenda SharePoint Architecture and ASP.NET Configuring and Managing Sites Managing Content Security Building Event Receivers Web Part Development InfoPath Support Workflow Integration Excel Services Business Data Catalogue Enhancements in SharePoint 2010
SharePoint Solutions Platform
SharePoint Hierarchy
SharePoint Concepts Farm The highest-level scope for a WSS deployment An installation of one of more Web servers and back-end servers Each WSS farm has one and only one configuration DB Web Application An IIS Web site extended with WSS Entry point capable of hosting 10,000s of site collections Site Collection Unit of scale and ownership containing top-level site Stored in one specific content DB Site Many per site collection Uses same content DB as parent site
SharePoint Object Model
ASP.NET vs. SharePoint Developer creates provisioning infrastructure per site Multiple sites = duplicating infrastructure One provisioning infrastructure for thousands of sites
IIS to host SharePoint sites Create an IIS Web Application Either directly via the IIS console, Or via SharePoint 3.0 Central Administration Extend the IIS Web Application Adds the configuration in the configuration database Creates folder structure Creates web configuration files
Sites and Site Collections WSS manages sites in terms of site collections Each Web Application can host one or more site collections Each site collection has exactly one top-level site A site collection may (or may not) have child sites
Configuring and Managing Sites Administration at three levels Level of the IIS Web Application via Central Administration Level of the Site Collection via Site Settings of root site Level of the Site via Site Settings Sites provide storage containers for content Lists store items (e.g. Tasks, contacts, ...) Libraries store documents (e.g. Word docs, InfoPath forms, ...) Site navigation controls Top-level navigation via link bar Breadcrumbs Quick launch Treeview
Master Pages Master Pages are a primary feature in ASP.NET 2.0 Provides effective template solution for pages within site Content page reuses chrome from master page Content page fill in placeholders defined in master page SharePoint grips to ASP.NET master pages Quick and easy to change look and feel of entire site Editing master page can be done with SharePoint Site Designer
Site Provisioning Core component of the SharePoint Services platform Lets users easily create WSS sites from site templates Scales to 10,000 of sites per farm Site template defines starting point for a site Two forms of Site Templates Site Templates (*.stp files) typically user created Site Definitions created by developers and stored on web server file system
VS.NET Extensions for SharePoint Visual Studio 2005 Project Templates   Web Part  Team Site Definition  Blank Site Definition  List Definition   Visual Studio 2005 Item Templates   Web Part  Custom Field  List Definition (with optional Event Receiver)  Content Type (with optional Event Receiver)  SharePoint Solution Generator   Generates a Site Definition project from an existing site
Lists and Document Libraries Containers for Storing Content Content Database List Document Library Picture Library ... CAML Schemas SharePoint UI Custom Applications Smart Clients
Content Types Foundation for content management in SharePoint Reusable definition for list schema  Defines constraints and requirements for an item type Reused and extended by users
Security Object Model
Events Receivers Events architecture significantly improved Events supported for lists, document libraries and content types Events supported for changes to list schema as well as items Events supported at site collection and site level Support for synchronous events and asynchronous events Synchronous events occur before the fact and are cancel-able How do you get events to work Create custom class inheriting a WSS receiver class  e.g. SPItemEventReceiver or SPWebEventReciever Compile class into assembly DLL and install in GAC Add event configuration by installing and activating a feature
Web Parts Web Parts are used to build portal-style applications Content designed to modular, consistent and easy to navigate  Web Parts add in support for customization and personalization
ASP.NET Web Part Page Structure Web Part Page in ASP.NET 2.0 is designed with… One instance of WebPartManager class One or more Web Part Zones  Optionally an Editor Zone and/or a Catalog Zone WebPartManager WebPartZone (Left) WebPartZone (Right) Editor Zone Catalog Zone Web Part 1 Web Part 2 Web Part 3 Web Part 4 Web Part 5 Editor Part 1 Editor Part 2 Catalog Part 1 Catalog Part 2
ASP.NET 2.0 Web Parts Web Parts derive from WebPart base class All Web Part inherit common functionally  using  System; using  System.Web.UI; using  System.Web.UI.WebControls.WebParts; namespace  LitwareWebParts {  public   class   HelloWorldWebPart  :  WebPart  { protected   override   void  OnPreRender( EventArgs  e)  { this .Title =  "Litware Project Revenue" ; } protected   override   void  RenderContents( HtmlTextWriter  writer) { writer.Write( "Hello, world" ); } } }
Overview of Developing Web Parts Create a new class library DLL project Create a class that inherits from ASP.NET Web Part class Override methods as required (e.g. RenderContents) Deploy Web Part DLL Compile DLL into \bin directory Configure DLL in web.config file SafeControl list Import Web Part into a Site collection Add Web Part class to Web Part Gallery Add Web Part to zone on a Web Part Page
Web Part As A Safe Control Web Parts usually run on Web Part Pages Web Parts must be registered as Safe in web.config file You must add entry to web.config before testing a Web Part <!– web.config in root directory of hosting virtual server --> < configuration > < SharePoint > < SafeControls > < SafeControl   Assembly =&quot;AcmeWebParts&quot; Namespace =&quot;AcmeWebParts&quot; TypeName =&quot;*&quot;   Safe =&quot;True&quot;   /> </ SafeControls > </ SharePoint > </ configuration >
Web Part Gallery Scoped to the Site Collection level Contains list of Web Parts available to place on pages Web Parts declared as SafeControls can be auto-populated Click New button on toolbar Web Parts imported into gallery using .webpart files Click Upload button on toolbar
SharePoint Core Development
Forms in Smart Client Download XSN, XML XSN, XML loaded Business logic execution Rendering  Validation Execute calculations Execute rules Editing actions WSS Office “12” servers XSN InfoPath Client
Forms in Web Client ASPX Replay event log XSN, XML loaded Business logic execution Generate Return updated  data array Download script  and data array Postback event log via XMLHTTP Validation Execute calculations Execute rules Editing actions (All using script) Generate and render HTML  (using script) WSS Office “12” servers XSN Browser
What are workflows? Encapsulated logic for coordinating business processes   provides abstractions to model real world processes valuable for modeling long running and stateful behavior Workflows in WinWF are decomposed into activities For human-oriented workflows For system-oriented workflows Sequential workflow   modeled as flowchart State machine workflow   modeled as state diagram
Workflow Basics A workflow is a class Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class
SharePoint Workflow Fundamentals WSS supports workflows on items and documents Workflows associated with list, document library or content type Workflow started and completed by user actions Workflows are managed using WSS task lists Workflow-related task lists use standard WSS task list schema Workflow activities create and update task items as required Workflows are tracked through history tables Allows users to see workflow progress
Workflow Stages Workflow Association Workflow installed by farm administrator at server level Workflow Initiation Launched by user either manually or automatically Workflow Status Users can view status of workflows on any item or document Workflow Task Completion Manually triggers by user or automated through code
Creating a New Workflow
Designing The Workflow
Basic Components of Excel Services Excel  Calculation Services is the &quot;engine&quot; that loads workbook, calculates using Excel 2007, refreshes external data and maintains sessions. Excel  Web Access is a Web Part that displays and enables interaction with the Excel workbook in a browser by using DHTML and JavaScript (without using ActiveX controls). Excel Web  Services is a Web service hosted in MOSS that provides several methods that a developer can use as an API to build custom applications based on the Excel workbook.
Excel in MS Office
Excel in Browser
Excel in Web Part
BDC Architecture
BDC  continued… Business Data Web Parts   Generic Web Parts that display any data type from the BDC Business Data in Lists Generic field type that exposes any data entity defined in the BDC Business Data Search   New protocol handler Create new search result types based on BDC data entities User Profile Extension Populate user profiles from any BDC data source
SPS2003    MOSS 2007    SPS2010 Access services and Visio services Business Connectivity Services Developer Productivity Enhancements Development can be done in client OS such as Windows 7 LINQ (Language Integrated Query) to query SharePoint List “ After-Synchronous” events SharePoint Designer Enhancements Business Intelligence Enhancements Excel can be used for ETL data from multiple sources PerformancePoint server integration Enhancements for Large List Handling Workflow Improvements Social Networking Capabilities Deployment Enhancements
Thank You Reference sites: http://decodesharepoint.blogspot.com http://msdn.microsoft.com http://sharepointmagazine.net http://sharepointapplied.com Reference books: Inside Windows SharePoint Services 3.0 – Microsoft Inside Microsoft Office SharePoint Server 2007 – Microsoft Professional SharePoint 2007 Programming – Wrox Development materials: Creating Basic SharePoint Web Part Building custom application using BDC Excel Services Development Roadmap Unsupported Features in Excel Services Developing BI Applications Workflows Development Resource Center Security Object Model

SharePoint 2007 Presentation

  • 1.
  • 2.
    Agenda SharePoint Architectureand ASP.NET Configuring and Managing Sites Managing Content Security Building Event Receivers Web Part Development InfoPath Support Workflow Integration Excel Services Business Data Catalogue Enhancements in SharePoint 2010
  • 3.
  • 4.
  • 5.
    SharePoint Concepts FarmThe highest-level scope for a WSS deployment An installation of one of more Web servers and back-end servers Each WSS farm has one and only one configuration DB Web Application An IIS Web site extended with WSS Entry point capable of hosting 10,000s of site collections Site Collection Unit of scale and ownership containing top-level site Stored in one specific content DB Site Many per site collection Uses same content DB as parent site
  • 6.
  • 7.
    ASP.NET vs. SharePointDeveloper creates provisioning infrastructure per site Multiple sites = duplicating infrastructure One provisioning infrastructure for thousands of sites
  • 8.
    IIS to hostSharePoint sites Create an IIS Web Application Either directly via the IIS console, Or via SharePoint 3.0 Central Administration Extend the IIS Web Application Adds the configuration in the configuration database Creates folder structure Creates web configuration files
  • 9.
    Sites and SiteCollections WSS manages sites in terms of site collections Each Web Application can host one or more site collections Each site collection has exactly one top-level site A site collection may (or may not) have child sites
  • 10.
    Configuring and ManagingSites Administration at three levels Level of the IIS Web Application via Central Administration Level of the Site Collection via Site Settings of root site Level of the Site via Site Settings Sites provide storage containers for content Lists store items (e.g. Tasks, contacts, ...) Libraries store documents (e.g. Word docs, InfoPath forms, ...) Site navigation controls Top-level navigation via link bar Breadcrumbs Quick launch Treeview
  • 11.
    Master Pages MasterPages are a primary feature in ASP.NET 2.0 Provides effective template solution for pages within site Content page reuses chrome from master page Content page fill in placeholders defined in master page SharePoint grips to ASP.NET master pages Quick and easy to change look and feel of entire site Editing master page can be done with SharePoint Site Designer
  • 12.
    Site Provisioning Corecomponent of the SharePoint Services platform Lets users easily create WSS sites from site templates Scales to 10,000 of sites per farm Site template defines starting point for a site Two forms of Site Templates Site Templates (*.stp files) typically user created Site Definitions created by developers and stored on web server file system
  • 13.
    VS.NET Extensions forSharePoint Visual Studio 2005 Project Templates Web Part Team Site Definition Blank Site Definition List Definition Visual Studio 2005 Item Templates Web Part Custom Field List Definition (with optional Event Receiver) Content Type (with optional Event Receiver) SharePoint Solution Generator Generates a Site Definition project from an existing site
  • 14.
    Lists and DocumentLibraries Containers for Storing Content Content Database List Document Library Picture Library ... CAML Schemas SharePoint UI Custom Applications Smart Clients
  • 15.
    Content Types Foundationfor content management in SharePoint Reusable definition for list schema Defines constraints and requirements for an item type Reused and extended by users
  • 16.
  • 17.
    Events Receivers Eventsarchitecture significantly improved Events supported for lists, document libraries and content types Events supported for changes to list schema as well as items Events supported at site collection and site level Support for synchronous events and asynchronous events Synchronous events occur before the fact and are cancel-able How do you get events to work Create custom class inheriting a WSS receiver class e.g. SPItemEventReceiver or SPWebEventReciever Compile class into assembly DLL and install in GAC Add event configuration by installing and activating a feature
  • 18.
    Web Parts WebParts are used to build portal-style applications Content designed to modular, consistent and easy to navigate Web Parts add in support for customization and personalization
  • 19.
    ASP.NET Web PartPage Structure Web Part Page in ASP.NET 2.0 is designed with… One instance of WebPartManager class One or more Web Part Zones Optionally an Editor Zone and/or a Catalog Zone WebPartManager WebPartZone (Left) WebPartZone (Right) Editor Zone Catalog Zone Web Part 1 Web Part 2 Web Part 3 Web Part 4 Web Part 5 Editor Part 1 Editor Part 2 Catalog Part 1 Catalog Part 2
  • 20.
    ASP.NET 2.0 WebParts Web Parts derive from WebPart base class All Web Part inherit common functionally using System; using System.Web.UI; using System.Web.UI.WebControls.WebParts; namespace LitwareWebParts { public class HelloWorldWebPart : WebPart { protected override void OnPreRender( EventArgs e) { this .Title = &quot;Litware Project Revenue&quot; ; } protected override void RenderContents( HtmlTextWriter writer) { writer.Write( &quot;Hello, world&quot; ); } } }
  • 21.
    Overview of DevelopingWeb Parts Create a new class library DLL project Create a class that inherits from ASP.NET Web Part class Override methods as required (e.g. RenderContents) Deploy Web Part DLL Compile DLL into \bin directory Configure DLL in web.config file SafeControl list Import Web Part into a Site collection Add Web Part class to Web Part Gallery Add Web Part to zone on a Web Part Page
  • 22.
    Web Part AsA Safe Control Web Parts usually run on Web Part Pages Web Parts must be registered as Safe in web.config file You must add entry to web.config before testing a Web Part <!– web.config in root directory of hosting virtual server --> < configuration > < SharePoint > < SafeControls > < SafeControl Assembly =&quot;AcmeWebParts&quot; Namespace =&quot;AcmeWebParts&quot; TypeName =&quot;*&quot; Safe =&quot;True&quot; /> </ SafeControls > </ SharePoint > </ configuration >
  • 23.
    Web Part GalleryScoped to the Site Collection level Contains list of Web Parts available to place on pages Web Parts declared as SafeControls can be auto-populated Click New button on toolbar Web Parts imported into gallery using .webpart files Click Upload button on toolbar
  • 24.
  • 25.
    Forms in SmartClient Download XSN, XML XSN, XML loaded Business logic execution Rendering Validation Execute calculations Execute rules Editing actions WSS Office “12” servers XSN InfoPath Client
  • 26.
    Forms in WebClient ASPX Replay event log XSN, XML loaded Business logic execution Generate Return updated data array Download script and data array Postback event log via XMLHTTP Validation Execute calculations Execute rules Editing actions (All using script) Generate and render HTML (using script) WSS Office “12” servers XSN Browser
  • 27.
    What are workflows?Encapsulated logic for coordinating business processes provides abstractions to model real world processes valuable for modeling long running and stateful behavior Workflows in WinWF are decomposed into activities For human-oriented workflows For system-oriented workflows Sequential workflow modeled as flowchart State machine workflow modeled as state diagram
  • 28.
    Workflow Basics Aworkflow is a class Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class
  • 29.
    SharePoint Workflow FundamentalsWSS supports workflows on items and documents Workflows associated with list, document library or content type Workflow started and completed by user actions Workflows are managed using WSS task lists Workflow-related task lists use standard WSS task list schema Workflow activities create and update task items as required Workflows are tracked through history tables Allows users to see workflow progress
  • 30.
    Workflow Stages WorkflowAssociation Workflow installed by farm administrator at server level Workflow Initiation Launched by user either manually or automatically Workflow Status Users can view status of workflows on any item or document Workflow Task Completion Manually triggers by user or automated through code
  • 31.
  • 32.
  • 33.
    Basic Components ofExcel Services Excel Calculation Services is the &quot;engine&quot; that loads workbook, calculates using Excel 2007, refreshes external data and maintains sessions. Excel Web Access is a Web Part that displays and enables interaction with the Excel workbook in a browser by using DHTML and JavaScript (without using ActiveX controls). Excel Web Services is a Web service hosted in MOSS that provides several methods that a developer can use as an API to build custom applications based on the Excel workbook.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    BDC continued…Business Data Web Parts   Generic Web Parts that display any data type from the BDC Business Data in Lists Generic field type that exposes any data entity defined in the BDC Business Data Search   New protocol handler Create new search result types based on BDC data entities User Profile Extension Populate user profiles from any BDC data source
  • 39.
    SPS2003  MOSS 2007  SPS2010 Access services and Visio services Business Connectivity Services Developer Productivity Enhancements Development can be done in client OS such as Windows 7 LINQ (Language Integrated Query) to query SharePoint List “ After-Synchronous” events SharePoint Designer Enhancements Business Intelligence Enhancements Excel can be used for ETL data from multiple sources PerformancePoint server integration Enhancements for Large List Handling Workflow Improvements Social Networking Capabilities Deployment Enhancements
  • 40.
    Thank You Referencesites: http://decodesharepoint.blogspot.com http://msdn.microsoft.com http://sharepointmagazine.net http://sharepointapplied.com Reference books: Inside Windows SharePoint Services 3.0 – Microsoft Inside Microsoft Office SharePoint Server 2007 – Microsoft Professional SharePoint 2007 Programming – Wrox Development materials: Creating Basic SharePoint Web Part Building custom application using BDC Excel Services Development Roadmap Unsupported Features in Excel Services Developing BI Applications Workflows Development Resource Center Security Object Model

Editor's Notes

  • #3 SharePoint Competitors – IBM WebSphere, Oracle Collaboration Suite and EMC 2 Documentum 01/18/10
  • #4 Windows Color System: http://www.microsoft.com/whdc/device/display/color/WCS.mspx
  • #5 Windows Color System: http://www.microsoft.com/whdc/device/display/color/WCS.mspx
  • #6 Plan for Software Boundaries: http://technet.microsoft.com/en-us/library/cc262787.aspx
  • #7 Windows Color System: http://www.microsoft.com/whdc/device/display/color/WCS.mspx
  • #10 Within a virtual server, WSS sites are partitioned using site collections . A site collection is a set of one or more sites that constitutes a unit of ownership. Creating a new site collection requires you to supply a Windows login account and an email address for its owner. WSS tracks information about site collection owners so it can grant them administrative permissions and send them email notifications regarding site collection maintenance issues. A site collection always includes a top-level site that has the same URL as the site collection itself. When you create a new site collection, the top-level site is created automatically. In addition to its top-level site, a site collection can optionally contain other secondary sites that are related to the top-level site through parent-child relationships as shown above. Every site must be created within a specific site collection and all the sites in the same site collection are stored in the same content database.
  • #14 SP Solution Generator tool: WSPBuilder
  • #15 Smart Client: http://blogs.msdn.com/dphill/articles/66300.aspx
  • #19 The term &apos;portal&apos; is used to describe a website that acts as an entry point or gateway to an array of services or resources. Obviously all sites can do this to some degree, but typically a portal will have a wide range of resources, usually including a search facility, directory of other sites, news, e-mail etc. portals can be general (eg Yahoo) or be specific to a particular industry, occupation or field of interest. www.yahoo.com – Portal mail.yahoo.com – Website www.hotmail.com – Website
  • #34 Excel Services Introduction: http://blah.winsmarts.com/2007-3-SharePoint_2007__Excel_Services_-_A_Quick_Introduction.aspx