Upload
abigayle-sullivan
View
217
Download
0
Embed Size (px)
DESCRIPTION
Who are Brian and Elaine Brian Farnhill ► Solutions Architect, Extelligent Design ► SharePoint MVP ► Collab Platform vTSP ► Canberra SP User Group Organiser Elaine Van Bergen ► Architect, OBS ► SharePoint MCM ► SharePoint MVP ► Collab Platform vTSP ► Melbourne SP User Group Organiser (c) 2011 Microsoft. All rights reserved.
Citation preview
(c) 2011 Microsoft. All rights reserved.
SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS
Brian Farnhill Elaine van BergenSolution Architect ArchitectExtelligent Design OBS
SESSION CODE: DEV-OFS312
(c) 2011 Microsoft. All rights reserved.
Who are Brian and ElaineBrian Farnhill► Solutions Architect,
Extelligent Design► SharePoint MVP► Collab Platform
vTSP► Canberra SP User
Group Organiser
Elaine Van Bergen► Architect, OBS► SharePoint MCM► SharePoint MVP► Collab Platform
vTSP► Melbourne SP User
Group Organiser
Session Agenda
► Introduction► Development tips and techniques
– Delegate Controls– Web Templates– Custom Service Application– Design Tips
► Review► Question and answer
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Introduction
Introduction
► Think big - Large scale applications need large scale planning and development
► Complex solutions need to have plans for how changes are managed in future
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
DELEGATE CONTROLSSupercharging your SharePoint 2010 Solutions
Delegate ControlsWhat are they?► Provide a framework for “place holders”► Additional controls are deployed and
managed through features► Allow for overriding of specific controls
without changing pages
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Delegate ControlsHow do they work?
(c) 2011 Microsoft. All rights reserved.
Feature 1
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Delegate Control
Id: TechEdSequence: 100
Content/Config Database
SharePoint:DelegateControlControlId: TechEd
AllowMultiple: False
Delegate ControlsHow do they work?
(c) 2011 Microsoft. All rights reserved.
Feature 1
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Delegate Control
Id: TechEdSequence: 100
Content/Config Database
Feature 2
Delegate Control
Id: TechEdSequence: 90
SharePoint:DelegateControlControlId: TechEd
AllowMultiple: False
Delegate ControlsHow do they work?
(c) 2011 Microsoft. All rights reserved.
Feature 1
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Delegate Control
Id: TechEdSequence: 100
Content/Config Database
SharePoint:DelegateControlControlId: TechEd
AllowMultiple: True
Feature 2
Delegate Control
Id: TechEdSequence: 90
(c) 2011 Microsoft. All rights reserved.
USING DELEGATE CONTROLS
Demonstration
Delegate ControlsReview
► Allow designs to be templated effectively► Provide ability to control functionality
through the UI rather than through deployment changes
► Framework can be extended to support advanced use scenarios
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
WEB TEMPLATESSupercharging your SharePoint 2010 Solutions
Site Definitions
► No Supported way to modify once deployed
► Can’t be used in Office365 as farm wide► Sites created from site definition remain
linked to definition► Site scoped features not activated in web
creation► Feature stapling possible
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Web Template’s
► Template can be upgraded
► Can be used in Office365 as site level is possible
► No feature stapling possible
► Can’t use variations
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Feature versioning
► Version Range – BeginVersion/EndVersion
► Upgrade Elements– CustomUpgradeAction– ApplyElementManifest– MapFile – FromPath/ToPath– AddContentTypeField
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
CREATING EFFECTIVE WEB TEMPLATES
Demonstration
Web TemplatesReview► Web templates replace site definitions for
most situations
► Plan your web template plus feature structure and add property bag identifier
► Use feature upgrading or scripts to upgrade existing sites
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
CREATING CUSTOM SERVICE APPLICATIONS
Supercharging your SharePoint 2010 Solutions
Service ApplicationsArchitecture
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Client AppsBrowsers (IE, Firefox)
Office ClientOneNoteInfoPathProjectOutlook
RSS ViewersSharePoint Workspace
SharePoint DesignerVisio
Access
SharePoint Foundation
Config Content Workflow
Sandboxed Code Service Usage & Health Logging
Project Server 2010
Fast 2010
Project Web Access
FAST Search Service
Office Web App Services
3rd party services
SharePoint Service ApplicationsSearch Service
Excel Calc Service
User Profiles
Business Connectivity Service
InfoPath Services
Word Conversion Service
PowerPoint Broadcast Service
Web Analytics Service
Visio Graphics Service
Access Services
Managed Metadata
PerformancePoint
SharePoint Server
Service ApplicationsBenefits of using a service app► Scalability– Add instances to servers to increase scale– Internal round robin to select server when
called► Share and consume data– Publish service applications between farms
► Performance and stability– Much better suited for long running activities
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
Web Front EndApplication Server
Service ApplicationsService Object Model
SPFarm
SPServer SPService
SPServiceInstance
SPServiceApplication
SPServiceProxy
SPServiceApplicationProxy
Service ApplicationsHow to build a service app
1. Create a service application2. Create a WCF service application endpoint3. Write the service application installation code4. Install and provision the service application5. Create the service application proxy6. Write the service application proxy installation code7. Install and provision the service application proxy8. Create the service application consumers9. Install, deploy, and test the service application consumers
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
BUILDING A SERVICE APPLICATION
Demonstration
Service ApplicationsReview► Know when to build and when to use
alternatives► Understand the framework when building
custom service applications
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
(c) 2011 Microsoft. All rights reserved.
DESIGN TIPS AND TRICKSSupercharging your SharePoint 2010 Solutions
Large Solution Tips
► Divide into separate wsp’s but don’t go overboard
► Think structure, naming and consistency► Avoid cross dependencies and shared
resources► Good architecture is possible even with
SharePoint involved
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Deployment
► Automate as much as possible !► PowerShell is one good option► Farm feature plus timer job for no-touch
option► High automation = Less documentation
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Caching Configuration
► Output – Generated HTML for future requests
► Object – Common objects and query results
► BLOB – Commonly requested files put on WFE disk
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Caching via code
► Consider if object is thread safe
► SPWEB is not therefore any item with embedded web like SPSListItemCollection can cause issues
► Lock and cache safe object such as datatable
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Querying techniques
► Search Object model solid performed but delayed data
► PortalSitemapProvider if data is low and relatively static
► SPQuery + ContentIterator
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Throttling
• List Throttling• Row and Column Throttling• Http Request• Unique Permissions• You can add your own
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
List throttling
• Any operation that impacts x amount of items is throttled
• Default is 5000 items, beware of table locks if you change
• Overrides for auditors and administrators only in OM
• Machine admin overrides all throttle limits• Happy hour(s)
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Final Review
► Delegate Controls► Web Templates► Custom Service Application► Design Tips
(c) 2011 Microsoft. All rights reserved.
Introduction Delegate Controls
Web Templates
Custom Service App Design Tips Review Q&A
Enrol in Microsoft Virtual Academy TodayWhy Enroll, other than it being free?The MVA helps improve your IT skill set and advance your career with a free, easy to access training portal that allows you to learn at your own pace, focusing on Microsoft technologies.
What Do I get for enrolment?► Free training to make you become the Cloud-Hero in my Organization► Help mastering your Training Path and get the recognition► Connect with other IT Pros and discuss The Cloud
Where do I Enrol?www.microsoftvirtualacademy.com
Then tell us what you think. [email protected]
(c) 2011 Microsoft. All rights reserved.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this
presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
(c) 2011 Microsoft. All rights reserved.
www.msteched.com/Australia
Sessions On-Demand & Community
http:// technet.microsoft.com/en-au
Resources for IT Professionals
http://msdn.microsoft.com/en-au
Resources for Developers
www.microsoft.com/australia/learning
Microsoft Certification & Training Resources
Resources