Intro to SharePoint Sandboxed Solutions


Published on

Sandboxed Solutions are the development paradigm for SharePoint Online. In this session, you’ll learn about sandboxed solutions including how to develop, debug and deploy solutions. You’ll also learn the breadth of solutions that can be developed in the sandbox and strategies for developing common scenarios that are not enabled in the sandbox. We are going to discuss tools that can help us develop solutions in a sandbox and tricks that can assist us to streamline code development and application life cycle. The session will be accompanied with series of demoes that are going to show some of best and worst practices with SharePoint solutions.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Resource Per Point is how much this contributes to the point limit per day for the site collectionHard Limit is how much of this resource a solution can use in a single invocation before it is terminated – a maximum use of quota in a single invocationInvocation count is used to measure the per-instance cost of a solution for purposes of reporting and assigning to run-time “tiers” for farms that want to separate solutions into multiple different sandbox processes – there is only one by default.
  • Source:
  • Intro to SharePoint Sandboxed Solutions

    1. 1. LECTUREBuilding SharePoint Online Web Parts Toni Frankola SharePoint MVP Acceleratio d.o.o.
    2. 2. Contents• Office365 / SharePoint Online• Developing for SharePoint Online• Demos and tips• Some advanced stuff
    3. 3. office365
    4. 4. SharePoint• Sharing documents• Corporate social networks• Managing projects and documents• Search• News• Permissions• Offline sync• IM• …
    5. 5. Challange• Case study: – Customer wants to use SharePoint in the cloud • …but with special forms, custom permissions and custom web parts
    6. 6. The solution
    7. 7. SandBoxed Solutions• Isolated SP process (User Code Service)• Subset Microsoft.SharePoint namespace• Managed via browser (Solutions gallery)
    8. 8. Hello World!SharePoint Sandboxed solution DEMO
    9. 9. SANDBOXED SOLUTIONS - for developers
    10. 10. Request Flow FRONT END BACK ENDExecution Manager Host Services (Inside Application Pool) (SPUCHostService.exe) IIS Worker Service (WPW3.EXE) (SPUCWorkerProcess.exe) Subset-Model Full-Model Request Request
    11. 11. Supported in Sandboxed Solutions• Web Parts (no Visual WPs)• Lists• List Templates• Custom Actions• Workflows• Event Receivers• Content Types• Site Columns• …Source:
    12. 12. Supported API• All of the Microsoft.SharePoint namespace, except: – SPSite constructor – SPSecurity object – SPWorkItem and SPWorkItemCollection objects – SPAlertCollection.Add method – SPAlertTemplateCollection.Add method – SPUserSolution and SPUserSolutionCollection objects – SPTransformUtilities object – Microsoft.SharePoint.Navigation namespace• All of the Microsoft.SharePoint.Utilities namespace, except – SPUtility.SendEmail method – SPUtility.GetNTFullNameandEmailFromLogin method – Microsoft.SharePoint.Workflow namespace• All of the Microsoft.SharePoint.WebPartPages namespace, except – SPWebPartManager object – SPWebPartConnection object – WebPartZone object – WebPartPage object – ToolPane object – ToolPart object Source:
    13. 13. SharePoint Features / Solutions Solution (.wsp) Feature 2 Feature 1 Event Web Web … CSS … JS Handler Part Part
    14. 14. Developer Tools• Visual Studio 2010 SharePoint Power Tools – adds Visual Web Part – SandBoxed solution validation (must have!)• Office365 Sandbox FxCop rules• CKSDEV add-on – Trusted proxy – Deployment options• Other stuff: – Visual Studio 2010 Productivity Pack – SP Dispose Checker (how to integrate with VS)
    15. 15. SharePoint UX• Users want different UX
    16. 16. UX: What do we need?• ASP.NET – .master page – CSS – javascript
    17. 17. SharePoint Metro UI Demo
    18. 18. SharePoint UX (2)
    19. 19. Link buttons• jQuery link buttons• SharePoint lista za linkove – Security – UI –…• SharePoint Feature
    20. 20. SharePoint Link Buttons Demo
    21. 21. Monitoring Sandbox
    22. 22. Very bad WebPart• Infinite loop example:• Farm solution = problem• Sandboxed solution:
    23. 23. Monitoring 101• Site Collection Admin• Farm admin
    24. 24. Monitored Resources Resources HardMetric Name Description Units Per Point LimitAbnormalProcessTerminationCount Process gets abnormally terminated Count 1 1CPUExecutionTime CPU exception time Seconds 3,600 60CriticalExceptionCount Critical exception fired Number 10 3 Number of times solutionInvocationCount Count N/A N/A has been invoked Percentage Units of OverallPercentProcessorTime Note: # of cores not factored in 85 100 Processor ConsumedProcessCPUCycles CPU Cycles 1E+11 1E+11ProcessHandleCount Windows Handles 10,000 1,000 (Hard Limit Only) Bytes writtenProcessIOBytes Bytes 0 1E+08 to IO Number of ThreadsProcessThreadCount Threads 10,000 200 in Overall Process (Hard Limit Only)ProcessVirtualBytes Bytes 0 1E+09 Memory consumedSharePointDatabaseQueryCount SharePoint DB Queries Invoked Number 20 100 Amount of time spent waitingSharePointDatabaseQueryTime Seconds 120 60 for a query to be performedUnhandledExceptionCount Unhanded Exceptions 50 3 We have to kill the process becauseUnresponsiveprocessCount Number 2 1 it has become unresponsive
    25. 25. Extending Sandbox
    26. 26. Not supported!• Off-box connections, http, web services, etc•• Enterprise features (Search, BCS, etc.)• Threading• P-Invoke• IO• Other sites (site collections)
    27. 27. Beyond Limits• No 3rd party .NET components  – Revert back to JQuery • JQuery charts (licensing!) – Silverlight!
    28. 28. Extending Sandbox• Trusted proxies: SPUCWorkerProcess.exe
    29. 29. SharePoint Client object model• Supported technologies – .NET – Silverlight – ECMAScript (JavaScript, JScript)
    30. 30. „Search as you type” demo
    31. 31. PITANJA
    32. 32. HVALA!