SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Sponsors          SharePoint Saturday
  Gold




           Programming SharePoint
                and Office 365
 Silver
              on the Client Side
Bronze         Elaine van Bergen
                      OBS
Topics
•   Sandboxed Solutions
•   Client Object Models
•   Exchange Office 365 API
•   Authentication




                              SharePoint Saturday
                                       Brisbane 2012
Setup Development Environment
• Enable Microsoft SharePoint Foundation
  Sandboxed Code Service via CA

• Download power tools
  http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-
  4549-9e95-f3700344b0d9

• Download Silverlight toolkit
  http://www.microsoft.com/web/gallery/install.aspx?appid=s
  ilverlight4tools;silverlight4toolkit;riaservicestoolkit




                                                      SharePoint Saturday
                                                               Brisbane 2012
Sandbox Execution
     FRONT END                                 BACK END
                                         User Code Service
                                           (SPUCHostService.exe)
Execution Manager
(Inside Application Pool)
                                         Sandbox Worker Process
                                            (SPUCWorkerProcess.exe)
           IIS
      (WPW3.EXE)                         Web.config / CAS Policies




    Subset-Model
      Request                            Sandbox Worker Proxy Process
                              Access       (SPUCWorkerProcessProxy.exe)

                            restricted
                             by CAS
                              policy
Sandboxed Solutions Support
     Item Template                    Sandbox
                                    Compatible?
     Visual Web Part                    No
     Visual Web Part (Sandboxed)        Yes

     Web Part                           Yes
     Sequential Workflow                No
     State Machine Workflow             No
     Business Data Connectivity         No
     Model
     Application Page                   No
     Event Receiver                     Yes
     Module                             Yes
     Content Type                       Yes
     List Definition From Content       Yes
     Type
     List Definition                    Yes
     List Instance                      Yes
     Empty Element                      Yes
     User Control                       No



                                                  SharePoint Saturday
                                                           Brisbane 2012
API Scope
• Subset of Microsoft.SharePoint
• Scoped to SPSite/Site Collection and below
  –   Site Columns
  –   Content Types
  –   List Definitions
  –   List Instances
  –   Web Parts
  –   Workflows
  –   Custom Actions
  –   SharePoint Designer workflow activities
  –   Event Receivers
  –   Modules/Files

                                                SharePoint Saturday
                                                         Brisbane 2012
Unsupported Features
•   Anything above the site collection
•   Access to External Code/Data
•   Creation of SPWeb/SPSite outside of context
•   SPSecurity
•   BCS (WCF service supported)




                                        SharePoint Saturday
                                                 Brisbane 2012
Sandbox Deployment
                     Upload




Upgrade                                Activation




          Deletion            Deactivation




                                                    SharePoint Saturday
                                                             Brisbane 2012
Solution Monitoring
• Protects Site Collection from resource intensive
  solutions

• Resource Points measure resource consumption

• Site Collection Quota limits resource consumption per
  day

• Absolute Limit limits resources consumed by a
  solution



                                                SharePoint Saturday
                                                         Brisbane 2012
Monitored Resources
                                                                                              Resources   AbsoluteLi
Metric Name                       Description                           Units
                                                                                              Per Point   mit

AbnormalProcessTerminationCount   Process gets abnormally terminated Count                    1           1
CPUExecutionTime                  CPU exception time                    Seconds               3,600       60
CriticalExceptionCount            Critical exception fired              Number                10          3
                                  Number of times solution
InvocationCount                                                         Count                 N/A         N/A
                                  has been invoked
                                                                        Percentage Units of
PercentProcessorTime              Note: # of cores not factored in      Overall Processor     85          100
                                                                        Consumed
ProcessCPUCycles                                                        CPU Cycles            1E+11       1E+11
ProcessHandleCount                                                      Windows Handles       10,000      1,000
                                  (Hard Limit Only) Bytes written
ProcessIOBytes                                                          Bytes                 0           1E+08
                                  to IO
                                  Number of Threads
ProcessThreadCount                                                      Threads               10,000      200
                                  in Overall Process
                                  (Hard Limit Only)
ProcessVirtualBytes                                                     Bytes                 0           1E+09
                                  Memory consumed
SharePointDatabaseQueryCount      SharePoint DB Queries Invoked         Number                20          100
                                  Amount of time spent waiting
SharePointDatabaseQueryTime                                             Seconds               120         60
                                  for a query to be performed
UnhandledExceptionCount           Unhanded Exceptions                                         50          3
                                  We have to kill the process because
UnresponsiveprocessCount                                                Number                2           1
                                  it has become unresponsive
SharePoint 2010 Approach
• Developers build          Developer
  custom solutions          • Design, build and test
                              customizations
• Administrators leverage
  resource monitors to      Administrator
  check site collection     • Monitor customizations
  usage
• Site collection owners
  deploy, activate and       Site Collection Owner
  implement the              • Activate and use
  customizations               customizations
                             • Install customizations




                                                        SharePoint Saturday
                                                                 Brisbane 2012
DEMO

SANDBOXED SOLUTION


                     SharePoint Saturday
                              Brisbane 2012
Sandboxed Solution Summary
• Easy Deployment Model – No coffee break
• Limited functionality




                                    SharePoint Saturday
                                             Brisbane 2012
Why Client Object Model?
• More SharePoint Web services
  is a major request
• Client Object Model provides more complete API
  instead of more services
• Provides an abstraction layer to return results as
  recognizable SharePoint objects
• Consistent developer experience across platforms
  (.NET, ECMAScript, Silverlight)



                                          SharePoint Saturday
                                                   Brisbane 2012
Supported Areas
•   Site Collections and Sites
•   Lists, List Items, Views, and List Schemas
•   Files and Folders
•   Web, List, and List Item Property Bags
•   Web Parts
•   Security
•   Content Types
•   Site Templates and Site Collection Operations
                                            SharePoint Saturday
                                                     Brisbane 2012
ECMAScriptControlsand Logic

Browser
                          JSON Response
          ECMAScript OM                                         Server
                          XML Request
                                                                 OM
              Proxy

                                          Client.svc
                          XML Request
              Proxy

                          JSON Response                          Content
           Managed OM
                                                                database
Managed Client

  Managed Controls and Logic                SharePoint Server




                                                            SharePoint Saturday
                                                                     Brisbane 2012
Server          .NET Managed Silverlight          ECMAScript
(Microsoft.Shar (Microsoft.Shar (Microsoft.Shar (SP.js)
ePoint)         ePoint.Client)  ePoint.Client.Sil
                                verlight)
SPContext       ClientContext   ClientContext   ClientContext

SPSite          Site            Site            Site

SPWeb           Web             Web             Web

SPList          List            List            List

SPListItem      ListItem        ListItem        ListItem

SPField         Field           Field           Field



                                                       SharePoint Saturday
                                                                Brisbane 2012
.Net Client OM
• Designed for use outside of SharePoint
• Can be used with .Net 4.0 
• Microsoft.SharePoint.Client




                                      SharePoint Saturday
                                               Brisbane 2012
.Net Example
ClientContext clientContext = new ClientContext("http://server");

//Load method
clientContext.Load(clientContext.Web);
clientContext.Load(clientContext.Web.Lists);

//LoadQuery method
var q1 = from list
         in context.Web.Lists
         where list.Title != null
         select list;

var r1 = context.LoadQuery(q1);
ECMAScript Client OM
• ECMAScript Client OM is easily added to a
  SharePoint ASPX page - reference:
  – _layouts/sp.js
  – Add this using <SharePoint:ScriptLink>
• All libraries crunched for performance
  – Use un-crunched *.debug.js by adding
     <SharePoint:ScriptLink … ScriptMode=“Debug” />
• Method signatures can be different
• Different data value types


                                                  SharePoint Saturday
                                                           Brisbane 2012
Silverlight Client OM
• Silverlight Development Enabled by Client
  OM
• Can use Silverlight in separate ASPX page or
  in Web Part
• Can utilize Client OM in Silverlight to create
  SharePoint apps



                                          SharePoint Saturday
                                                   Brisbane 2012
Creating Silverlight Web Parts
• A Web Part can be a host for Silverlight
• SharePoint ships with Silverlight web part
• The web part can contain custom properties
  that are sent to Silverlight via the
  InitParameters property
• The XAP file can be deployed to LAYOUTS and
  loaded at run time
• The Silverlight application can then make use
  of the Client OM.
                                       SharePoint Saturday
                                                Brisbane 2012
DEMO

JAVASCRIPT CLIENT OBJECT MODEL


                          SharePoint Saturday
                                   Brisbane 2012
Client Object Model Summary
• 3 different versions
• Need to load items to get data
• Far easier than web services to get data




                                        SharePoint Saturday
                                                 Brisbane 2012
EXCHANGE INTEGRATION


                       SharePoint Saturday
                                Brisbane 2012
EWS MA 1.1 Overview
• Managed API for developing applications
  that use Exchange Web Services
• Functional parity with EWS*
• Makes EWS calls under the covers
• Backwards compatible
  – Request versioning
     new ExchangeService(
          ExchangeVersion.Exchange2010_SP1);
• Cloud compatible out of the box
                                       SharePoint Saturday
                                                Brisbane 2012
Autodiscover
• Don’t hardcode EWS URL in your app!
• Use Autodiscover to find most efficient Client
  Access Server URL for a given mailbox
  – On-Premise
     • Global & distributed deployments
  – Cloud based
     • Office 365
     • Outlook Live
     • Live@EDU

                                          SharePoint Saturday
                                                   Brisbane 2012
Autodiscover – Exchange Online
               EWS MA client contacts
                Autodiscoversevice



                EWS MA client executes
                callback to Validate URL
                      Redirection


 EWS MA          Autodiscover service
                 returns URL for EWS          EXO Office
Application            bindings
                                                 365

              EWS MA client connects to
               Exchange Web Services




                                           Firewall
                                               SharePoint Saturday
                                                        Brisbane 2012
Impersonation
• Application performs actions using another
  user’s
  – Identity
  – Permissions
• Exchange ApplicationImpersonation role
  needs to be granted to a user
• Service account is typically allowed to
  impersonate other accounts

                                       SharePoint Saturday
                                                Brisbane 2012
DEMO

OFFICE CLIENT/EXCHANGE DEMO


                         SharePoint Saturday
                                  Brisbane 2012
Office Client/Exchange Summary
• Easy to program against exchange
• Hybrid solutions to solve business problems
• Call SharePoint from business systems




                                       SharePoint Saturday
                                                Brisbane 2012
SharePoint Saturday
         Brisbane 2012
Authentication
• Claims + Federation + Multiple Authentication Providers
• FedAuth cookie with HTTP Only Flag = WinInet.dll
• Active vs. Passive

                          COMPLICATED !

http://msdn.microsoft.com/en-
us/library/hh147177.aspx
http://www.wictorwilen.se/Post/How-to-do-
active-authentication-to-Office-365-and-
SharePoint-Online.aspx
                                                SharePoint Saturday
                                                         Brisbane 2012
Topics
•   Sandboxed Solutions
•   Client Object Models
•   Exchange Office 365 API
•   Authentication




                              SharePoint Saturday
                                       Brisbane 2012
QUESTION AND ANSWER
@LANEYVB

                      SharePoint Saturday
                               Brisbane 2012
SharePoint Saturday
                                           Sponsors
                                             Gold




         Thanks for listening!

 Remember to submit your feedback so        Silver
  you can go into the raffle draw at the
  end of the day! And don’t forget that
                                           Bronze
you have to be at the draw to claim your
                 prizes!

Weitere ähnliche Inhalte

Was ist angesagt?

ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...European Collaboration Summit
 
O365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudO365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudNCCOMMS
 
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...European Collaboration Summit
 
Ecs19 - Hans Brender - Is OneDrive Really Enterprise Ready
Ecs19 - Hans Brender -  Is OneDrive Really Enterprise ReadyEcs19 - Hans Brender -  Is OneDrive Really Enterprise Ready
Ecs19 - Hans Brender - Is OneDrive Really Enterprise ReadyEuropean Collaboration Summit
 
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...European Collaboration Summit
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environmentEuropean Collaboration Summit
 
SPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProSPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProNCCOMMS
 
Spca2014 keynote johnson
Spca2014 keynote johnsonSpca2014 keynote johnson
Spca2014 keynote johnsonNCCOMMS
 
[McDermott] Configuring SharePoint Hybrid Search and Taxonomy
[McDermott] Configuring SharePoint Hybrid Search and Taxonomy[McDermott] Configuring SharePoint Hybrid Search and Taxonomy
[McDermott] Configuring SharePoint Hybrid Search and TaxonomyEuropean Collaboration Summit
 
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesEuropean Collaboration Summit
 
O365con14 - powershell for exchange administrators
O365con14 - powershell for exchange administratorsO365con14 - powershell for exchange administrators
O365con14 - powershell for exchange administratorsNCCOMMS
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI ScenariosEuropean Collaboration Summit
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Jeff Chu
 
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...European Collaboration Summit
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!BIWUG
 
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365Microsoft TechNet - Belgium and Luxembourg
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsEric Shupps
 
Workflow Manager 1.0 SharePoint 2013 Workflows
Workflow Manager 1.0SharePoint 2013 WorkflowsWorkflow Manager 1.0SharePoint 2013 Workflows
Workflow Manager 1.0 SharePoint 2013 WorkflowsDamir Dobric
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsEric Shupps
 

Was ist angesagt? (20)

ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
ECS19 - Patrick Curran - Expanding User Profiles with Line of Business Data (...
 
O365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudO365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloud
 
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
 
Ecs19 - Hans Brender - Is OneDrive Really Enterprise Ready
Ecs19 - Hans Brender -  Is OneDrive Really Enterprise ReadyEcs19 - Hans Brender -  Is OneDrive Really Enterprise Ready
Ecs19 - Hans Brender - Is OneDrive Really Enterprise Ready
 
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
ECS19 - Marco Rocca and Fabio Franzini - Need a custom logic in PowerApps? Us...
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
 
SPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProSPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT Pro
 
Spca2014 keynote johnson
Spca2014 keynote johnsonSpca2014 keynote johnson
Spca2014 keynote johnson
 
[McDermott] Configuring SharePoint Hybrid Search and Taxonomy
[McDermott] Configuring SharePoint Hybrid Search and Taxonomy[McDermott] Configuring SharePoint Hybrid Search and Taxonomy
[McDermott] Configuring SharePoint Hybrid Search and Taxonomy
 
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
 
O365con14 - powershell for exchange administrators
O365con14 - powershell for exchange administratorsO365con14 - powershell for exchange administrators
O365con14 - powershell for exchange administrators
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
 
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
 
[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!
 
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance Enhancements
 
Workflow Manager 1.0 SharePoint 2013 Workflows
Workflow Manager 1.0SharePoint 2013 WorkflowsWorkflow Manager 1.0SharePoint 2013 Workflows
Workflow Manager 1.0 SharePoint 2013 Workflows
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance Enhancements
 

Ähnlich wie Sps bris - Customising Office 365 on the Client side

SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle EastSharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle EastAyman El-Hattab
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperK.Mohamed Faizal
 
Getting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentGetting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentJeremy Thake
 
AAI 1713-Introduction to Java EE 7
AAI 1713-Introduction to Java EE 7AAI 1713-Introduction to Java EE 7
AAI 1713-Introduction to Java EE 7Kevin Sutter
 
AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7WASdev Community
 
Azure Serverless Toolbox
Azure Serverless ToolboxAzure Serverless Toolbox
Azure Serverless ToolboxJohan Eriksson
 
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...Dan Usher
 
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...Dan Usher
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformAyman El-Hattab
 
Real-world Entity Framework
Real-world Entity FrameworkReal-world Entity Framework
Real-world Entity FrameworkLynn Langit
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlabilitySamuel Zürcher
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...Katia Aresti
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented DesignRodrigo Campos
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War StoriesIdo Flatow
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise MiddlewareBehrad Zari
 
Yogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh Kushwah
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performancerudib
 
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettCloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettBrian T. Jackett
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Ryan Cuprak
 

Ähnlich wie Sps bris - Customising Office 365 on the Client side (20)

SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle EastSharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for Developer
 
Getting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentGetting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online development
 
AAI 1713-Introduction to Java EE 7
AAI 1713-Introduction to Java EE 7AAI 1713-Introduction to Java EE 7
AAI 1713-Introduction to Java EE 7
 
AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7
 
Azure Serverless Toolbox
Azure Serverless ToolboxAzure Serverless Toolbox
Azure Serverless Toolbox
 
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
 
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
SharePoint 2010 - Tips and Tricks of the Trade - Avoiding Administrative Blun...
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development Platform
 
Real-world Entity Framework
Real-world Entity FrameworkReal-world Entity Framework
Real-world Entity Framework
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented Design
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War Stories
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise Middleware
 
Yogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’s
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
 
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettCloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)
 

Mehr von Elaine Van Bergen

What's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSydWhat's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSydElaine Van Bergen
 
SharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox developmentSharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox developmentElaine Van Bergen
 
Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerationsElaine Van Bergen
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionElaine Van Bergen
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioElaine Van Bergen
 
Maximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governanceMaximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governanceElaine Van Bergen
 
Getting Started With Share Point 2010
Getting Started With Share Point 2010Getting Started With Share Point 2010
Getting Started With Share Point 2010Elaine Van Bergen
 
Governance Configure Customise Code
Governance Configure Customise CodeGovernance Configure Customise Code
Governance Configure Customise CodeElaine Van Bergen
 

Mehr von Elaine Van Bergen (10)

SharePoint 2016
SharePoint 2016SharePoint 2016
SharePoint 2016
 
What's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSydWhat's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSyd
 
SharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox developmentSharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox development
 
Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in Action
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
 
Maximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governanceMaximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governance
 
SharePoint 2010 Development
SharePoint 2010 DevelopmentSharePoint 2010 Development
SharePoint 2010 Development
 
Getting Started With Share Point 2010
Getting Started With Share Point 2010Getting Started With Share Point 2010
Getting Started With Share Point 2010
 
Governance Configure Customise Code
Governance Configure Customise CodeGovernance Configure Customise Code
Governance Configure Customise Code
 

Kürzlich hochgeladen

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementNuwan Dias
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 

Kürzlich hochgeladen (20)

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API Management
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 

Sps bris - Customising Office 365 on the Client side

  • 1. Sponsors SharePoint Saturday Gold Programming SharePoint and Office 365 Silver on the Client Side Bronze Elaine van Bergen OBS
  • 2. Topics • Sandboxed Solutions • Client Object Models • Exchange Office 365 API • Authentication SharePoint Saturday Brisbane 2012
  • 3. Setup Development Environment • Enable Microsoft SharePoint Foundation Sandboxed Code Service via CA • Download power tools http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714- 4549-9e95-f3700344b0d9 • Download Silverlight toolkit http://www.microsoft.com/web/gallery/install.aspx?appid=s ilverlight4tools;silverlight4toolkit;riaservicestoolkit SharePoint Saturday Brisbane 2012
  • 4. Sandbox Execution FRONT END BACK END User Code Service (SPUCHostService.exe) Execution Manager (Inside Application Pool) Sandbox Worker Process (SPUCWorkerProcess.exe) IIS (WPW3.EXE) Web.config / CAS Policies Subset-Model Request Sandbox Worker Proxy Process Access (SPUCWorkerProcessProxy.exe) restricted by CAS policy
  • 5. Sandboxed Solutions Support Item Template Sandbox Compatible? Visual Web Part No Visual Web Part (Sandboxed) Yes Web Part Yes Sequential Workflow No State Machine Workflow No Business Data Connectivity No Model Application Page No Event Receiver Yes Module Yes Content Type Yes List Definition From Content Yes Type List Definition Yes List Instance Yes Empty Element Yes User Control No SharePoint Saturday Brisbane 2012
  • 6. API Scope • Subset of Microsoft.SharePoint • Scoped to SPSite/Site Collection and below – Site Columns – Content Types – List Definitions – List Instances – Web Parts – Workflows – Custom Actions – SharePoint Designer workflow activities – Event Receivers – Modules/Files SharePoint Saturday Brisbane 2012
  • 7. Unsupported Features • Anything above the site collection • Access to External Code/Data • Creation of SPWeb/SPSite outside of context • SPSecurity • BCS (WCF service supported) SharePoint Saturday Brisbane 2012
  • 8. Sandbox Deployment Upload Upgrade Activation Deletion Deactivation SharePoint Saturday Brisbane 2012
  • 9. Solution Monitoring • Protects Site Collection from resource intensive solutions • Resource Points measure resource consumption • Site Collection Quota limits resource consumption per day • Absolute Limit limits resources consumed by a solution SharePoint Saturday Brisbane 2012
  • 10. Monitored Resources Resources AbsoluteLi Metric Name Description Units Per Point mit AbnormalProcessTerminationCount Process gets abnormally terminated Count 1 1 CPUExecutionTime CPU exception time Seconds 3,600 60 CriticalExceptionCount Critical exception fired Number 10 3 Number of times solution InvocationCount Count N/A N/A has been invoked Percentage Units of PercentProcessorTime Note: # of cores not factored in Overall Processor 85 100 Consumed ProcessCPUCycles CPU Cycles 1E+11 1E+11 ProcessHandleCount Windows Handles 10,000 1,000 (Hard Limit Only) Bytes written ProcessIOBytes Bytes 0 1E+08 to IO Number of Threads ProcessThreadCount Threads 10,000 200 in Overall Process (Hard Limit Only) ProcessVirtualBytes Bytes 0 1E+09 Memory consumed SharePointDatabaseQueryCount SharePoint DB Queries Invoked Number 20 100 Amount of time spent waiting SharePointDatabaseQueryTime Seconds 120 60 for a query to be performed UnhandledExceptionCount Unhanded Exceptions 50 3 We have to kill the process because UnresponsiveprocessCount Number 2 1 it has become unresponsive
  • 11. SharePoint 2010 Approach • Developers build Developer custom solutions • Design, build and test customizations • Administrators leverage resource monitors to Administrator check site collection • Monitor customizations usage • Site collection owners deploy, activate and Site Collection Owner implement the • Activate and use customizations customizations • Install customizations SharePoint Saturday Brisbane 2012
  • 12. DEMO SANDBOXED SOLUTION SharePoint Saturday Brisbane 2012
  • 13. Sandboxed Solution Summary • Easy Deployment Model – No coffee break • Limited functionality SharePoint Saturday Brisbane 2012
  • 14. Why Client Object Model? • More SharePoint Web services is a major request • Client Object Model provides more complete API instead of more services • Provides an abstraction layer to return results as recognizable SharePoint objects • Consistent developer experience across platforms (.NET, ECMAScript, Silverlight) SharePoint Saturday Brisbane 2012
  • 15. Supported Areas • Site Collections and Sites • Lists, List Items, Views, and List Schemas • Files and Folders • Web, List, and List Item Property Bags • Web Parts • Security • Content Types • Site Templates and Site Collection Operations SharePoint Saturday Brisbane 2012
  • 16. ECMAScriptControlsand Logic Browser JSON Response ECMAScript OM Server XML Request OM Proxy Client.svc XML Request Proxy JSON Response Content Managed OM database Managed Client Managed Controls and Logic SharePoint Server SharePoint Saturday Brisbane 2012
  • 17. Server .NET Managed Silverlight ECMAScript (Microsoft.Shar (Microsoft.Shar (Microsoft.Shar (SP.js) ePoint) ePoint.Client) ePoint.Client.Sil verlight) SPContext ClientContext ClientContext ClientContext SPSite Site Site Site SPWeb Web Web Web SPList List List List SPListItem ListItem ListItem ListItem SPField Field Field Field SharePoint Saturday Brisbane 2012
  • 18. .Net Client OM • Designed for use outside of SharePoint • Can be used with .Net 4.0  • Microsoft.SharePoint.Client SharePoint Saturday Brisbane 2012
  • 19. .Net Example ClientContext clientContext = new ClientContext("http://server"); //Load method clientContext.Load(clientContext.Web); clientContext.Load(clientContext.Web.Lists); //LoadQuery method var q1 = from list in context.Web.Lists where list.Title != null select list; var r1 = context.LoadQuery(q1);
  • 20. ECMAScript Client OM • ECMAScript Client OM is easily added to a SharePoint ASPX page - reference: – _layouts/sp.js – Add this using <SharePoint:ScriptLink> • All libraries crunched for performance – Use un-crunched *.debug.js by adding <SharePoint:ScriptLink … ScriptMode=“Debug” /> • Method signatures can be different • Different data value types SharePoint Saturday Brisbane 2012
  • 21. Silverlight Client OM • Silverlight Development Enabled by Client OM • Can use Silverlight in separate ASPX page or in Web Part • Can utilize Client OM in Silverlight to create SharePoint apps SharePoint Saturday Brisbane 2012
  • 22. Creating Silverlight Web Parts • A Web Part can be a host for Silverlight • SharePoint ships with Silverlight web part • The web part can contain custom properties that are sent to Silverlight via the InitParameters property • The XAP file can be deployed to LAYOUTS and loaded at run time • The Silverlight application can then make use of the Client OM. SharePoint Saturday Brisbane 2012
  • 23. DEMO JAVASCRIPT CLIENT OBJECT MODEL SharePoint Saturday Brisbane 2012
  • 24. Client Object Model Summary • 3 different versions • Need to load items to get data • Far easier than web services to get data SharePoint Saturday Brisbane 2012
  • 25. EXCHANGE INTEGRATION SharePoint Saturday Brisbane 2012
  • 26. EWS MA 1.1 Overview • Managed API for developing applications that use Exchange Web Services • Functional parity with EWS* • Makes EWS calls under the covers • Backwards compatible – Request versioning new ExchangeService( ExchangeVersion.Exchange2010_SP1); • Cloud compatible out of the box SharePoint Saturday Brisbane 2012
  • 27. Autodiscover • Don’t hardcode EWS URL in your app! • Use Autodiscover to find most efficient Client Access Server URL for a given mailbox – On-Premise • Global & distributed deployments – Cloud based • Office 365 • Outlook Live • Live@EDU SharePoint Saturday Brisbane 2012
  • 28. Autodiscover – Exchange Online EWS MA client contacts Autodiscoversevice EWS MA client executes callback to Validate URL Redirection EWS MA Autodiscover service returns URL for EWS EXO Office Application bindings 365 EWS MA client connects to Exchange Web Services Firewall SharePoint Saturday Brisbane 2012
  • 29. Impersonation • Application performs actions using another user’s – Identity – Permissions • Exchange ApplicationImpersonation role needs to be granted to a user • Service account is typically allowed to impersonate other accounts SharePoint Saturday Brisbane 2012
  • 30. DEMO OFFICE CLIENT/EXCHANGE DEMO SharePoint Saturday Brisbane 2012
  • 31. Office Client/Exchange Summary • Easy to program against exchange • Hybrid solutions to solve business problems • Call SharePoint from business systems SharePoint Saturday Brisbane 2012
  • 32. SharePoint Saturday Brisbane 2012
  • 33. Authentication • Claims + Federation + Multiple Authentication Providers • FedAuth cookie with HTTP Only Flag = WinInet.dll • Active vs. Passive COMPLICATED ! http://msdn.microsoft.com/en- us/library/hh147177.aspx http://www.wictorwilen.se/Post/How-to-do- active-authentication-to-Office-365-and- SharePoint-Online.aspx SharePoint Saturday Brisbane 2012
  • 34. Topics • Sandboxed Solutions • Client Object Models • Exchange Office 365 API • Authentication SharePoint Saturday Brisbane 2012
  • 35. QUESTION AND ANSWER @LANEYVB SharePoint Saturday Brisbane 2012
  • 36. SharePoint Saturday Sponsors Gold Thanks for listening! Remember to submit your feedback so Silver you can go into the raffle draw at the end of the day! And don’t forget that Bronze you have to be at the draw to claim your prizes!