Advanced Feature Development Neil Iversen Inetium

Slides:



Advertisements
Similar presentations
©2011 Quest Software, Inc. All rights reserved.. Andrei Polevoi, Tatiana Golubovich Program Management Group ActiveRoles Add-on Manager Overview.
Advertisements

Organizing List and Documents with Site Columns and Content Types Gayan Peiris Principal Consultant
Site Collection, Sites and Sub-sites
Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007 Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+,
SharePoint Feature and Solution upgrading Bram de Jager | Lead SharePoint Developer | Macaw.
Publishing GIS Services to ArcGIS for Server
The Ribbon UI and Custom Actions in SharePoint 2010.
Thomas Palmié Architect Microsoft Schweiz Implementierung eines mehrsprachigen Intranets basierend auf SharePoint 2010.
Effectively Using Features and Solutions Neil Iversen Inetium
Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
Microsoft Patterns and Practices SharePoint Guidance Robert L. Bogue MS MVP, MCSE, MCSA: Security
Packaging Your Advanced SharePoint Customizations Neil Iversen Inetium
Visual Studio 2010 SharePoint Developer Tools. Developer Tools for SharePoint  Familiar VS Experience  Build, Debug, Deploy SharePoint projects  Visual.
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,
Becky Bertram SharePoint MVP
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
Site Provisioning Options Web Template Fundamentals Web Templates and App Webs Custom Solutions for Site Provisioning Wrap Up.
Lync 2010 (Optional) Project Professional Windows 7 or 8 TechNet IE8 or latest version of Firefox, Chrome or Safari Exchange Server.
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
Introduction to SharePoint Development with VS2010 Paul Yuknewicz Lead Program Manager
Windows SharePoint Services 'v3': Creating And Defining Custom Templates, Sites, Features, And Solutions Mike Ammerlaan OFF308 Program Manager Microsoft.
JourneyTEAM - – Tales From The Field: 2010 to 2013 Upgrade Horror Stories and How to Avoid Creating a Horror of Your Own.
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Minneapolis Office Developer Interest Group (MODIG) March 25, 2008 Custom Column Development Neil Iversen Inetium
SharePoint Workflows with Visual Studio Stuart Cox RBA Consulting techpunch.wordpress.com.
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.
New & Improved Events List Relationships and Joins Large List Support Field & List Item Validation.
Using the Right Method to Collect Information IW233 Amanda Murphy.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Supporting High-Quality.
PowerShell For SharePoint Developers Neil Iversen Inetium
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Search Overview Search Features: WSS and Office Search Architecture Content Sources and.
Michael Hofer Senior Consultant Microsoft Corporation.
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … PRESENTED BY ROBERT FREEMAN (
Extending the Operations Dashboard
© 2009 Ness Technologies – Proprietary and Confidential Kfir Sasson Understanding Features & Solutions In MOSS 2007.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Site Definitions and Features Overview Review of SharePoint 2003 site definitions What’s.
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.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
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.
SharePoint 2007 Business Intelligence October 23 th, 2008 Neil Iversen - Inetium.
Developer Exam Preparation Thom Robbins Bryan Soltis
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
The Microsoft SharePoint Server Feature and Solution Framework An Overview Michael Mukalian – Technology Manager
Virtual techdays INDIA │ November 2010 SharePoint 2010 – Your one stop shop for all portal requirements Saranya Sriram │ Developer Evangelist, Microsoft.
SharePoint 2007 Business Intelligence
ArcGIS Workflow Manager: Advanced Workflows and Concepts
CARA 3.10 Major New Features
LMEvents SharePoint Portal How-to Guide
Microsoft Dynamics.
Migration to SharePoint 2013
Lesson 9 Windows Management
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … Presented by Robert Freeman (
Customizing the SharePoint Mobile Experience
Site scripts and Site Design
Visual Studio 2010 SharePoint Development Tools Overview
Saravana Kumar CEO/Founder - Kovai Atomic Scope – Product Update.
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,
Presentation transcript:

Advanced Feature Development Neil Iversen Inetium

The Plan Feature Refresher Feature Limitations Custom Actions Dealing with Dependencies Stapling Managing Files Feature Receivers Some Techniques Questions

Feature Refresher Deployment vehicle for SharePoint applications The Goal ● Setup.exe style deployment The Reality ● Not exactly

Feature Refresher Ability to customize SharePoint ● Used extensively by SharePoint itself Actions ● Install/Uninstall ● Activate/Deactivate Stored in the Hive ● 12\TEMPLATE\FEATURES ● Separate directory for each feature Scopes ● Web, Site, Farm, Web App Common Scenarios ● List Templates ● Workflow

Key Feature Limitations Limited set of supported schemas Supports fewer file options than Solutions Must be bundled in Solutions for larger farms Upgrading deployed features is difficult ● Might not follow expected behavior

Feature Lifecycle InstalledActivatedDeactivatedUninstalled

Mentioning Solutions Bundled into one file (.wsp) Can combine multiple features Deploys across all web front ends Can easily update SafeControls in web.config Deploy Code Access Security (CAS)

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

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

Managing Files in Features Deploy a file into a site ● Web ● Document Library URL can be aliased ● MobileRedirect (\m) uses it Not as powerful as Solutions Uninstall behavior is non-intuitive Example:

DEMO: Features and Files

Dealing with Dependencies Problem: Feature depends on another SharePoint Object Solution: Create dependency between the features Example ●

Dependency Limitations Feature Chains ● Limited to one visible feature Dependencies can’t be triggered at a higher scope ● Ex: Farm Feature can’t depend on a Web Feature Features can’t be automatically activated at different scopes ● Ex: Web Feature can’t activate a Farm Feature Hidden Features ● Automatically Activated for Dependencies ● Automatically Deactivated when the last Dependency is Deactivated ● Can’t be depended on in different scopes ● Can’t have their own dependencies ● Can add an additional level to Feature Chains

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

DEMO: Stapling in Action

Feature Receivers The ‘Custom’ Feature.NET Code ● Override FeatureInstalled, FeatureUninstalling FeatureActivated, FeatureDeactivating Example ● <Feature Id="0a7e1ca9-ee a0-b5b57f4f6f5d" Title=“My Feature Reciever" Scope="Site" ReceiverAssembly=“MyAssembly, Version= , Culture=neutral, PublicKeyToken=e35a4d2663eae0ae" ReceiverClass=“MyAssembly.MyFeatureReciever" xmlns="

Feature Receivers – Getting Context Getting Context ● Retrieving the Current Scoped Object SPFeatureReceiverProperties –SPFeatureReceiverProperties.Feature.Parent Cast to the appropriate type –Scope: Web »SPWeb web = (SPWeb)properties.Feature.Parent; »SPSite site = (SPSite)properties.Feature.Parent Example Usages ● Perform clean uninstalls of features ● ‘Upgrade’ features using Activate ● Set dependencies to chain actions together ● Web.config changes ● Address gaps in current supported Features Policies, Custom Fields, …

Feature Receivers - Debugging Based on Deployment/Activation Method Stsadm ● Runs as currently logged in user ● Console.WriteLine Web Interface ● Runs as App Pool user ● Need to use logger (EventLog, or some Logging code) DLL Deployment ● Overwrite Existing DLL ● iisreset

Feature Properties Configuration for your Feature Allow different values for Dev/Test/Prod Combine with scoped property bags to set configurations Example

DEMO: Deploying SPWeb Properties

Manually Activating Features Why? ● Evade chaining restrictions (at your own peril) ● Working with Hidden Features ● Manage Stages of a Site with a Web Part ● Creating a ‘Suicide Feature’

Manually Activating Features Get your Context ● Ex: SPWeb Find the Feature Collection ● Ex: SPWeb.Features Find the Feature’s Guid ● Ex: Guid featureGuid = new Guid(“0a7e1ca9-ee a0-b5b57f4f6f5d”) Activate! ● Ex: SPWeb.Features.Add(featureGuid)

DEMO: Feature Activation

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 Other Sessions: SharePoint 212 – Customizing the Mobile Experience When – Thursday 11:15am Where – Mandalay Bay B SharePoint 314 – PowerShell for SharePoint Developers When – Thursday 2pm Where – Mandalay Bay B