SlideShare une entreprise Scribd logo
1  sur  34
Developing in the Sandbox Elaine van  BergenOBS
Who am I SharePoint 2010 MCM SharePoint MVP Microsoft Virtual Technical Solutions Professional Co-organiser of Melbourne SharePoint User Group (MSPUG) @laneyvb on Twitter Blog at http://laneyvb.blogspot.com/
3 Types On-premise sandbox SharePoint online SharePoint online dedicated
Design Process for Customisation High Level Design (HLD) – approval Follow design guidelines http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18128 Verify/Submit with MSOCAFhttps://caf.sharepoint.microsoftonline.com/Default.aspx
MSOCAF Developing in the Sandbox
3 Types On-premise sandbox SharePoint online SharePoint online dedicated
Setup Development Environment Enable Microsoft SharePoint Foundation Sandboxed Code Service via CA Download power toolshttp://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9 Download Silverlight toolkithttp://www.microsoft.com/web/gallery/install.aspx?appid=silverlight4tools;silverlight4toolkit;riaservicestoolkit
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 Untrusted Code SP Object Model Subset Subset-Model Request Sandbox Worker Proxy Process (SPUCWorkerProcessProxy.exe) Access restricted by CAS policy Full SP Object Model
Sandboxed Solutions Support
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
CAS Policy wss_usercode.config %ProgramFiles%ommon Filesicrosoft Sharedeb server extensions4ONFIG	 SharePointPermission.ObjectModel SecurityPermission.Execution AspNetHostingPermission = Minimal WebPermission.Connect
Unsupported Features Anything above the site collection Access to External Code/Data Creation of SPWeb/SPSite outside of context SPSecurity BCS
Sandbox Deployment
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
Monitored Resources
SharePoint 2010 Approach Developers build custom solutions Administrators leverage resource monitors to check site collection usage Site collection owners deploy, activate and implement the customizations
On-Premise Sandbox Developing in the Sandbox
Solution Validation [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){     } }
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
Load Balancing Sandboxed solutions can be run in two 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
3 Types On-premise sandbox SharePoint online SharePoint online dedicated
Limited web services http://msdn.microsoft.com/en-us/library/gg454740.aspx
Development Process dev.spo.contoso.com spo.contoso.com *.wsp Develop/ Debug *.wsp F5 Upload/ Activate/ Deactivate *.wsp local.contoso.com
Getting to data
Client-Object Model New APIs for interacting with SharePoint sites Supported platforms .NET 3.5 (and below) Silverlight 2.0 (and above) JavaScript/Jscript Provides a means to call services outside SharePoint Online
Equivalent Objects Member names mostly the same from server to client (e. g., SPWeb.QuickLaunchEnabled = Web.QuickLaunchEnabled)
Architecture/Execution ECMAScriptControlsand Logic Browser Client.svc Server OM JSON Response ECMAScript OM XML Request Proxy XML Request Contentdatabase Proxy JSON Response Managed OM Managed Client Managed Controls and Logic SharePoint Server
SharePoint ONLINE Developing in the Sandbox
Authentication
Authentication  Claims + Federation + Multiple Authentication Providers FedAuth cookie with HTTP Only Flag  = WinInet.dll  http://msdn.microsoft.com/en-us/library/hh147177.aspx
Question and Answerhttp://laneyvb.blogspot.com
SharePoint Saturday - Sandbox development

Contenu connexe

Tendances

TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0Shiju Varghese
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Shiju Varghese
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 serversMark Myers
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...Alexander Meijers
 
ASP.NET Request Processing Internals
ASP.NET Request Processing InternalsASP.NET Request Processing Internals
ASP.NET Request Processing InternalsAbhijit Jana
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationVan Staub, MBA
 
Active Directory Single Sign-On with IBM
Active Directory Single Sign-On with IBMActive Directory Single Sign-On with IBM
Active Directory Single Sign-On with IBMVan Staub, MBA
 
Clustering Multiple Instances in Cold Fusion
Clustering Multiple Instances in Cold FusionClustering Multiple Instances in Cold Fusion
Clustering Multiple Instances in Cold FusionMindfire Solutions
 
SharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint FrameworkSharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint FrameworkJoAnna Cheshire
 
Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0jsnover1
 
Vs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok ChernVs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok ChernQuek Lilian
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business ToolkitVan Staub, MBA
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Voxeo Summit Day 2 -Voxeo APIs and SDKs
Voxeo Summit Day 2 -Voxeo APIs and SDKsVoxeo Summit Day 2 -Voxeo APIs and SDKs
Voxeo Summit Day 2 -Voxeo APIs and SDKsVoxeo Corp
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsAlexander Meijers
 

Tendances (20)

TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 servers
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
ASP.NET Request Processing Internals
ASP.NET Request Processing InternalsASP.NET Request Processing Internals
ASP.NET Request Processing Internals
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme Customization
 
Active Directory Single Sign-On with IBM
Active Directory Single Sign-On with IBMActive Directory Single Sign-On with IBM
Active Directory Single Sign-On with IBM
 
Clustering Multiple Instances in Cold Fusion
Clustering Multiple Instances in Cold FusionClustering Multiple Instances in Cold Fusion
Clustering Multiple Instances in Cold Fusion
 
SharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint FrameworkSharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint Framework
 
Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0
 
Vs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok ChernVs2010 Apiit Mix On Campus_Ngan Seok Chern
Vs2010 Apiit Mix On Campus_Ngan Seok Chern
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
Team foundation server
Team foundation serverTeam foundation server
Team foundation server
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Vs2005p
Vs2005pVs2005p
Vs2005p
 
Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
Voxeo Summit Day 2 -Voxeo APIs and SDKs
Voxeo Summit Day 2 -Voxeo APIs and SDKsVoxeo Summit Day 2 -Voxeo APIs and SDKs
Voxeo Summit Day 2 -Voxeo APIs and SDKs
 
More Best Practices With Share Point Solutions
More Best Practices With Share Point SolutionsMore Best Practices With Share Point Solutions
More Best Practices With Share Point Solutions
 

Similaire à SharePoint Saturday - Sandbox development

Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicMostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicSharePoint Saturday NY
 
2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with VoltaDaniel Fisher
 
Jan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configurationJan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configurationNordic Infrastructure Conference
 
Office 365 for Developers
Office 365 for DevelopersOffice 365 for Developers
Office 365 for DevelopersWes Yanaga
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
Wsv315 Windows Power Shell For Beginners
Wsv315 Windows Power Shell For BeginnersWsv315 Windows Power Shell For Beginners
Wsv315 Windows Power Shell For Beginnersjsnover1
 
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOMSPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOMamitvasu
 
SharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersSharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersCorey Roth
 
Configuring kerberos based sso in weblogic
Configuring kerberos based sso in weblogicConfiguring kerberos based sso in weblogic
Configuring kerberos based sso in weblogicHarihara sarma
 
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...Jakob Gottlieb Svendsen
 
Future of SharePoint Dev SPFx Extensions
Future of SharePoint Dev   SPFx ExtensionsFuture of SharePoint Dev   SPFx Extensions
Future of SharePoint Dev SPFx ExtensionsAlex Terentiev
 
Best Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsBest Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsAlexander Meijers
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 

Similaire à SharePoint Saturday - Sandbox development (20)

Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicMostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
 
2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta
 
Jan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configurationJan Egil Ring - Get started with windows power shell desired state configuration
Jan Egil Ring - Get started with windows power shell desired state configuration
 
Office 365 for Developers
Office 365 for DevelopersOffice 365 for Developers
Office 365 for Developers
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Wsv315 Windows Power Shell For Beginners
Wsv315 Windows Power Shell For BeginnersWsv315 Windows Power Shell For Beginners
Wsv315 Windows Power Shell For Beginners
 
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOMSPSToronto 2015 - Managing Office365 with PowerShell and CSOM
SPSToronto 2015 - Managing Office365 with PowerShell and CSOM
 
Running PHP In The Cloud
Running PHP In The CloudRunning PHP In The Cloud
Running PHP In The Cloud
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
SharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersSharePoint Development For Asp Net Developers
SharePoint Development For Asp Net Developers
 
Configuring kerberos based sso in weblogic
Configuring kerberos based sso in weblogicConfiguring kerberos based sso in weblogic
Configuring kerberos based sso in weblogic
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...System Center Universe Europe 2014 - Jakob Gottlieb Svendsen -  Service Manag...
System Center Universe Europe 2014 - Jakob Gottlieb Svendsen - Service Manag...
 
STUG-Sand boxed Solution
STUG-Sand boxed SolutionSTUG-Sand boxed Solution
STUG-Sand boxed Solution
 
Future of SharePoint Dev SPFx Extensions
Future of SharePoint Dev   SPFx ExtensionsFuture of SharePoint Dev   SPFx Extensions
Future of SharePoint Dev SPFx Extensions
 
Best Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point SolutionsBest Practices Configuring And Developing Share Point Solutions
Best Practices Configuring And Developing Share Point Solutions
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Community Tour Bologna
Community Tour BolognaCommunity Tour Bologna
Community Tour Bologna
 

Plus 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
 
Sps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideSps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideElaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandboxElaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandboxElaine 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
 

Plus de Elaine Van Bergen (14)

SharePoint 2016
SharePoint 2016SharePoint 2016
SharePoint 2016
 
O365 Sydney - Hybrid Dev
O365 Sydney - Hybrid DevO365 Sydney - Hybrid Dev
O365 Sydney - Hybrid Dev
 
What's new 365 - Com Camp
What's new 365 - Com CampWhat's new 365 - Com Camp
What's new 365 - Com Camp
 
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
 
Sps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideSps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client side
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
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
 

Dernier

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 

Dernier (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 

SharePoint Saturday - Sandbox development

  • 1. Developing in the Sandbox Elaine van BergenOBS
  • 2.
  • 3. Who am I SharePoint 2010 MCM SharePoint MVP Microsoft Virtual Technical Solutions Professional Co-organiser of Melbourne SharePoint User Group (MSPUG) @laneyvb on Twitter Blog at http://laneyvb.blogspot.com/
  • 4.
  • 5. 3 Types On-premise sandbox SharePoint online SharePoint online dedicated
  • 6. Design Process for Customisation High Level Design (HLD) – approval Follow design guidelines http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18128 Verify/Submit with MSOCAFhttps://caf.sharepoint.microsoftonline.com/Default.aspx
  • 7. MSOCAF Developing in the Sandbox
  • 8. 3 Types On-premise sandbox SharePoint online SharePoint online dedicated
  • 9. Setup Development Environment Enable Microsoft SharePoint Foundation Sandboxed Code Service via CA Download power toolshttp://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9 Download Silverlight toolkithttp://www.microsoft.com/web/gallery/install.aspx?appid=silverlight4tools;silverlight4toolkit;riaservicestoolkit
  • 10. 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 Untrusted Code SP Object Model Subset Subset-Model Request Sandbox Worker Proxy Process (SPUCWorkerProcessProxy.exe) Access restricted by CAS policy Full SP Object Model
  • 12. 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
  • 13. CAS Policy wss_usercode.config %ProgramFiles%ommon Filesicrosoft Sharedeb server extensions4ONFIG SharePointPermission.ObjectModel SecurityPermission.Execution AspNetHostingPermission = Minimal WebPermission.Connect
  • 14. Unsupported Features Anything above the site collection Access to External Code/Data Creation of SPWeb/SPSite outside of context SPSecurity BCS
  • 16. 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
  • 18. SharePoint 2010 Approach Developers build custom solutions Administrators leverage resource monitors to check site collection usage Site collection owners deploy, activate and implement the customizations
  • 20. Solution Validation [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){ } }
  • 21. 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
  • 22. Load Balancing Sandboxed solutions can be run in two 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
  • 23. 3 Types On-premise sandbox SharePoint online SharePoint online dedicated
  • 24. Limited web services http://msdn.microsoft.com/en-us/library/gg454740.aspx
  • 25. Development Process dev.spo.contoso.com spo.contoso.com *.wsp Develop/ Debug *.wsp F5 Upload/ Activate/ Deactivate *.wsp local.contoso.com
  • 27. Client-Object Model New APIs for interacting with SharePoint sites Supported platforms .NET 3.5 (and below) Silverlight 2.0 (and above) JavaScript/Jscript Provides a means to call services outside SharePoint Online
  • 28. Equivalent Objects Member names mostly the same from server to client (e. g., SPWeb.QuickLaunchEnabled = Web.QuickLaunchEnabled)
  • 29. Architecture/Execution ECMAScriptControlsand Logic Browser Client.svc Server OM JSON Response ECMAScript OM XML Request Proxy XML Request Contentdatabase Proxy JSON Response Managed OM Managed Client Managed Controls and Logic SharePoint Server
  • 32. Authentication Claims + Federation + Multiple Authentication Providers FedAuth cookie with HTTP Only Flag = WinInet.dll http://msdn.microsoft.com/en-us/library/hh147177.aspx

Notes de l'éditeur

  1. Evolving storyPainful start slow, but don’t discount the whole ideaLots of concepts that have good merit and the practise of moving towards architecting solutions that can run on tightly governed sharepoint platforms regardless of location is where many believe the industry will be heading.
  2. HLD – preapproved solutions still require HLD, before any custom code.Design guidelines:Specific structureEfficient codehttp://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=18128
  3. HLD – preapproved solutions still require HLD, before any custom code.Design guidelines:Specific structureEfficient codehttp://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=18128
  4. Error handlingCross site collection and/or different permissions
  5. UploadUploaded to Solution GalleryRequires Site Collection adminActivationActually deploys files, registers Event Receivers, etc.Site Collection features activatedSite features must be activated manuallyDeactivationDisables capabilitiesDeletionRemoves the solutionUpgradeUse the same solution ID, different nameFeatures are compared, new features activated
  6. Protects Site Collection from resource intensive solutionsResource Points measure resource consumptionResourceMeasure is what is measuredResourcePerPoint is how points are calculatedSite Collection Quota limits resource consumption per daySummed across all solutionsAll solutions are deactivatedAbsolute Limit limits resources consumed by a solutionHard limit of resources consumed in a requestRestarts worker process
  7. SharePoint 2010 allows customizations to be deployed and maintained at the site collection level. Increasing agility while releasing burden on IT.Of course there is still IT involvement, but mainly when things go wrong (such as excessive resource usage).
  8. Create sandbox visualwebpartAdd bad code, compileAdd good code , compileUpload to solution galleryActivate and useChange code, rename and try again
  9. Code can either be executed locally on the machine that receives the request, or on a load-balanced back-end server. The User Code Service needs to run on the machine executing the request.
  10. Develop and debug on-premisesVisual Studio 2010F5 DebuggingConfirm solution in staging site collectionDedicated site collection to dev teamUpload *.wspAcceptance testingDeploy *.wsp uploaded to Solution Gallery
  11. New APIs for interacting with SharePoint sitesEasier than SharePoint Web Services, more efficientConsistent with Microsoft.SharePoint namespaceScoped to site collection, scoped for downloadSupported platforms.NET 3.5 (and below)Silverlight 2.0 (and above)JavaScript/JscriptProvides a means to call services outside SharePoint Online