SlideShare uma empresa Scribd logo
1 de 40
Dealing with and Learning from the
                          Sandbox
                    Elaine van Bergen
                                 OBS
Who Am I ?

• SharePoint 2010 MCM
• SharePoint MVP
• Co-organiser of Melbourne SharePoint User Group
  (MSPUG)
• @laneyvb on Twitter
Types

• SharePoint online dedicated
• On-premise sandbox
• SharePoint online
Online Dedicated

• Unlikely to be used by Australian or New Zealand
  Customers
• May actually be hosted not dedicated
• Great case study for what Microsoft requires for
  customisation
• Plenty of advice useful for all SharePoint developers
Design Process for Customisation

•   Gather requirements.
•   Create high-level design (HLD) document.
•   Microsoft review of HLD.
•   Develop custom solution.
•   Test, package, and validate with MSOCAF.
Design Guidelines - Examples

• Use native SharePoint functionality when possible
• Evaluate the use of a client-side solution
• Create logical solution versioning
• Move business logic to separate classes
• Develop asynchronous code that connects to an
  Internet address
• Ensure that dependencies to external systems are
  managed correctly
Design Guidelines – Directory Structure

•   Solution Artifacts
•   Release
•   Source code
•   Installation scripts
•   Test documentation



http://www.microsoft.com/download/en/details.aspx?displaylan
g=en&id=18128
MSOCAF

• Guidance Package
• Analyze Code
   – Structure
   – FXCOP
   – Additional Rules
• Submit



https://caf.sharepoint.microsoftonline.com/Default.aspx
MSOCAF – Additional Rules

• SPList.Items
• SPListItemCollectionGetItemByID inside loop
• SPListItem.Update() inside loop
• Log Exceptions in Feature Receiver and Report Back
  to SharePoint
• SharePointMonitorScope Webpart Check


https://caf.sharepoint.microsoftonline.com/Default.aspx
Demo
MSOCAF
SharePoint Online Dedicated




      Great Guidance for ANY SharePoint
                Development
On Premise Sandbox

• How does it work ?
• Why ?
• Development Setup
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




                            Sandbox Worker Proxy Process
                              (SPUCWorkerProcessProxy.exe)
Deployment

•   Solution Gallery at Site Collection
•   Site Collection Admin uploads and activates solution
•   Solutions are validated against policies
•   No artefacts on file system
•   No IIS Reset
Custom Validators
[GuidAttribute("34805697-1FC4-4b66-AF09-AB48AC0F9D97")]
public class PublisherValidator : SPSolutionValidator{

    [Persisted]
    List<string> _allowedPublishers;

    public override void ValidateSolution(
      SPSolutionValidationProperties properties){
    }

    public override void ValidateAssembly(
      SPSolutionValidationProperties properties,
      SPSolutionFile assembly){
    }
}
Supported Artefacts
API Scope

• Sandboxed .Net Code
   – Very limited subset of Microsoft.SharePoint
   – Scoped to current SPSite and below
   – No SPSecurity
   – No web service , external data or other network
     calls

• Client side code
   – Silverlight
   – JavaScript
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
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
Full Trust Proxy

• Operations in class that inherits
  Microsoft.SharePoint.Usercode.SPProxyOperation
• Arguments in serializable class that inherits
  Microsoft.SharePoint.Usercode.SPProxyOperationArgs
• Register full trust proxy
• Recycle user code service
• Consume via SPUtility.ExecuteRegisteredProxyOperation
Display Logic




Reusable/Complex Logic
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 cuts of solutions when limit hit
Monitored Metrics
                                                                                         Resources Per Absolute
Metric Name                       Description                     Units
                                                                                         Point         Limit
                                  Process gets abnormally
AbnormalProcessTerminationCount                                   Count                  1            1
                                  terminated

CPUExecutionTime                  CPU exception time              Seconds                3,600        60


CriticalExceptionCount            Critical exception fired        Number                 10           3

                                                                   Percentage Units of
PercentProcessorTime              Note: # of cores not factored in Overall Processor     85           100
                                                                   Consumed

                                  Number of Threads
ProcessThreadCount                                                Threads                10,000       200
                                  in Overall Process

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
Why ?

• Developers can deploy updates without IIS restarts
• Site Collection Owners can control loading of
  solutions
• Complex code separated from display logic
• Solution performance can be monitored and
  controlled


     Rapid changes possible with low Governance
Development Setup

• 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=sil
  verlight4tools;silverlight4toolkit;riaservicestoolkit
Sandbox modes

• Local Mode:
   – Execute code on WFE
   – Low administration overhead
   – Lower scalability

• Remote Mode:
   – Execute on dedicated SharePoint servers
   – Load balanced distribution of code execution
     requests
Demo
Sandbox Solutions
Common Pain Points

•   Error Handling/Visibility
•   Configuration Storage
•   Limited API set
•   Learning curve required
On Premise Sandbox




  Promotes efficient , well designed code that
     allows for rapid user interface change
SharePoint Online

• Development Process
• Data Access
• Authentication
spo.company.com/test



                                 spo.company.com/prod




                        *.wsp



                         Upload/
                         Activate/
                         Deactivate


local.company.com
Data Access

• SharePoint data – Rest API, webservices, CSOM
• JSON-P calling services
  http://www.wictorwilen.se/Post/SharePoint-Online-and-
  External-Data-using-JSONP.aspx
• BCS + WCF Service + Client Object Model
• Applications put or get data to/from SharePoint
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 Online Sandbox




  Authentication and Data Access need to be
              carefully planned
Summary



Consider sandbox concepts as part of your
solution design


                @laneyvb
Gold Sponsors




                  Silver Sponsors




                   Technology
Bronze Sponsors     Sponsor         Media Sponsors

Mais conteúdo relacionado

Mais procurados

SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012NCCOMMS
 
[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 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASSECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASSEuropean Collaboration Summit
 
Spca2014 keynote johnson
Spca2014 keynote johnsonSpca2014 keynote johnson
Spca2014 keynote johnsonNCCOMMS
 
ECS 19 Anil Erduran - simplifying microsoft architectures with aws services
ECS 19 Anil Erduran - simplifying microsoft architectures with aws servicesECS 19 Anil Erduran - simplifying microsoft architectures with aws services
ECS 19 Anil Erduran - simplifying microsoft architectures with aws servicesEuropean Collaboration Summit
 
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...European Collaboration Summit
 
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
ECS19 - Serge Luca -  MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...ECS19 - Serge Luca -  MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...European Collaboration Summit
 
[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
 
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
 
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...European Collaboration Summit
 
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
 
Hybrid SharePoint Deployments
Hybrid SharePoint DeploymentsHybrid SharePoint Deployments
Hybrid SharePoint DeploymentsSPC Adriatics
 
A Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App DevelopmentA Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App DevelopmentSPC Adriatics
 
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...European 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
 
What’s new in SharePoint 2016 Beta 2?
What’s new in SharePoint 2016 Beta 2?What’s new in SharePoint 2016 Beta 2?
What’s new in SharePoint 2016 Beta 2?Jason Himmelstein
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...European 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
 

Mais procurados (20)

SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
 
[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 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASSECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
 
Spca2014 keynote johnson
Spca2014 keynote johnsonSpca2014 keynote johnson
Spca2014 keynote johnson
 
ECS 19 Anil Erduran - simplifying microsoft architectures with aws services
ECS 19 Anil Erduran - simplifying microsoft architectures with aws servicesECS 19 Anil Erduran - simplifying microsoft architectures with aws services
ECS 19 Anil Erduran - simplifying microsoft architectures with aws services
 
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
 
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
ECS19 - Serge Luca -  MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...ECS19 - Serge Luca -  MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
 
[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
 
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
 
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
ECS19 - Johan Delimon - Keep your Skype for Business Hybrid working like a ch...
 
[Carius] Skype Online, Teams, and PSTN
[Carius] Skype Online, Teams, and PSTN[Carius] Skype Online, Teams, and PSTN
[Carius] Skype Online, Teams, and PSTN
 
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...
 
Hybrid SharePoint Deployments
Hybrid SharePoint DeploymentsHybrid SharePoint Deployments
Hybrid SharePoint Deployments
 
[Roine] Serverless: Don't Take It Literally
[Roine] Serverless: Don't Take It Literally[Roine] Serverless: Don't Take It Literally
[Roine] Serverless: Don't Take It Literally
 
A Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App DevelopmentA Deep-Dive into Real-World SharePoint App Development
A Deep-Dive into Real-World SharePoint App Development
 
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
[Collinge] Office 365 Enterprise Network Connectivity Using Published Office ...
 
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
 
What’s new in SharePoint 2016 Beta 2?
What’s new in SharePoint 2016 Beta 2?What’s new in SharePoint 2016 Beta 2?
What’s new in SharePoint 2016 Beta 2?
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
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...
 

Semelhante a Dealing with and learning from the sandbox

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
 
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
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperK.Mohamed Faizal
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
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
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDenny Lee
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...Liam Cleary [MVP]
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazComunidade NetPonto
 
Workflow All the Things with Azure Logic Apps
Workflow All the Things with Azure Logic AppsWorkflow All the Things with Azure Logic Apps
Workflow All the Things with Azure Logic AppsJosh Lane
 
[NetPonto] NoSQL em Windows Azure Table Storage
[NetPonto] NoSQL em Windows Azure Table Storage[NetPonto] NoSQL em Windows Azure Table Storage
[NetPonto] NoSQL em Windows Azure Table StorageVitor Tomaz
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSPC Adriatics
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesScott Hoag
 
Building dynamic applications with the share point client object model
Building dynamic applications with the share point client object modelBuilding dynamic applications with the share point client object model
Building dynamic applications with the share point client object modelEric Shupps
 
What's New in .Net 4.5
What's New in .Net 4.5What's New in .Net 4.5
What's New in .Net 4.5Malam Team
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastMark Rackley
 

Semelhante a Dealing with and learning from the sandbox (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
 
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
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for Developer
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
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...
 
Azure cosmosdb
Azure cosmosdbAzure cosmosdb
Azure cosmosdb
 
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...
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePoint
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
Workflow All the Things with Azure Logic Apps
Workflow All the Things with Azure Logic AppsWorkflow All the Things with Azure Logic Apps
Workflow All the Things with Azure Logic Apps
 
[NetPonto] NoSQL em Windows Azure Table Storage
[NetPonto] NoSQL em Windows Azure Table Storage[NetPonto] NoSQL em Windows Azure Table Storage
[NetPonto] NoSQL em Windows Azure Table Storage
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
 
Building dynamic applications with the share point client object model
Building dynamic applications with the share point client object modelBuilding dynamic applications with the share point client object model
Building dynamic applications with the share point client object model
 
What's New in .Net 4.5
What's New in .Net 4.5What's New in .Net 4.5
What's New in .Net 4.5
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
Serverless SQL
Serverless SQLServerless SQL
Serverless SQL
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 

Mais de 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
 

Mais de Elaine Van Bergen (9)

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
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Dealing with and learning from the sandbox

  • 1. Dealing with and Learning from the Sandbox Elaine van Bergen OBS
  • 2. Who Am I ? • SharePoint 2010 MCM • SharePoint MVP • Co-organiser of Melbourne SharePoint User Group (MSPUG) • @laneyvb on Twitter
  • 3.
  • 4.
  • 5. Types • SharePoint online dedicated • On-premise sandbox • SharePoint online
  • 6. Online Dedicated • Unlikely to be used by Australian or New Zealand Customers • May actually be hosted not dedicated • Great case study for what Microsoft requires for customisation • Plenty of advice useful for all SharePoint developers
  • 7. Design Process for Customisation • Gather requirements. • Create high-level design (HLD) document. • Microsoft review of HLD. • Develop custom solution. • Test, package, and validate with MSOCAF.
  • 8. Design Guidelines - Examples • Use native SharePoint functionality when possible • Evaluate the use of a client-side solution • Create logical solution versioning • Move business logic to separate classes • Develop asynchronous code that connects to an Internet address • Ensure that dependencies to external systems are managed correctly
  • 9. Design Guidelines – Directory Structure • Solution Artifacts • Release • Source code • Installation scripts • Test documentation http://www.microsoft.com/download/en/details.aspx?displaylan g=en&id=18128
  • 10. MSOCAF • Guidance Package • Analyze Code – Structure – FXCOP – Additional Rules • Submit https://caf.sharepoint.microsoftonline.com/Default.aspx
  • 11. MSOCAF – Additional Rules • SPList.Items • SPListItemCollectionGetItemByID inside loop • SPListItem.Update() inside loop • Log Exceptions in Feature Receiver and Report Back to SharePoint • SharePointMonitorScope Webpart Check https://caf.sharepoint.microsoftonline.com/Default.aspx
  • 13. SharePoint Online Dedicated Great Guidance for ANY SharePoint Development
  • 14. On Premise Sandbox • How does it work ? • Why ? • Development Setup
  • 15. 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 Sandbox Worker Proxy Process (SPUCWorkerProcessProxy.exe)
  • 16. Deployment • Solution Gallery at Site Collection • Site Collection Admin uploads and activates solution • Solutions are validated against policies • No artefacts on file system • No IIS Reset
  • 17. Custom Validators [GuidAttribute("34805697-1FC4-4b66-AF09-AB48AC0F9D97")] public class PublisherValidator : SPSolutionValidator{ [Persisted] List<string> _allowedPublishers; public override void ValidateSolution( SPSolutionValidationProperties properties){ } public override void ValidateAssembly( SPSolutionValidationProperties properties, SPSolutionFile assembly){ } }
  • 19. API Scope • Sandboxed .Net Code – Very limited subset of Microsoft.SharePoint – Scoped to current SPSite and below – No SPSecurity – No web service , external data or other network calls • Client side code – Silverlight – JavaScript
  • 20. 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
  • 21. 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
  • 22. Full Trust Proxy • Operations in class that inherits Microsoft.SharePoint.Usercode.SPProxyOperation • Arguments in serializable class that inherits Microsoft.SharePoint.Usercode.SPProxyOperationArgs • Register full trust proxy • Recycle user code service • Consume via SPUtility.ExecuteRegisteredProxyOperation
  • 24. 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 cuts of solutions when limit hit
  • 25. Monitored Metrics Resources Per Absolute Metric Name Description Units Point Limit Process gets abnormally AbnormalProcessTerminationCount Count 1 1 terminated CPUExecutionTime CPU exception time Seconds 3,600 60 CriticalExceptionCount Critical exception fired Number 10 3 Percentage Units of PercentProcessorTime Note: # of cores not factored in Overall Processor 85 100 Consumed Number of Threads ProcessThreadCount Threads 10,000 200 in Overall Process 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
  • 26. Why ? • Developers can deploy updates without IIS restarts • Site Collection Owners can control loading of solutions • Complex code separated from display logic • Solution performance can be monitored and controlled Rapid changes possible with low Governance
  • 27. Development Setup • 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=sil verlight4tools;silverlight4toolkit;riaservicestoolkit
  • 28. Sandbox modes • Local Mode: – Execute code on WFE – Low administration overhead – Lower scalability • Remote Mode: – Execute on dedicated SharePoint servers – Load balanced distribution of code execution requests
  • 30. Common Pain Points • Error Handling/Visibility • Configuration Storage • Limited API set • Learning curve required
  • 31. On Premise Sandbox Promotes efficient , well designed code that allows for rapid user interface change
  • 32. SharePoint Online • Development Process • Data Access • Authentication
  • 33. spo.company.com/test spo.company.com/prod *.wsp Upload/ Activate/ Deactivate local.company.com
  • 34.
  • 35. Data Access • SharePoint data – Rest API, webservices, CSOM • JSON-P calling services http://www.wictorwilen.se/Post/SharePoint-Online-and- External-Data-using-JSONP.aspx • BCS + WCF Service + Client Object Model • Applications put or get data to/from SharePoint
  • 36.
  • 37. 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
  • 38. SharePoint Online Sandbox Authentication and Data Access need to be carefully planned
  • 39. Summary Consider sandbox concepts as part of your solution design @laneyvb
  • 40. Gold Sponsors Silver Sponsors Technology Bronze Sponsors Sponsor Media Sponsors

Notas do Editor

  1. Opening slide please include
  2. Comprehensive list of best practises
  3. SPMonitoredScope should be enabled for all custom methods of Web Parts except OnInit, Render, and OnPreRender.