The Evolution of SharePoint Event Receivers

The Evolution of SharePoint
Event Receivers
#SPSNYC
July 26th, 2014
Timothy Ferro
Thank You
Event Sponsors
 Please visit them and
inquire about their
products & services
 To win prizes make sure to
get your bingo card
stamped by ALL sponsors
© 2014 RDA Corporation. All rights reserved.
RDA Corporation
RDA helps our clients leverage technology to get their
businesses moving. We solve complex business challenges
that can often get companies stuck, costing them time,
resources, and money. What makes us different than other
custom application services is that we start with the
business problem first. RDA’s experienced team takes the
time to understand our clients' business needs and offers
several ways to work together, including on site, field
teams, and in our corporate development center. Our
development services include .NET, SharePoint, business
intelligence, cloud and mobile applications.
http://www.rdacorp.com
© 2014 RDA Corporation. All rights reserved.
Agenda
 My Background
 Overview of Traditional Event Receivers
 Changes from 2007 to 2010 to 2013
 SharePoint 2007 Event Receiver Type Enumeration
 SharePoint 2010 Event Receiver Types Enumeration
 SharePoint 2013 Event Receiver Types Enumeration
 SharePoint 2013 Remote/App Events
 Demo
 Questions
 References
© 2014 RDA Corporation. All rights reserved.
My Background
 Senior SharePoint Developer / SharePoint Architect
 Senior Software Engineer at RDA Corporation
 Author / Speaker / Blogger / Tweeter
 7 Years Architecting and Developing SharePoint Solutions
 [email protected]
 www.timferro.com
 @timferro
© 2014 RDA Corporation. All rights reserved.
Publications
Book Technical Editor: You Don’t
Know JS: Scope and Closures
White Paper Author: Utilizing and
Visualizing Geolocation Data for
Powerful Analysis
© 2014 RDA Corporation. All rights reserved.
Overview of Traditional Event Receivers
 An event receiver in Microsoft SharePoint is simply a
method that is called when a triggering action occurs on a
specified SharePoint object. Triggering events include
actions such as adding, updating, deleting, moving,
checking in, and checking out. SharePoint objects that
listen for events—that is, event receiver hosts—include
objects such as site collections, sites, lists, and workflows.
http://msdn.microsoft.com/en-us/library/gg749858(v=office.14).aspx
 Synchronous vs. Asynchronous Events
 Binding Event Receivers
 Disabling Event Receivers
© 2014 RDA Corporation. All rights reserved.
SharePoint 2007 Event Receiver Type Enumeration
ContextEvent
InvalidReceiver
ItemAdding
ItemUpdating
ItemDeleting
ItemCheckingIn
ItemCheckingOut
ItemUncheckingOut
ItemAttachmentAdding
ItemAttachmentDeleting
ItemFileMoving
FieldAdding
FieldUpdating
FieldDeleting
SiteDeleting
WebDeleting
WebMoving
ItemAdded
ItemUpdated
ItemDeleted
ItemCheckedIn
ItemCheckedOut
ItemUncheckedOut
ItemAttachmentAdded
ItemAttachmentDeleted
ItemFileMoved
ItemFileConverted
FieldAdded
FieldUpdated
FieldDeleted
SiteDeleted
WebDeleted
WebMoved
EmailReceived
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceivertype(v=office.12).aspx
© 2014 RDA Corporation. All rights reserved.
SharePoint 2010 Event Receiver Type Enumeration
ContextEvent
InvalidReceiver
ItemAdding
ItemUpdating
ItemDeleting
ItemCheckingIn
ItemCheckingOut
ItemUncheckingOut
ItemAttachmentAdding
ItemAttachmentDeleting
ItemFileMoving
FieldAdding
FieldUpdating
FieldDeleting
SiteDeleting
WebDeleting
WebMoving
ItemAdded
ItemUpdated
ItemDeleted
ItemCheckedIn
ItemCheckedOut
ItemUncheckedOut
ItemAttachmentAdded
ItemAttachmentDeleted
ItemFileMoved
ItemFileConverted
FieldAdded
FieldUpdated
FieldDeleted
SiteDeleted
WebDeleted
WebMoved
EmailReceived
ListAdding
ListDeleting
WebAdding
WorkflowStarting
ListAdded
ListDeleted
WebProvisioned
WorkflowStarted
WorkflowPostponed
WorkflowCompleted
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceivertype(v=office.14).aspx
© 2014 RDA Corporation. All rights reserved.
SharePoint 2013 Event Receiver Type Enumeration
ContextEvent
ItemAdded
ListAdding
GroupAdding
RoleDefinitionAdded
InvalidReceiver
ItemUpdated
ListDeleting
GroupUpdating
RoleDefinitionUpdated
ItemAdding
ItemDeleted
WebAdding
GroupDeleting
RoleDefinitionDeleted
ItemUpdating
ItemCheckedIn
WorkflowStarting
GroupUserAdding
RoleAssignmentAdded
ItemDeleting
ItemCheckedOut
ListAdded
GroupUserDeleting
RoleAssignmentDeleted
ItemCheckingIn
ItemUncheckedOut
ListDeleted
RoleDefinitionAdding
InheritanceBroken
ItemCheckingOut
ItemAttachmentAdded
WebProvisioned
RoleDefinitionUpdating
InheritanceReset
ItemUncheckingOut
ItemAttachmentDeleted
WorkflowStarted
RoleDefinitionDeleting
EntityInstanceAdded
ItemAttachmentAdding
ItemFileMoved
WorkflowPostponed
RoleAssignmentAdding
EntityInstanceUpdated
ItemAttachmentDeleting
ItemFileConverted
WorkflowCompleted
RoleAssignmentDeleting
EntityInstanceDeleted
ItemFileMoving
FieldAdded
InheritanceBreaking
AppInstalled
FieldAdding
FieldUpdated
InheritanceResetting
AppUpgraded
FieldUpdating
FieldDeleted
GroupAdded
AppUninstalling
FieldDeleting
SiteDeleted
GroupUpdated
ItemVersionDeleting
SiteDeleting
WebDeleted
GroupDeleted
ItemVersionDeleted
WebDeleting
WebMoved
GroupUserAdded
WebMoving
EmailReceived
GroupUserDeleted
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceivertype(v=office.15).aspx
© 2014 RDA Corporation. All rights reserved.
SharePoint 2013 Remote/App Events
 App Events: Installed, Upgraded, Uninstalling
 Remote Events: your cloud app can respond when a user adds, changes, or
deletes a list, a list item, or a web.
 Remote event receivers and app event receivers work only with cloud apps
for SharePoint (that is, auto-hosted and provider-hosted apps). These
receivers don't work with SharePoint-hosted apps for SharePoint.
 In SharePoint 2013, the code that
runs when the event is triggered is
served by a web service. […]if you
register a remote event receiver,
you also need to tell SharePoint
which web service to invoke.
Hosting model
Support for remote
event receivers
Auto-hosted
Yes
Provider-hosted
Yes
SharePointhosted
No
http://msdn.microsoft.com/en-us/library/office/dn456315.aspx
© 2014 RDA Corporation. All rights reserved.
Demo
 SharePoint 2010 or 2013
 Setting up SharePoint Event Receiver Solutions
 Feature Activation Code
 Event Receiver Code
 Event Receiver Examples
© 2014 RDA Corporation. All rights reserved.
References / Questions / Evaluations
 http://www.rdacorp.com/2014/06/sharepoint-2013-new-event-receivers-nutshell/
 http://www.timferro.com/wordpress/archives/737
 http://msdn.microsoft.com/en






us/library/microsoft.sharepoint.speventreceivertype(v=office.15).aspx
http://msdn.microsoft.com/en-us/library/office/jj220048.aspx
http://msdn.microsoft.com/enus/library/microsoft.sharepoint.spitemeventreceiver.aspx
http://msdn.microsoft.com/en-us/library/office/dn456315.aspx
http://www.learningsharepoint.com/2012/12/27/create-a-groupuseraddedeventreceiverspsecurityeventreceiver-in-sharepoint-2013/
[email protected]
www.timferro.com
@timferro
© 2014 RDA Corporation. All rights reserved.