SlideShare ist ein Scribd-Unternehmen logo
1 von 33
LECTURE




Building SharePoint Online Web Parts
                Toni Frankola
              SharePoint MVP
              Acceleratio d.o.o.
Contents
•   Office365 / SharePoint Online
•   Developing for SharePoint Online
•   Demos and tips
•   Some advanced stuff
office365
SharePoint
•   Sharing documents
•   Corporate social networks
•   Managing projects and documents
•   Search
•   News
•   Permissions
•   Offline sync
•   IM
•   …
Challange
• Case study:
  – Customer wants to use SharePoint in the
    cloud
     • …but with special forms, custom permissions and
       custom web parts
The solution
SandBoxed Solutions
• Isolated SP process
  (User Code Service)

• Subset
  Microsoft.SharePoint namespace

• Managed via browser (Solutions gallery)
Hello World!

SharePoint Sandboxed solution
           DEMO
SANDBOXED SOLUTIONS
   - for developers
Request Flow

      FRONT END                   BACK END
Execution Manager              Host Services
 (Inside Application Pool)    (SPUCHostService.exe)



           IIS                Worker Service
      (WPW3.EXE)             (SPUCWorkerProcess.exe)




       Subset-Model
          Full-Model
         Request
            Request
Supported in Sandboxed
               Solutions
•   Web Parts (no Visual WPs)
•   Lists
•   List Templates
•   Custom Actions
•   Workflows
•   Event Receivers
•   Content Types
•   Site Columns
•   …
Source: http://msdn.microsoft.com/en-us/library/ff872402.aspx
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: http://msdn.microsoft.com/en-us/library/ff872402.aspx
SharePoint Features / Solutions

               Solution (.wsp)

     Feature 2                   Feature 1

      Event           Web                 Web
 …              CSS          …       JS
     Handler          Part                Part
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)
SharePoint UX
• Users want different UX
UX: What do we need?
• ASP.NET
  – .master page
  – CSS
  – javascript
SharePoint Metro UI

       Demo
SharePoint UX (2)
Link buttons
• jQuery link buttons

• SharePoint lista za linkove
  – Security
  – UI
  –…
• SharePoint Feature
SharePoint Link Buttons

         Demo
Monitoring Sandbox
Very bad WebPart
• Infinite loop example:



• Farm solution = problem
• Sandboxed solution:
Monitoring 101
• Site Collection Admin




• Farm admin
Monitored Resources
                                                                                                   Resources   Hard
Metric Name                       Description                        Units
                                                                                                   Per Point   Limit
AbnormalProcessTerminationCount   Process gets abnormally terminated Count                         1           1
CPUExecutionTime                  CPU exception time                 Seconds                       3,600       60
CriticalExceptionCount            Critical exception fired           Number                        10          3
                                  Number of times solution
InvocationCount                                                      Count                         N/A         N/A
                                  has been invoked
                                                                     Percentage Units of Overall
PercentProcessorTime              Note: # of cores not factored in                                 85          100
                                                                     Processor Consumed
ProcessCPUCycles                                                     CPU Cycles                    1E+11       1E+11
ProcessHandleCount                                                   Windows Handles               10,000      1,000
                                  (Hard Limit Only) Bytes written
ProcessIOBytes                                                       Bytes                         0           1E+08
                                  to IO
                                  Number of Threads
ProcessThreadCount                                                   Threads                       10,000      200
                                  in Overall Process
                                  (Hard Limit Only)
ProcessVirtualBytes                                                  Bytes                         0           1E+09
                                  Memory consumed
SharePointDatabaseQueryCount      SharePoint DB Queries Invoked      Number                        20          100
                                  Amount of time spent waiting
SharePointDatabaseQueryTime                                          Seconds                       120         60
                                  for a query to be performed
UnhandledExceptionCount           Unhanded Exceptions                                              50          3
                                  We have to kill the process because
UnresponsiveprocessCount                                              Number                       2           1
                                  it has become unresponsive
Extending Sandbox
Not supported!
• Off-box connections, http, web services,
  etc
• ADO.net
• Enterprise features (Search, BCS, etc.)
• Threading
• P-Invoke
• IO
• Other sites (site collections)
Beyond Limits
• No 3rd party .NET components 
  – Revert back to JQuery
     • JQuery charts (licensing!)
  – Silverlight!
Extending Sandbox
• Trusted proxies:

      SPUCWorkerProcess.exe
SharePoint Client object model
• Supported technologies
  – .NET
  – Silverlight
  – ECMAScript
    (JavaScript, JScript)
„Search as you type” demo
PITANJA
HVALA!

Weitere ähnliche Inhalte

Mehr von Toni Frankola

Understanding and Tracking Office 365 Usage and Adoption
Understanding and Tracking Office 365 Usage and AdoptionUnderstanding and Tracking Office 365 Usage and Adoption
Understanding and Tracking Office 365 Usage and AdoptionToni Frankola
 
Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...
Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...
Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...Toni Frankola
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Toni Frankola
 
SharePoint Governance: stories, myths, legends and real life
SharePoint Governance: stories, myths, legends and real lifeSharePoint Governance: stories, myths, legends and real life
SharePoint Governance: stories, myths, legends and real lifeToni Frankola
 
Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2
Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2
Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2Toni Frankola
 
Automating SharePoint 2010 administration tasks with PowerShell
Automating SharePoint 2010 administration tasks with PowerShellAutomating SharePoint 2010 administration tasks with PowerShell
Automating SharePoint 2010 administration tasks with PowerShellToni Frankola
 
Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...
Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...
Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...Toni Frankola
 
Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...
Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...
Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...Toni Frankola
 
Best practices with SharePoint 2010 sandboxed solutions
Best practices with SharePoint 2010 sandboxed solutionsBest practices with SharePoint 2010 sandboxed solutions
Best practices with SharePoint 2010 sandboxed solutionsToni Frankola
 
The wonderful world of SharePoint 2010 service apps
The wonderful world of SharePoint 2010 service appsThe wonderful world of SharePoint 2010 service apps
The wonderful world of SharePoint 2010 service appsToni Frankola
 
Playing in the SharePoint SandBox
Playing in the SharePoint SandBoxPlaying in the SharePoint SandBox
Playing in the SharePoint SandBoxToni Frankola
 
Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...
Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...
Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...Toni Frankola
 
WinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjeha
WinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjehaWinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjeha
WinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjehaToni Frankola
 
WinDays 2009 - SharePoint For End Users - Shortcuts To Success
WinDays 2009 - SharePoint For End Users - Shortcuts To SuccessWinDays 2009 - SharePoint For End Users - Shortcuts To Success
WinDays 2009 - SharePoint For End Users - Shortcuts To SuccessToni Frankola
 
Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...
Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...
Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...Toni Frankola
 

Mehr von Toni Frankola (15)

Understanding and Tracking Office 365 Usage and Adoption
Understanding and Tracking Office 365 Usage and AdoptionUnderstanding and Tracking Office 365 Usage and Adoption
Understanding and Tracking Office 365 Usage and Adoption
 
Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...
Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...
Governance in the Modern Workplace: SharePoint, OneDrive, Groups, Teams, Flow...
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
 
SharePoint Governance: stories, myths, legends and real life
SharePoint Governance: stories, myths, legends and real lifeSharePoint Governance: stories, myths, legends and real life
SharePoint Governance: stories, myths, legends and real life
 
Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2
Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2
Building business forms with InfoPath 2010 and SharePoint 2010 – Part 2
 
Automating SharePoint 2010 administration tasks with PowerShell
Automating SharePoint 2010 administration tasks with PowerShellAutomating SharePoint 2010 administration tasks with PowerShell
Automating SharePoint 2010 administration tasks with PowerShell
 
Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...
Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...
Windays 2011 - SharePoint no-code solutions with InfoPath 2010 and SharePoint...
 
Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...
Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...
Building SharePoint 2010 applications with InfoPath 2010 and SharePoint Desig...
 
Best practices with SharePoint 2010 sandboxed solutions
Best practices with SharePoint 2010 sandboxed solutionsBest practices with SharePoint 2010 sandboxed solutions
Best practices with SharePoint 2010 sandboxed solutions
 
The wonderful world of SharePoint 2010 service apps
The wonderful world of SharePoint 2010 service appsThe wonderful world of SharePoint 2010 service apps
The wonderful world of SharePoint 2010 service apps
 
Playing in the SharePoint SandBox
Playing in the SharePoint SandBoxPlaying in the SharePoint SandBox
Playing in the SharePoint SandBox
 
Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...
Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...
Slovenian SharePoint Conference 2009 - Best Practices To Boost Your Share Poi...
 
WinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjeha
WinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjehaWinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjeha
WinDays 2009 - SharePoint za krajnje korisnike - Prečacima do uspjeha
 
WinDays 2009 - SharePoint For End Users - Shortcuts To Success
WinDays 2009 - SharePoint For End Users - Shortcuts To SuccessWinDays 2009 - SharePoint For End Users - Shortcuts To Success
WinDays 2009 - SharePoint For End Users - Shortcuts To Success
 
Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...
Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...
Introduction To Microsoft Office Share Point 2007 – Planning Installation Con...
 

Kürzlich hochgeladen

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Kürzlich hochgeladen (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Intro to SharePoint Sandboxed Solutions

  • 1.
  • 2. LECTURE Building SharePoint Online Web Parts Toni Frankola SharePoint MVP Acceleratio d.o.o.
  • 3. Contents • Office365 / SharePoint Online • Developing for SharePoint Online • Demos and tips • Some advanced stuff
  • 5. SharePoint • Sharing documents • Corporate social networks • Managing projects and documents • Search • News • Permissions • Offline sync • IM • …
  • 6. Challange • Case study: – Customer wants to use SharePoint in the cloud • …but with special forms, custom permissions and custom web parts
  • 8. SandBoxed Solutions • Isolated SP process (User Code Service) • Subset Microsoft.SharePoint namespace • Managed via browser (Solutions gallery)
  • 10. SANDBOXED SOLUTIONS - for developers
  • 11. Request Flow FRONT END BACK END Execution Manager Host Services (Inside Application Pool) (SPUCHostService.exe) IIS Worker Service (WPW3.EXE) (SPUCWorkerProcess.exe) Subset-Model Full-Model Request Request
  • 12. Supported in Sandboxed Solutions • Web Parts (no Visual WPs) • Lists • List Templates • Custom Actions • Workflows • Event Receivers • Content Types • Site Columns • … Source: http://msdn.microsoft.com/en-us/library/ff872402.aspx
  • 13. 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: http://msdn.microsoft.com/en-us/library/ff872402.aspx
  • 14. SharePoint Features / Solutions Solution (.wsp) Feature 2 Feature 1 Event Web Web … CSS … JS Handler Part Part
  • 15. 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)
  • 16. SharePoint UX • Users want different UX
  • 17. UX: What do we need? • ASP.NET – .master page – CSS – javascript
  • 20. Link buttons • jQuery link buttons • SharePoint lista za linkove – Security – UI –… • SharePoint Feature
  • 23. Very bad WebPart • Infinite loop example: • Farm solution = problem • Sandboxed solution:
  • 24. Monitoring 101 • Site Collection Admin • Farm admin
  • 25. Monitored Resources Resources Hard Metric Name Description Units Per Point Limit AbnormalProcessTerminationCount Process gets abnormally terminated Count 1 1 CPUExecutionTime CPU exception time Seconds 3,600 60 CriticalExceptionCount Critical exception fired Number 10 3 Number of times solution InvocationCount Count N/A N/A has been invoked Percentage Units of Overall PercentProcessorTime Note: # of cores not factored in 85 100 Processor Consumed ProcessCPUCycles CPU Cycles 1E+11 1E+11 ProcessHandleCount Windows Handles 10,000 1,000 (Hard Limit Only) Bytes written ProcessIOBytes Bytes 0 1E+08 to IO Number of Threads ProcessThreadCount Threads 10,000 200 in Overall Process (Hard Limit Only) ProcessVirtualBytes Bytes 0 1E+09 Memory consumed SharePointDatabaseQueryCount SharePoint DB Queries Invoked Number 20 100 Amount of time spent waiting SharePointDatabaseQueryTime Seconds 120 60 for a query to be performed UnhandledExceptionCount Unhanded Exceptions 50 3 We have to kill the process because UnresponsiveprocessCount Number 2 1 it has become unresponsive
  • 27. Not supported! • Off-box connections, http, web services, etc • ADO.net • Enterprise features (Search, BCS, etc.) • Threading • P-Invoke • IO • Other sites (site collections)
  • 28. Beyond Limits • No 3rd party .NET components  – Revert back to JQuery • JQuery charts (licensing!) – Silverlight!
  • 29. Extending Sandbox • Trusted proxies: SPUCWorkerProcess.exe
  • 30. SharePoint Client object model • Supported technologies – .NET – Silverlight – ECMAScript (JavaScript, JScript)
  • 31. „Search as you type” demo

Hinweis der Redaktion

  1. 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.
  2. Source: http://blah.winsmarts.com/2009-12-SharePoint_2010_Sandboxed_Solutions__Full_Trust__Proxies.aspx