Your SlideShare is downloading. ×
  • Like
Intro to SharePoint Sandboxed Solutions
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Intro to SharePoint Sandboxed Solutions


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 …

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    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:


  • 1. LECTUREBuilding SharePoint Online Web Parts Toni Frankola SharePoint MVP Acceleratio d.o.o.
  • 2. Contents• Office365 / SharePoint Online• Developing for SharePoint Online• Demos and tips• Some advanced stuff
  • 3. office365
  • 4. SharePoint• Sharing documents• Corporate social networks• Managing projects and documents• Search• News• Permissions• Offline sync• IM• …
  • 5. Challange• Case study: – Customer wants to use SharePoint in the cloud • …but with special forms, custom permissions and custom web parts
  • 6. The solution
  • 7. SandBoxed Solutions• Isolated SP process (User Code Service)• Subset Microsoft.SharePoint namespace• Managed via browser (Solutions gallery)
  • 8. Hello World!SharePoint Sandboxed solution DEMO
  • 9. SANDBOXED SOLUTIONS - for developers
  • 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. Supported in Sandboxed Solutions• Web Parts (no Visual WPs)• Lists• List Templates• Custom Actions• Workflows• Event Receivers• Content Types• Site Columns• …Source:
  • 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. SharePoint Features / Solutions Solution (.wsp) Feature 2 Feature 1 Event Web Web … CSS … JS Handler Part Part
  • 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. SharePoint UX• Users want different UX
  • 16. UX: What do we need?• ASP.NET – .master page – CSS – javascript
  • 17. SharePoint Metro UI Demo
  • 18. SharePoint UX (2)
  • 19. Link buttons• jQuery link buttons• SharePoint lista za linkove – Security – UI –…• SharePoint Feature
  • 20. SharePoint Link Buttons Demo
  • 21. Monitoring Sandbox
  • 22. Very bad WebPart• Infinite loop example:• Farm solution = problem• Sandboxed solution:
  • 23. Monitoring 101• Site Collection Admin• Farm admin
  • 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. Extending Sandbox
  • 26. Not supported!• Off-box connections, http, web services, etc•• Enterprise features (Search, BCS, etc.)• Threading• P-Invoke• IO• Other sites (site collections)
  • 27. Beyond Limits• No 3rd party .NET components  – Revert back to JQuery • JQuery charts (licensing!) – Silverlight!
  • 28. Extending Sandbox• Trusted proxies: SPUCWorkerProcess.exe
  • 29. SharePoint Client object model• Supported technologies – .NET – Silverlight – ECMAScript (JavaScript, JScript)
  • 30. „Search as you type” demo
  • 31. PITANJA
  • 32. HVALA!