Effectively Using Features and Solutions Neil Iversen Inetium

Slides:



Advertisements
Similar presentations
SharePoint Feature and Solution upgrading Bram de Jager | Lead SharePoint Developer | Macaw.
Advertisements

Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
SP Business Suite Deployment Kick-off
The Ribbon UI and Custom Actions in SharePoint 2010.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
For Developers Who Hate SharePoint.  ~5 years web development experience  1 ½ years SharePoint experience  First worked with SharePoint in Dec. 2006,
Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
MOSS Workflows Workflow Technologies Overview November 15, 2007 Sogeti USA.
Aligning Business Needs, Processes and more within the SharePoint platform ITP116, CIO116, PM116, IA116.
Microsoft Patterns and Practices SharePoint Guidance Robert L. Bogue MS MVP, MCSE, MCSA: Security
Packaging Your Advanced SharePoint Customizations Neil Iversen Inetium
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
SharePoint 2010 First Look: What's new for Developers in Microsoft SharePoint 2010 Matthew McDermott, MVP Aptillon, Able
St. Louis Day of Dot Net 2011 Building Web Parts for an Office 365 SharePoint Site Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET,
St. Louis Day of Dot Net 2011 Jump Start: SharePoint Development Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET, MCTS
Development models for on-premises Transformation approaches Farm solution considerations.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Becky Bertram SharePoint MVP
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Microsoft Certification Exam Coaching Session: Application Development.
SPC220 Web Template FundamentalsCreating Web Templates Using Web Templates Web Templates and App Webs Wrap Up.
OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,
A GUIDE TO SHAREPOINT 2007 CUSTOMIZATION OPTIONS Heather Solomon, WSS MVP.
SharePoint Development 101: Feature Design By Becky Isserman
Customizing the SharePoint 2010 Ribbon Presented By: Ryan McIntyre.
Windows SharePoint Services 'v3': Creating And Defining Custom Templates, Sites, Features, And Solutions Mike Ammerlaan OFF308 Program Manager Microsoft.
Sick of InfoPath? Come get sicker… a quick look into developing no-code business forms for the curious cookie Presenter: Hector Perez.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Office 365 Platform Flexible Tools Understand different provisioning options and their advantages and disadvantages…
Sustainable SharePoint 2010 Customizations By Bill Keys.
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
SharePoint Workflows with Visual Studio Stuart Cox RBA Consulting techpunch.wordpress.com.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Workflow Development Overview Architecture Requirements Types of workflows Stages of workflow.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
HOW SHAREPOINT WORKS By Gary Newman. Root Folder Virtual Directories SP Farm DNS Iterative Forward DNS query for A host record HTTP request HTML & JS.
Upgrading Projects to Visual Studio 2010 Upgrading Projects to SharePoint 2010 Integrating with SharePoint 2010.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
4. Managing the Desktop Thomas Lee Chief Technologist – QA plc.
Office Business Applications Workshop Defining Business Process and Workflows.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
© 2009 Ness Technologies – Proprietary and Confidential Kfir Sasson Understanding Features & Solutions In MOSS 2007.
Advanced Feature Development Neil Iversen Inetium
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Site Definitions and Features Overview Review of SharePoint 2003 site definitions What’s.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
Microsoft ® Official Course Designing and Managing Features and Solutions Microsoft SharePoint 2013 SharePoint Practice.
Reduce, Reuse, Recycle. Housekeeping… Download EventBoard Mobile and remember to fill out session evaluations… Phasers set to stun, mobile devices set.
Yaroslav Pentsarskyy Involved in SharePoint since 2003 SharePoint MVP (2009- Present) Blog: sharemuch.com.
NET Development on Microsoft SharePoint Technology Part 4: Templates, Features, and Solution Deployment Mick Badran Breeze Training Consulting Trainer.
Application Hosting and Customization Introducing Sandboxed Solutions Executing Code in the Sandbox Sandbox Resource Monitoring.
Publishing GIS Services to ArcGIS Server
Windows SharePoint Services Development Part 1: Paul Appleby Application Architect Microsoft Limited.
Windows SharePoint Services v3.0 Martin Parry Developer & Platform Group Microsoft Limited
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
The Microsoft SharePoint Server Feature and Solution Framework An Overview Michael Mukalian – Technology Manager
SharePoint 2007 Business Intelligence
SP Business Suite Deployment Kick-off
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Stress Free Deployments with Octopus Deploy
St. Louis Day of Dot Net 2011 Jump Start: SharePoint Development
CARA 3.10 Major New Features
Microsoft Dynamics.
Migration to SharePoint 2013
SharePoint-Hosted Apps and JavaScript
Customizing the SharePoint Mobile Experience
Visual Studio 2010 SharePoint Development Tools Overview
St. Louis Day of Dot Net 2011 Building Web Parts for an Office 365 SharePoint Site Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET,
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

Effectively Using Features and Solutions Neil Iversen Inetium

The Plan Solution/Feature Introduction Change Control Better Managing Features

Why are you working with these? Why are you doing this? ● Repeatable Deployment ● Development Environment Sync ● Code/Content Promotion ● Governance ● You like a clean smelling server

Solution Basics At its core, a solution pushes files around ● The File Bus of SharePoint ‘Farm Safe’ – Works across Front Ends and App Servers Deployed to the Farm, not specific servers

What can I put in a Solution? Assemblies SafeControls Code Access Security (CAS) Policies Site Definitions Resource Files

Solution Files Assemblies Site Definitions Code Access Security Resource Files DWPs Features Feature A Feature B Feature C Solutions are the package Contain many different element, mostly files Can contain multiple features Site Definitions Resource Files

Solution Life Cycle – High Level Develop Core functionality created Deploy Made available on the SharePoint server Develop Update Additional changes made and solution is rebuilt Deploy Update Deploy updated Solution Remove Removed from SharePoint

Solution Anatomy Manifest.xml ● Defines what is in the solution Raw files ● Everything that the manifest.xml referred to Solution.ddf ● Required for MakeCab to build WSP

A Note About Tools Common Tools ● VSeWss ● WSPBuilder ● SPTemplateLand Rolling your own ● I use PowerShell and VS Templates

Demo: Creating A Simple Solution

Features Deployable unit of functionality Used to customize SharePoint Extensively used by SharePoint itself Stored in the Hive ● 12\TEMPLATE\FEATURES ● Each feature in its own directory

Scopes Farm Web App Site Web WFE A Extranet WFE WFE BIndexer Database

Feature Lifecycle InstalledActivatedDeactivatedUninstalled

Relationship between Features and Solutions Solutions are the shipping company ● Extremely effective at getting files placed on servers ● Farm Safe ● Can be sync’d if a WFE has been offline ● Can’t trigger events Features are the shiny gadget in the box ● Provide the actual functionality ● Has an eventing lifecycle ● Non-Object model calls only affect local server

Anatomy of a Feature Feature Directory ● Contains all the files for the feature Feature.xml ● Main directives for the feature ● Can reference other XML files for directives Xml Files ● More specific definitions of the feature Other Files

Key Feature Types Content Type Custom Action Delegate Controls Events Feature Stapling Field Lists (Templates and Instances) Module Workflow

Solution Life Cycle – Responsiblity Developer DevelopBuildDevelopBuild Administrator AddUpgradeRetractDelete

Developers: Be Nice to your Admins! Admin’s Interest: ● What do I have to do to deploy this ● What will it break when I do deploy it? ● When it does break, then what? ● How can I tell which version this is? Dev Interest: ● I want to go home

Packaging for Success Commands ● InstallSolution.ps1 ● UpgradeSolution.ps1 ● RemoveSolution.ps1 Documents ● README.txt How to Install –When to execute commands –Any Manual Steps How to Validate Install How to Uninstall –When to execute commands –Any Manual Steps

Oh you shouldn’t have! Reduce communication issues Fewer ‘it was in the ’ moments Smoother deployments

How do Features/Solutions help with my Deployment Path Key Issues ● Multiple developers on a project ● Multiple deployment environments ● Developers don’t have access to Production

Developer Alice Developer Bob Developer Charlie Developer Merge StageProd Individual Developer Environments ● Developers build functionality into features/solutions

Developer Alice Developer Bob Developer Charlie Developer Merge StageProd Merge Environment Deployed as solutions to a merge environment Provide immediate feedback if something is broken

Developer Alice Developer Bob Developer Charlie Developer Merge StageProd Stage Environment Take approved solutions and promote them to Stage Solutions are already known to work

Developer Alice Developer Bob Developer Charlie Developer Merge StageProd Production Environment Move items from Stage Solutions can be deployed by administrators, without developers

SharePoint’s Usage of Features SharePoint extensively uses the Feature framework MOSS ships with over 130 features Great for learning by example

Custom Actions Create your own menu options Many extensibility points Main Attributes ● Title ● Location ● GroupId ● Sequence HideCustomAction ● Hides an existing Custom Action

Where do I find those attributes? Location, GroupID and Sequence seem pretty cryptic John Holliday – Great Web Reference Roll your own with PowerShell

Custom Actions URL Prefixes ● ~site – Relative link to the SPWeb ● ~sitecollection – Relative link to the SPSite URL Replacements ● {ItemId} – List Item’s ID ● {ItemUrl} – List Item URL ● {ListId} – ID of the List ● {SiteUrl} – Like ~site except it can be used anywhere Example <CustomAction Id="325b7c78-f041-4d1b-856b-f9b1e49ddfeb" GroupId="PersonalActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title=“My Title" Description=“A Custom Action

File Deployment Confusion There must be 100 ways to deploy files! Solutions: ● Features ● RootFile ● TemplateFile ● Specialized (Assembly,SiteDefs,Resource Files) Features ● Modules

Modules Deploy a file into a site ● Web ● Document Library URL can be aliased ● MobileRedirect (\m) uses it Can be marked ‘Ghostable’ Uninstall behavior is non-intuitive Example:

Demo: Creating our First Feature

Stapling Problem: Can’t customize out of the box Site Definitions Solution: Stapling! Scopes: Farm, Web App, Site ● Note: Not Web FeatureSiteTemplateAssociation ●

Site Template (STS#0) OOB Features teamcollab eventslist … Stapled Features (FeatureSiteTemplateAssoc) My Stapled Feature

Site Definitions vs Feature Stapling Site Definitions ● Standard, supported model ● Updates can’t be applied to already created sites ● Doesn’t require a Developer Feature Stapling ● The Feature Framework is supported, but yours probably aren’t ● Updates can be applied (reactivated) to already created sites, if the code supports it ● More flexible actions

Demo: Stapling in Action

Dependencies and Features Your Feature might need to assume another feature is already active Make several smaller features, then wrap them into a single feature that is dependant on them Dependencies can only be one level deep Example ●

Feature Dependency WebSiteAppFarm Web Site App Farm Parent Dependant

Parent Feature Child AChild B

Hidden Feature Child A

Hidden Feature – Activate Child Hidden Feature Child A 1. 2.

Hidden Feature - Deactivate Hidden Feature Child A 2. 1.

Hidden Feature - Deactivate Hidden Feature Child A Child B

Demo: Taking Advantage of Dependencies

Feature Receivers Executes code when the state changes Allows for extremely powerful code to get added ● While still being easily deployable.NET Code ● Override FeatureInstalled, FeatureUninstalling FeatureActivated, FeatureDeactivating Example ● <Feature Id="0a7e1ca9-ee a0-b5b57f4f6f5d" Title=“My Feature Receiver" Scope="Site" ReceiverAssembly=“MyAssembly, Version= , Culture=neutral, PublicKeyToken=e35a4d2663eae0ae" ReceiverClass=“MyAssembly.MyFeatureReciever" xmlns="

Demo: Watching the Feature Lifecycle

Managing Site Lifecycles Individual Sites are small applications Have a lifespan longer than a Solution Can progress in ‘phases’

Demo: Managing Long Living and Dynamic Sites

Summary Develop with Features/Solutions Allow for a standardized Change Process Use Feature Capabilities Creatively

References John Holliday’s Custom Action List

Your Feedback is Important Please fill out a session evaluation form and either put them in the basket near the exit or drop them off at the conference registration desk. Thank you!

Questions?

Thanks! Neil Iversen Inetium