SharePoint Online (W14) Development and Extensibility

advertisement
®
SharePoint
Microsoft
Online:
Extensibility and Customization
Howard Crow | Principal Group Program Manager | Microsoft Corporation
Rob Howard | Program Manager II | Microsoft Corporation
Developer Experience
Sandbox Solutions
Modern APIs
Agenda
• Overview of Microsoft® SharePoint® Online development
• The power user and/or designer
− In-browser customizations
− SharePoint Designer 2010: no-code solutions
• The developer
− Sandboxed solutions
− Client object model
− Microsoft Silverlight®
• Summary/resources
• DEMOs throughout – this is a ‘show me’ session
5 | Microsoft Confidential
SharePoint Online Development
Extensibility
6 | Microsoft Confidential
•
•
MSDN SharePoint Online Resource Center
On Day One … The Power User
Build out master pages
Edit page layouts
Add and customize OOTB web parts
Add lightweight Silverlight (.XAP) widgets
Embed jQuery code within Content Editor web parts
Easily switch among OOTB themes, or import new using
Microsoft Office PowerPoint® to design
• More…
•
•
•
•
•
•
7 | Microsoft Confidential
Demo: Simple customization
in the browser
8 | Microsoft Confidential
SharePoint Designer:
No-code Workflows,
Master Pages &
Branding/Theming
9 | Microsoft Confidential
SharePoint Designer 2010 &
SharePoint Online
−
Create and connect to data internal to SharePoint
−
Create templates, data views, forms, dashboards, and mashups
−
Design custom workflows to manage business processes
•
New features in SharePoint Designer 2010
− Full-screen workflow designer, reusable workflows, Task Designer
(for human workflow)
− Powerful data views with new XSLT List View web part
•
− Save lists, workflows, and sites as solution files (WSP)
Seamlessly integrate with other tools
− Use with in-browser customizations
− Hand off templates to Microsoft Visual Studio® 2010
•
− Integrate with Microsoft InfoPath® forms and Visio-authored workflows
Easily manage SharePoint Designer in your organization
− Restrict who can detach pages from the site definition
− Restrict who can edit master page and page layouts
− Restrict who can edit files in URL site hierarchy
•
− Prevent SharePoint Designer 2010 from editing sites
It's FREE!
− Can be downloaded for free and used with any SharePoint 2010 site
10 | Microsoft Confidential
“No Server Code” Site Solutions
•
•
•
•
•
•
XSLT-based list views
Reusable declarative workflows
Silverlight web part
Client object model
REST list APIs
Custom actions in the database
11 | Microsoft Confidential
Demo: “No Server Code”
Solutions
12 | Microsoft Confidential
Sandboxed Solutions
13 | Microsoft Confidential
The Sandbox
14 | Microsoft Confidential
Microsoft Visual Studio® 2010
Development for SharePoint Online
Develop, test, and deploy
Web part, workflow designers
Package and deploy SharePoint projects as WSPs
Broad SharePoint support
Web Part Designer
Support for SharePoint sandboxed solutions; sandbox
is the default project type.
Import WSP from SharePoint Designer,
including workflow
Build workflow steps for SharePoint Designer
Extensibility for development of additional
SharePoint artifacts
Build out Silverlight projects (.XAP) for use with
Silverlight web part
Project Types
15 | Microsoft Confidential
Sandbox Architecture
FRONT END
BACK END
Execution Wrapper
Host Service
(Inside Application Pool)
IIS
(W3WP.EXE)
(SPUCHostService.exe)
Worker Process
(SPUCWorkerProcess.exe)
Untrusted Code
Subset Object Model
Proxy Process
(SPUCWorkerProcessProxy.exe)
Full Object Model
16 | Microsoft Confidential
The Solution Gallery
17 | Microsoft Confidential
Solution Examples
•
•
•
Link to the online SharePoint 2010 SDK:
http://msdn.microsoft.com/enus/library/ee557253(office.14).aspx
Namespaces and Types in Sandboxed Solutions:
http://msdn.microsoft.com/enus/library/ee537860(office.14).aspx
Code components:
− Event & Feature receivers
− Navigation
− Web parts
− InfoPath forms logic
− SharePoint Designer workflow activities
Declarative components:
− Declarative workflows
− Content types, site columns
− Lists and list definitions
− Non-visual web parts
− Custom actions, ribbon extensions
− Client-side technologies
− Web templates, site pages, page layouts, and master pages
What’s not supported from the Sandbox:
− No access to Internet to make web service calls
− No access to a hard drive to read/write files; you can read/write to lists/libraries
− No web application-scoped features, no farm-scoped features
− Cannot add assemblies to the GAC
− Cannot run security-related functionality (RunWithElevatedPriviledges, SPSecurity methods, etc.)
18 | Microsoft Confidential
Demo: Sandboxed
Solutions Online
19 | Microsoft Confidential
Client Object Model
20 | Microsoft Confidential
The Client Object Model
21 | Microsoft Confidential
Using the Client Object Model
ECMAScriptControls and Logic
Browser
ECMAScript OM
Proxy
Proxy
Managed OM
JSON Response
Server
OM
XML Request
XML Request
JSON Response
Client.svc
Content
database
Managed Client
Managed Controls and Logic
22 | Microsoft Confidential
SharePoint
Server in
SPOnline
Supported Areas
•
•
•
•
•
•
•
•
Site collections and sites
Lists, list items, views, and list schemas
Files and folders
Web, list, and list item property bags
Web parts
Security
Content types
Site templates and site collection operations
23 | Microsoft Confidential
Demo: Client Object Model
24 | Microsoft Confidential
25 | Microsoft Confidential
Silverlight
 Silverlight provides the opportunity for developers to create the next generation of
Rich Internet Applications (RIAs). SharePoint Online integrates closely with Microsoft
Silverlight to enable you to build compelling user interfaces that interact with
SharePoint Online data
26 | Microsoft Confidential
Demo:
Silverlight Online
27 | Microsoft Confidential
Extensibility Overview
28 | Microsoft Confidential
Summary
• No-server-code solutions are simple and powerful
• Developers/ISVs can write custom server code for
hosted environments with Sandboxed Solutions
• Client object model allows remote solutions to
interact with SharePoint objects
• Greater than the sum of their parts:
− Sandbox + Silverlight + ClientOM
29 | Microsoft Confidential
Question & Answer
30 | Microsoft Confidential
Resources
• Main SharePoint Online marketing site:
•
•
•
•
− http://sharepoint.microsoft.com/en-us/SharePointOnline/Pages/default.aspx
Primary Office 365 marketing site:
− http://www.office365.com
− Trials, 100-200 level customer-facing info
− Contains info about BPOS suite and SPO
− 30-Day trial
SharePoint Online developer resource center (MSDN):
http://go.microsoft.com/fwlink/?LinkId=203983
SharePoint Online Administration resource center (TechNet):
http://technet.microsoft.com/sharepoint/gg144571.aspx
‘Help and How-to’ for SharePoint Online (Office.com):
http://office.microsoft.com/redir/FX102052854.aspx
31 | Microsoft Confidential
Appendix: Depth Slides on
How Sandboxed Solutions
Run
32 | Microsoft Confidential
Sandbox Architecture
FRONT END
BACK END
Execution Wrapper
Host Service
(Inside Application Pool)
IIS
(W3WP.EXE)
(SPUCHostService.exe)
Worker Process
(SPUCWorkerProcess.exe)
Untrusted Code
Subset Object Model
SubsetModel
Request
33 | Microsoft Confidential
Proxy Process
(SPUCWorkerProcessProxy.exe)
Full Object Model
Sandbox Architecture
FRONT END
BACK END
Execution Wrapper
Host Service
(Inside Application Pool)
IIS
(W3WP.EXE)
(SPUCHostService.exe)
Worker Process
(SPUCWorkerProcess.exe)
Untrusted Code
Subset Object Model
Full-Model
Request
Proxy Process
(SPUCWorkerProcessProxy.exe)
Full Object Model
34 | Microsoft Confidential
Sandbox Architecture
FRONT END
BACK END
Execution Wrapper
Host Service
(Inside Application Pool)
(SPUCHostService.exe)
Worker Process
IIS
(W3WP.EXE)
(SPUCWorkerProcess.exe)
Untrusted Code
Run for
30sec
Subset Object Model
Resource
Wasting Call
35 | Microsoft Confidential
Proxy Process
(SPUCWorkerProcessProxy.exe)
Full Object Model
Full-Trust Proxy
Worker Process
(SPUCWorkerProcess.exe)
Proxy Process
(SPUCWorkerProcessProxy.exe)
Untrusted Code
Fully Trusted Code
SPProxyOperationsArgs
SPUtility
36 | Microsoft Confidential
SPProxyOperationsArgs
SPProxyOperation
Secured
Resource
Download