SlideShare a Scribd company logo
SharePoint 2010 Application Development Overview
What is SharePoint?Many answers to this questionSimplest: Web application running on ASP.NETDoes different things for different peopleMuch more than document managementFor end-users:SharePoint is an information and collaboration portalFor developers:SharePoint is a Web application development platformMicrosoft SharePoint 2010Ribbon UISharePoint WorkspaceSharePoint MobileOffice Client + Web App IntegrationStandards SupportBusiness Connectivity SvcsInfoPath Form ServicesExternal ListsWorkflowSharePoint DesignerVisual StudioAPI EnhancementsREST/ATOM/RSSSitesTagging, Tag Cloud, RatingsSocial BookmarkingBlogs and WikisMy SitesActivity FeedsProfiles and ExpertiseOrg BrowserCommunitiesCompositesPerformancePointSvcsExcel ServicesChart Web PartVisio ServicesWeb AnalyticsSQL Server IntegrationPowerPivotContentInsightsEnterprise Content TypesMetadata and NavigationDocument SetsMulti-stage DispositionAudio + Video Content TypesList EnhancementsSearchSocial RelevancePhonetic SearchNavigation
SharePoint 2010 PlatformAn evolved version of MOSS and WSS v3Microsoft SharePoint Server 2010Microsoft SharePoint Foundation 2010 Development can now be done on client OSSignificant enhancement for many development teamsBrowser ClientsMicrosoft SharePoint Server 2010MS Word ClientsMicrosoft SharePoint Foundation 2010MS Outlook Clients.NET Framework and ASP.NET 3.5 SP1Internet Information Services 7.0Windows Server 2008 (x64 only)for Production EnvironmentsWindows 7 or Vista  (x64 only) for Development Environments only
SharePoint Architecture
SharePoint 2010 Dev EnviromentDevelopment must be done against isolated deployment of SharePoint(Virtual) Machine has: Visual Studio 2010SharePoint Designer 2010SQL Server 2008Office 2010 / 2007
SharePoint 2010 Developer ToolsVisual Studio has robust tools for SP 2010 developmentProject and item templatesTemplates for many SharePoint elementsVisual Designers and ExplorersFeature and SolutionsSite contentsF5 deployment and debuggingDeployment is configurable
SharePoint 2010 ProjectsSharePoint Projects have standard propertiesProject FileProject FolderActive Deployment ConfigurationInclude Assembly in PackageAssembly Deployment TargetSandboxed SolutionSite URLStartup Item
DEMOBuilding a SharePoint 2010 project
Solution PackagesWork done in Visual Studio packaged into a solution for deploymentPackage is a CAB file with a WSP extensionPackage contains manifest with deployment instructions
Sample Solution Manifest<?xml version="1.0" encoding="utf-8"?><Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="e6c7d3ce-f0a8-4f48-8d50-0cba4ae5ac9e" SharePointProductVersion="14.0">  <Assemblies>    <Assembly Location="UserControlWebParts.dll" DeploymentTarget="GlobalAssemblyCache">      <SafeControls>        <SafeControl Assembly="UserControlWebParts, Version=1.0.0.0, ..."           Namespace="UserControlWebParts.VisualCalculator" TypeName="*" />        <SafeControl Assembly="UserControlWebParts, Version=1.0.0.0, ..."           Namespace="UserControlWebParts.ListBrowser" TypeName="*" />      </SafeControls>    </Assembly>  </Assemblies>  <TemplateFiles>    <TemplateFile Location="CONTROLTEMPLATES..isualCalculatorUserControl.ascx" />    <TemplateFile Location="CONTROLTEMPLATES..istBrowserUserControl.ascx" />  </TemplateFiles>  <FeatureManifests>    <FeatureManifest Location="UserControlWebParts_Feature1eature.xml" />  </FeatureManifests></Solution>
Farm and Sandboxed SolutionsFarm SolutionsDeployed at farm scopeRequires administrator rights to deploySandboxed solutionsDeployed at site collection scopeRequires site collection owner rightsRestricted to subset of SharePoint server APIRestricted resource usage
FeaturesBuilding blocks for creating SharePoint solutionsA unit of design, implementation and deploymentContain elementse.g. menu items, links, list types and list instancesMany other element types possibleCan contain event handlersYou can add any code which used WSS object model
Sample Feature Manifest<?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/"   Id="734f2957-51f6-444c-b8cc-ab165c2fa4c5" Scope="Site"   Title="UserControlWebParts Feature1">  <ElementManifests>    <ElementManifest Location="VisualCalculatorlements.xml" />    <ElementFile Location="VisualCalculatorisualCalculator.webpart" />    <ElementManifest Location="ListBrowserlements.xml" />    <ElementFile Location="ListBrowseristBrowser.webpart" />  </ElementManifests></Feature>
User’s View of FeaturesSupport concept of activation and deactivation
SharePoint 2010 System FoldersRoot folder known as System RootMay also hear term 14 HiveThis term is being phased out
The Features DirectoryFeatures may be installed at farm levelOne folder per FeatureMultiple Feature activation scopesFarm, Web application, Site Collection, Site
DEMORevisit the simple projectDeploy a sandboxed solution
Content Storage in SharePointStorage is based on the concept of listsEverything is modeled in terms of rows and columnsThe Document Library is really just a hybrid listSharePoint adds value on top of the generic listTransparent content storage in SQL ServerAutomatic generation of the user interface
Lists
List LookupsLookups form relationships between listsReferential integrity can be enforcedLookupLookup11mmProjectsTimecardsClients
Column ValidationValidation Formula can be specified on List and ColumnsSimilar to Excel formulasExample: =[Discount] < [Cost]Column uniqueness constraint
Large List SupportCheck query before executionIf Index is not used and number of scanned rows is greater than a limit then block queryIf number of Joins is greater than limit then block queryIf enabled on the Web Application, the developer can turn off throttling using:SPQuery.RequestThrottleOverride and SPSiteDataQuery.RequestThrottleOverride
Overview of Data TechnologiesREST APIsStrongly-typedClientOMWeakly-typedClient-sideData PlatformFarmSiteList DataExternal ListsServerOMServer-sideWeakly-typedNew in 2010ImprovedLINQStrongly-typed
Working with SharePoint 2010SharePointServerApplicationSharePoint APIWeb ServiceClient.svcJSONXMLClient ApplicationClient OMWPF/WinForm/OfficeSilverlightJavaScriptClient Application
Server Object ModelThe SharePoint version of “Hello, World”Show the root site of a collection and it’s listsusing (var site = new SPSite("http://localhost/sites/demo/")){var web = site.RootWeb;    ListBox1.Items.Add(web.Title);foreach (SPList list in web.Lists)    {        ListBox1.Items.Add("" + list.Title);    }}
Resource UsageSPSite and SPWeb objects use unmanaged resourcesVital that you release resources with DisposeGeneral rules:If you create the object, you should Disposevar site = new SPSite(“http://localhost”);var web = site.OpenWeb();If you get a reference from a property, don’t Disposevar web = site.RootWebThere are exceptions to these rulesUse SPDisposeCheck to analyze code
DEMOWorking with the Server Object Model
Managed Client Object Model<System Root>SAPI Microsoft.SharePoint.Client281kbMicrosoft.SharePoint.Client.Runtime145kbTo Compare:Microsoft.SharePoint.dll – 15.3MB
Managed Client Object ModelThe SharePoint version of “Hello, World”Show the root site of a collection and it’s listsusing (var context = new ClientContext("http://localhost/sites/demo")){var site = context.Site;var web = site.RootWeb;context.Load(web, w => w.Title);context.Load(web.Lists); context.ExecuteQuery();    ListBox1.Items.Add(web.Title);foreach (var list in web.Lists) {        ListBox1.Items.Add("" + list.Title);    }}
Retrieve DataClient Context methods wrap service callsContext.Load(object, paramsLinqExpression)Fills out the objects in the context: in-placeContext.LoadQuery(IQueryable)Use Linq query to return custom objectsNot filled into the contextvar query = from list in clientContext.Web.Lists            where list.Title != null            select list; var result = clientContext.LoadQuery(query);clientContext.ExecuteQuery();
Silverlight Client Object Model<System Root>EMPLATEAYOUTSlientBinMicrosoft.SharePoint.Client.Silverlight262KBMicrosoft.SharePoint.Client.Silverlight.Runtime138KB
Silverlight Client Object ModelWeb web; ClientContext context;void MainPage_Loaded(object sender, RoutedEventArgs e) {    context = new ClientContext("http://localhost/sites/demo");    web = context.Web;context.Load(web);context.ExecuteQueryAsync(Succeeded, Failed);}void Succeeded(object sender, ClientRequestSucceededEventArgs e) {    Label1.Text = web.Title;}void Failed(object sender, ClientRequestFailedEventArgs e) {    // handle error}
JavaScript Client Object Model<System Root>EMPLATEAYOUTS SP.js (SP.debug.js)380KB (559KB)SP.Core.js (SP.Core.debug.js)13KB (20KB)SP.Runtime.js (SP.Runtime.debug.js)68KB (108KB)Add using <SharePoint:ScriptLink>
JavaScript Client Object Model<SharePoint:ScriptLink ID="SPScriptLink" runat="server" LoadAfterUI="true"         Localizable="false" Name="sp.js" /><script src="js/jquery-1.3.2.min.js" type="text/javascript"></script><script type="text/javascript">    _spBodyOnLoadFunctionNames.push("Initialize");var web;    function Initialize() {var context = new SP.ClientContext.get_current();        web = context.get_web();context.load(web);context.executeQueryAsync(Succeeded, Failed);    }    function Succeeded() {        $("#listTitle").append(web.get_title());    }    function Failed() {        alert('request failed');    }</script>
DEMOWorking with the Managed Client Object Model
Event HandlersOverride methods on known receiver typesSPFeatureReceiverSPListEventReceiverSPItemEventReceiverRegister receiver as handler for entityUse CAML or codeSynchronous and asynchronous eventsItemAddingItemAdded
Sample Feature Receiverpublic class Feature1EventReceiver : SPFeatureReceiver{    public override void FeatureActivated(SPFeatureReceiverProperties properties)    {var web = properties.Feature.Parent as SPWeb;        if (web == null) return;web.Properties["OldTitle"] = web.Title;web.Properties.Update();web.Title = "Feature activated at " + DateTime.Now.ToLongTimeString();web.Update();    }    public override void FeatureDeactivating(SPFeatureReceiverProperties properties)    {var web = properties.Feature.Parent as SPWeb;        if (web == null) return;web.Title = web.Properties["OldTitle"];web.Update();    }}
DEMOWorking with Event Handlers
Overview of Data TechnologiesREST APIsStrongly-typedClientOMWeakly-typedClient-sideData PlatformFarmSiteList DataExternal ListsServerOMServer-sideWeakly-typedNew in 2010ImprovedLINQStrongly-typed
REST APIsWork with data via Representational State Transfer (REST)SharePoint list dataOther data sources as wellExcel spreadsheetsAzure cloud storePowered by ADO.NET Data Services “Astoria”REST Protocols: Atom, AtomPub, and JSONIntegration and Standardization
REST APIs
Consuming Data via REST APIs
Consuming Data via REST APIsprivate DemoProxy.DemoDataContext _context =    new DemoProxy.DemoDataContext(new Uri(    "http://localhost/sites/demo/_vti_bin/ListData.svc"));private void Form1_Load(object sender, EventArgs e) {    _context.Credentials = System.Net.CredentialCache.DefaultCredentials;productsBindingSource.DataSource = _context.Products;}private void productsBindingNavigatorSaveItem_Click(object sender, EventArgs e) {    _context.SaveChanges();}private void productsBindingSource_CurrentItemChanged(object sender, EventArgs e) {    _context.UpdateObject(productsBindingSource.Current); }
DEMOUsing the REST APIs
LINQ to SharePointNo CAML RequiredEntity classes form Business LayerStrongly-typed queries, compile-time checkIntelligence helps query constructionMicrosoft.SharePoint.Linq.dll
SPMetalEntities generated using SPMetal utilitySPMetal located in <System Root>inspmetal /web:<site Url> /code:Projects.csCreate classes and add them to project
Consuming Data with LINQ to SharePointvarsiteUrl = "http://localhost/sites/demo";var context = new SPNorthwind.SPNorthwindDataContext(siteUrl);var query = from p in context.Products            where p.Category.Title == "Beverages"            select p;foreach (var item in query){Console.WriteLine(item.Title);}
DEMOLINQ to SharePoint
Web PartsModular and reusable building blocks typically used in portal style applicationsSupport for customization and personalizationWeb Part infrastructure requiredNot specific to SharePointNot specific to ASP.NET
DEMOPageFlakes.com
Web Part HistoryWindows SharePoint Services 2.0 Designed with its own Web Part infrastructureWSS serializes/stores/retrieves personalization dataASP.NET 2.0Includes Web Part infrastructureSerializes/stores/retrieves personalization dataMore flexible and more extensible than WSSASP.NET 2.0 does not support WSS v2 Web PartsSharePoint Services 3.0 / SharePoint Foundation 2010Supports WSS V2 style Web PartsSupports ASP.NET 2.0 style Web Parts (preferred)
Web Part GallerySite collection scopedBoth .DWP and .WEBPART files as itemsSharePoint can discover new candidates from Web.configMaintain metadataAvailable out-of-the-box parts determined by edition and site template
Web Part Gallery
Visual Web Part ProjectUser interface described with markup in User ControlWeb Part loads User Control dynamicallyPage.LoadControlNot natively compatible with Sandboxed SolutionsThere are workarounds
Visual Web Part Project
Web Part DeploymentDeploy assembly to:in folder of IIS Web ApplicationExecutes in a sandboxGlobal Assembly CacheRegister Web Part as Safe Control in Web.configAdd Web Part to GalleryProcess automated by Visual Studio 2010
DEMOVisual Web Parts
SharePoint 2010 and SilverlightPresentationSilverlightClient IntegrationSecurityApp ModelSharePointData LayerLogic Layer
Silverlight/SharePoint SolutionSilverlight applicationBuild SilverlightUserControlSharePoint applicationDeploy XAP via ModuleAdd custom project outputUse OOB Silverlight Web PartEnable Silverlight Debugging
XAP File Deployment OptionsVirtual file systemDocument LibraryVirtual folder structure Limits scope to site or site collectionWorks with sandboxed solutionsPhysical file systemLAYOUTS folderLAYOUTSlientBin folderFarm scopeDoes not work with sandboxed solutions
DEMOSilverlight Web Parts
SharePoint 2010 Application Development Overview

More Related Content

What's hot

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
Kashif Imran
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST API
Chris Beckett
 
Taking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST API
Eric Shupps
 
Introduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST APIIntroduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST API
Sparkhound Inc.
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
Rob Windsor
 
SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIs
Giuseppe Marchi
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
Shakir Majeed Khan
 
Are you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsAre you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint Apps
Liam Cleary [MVP]
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePoint
BenCox35
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
Adil Ansari
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
Naveen Sihag
 
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Eric Shupps
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
Kunaal Kapoor
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013
Ejada
 
Working With Sharepoint 2013 Apps Development
Working With Sharepoint 2013 Apps DevelopmentWorking With Sharepoint 2013 Apps Development
Working With Sharepoint 2013 Apps Development
Pankaj Srivastava
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
Nik Patel
 
Toms introtospring mvc
Toms introtospring mvcToms introtospring mvc
Toms introtospring mvc
Guo Albert
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 

What's hot (20)

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST API
 
Taking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST API
 
Introduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST APIIntroduction to the SharePoint 2013 REST API
Introduction to the SharePoint 2013 REST API
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIs
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
 
Are you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint AppsAre you getting Sleepy. REST in SharePoint Apps
Are you getting Sleepy. REST in SharePoint Apps
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePoint
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
Who Are You and What Do You Want? Working with OAuth in SharePoint 2013.
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013
 
Working With Sharepoint 2013 Apps Development
Working With Sharepoint 2013 Apps DevelopmentWorking With Sharepoint 2013 Apps Development
Working With Sharepoint 2013 Apps Development
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Toms introtospring mvc
Toms introtospring mvcToms introtospring mvc
Toms introtospring mvc
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 

Viewers also liked

Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
RajeshKanchi_Resume_Latest_2016
RajeshKanchi_Resume_Latest_2016RajeshKanchi_Resume_Latest_2016
RajeshKanchi_Resume_Latest_2016
Rajesh Kanchi
 
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRDesenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Rodrigo Kono
 
Making UK The Age of Affluence 1955 to 1976
Making UK The Age of Affluence 1955 to 1976Making UK The Age of Affluence 1955 to 1976
Making UK The Age of Affluence 1955 to 1976
NeilCharlesGardner
 
Mi 1 er ejercicio de power point
Mi 1 er ejercicio de power pointMi 1 er ejercicio de power point
Mi 1 er ejercicio de power point
Luis Fernando Jamayote
 
Common Errors in Statistical Thinking
Common Errors in Statistical ThinkingCommon Errors in Statistical Thinking
Common Errors in Statistical Thinking
aprofitt
 
Hazard and risk management in safety critical development
Hazard and risk management in safety critical developmentHazard and risk management in safety critical development
Hazard and risk management in safety critical development
Intland Software GmbH
 
Big data Lambda Architecture - Batch Layer Hands On
Big data Lambda Architecture - Batch Layer Hands OnBig data Lambda Architecture - Batch Layer Hands On
Big data Lambda Architecture - Batch Layer Hands On
hkbhadraa
 
Ovum Fireside Chat: Governing the data lake - Understanding what's in there
Ovum Fireside Chat: Governing the data lake - Understanding what's in thereOvum Fireside Chat: Governing the data lake - Understanding what's in there
Ovum Fireside Chat: Governing the data lake - Understanding what's in there
Zaloni
 
5 Adimda Etkili Zaman Yonetimi
5 Adimda Etkili Zaman Yonetimi5 Adimda Etkili Zaman Yonetimi
5 Adimda Etkili Zaman Yonetimi
Dolunay Köşkeroğlu
 
1.3.1. doğum öncesi nedenler
1.3.1. doğum öncesi nedenler1.3.1. doğum öncesi nedenler
1.3.1. doğum öncesi nedenler
eabdep
 

Viewers also liked (13)

Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 3: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
RajeshKanchi_Resume_Latest_2016
RajeshKanchi_Resume_Latest_2016RajeshKanchi_Resume_Latest_2016
RajeshKanchi_Resume_Latest_2016
 
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalRDesenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
Desenvolvendo aplicações de comunicação em tempo real com ASP.NET SignalR
 
Making UK The Age of Affluence 1955 to 1976
Making UK The Age of Affluence 1955 to 1976Making UK The Age of Affluence 1955 to 1976
Making UK The Age of Affluence 1955 to 1976
 
Mi 1 er ejercicio de power point
Mi 1 er ejercicio de power pointMi 1 er ejercicio de power point
Mi 1 er ejercicio de power point
 
Common Errors in Statistical Thinking
Common Errors in Statistical ThinkingCommon Errors in Statistical Thinking
Common Errors in Statistical Thinking
 
Hazard and risk management in safety critical development
Hazard and risk management in safety critical developmentHazard and risk management in safety critical development
Hazard and risk management in safety critical development
 
Big data Lambda Architecture - Batch Layer Hands On
Big data Lambda Architecture - Batch Layer Hands OnBig data Lambda Architecture - Batch Layer Hands On
Big data Lambda Architecture - Batch Layer Hands On
 
Ovum Fireside Chat: Governing the data lake - Understanding what's in there
Ovum Fireside Chat: Governing the data lake - Understanding what's in thereOvum Fireside Chat: Governing the data lake - Understanding what's in there
Ovum Fireside Chat: Governing the data lake - Understanding what's in there
 
5 Adimda Etkili Zaman Yonetimi
5 Adimda Etkili Zaman Yonetimi5 Adimda Etkili Zaman Yonetimi
5 Adimda Etkili Zaman Yonetimi
 
1.3.1. doğum öncesi nedenler
1.3.1. doğum öncesi nedenler1.3.1. doğum öncesi nedenler
1.3.1. doğum öncesi nedenler
 

Similar to SharePoint 2010 Application Development Overview

Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
Elaine Van Bergen
 
Introduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointIntroduction to using jQuery with SharePoint
Introduction to using jQuery with SharePoint
Rene Modery
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
guest7c2e070
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
José Angel Ibarra Espinosa
 
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel OlesonBack to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Joel Oleson
 
SharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and EventsSharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and Events
Mohan Arumugam
 
SharePoint Developer Education Day Palo Alto
SharePoint  Developer Education Day  Palo  AltoSharePoint  Developer Education Day  Palo  Alto
SharePoint Developer Education Day Palo Alto
llangit
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
lanslote
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stack
Bijoy Viswanadhan
 
SharePoint 2007 Presentation
SharePoint 2007 PresentationSharePoint 2007 Presentation
SharePoint 2007 Presentation
Ajay Jain
 
Introduction wss-3-and-moss-2007-12324
Introduction wss-3-and-moss-2007-12324Introduction wss-3-and-moss-2007-12324
Introduction wss-3-and-moss-2007-12324
Mogili Venkatababu
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Model
maddinapudi
 
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box TechnologyBringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
joelsef
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013
Vishal Pawar
 
SharePoint 2010 - What's New?
SharePoint 2010 - What's New?SharePoint 2010 - What's New?
SharePoint 2010 - What's New?
Cory Peters
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf Platform
Alfresco Software
 
So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015
Ryan Schouten
 
Designing SharePoint 2010 for Business
Designing SharePoint 2010 for BusinessDesigning SharePoint 2010 for Business
Designing SharePoint 2010 for Business
Kanwal Khipple
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
Rob Wilson
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
Peter Gfader
 

Similar to SharePoint 2010 Application Development Overview (20)

Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
 
Introduction to using jQuery with SharePoint
Introduction to using jQuery with SharePointIntroduction to using jQuery with SharePoint
Introduction to using jQuery with SharePoint
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel OlesonBack to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel Oleson
 
SharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and EventsSharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and Events
 
SharePoint Developer Education Day Palo Alto
SharePoint  Developer Education Day  Palo  AltoSharePoint  Developer Education Day  Palo  Alto
SharePoint Developer Education Day Palo Alto
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stack
 
SharePoint 2007 Presentation
SharePoint 2007 PresentationSharePoint 2007 Presentation
SharePoint 2007 Presentation
 
Introduction wss-3-and-moss-2007-12324
Introduction wss-3-and-moss-2007-12324Introduction wss-3-and-moss-2007-12324
Introduction wss-3-and-moss-2007-12324
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Model
 
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box TechnologyBringing Zest to SharePoint Sites Using Out-of-the-Box Technology
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013
 
SharePoint 2010 - What's New?
SharePoint 2010 - What's New?SharePoint 2010 - What's New?
SharePoint 2010 - What's New?
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf Platform
 
So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015
 
Designing SharePoint 2010 for Business
Designing SharePoint 2010 for BusinessDesigning SharePoint 2010 for Business
Designing SharePoint 2010 for Business
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 

Recently uploaded

Redefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI CapabilitiesRedefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI Capabilities
Priyanka Aash
 
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and CitiesThe Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
Arpan Buwa
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
DianaGray10
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
ankush9927
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
AmandaCheung15
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
Camunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptxCamunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptx
ZachWylie3
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
SynapseIndia
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
Steven Carlson
 
How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
DianaGray10
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
Zilliz
 

Recently uploaded (20)

Redefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI CapabilitiesRedefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI Capabilities
 
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and CitiesThe Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
Camunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptxCamunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptx
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
 
How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
 

SharePoint 2010 Application Development Overview

  • 2. What is SharePoint?Many answers to this questionSimplest: Web application running on ASP.NETDoes different things for different peopleMuch more than document managementFor end-users:SharePoint is an information and collaboration portalFor developers:SharePoint is a Web application development platformMicrosoft SharePoint 2010Ribbon UISharePoint WorkspaceSharePoint MobileOffice Client + Web App IntegrationStandards SupportBusiness Connectivity SvcsInfoPath Form ServicesExternal ListsWorkflowSharePoint DesignerVisual StudioAPI EnhancementsREST/ATOM/RSSSitesTagging, Tag Cloud, RatingsSocial BookmarkingBlogs and WikisMy SitesActivity FeedsProfiles and ExpertiseOrg BrowserCommunitiesCompositesPerformancePointSvcsExcel ServicesChart Web PartVisio ServicesWeb AnalyticsSQL Server IntegrationPowerPivotContentInsightsEnterprise Content TypesMetadata and NavigationDocument SetsMulti-stage DispositionAudio + Video Content TypesList EnhancementsSearchSocial RelevancePhonetic SearchNavigation
  • 3. SharePoint 2010 PlatformAn evolved version of MOSS and WSS v3Microsoft SharePoint Server 2010Microsoft SharePoint Foundation 2010 Development can now be done on client OSSignificant enhancement for many development teamsBrowser ClientsMicrosoft SharePoint Server 2010MS Word ClientsMicrosoft SharePoint Foundation 2010MS Outlook Clients.NET Framework and ASP.NET 3.5 SP1Internet Information Services 7.0Windows Server 2008 (x64 only)for Production EnvironmentsWindows 7 or Vista (x64 only) for Development Environments only
  • 5. SharePoint 2010 Dev EnviromentDevelopment must be done against isolated deployment of SharePoint(Virtual) Machine has: Visual Studio 2010SharePoint Designer 2010SQL Server 2008Office 2010 / 2007
  • 6. SharePoint 2010 Developer ToolsVisual Studio has robust tools for SP 2010 developmentProject and item templatesTemplates for many SharePoint elementsVisual Designers and ExplorersFeature and SolutionsSite contentsF5 deployment and debuggingDeployment is configurable
  • 7. SharePoint 2010 ProjectsSharePoint Projects have standard propertiesProject FileProject FolderActive Deployment ConfigurationInclude Assembly in PackageAssembly Deployment TargetSandboxed SolutionSite URLStartup Item
  • 9. Solution PackagesWork done in Visual Studio packaged into a solution for deploymentPackage is a CAB file with a WSP extensionPackage contains manifest with deployment instructions
  • 10. Sample Solution Manifest<?xml version="1.0" encoding="utf-8"?><Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="e6c7d3ce-f0a8-4f48-8d50-0cba4ae5ac9e" SharePointProductVersion="14.0"> <Assemblies> <Assembly Location="UserControlWebParts.dll" DeploymentTarget="GlobalAssemblyCache"> <SafeControls> <SafeControl Assembly="UserControlWebParts, Version=1.0.0.0, ..." Namespace="UserControlWebParts.VisualCalculator" TypeName="*" /> <SafeControl Assembly="UserControlWebParts, Version=1.0.0.0, ..." Namespace="UserControlWebParts.ListBrowser" TypeName="*" /> </SafeControls> </Assembly> </Assemblies> <TemplateFiles> <TemplateFile Location="CONTROLTEMPLATES..isualCalculatorUserControl.ascx" /> <TemplateFile Location="CONTROLTEMPLATES..istBrowserUserControl.ascx" /> </TemplateFiles> <FeatureManifests> <FeatureManifest Location="UserControlWebParts_Feature1eature.xml" /> </FeatureManifests></Solution>
  • 11. Farm and Sandboxed SolutionsFarm SolutionsDeployed at farm scopeRequires administrator rights to deploySandboxed solutionsDeployed at site collection scopeRequires site collection owner rightsRestricted to subset of SharePoint server APIRestricted resource usage
  • 12. FeaturesBuilding blocks for creating SharePoint solutionsA unit of design, implementation and deploymentContain elementse.g. menu items, links, list types and list instancesMany other element types possibleCan contain event handlersYou can add any code which used WSS object model
  • 13. Sample Feature Manifest<?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Id="734f2957-51f6-444c-b8cc-ab165c2fa4c5" Scope="Site" Title="UserControlWebParts Feature1"> <ElementManifests> <ElementManifest Location="VisualCalculatorlements.xml" /> <ElementFile Location="VisualCalculatorisualCalculator.webpart" /> <ElementManifest Location="ListBrowserlements.xml" /> <ElementFile Location="ListBrowseristBrowser.webpart" /> </ElementManifests></Feature>
  • 14. User’s View of FeaturesSupport concept of activation and deactivation
  • 15. SharePoint 2010 System FoldersRoot folder known as System RootMay also hear term 14 HiveThis term is being phased out
  • 16. The Features DirectoryFeatures may be installed at farm levelOne folder per FeatureMultiple Feature activation scopesFarm, Web application, Site Collection, Site
  • 17. DEMORevisit the simple projectDeploy a sandboxed solution
  • 18. Content Storage in SharePointStorage is based on the concept of listsEverything is modeled in terms of rows and columnsThe Document Library is really just a hybrid listSharePoint adds value on top of the generic listTransparent content storage in SQL ServerAutomatic generation of the user interface
  • 19. Lists
  • 20. List LookupsLookups form relationships between listsReferential integrity can be enforcedLookupLookup11mmProjectsTimecardsClients
  • 21. Column ValidationValidation Formula can be specified on List and ColumnsSimilar to Excel formulasExample: =[Discount] < [Cost]Column uniqueness constraint
  • 22. Large List SupportCheck query before executionIf Index is not used and number of scanned rows is greater than a limit then block queryIf number of Joins is greater than limit then block queryIf enabled on the Web Application, the developer can turn off throttling using:SPQuery.RequestThrottleOverride and SPSiteDataQuery.RequestThrottleOverride
  • 23. Overview of Data TechnologiesREST APIsStrongly-typedClientOMWeakly-typedClient-sideData PlatformFarmSiteList DataExternal ListsServerOMServer-sideWeakly-typedNew in 2010ImprovedLINQStrongly-typed
  • 24. Working with SharePoint 2010SharePointServerApplicationSharePoint APIWeb ServiceClient.svcJSONXMLClient ApplicationClient OMWPF/WinForm/OfficeSilverlightJavaScriptClient Application
  • 25. Server Object ModelThe SharePoint version of “Hello, World”Show the root site of a collection and it’s listsusing (var site = new SPSite("http://localhost/sites/demo/")){var web = site.RootWeb; ListBox1.Items.Add(web.Title);foreach (SPList list in web.Lists) { ListBox1.Items.Add("" + list.Title); }}
  • 26. Resource UsageSPSite and SPWeb objects use unmanaged resourcesVital that you release resources with DisposeGeneral rules:If you create the object, you should Disposevar site = new SPSite(“http://localhost”);var web = site.OpenWeb();If you get a reference from a property, don’t Disposevar web = site.RootWebThere are exceptions to these rulesUse SPDisposeCheck to analyze code
  • 27. DEMOWorking with the Server Object Model
  • 28. Managed Client Object Model<System Root>SAPI Microsoft.SharePoint.Client281kbMicrosoft.SharePoint.Client.Runtime145kbTo Compare:Microsoft.SharePoint.dll – 15.3MB
  • 29. Managed Client Object ModelThe SharePoint version of “Hello, World”Show the root site of a collection and it’s listsusing (var context = new ClientContext("http://localhost/sites/demo")){var site = context.Site;var web = site.RootWeb;context.Load(web, w => w.Title);context.Load(web.Lists); context.ExecuteQuery(); ListBox1.Items.Add(web.Title);foreach (var list in web.Lists) { ListBox1.Items.Add("" + list.Title); }}
  • 30. Retrieve DataClient Context methods wrap service callsContext.Load(object, paramsLinqExpression)Fills out the objects in the context: in-placeContext.LoadQuery(IQueryable)Use Linq query to return custom objectsNot filled into the contextvar query = from list in clientContext.Web.Lists         where list.Title != null         select list; var result = clientContext.LoadQuery(query);clientContext.ExecuteQuery();
  • 31. Silverlight Client Object Model<System Root>EMPLATEAYOUTSlientBinMicrosoft.SharePoint.Client.Silverlight262KBMicrosoft.SharePoint.Client.Silverlight.Runtime138KB
  • 32. Silverlight Client Object ModelWeb web; ClientContext context;void MainPage_Loaded(object sender, RoutedEventArgs e) { context = new ClientContext("http://localhost/sites/demo"); web = context.Web;context.Load(web);context.ExecuteQueryAsync(Succeeded, Failed);}void Succeeded(object sender, ClientRequestSucceededEventArgs e) { Label1.Text = web.Title;}void Failed(object sender, ClientRequestFailedEventArgs e) { // handle error}
  • 33. JavaScript Client Object Model<System Root>EMPLATEAYOUTS SP.js (SP.debug.js)380KB (559KB)SP.Core.js (SP.Core.debug.js)13KB (20KB)SP.Runtime.js (SP.Runtime.debug.js)68KB (108KB)Add using <SharePoint:ScriptLink>
  • 34. JavaScript Client Object Model<SharePoint:ScriptLink ID="SPScriptLink" runat="server" LoadAfterUI="true" Localizable="false" Name="sp.js" /><script src="js/jquery-1.3.2.min.js" type="text/javascript"></script><script type="text/javascript"> _spBodyOnLoadFunctionNames.push("Initialize");var web; function Initialize() {var context = new SP.ClientContext.get_current(); web = context.get_web();context.load(web);context.executeQueryAsync(Succeeded, Failed); } function Succeeded() { $("#listTitle").append(web.get_title()); } function Failed() { alert('request failed'); }</script>
  • 35. DEMOWorking with the Managed Client Object Model
  • 36. Event HandlersOverride methods on known receiver typesSPFeatureReceiverSPListEventReceiverSPItemEventReceiverRegister receiver as handler for entityUse CAML or codeSynchronous and asynchronous eventsItemAddingItemAdded
  • 37. Sample Feature Receiverpublic class Feature1EventReceiver : SPFeatureReceiver{ public override void FeatureActivated(SPFeatureReceiverProperties properties) {var web = properties.Feature.Parent as SPWeb; if (web == null) return;web.Properties["OldTitle"] = web.Title;web.Properties.Update();web.Title = "Feature activated at " + DateTime.Now.ToLongTimeString();web.Update(); } public override void FeatureDeactivating(SPFeatureReceiverProperties properties) {var web = properties.Feature.Parent as SPWeb; if (web == null) return;web.Title = web.Properties["OldTitle"];web.Update(); }}
  • 39. Overview of Data TechnologiesREST APIsStrongly-typedClientOMWeakly-typedClient-sideData PlatformFarmSiteList DataExternal ListsServerOMServer-sideWeakly-typedNew in 2010ImprovedLINQStrongly-typed
  • 40. REST APIsWork with data via Representational State Transfer (REST)SharePoint list dataOther data sources as wellExcel spreadsheetsAzure cloud storePowered by ADO.NET Data Services “Astoria”REST Protocols: Atom, AtomPub, and JSONIntegration and Standardization
  • 42. Consuming Data via REST APIs
  • 43. Consuming Data via REST APIsprivate DemoProxy.DemoDataContext _context = new DemoProxy.DemoDataContext(new Uri( "http://localhost/sites/demo/_vti_bin/ListData.svc"));private void Form1_Load(object sender, EventArgs e) { _context.Credentials = System.Net.CredentialCache.DefaultCredentials;productsBindingSource.DataSource = _context.Products;}private void productsBindingNavigatorSaveItem_Click(object sender, EventArgs e) { _context.SaveChanges();}private void productsBindingSource_CurrentItemChanged(object sender, EventArgs e) { _context.UpdateObject(productsBindingSource.Current); }
  • 45. LINQ to SharePointNo CAML RequiredEntity classes form Business LayerStrongly-typed queries, compile-time checkIntelligence helps query constructionMicrosoft.SharePoint.Linq.dll
  • 46. SPMetalEntities generated using SPMetal utilitySPMetal located in <System Root>inspmetal /web:<site Url> /code:Projects.csCreate classes and add them to project
  • 47. Consuming Data with LINQ to SharePointvarsiteUrl = "http://localhost/sites/demo";var context = new SPNorthwind.SPNorthwindDataContext(siteUrl);var query = from p in context.Products where p.Category.Title == "Beverages" select p;foreach (var item in query){Console.WriteLine(item.Title);}
  • 49. Web PartsModular and reusable building blocks typically used in portal style applicationsSupport for customization and personalizationWeb Part infrastructure requiredNot specific to SharePointNot specific to ASP.NET
  • 51. Web Part HistoryWindows SharePoint Services 2.0 Designed with its own Web Part infrastructureWSS serializes/stores/retrieves personalization dataASP.NET 2.0Includes Web Part infrastructureSerializes/stores/retrieves personalization dataMore flexible and more extensible than WSSASP.NET 2.0 does not support WSS v2 Web PartsSharePoint Services 3.0 / SharePoint Foundation 2010Supports WSS V2 style Web PartsSupports ASP.NET 2.0 style Web Parts (preferred)
  • 52. Web Part GallerySite collection scopedBoth .DWP and .WEBPART files as itemsSharePoint can discover new candidates from Web.configMaintain metadataAvailable out-of-the-box parts determined by edition and site template
  • 54. Visual Web Part ProjectUser interface described with markup in User ControlWeb Part loads User Control dynamicallyPage.LoadControlNot natively compatible with Sandboxed SolutionsThere are workarounds
  • 55. Visual Web Part Project
  • 56. Web Part DeploymentDeploy assembly to:in folder of IIS Web ApplicationExecutes in a sandboxGlobal Assembly CacheRegister Web Part as Safe Control in Web.configAdd Web Part to GalleryProcess automated by Visual Studio 2010
  • 58. SharePoint 2010 and SilverlightPresentationSilverlightClient IntegrationSecurityApp ModelSharePointData LayerLogic Layer
  • 59. Silverlight/SharePoint SolutionSilverlight applicationBuild SilverlightUserControlSharePoint applicationDeploy XAP via ModuleAdd custom project outputUse OOB Silverlight Web PartEnable Silverlight Debugging
  • 60. XAP File Deployment OptionsVirtual file systemDocument LibraryVirtual folder structure Limits scope to site or site collectionWorks with sandboxed solutionsPhysical file systemLAYOUTS folderLAYOUTSlientBin folderFarm scopeDoes not work with sandboxed solutions

Editor's Notes

  1. Introduce SharePoint 2010 Many things to many people Use tale of blind men and the elephant as an analogyhttp://en.wikipedia.org/wiki/Blind_men_and_an_elephantEach person describes SharePoint differently because of their experience with the product
  2. This slide gives you an opportunity go explain the features of SharePoint Foundation and ServerLess depth required at UG meetings, more at breakfast sessions
  3. Go over the technology stack Highlight that 64-bit operating systems are required Highlight that SharePoint 2010 is built on .NET 3.5, not .NET 4
  4. Talk about configuration optionsNative hardware, boot to VHD, virtualizationMention that Microsoft Virtual PC does not support 64-bit client OS
  5. Setup for tools you’ll be showing in the upcoming demo
  6. Setup for tools you’ll be showing in the upcoming demo
  7. Focus here is the tools Highlight:Project templatesItem templatesF5 deploymentServer Explorer Build a simple SharePoint projectAdd a list instanceF5 to deploy and see site with list added In the next section we explain what went on behind the scenes
  8. Be sure to mention the solution manifest and discuss its role The package shown in the image is from a demo used in the Web Part section
  9. The solution manifest shown is from a demo used in the Web Part section
  10. Equate Features to components Logical units of functionality
  11. The feature manifest shown is from a demo used in the Web Part section
  12. Discuss activation and deactivation
  13. Give a very quick tour of the system folders
  14. Highlight the Features folder
  15. First part – review the demo shown earlierShow what’s behind the curtain HighlightAuto-created FeatureFeature designerFeature manifestSolution designerSolution manifestDeployment optionsGenerated solution package Second partDeploy the WSP as a sandboxed solutionMake sure old solution is retracted firstMake sure elements created by old solution are deletedOr recreate the site before doing the demo
  16. Good visual aide for previous slide
  17. It’s difficult to cover this topic briefly but it’s too important to omit
  18. Build Hello, World (shows list and list items for a given site)If you feel comfortable build some of the code liveThen walkthrough the pre-created demo highlightingThe commonly used types (SPSite, SPWeb, SPList, SPListItem)The use of LINQ (LINQ to Objects this time)The use of the CAML query
  19. Additional detail about the ways resources can be requested
  20. Build Hello, World (shows list and list items for a given site)If you feel comfortable build some of the code liveThen walkthrough the pre-created demo highlightingThe commonly used types (Site, Web, List, ListItem)Use of batchingThe use of LINQ (LINQ to Objects this time)The use of the CAML query
  21. Mention that event handlers are one place you would commonly use server object model Discuss how event handlers are attached to events of entities