SlideShare a Scribd company logo
1 of 17
Introductie in het ontwikkelen van
Remote Event Receivers
E: vincent@point42.nl
T: @vverbeek87
B: sharepointgotchas.wordpress.com
Vincent Verbeek
Handling events in a SharePoint
Online environment
Agenda
1. Out with the old…
1. Out with the old…
Users
External System
SharePoint
1. User updates
SharePoint list
2. Registered event
receiver called
3a. Line of business
system is updated
1. SharePoint 2010 ERs
GAC
3b. SharePoint
is updated
4. Event receiver
returns
2. In with the new!
2. In with the new!
Remote · [ri mōt′]
adjective
1.The definition of remote is something that is far away in
place or time or a place that is located away from the
populated areas.
noun
1.Remote is a device used to control the TV or other
electronic equipment. An example of remote is the controller
that comes with your cable box.
2. SaaD (SharePoint as a Datahub)
SharePoint
External System
External System External System
External System
ACS
Users
External System
Custom Web Service
SharePoint
1. User updates
SharePoint list
3. Registered event
receiver called
2. SharePoint requests token
from ACS
4. Line of business system
is updated
5. Event receiver returns
2. RERs
ACS
Users
External System
Custom Web Service
SharePoint
1. User updates
SharePoint list
3. Registered event
receiver called
2. SharePoint requests a
token from ACS
4. Line of business system
is updated
5. Event receiver
requests a token
from ACS
2. RERs - callback
6. Event receiver calls
back into SharePoint
2. Tooling
5. Limitations
• No guaranteed delivery
• Timeout
• No Web and Site Collection events
• Provider Hosted Add-ins only
• Hosting restrictions
• Inconvenient removal
6. Patterns & Practices (PnP)
http://dev.office.com
https://github.com/OfficeDev/PnP
7. Q & A
Feel free to contact me!
vincent@point42.nl
@vverbeek87
THANK YOU

More Related Content

Recently uploaded

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

SPSNL15 - Remote Event Receivers

  • 1. Introductie in het ontwikkelen van Remote Event Receivers
  • 2. E: vincent@point42.nl T: @vverbeek87 B: sharepointgotchas.wordpress.com Vincent Verbeek
  • 3. Handling events in a SharePoint Online environment Agenda
  • 4. 1. Out with the old…
  • 5. 1. Out with the old…
  • 6. Users External System SharePoint 1. User updates SharePoint list 2. Registered event receiver called 3a. Line of business system is updated 1. SharePoint 2010 ERs GAC 3b. SharePoint is updated 4. Event receiver returns
  • 7. 2. In with the new!
  • 8. 2. In with the new! Remote · [ri mōt′] adjective 1.The definition of remote is something that is far away in place or time or a place that is located away from the populated areas. noun 1.Remote is a device used to control the TV or other electronic equipment. An example of remote is the controller that comes with your cable box.
  • 9. 2. SaaD (SharePoint as a Datahub) SharePoint External System External System External System External System
  • 10. ACS Users External System Custom Web Service SharePoint 1. User updates SharePoint list 3. Registered event receiver called 2. SharePoint requests token from ACS 4. Line of business system is updated 5. Event receiver returns 2. RERs
  • 11. ACS Users External System Custom Web Service SharePoint 1. User updates SharePoint list 3. Registered event receiver called 2. SharePoint requests a token from ACS 4. Line of business system is updated 5. Event receiver requests a token from ACS 2. RERs - callback 6. Event receiver calls back into SharePoint
  • 13.
  • 14. 5. Limitations • No guaranteed delivery • Timeout • No Web and Site Collection events • Provider Hosted Add-ins only • Hosting restrictions • Inconvenient removal
  • 15. 6. Patterns & Practices (PnP) http://dev.office.com https://github.com/OfficeDev/PnP
  • 16. 7. Q & A Feel free to contact me! vincent@point42.nl @vverbeek87

Editor's Notes

  1. Hier de laatste ontwikkelingen rondom terminologie aankaarten. Waarom we Add-in vorm aankaarten De wisseling van App naar Add-ins De presentatie gaat over een Cloud scenario => Cloud First approach Host web / App web is minder relevant. Als je het gaande weg tegenkomt, dan uitleggen.
  2. SharePoint executes events in the following order: 1. Synchronous “before” events in sequence order 2. Synchronous “after” events in sequence order 3. Asynchronous “after” events Custom code in GAC implement a required interface and register for events. The custom codecan perform any required action and then call back into SharePoint. 1. When a user interacts with a supported artifact, then an event fires. 2. SharePoint calls the registered event receivers, this event receivers lives in de GAC as an dll . 3. The event receiver can do anything it wants. 3a. update an Line of business system. 3b. update SharePoint data. 4. The event receiver returns a code to SharePoint indicating the outcome of the event.
  3. Rust moment!
  4. CvI: Kan je hier wat mee? Een RER is in beide vormen “remote” namelijk het draait ver weg van SharePoint (Populated area) en het is een controller voor SharePoint. Als je hier geen aansluiting bij hebt even overleg. Onderstaande kwam uit je sheet en kan je uiteraard bij deze sheet gewoon vertellen! What Process events from SharePoint using custom code Why To react on user or customization actions done in the host web Old pattern was created by event receivers with server-side code How Create remote event receivers Registration can be done either using server-side (on-prem) or client-side (Office 365) code External web service is called when events in host web occur
  5. SharePoint is increasingly used as the hub for productivity and collaborative experiences that incorporate and interact with data from a variety of external systems. Capabilities like those offered by Business Connectivity Services offer a powerful infrastructure for surfacing external data inside SharePoint, and SharePoint web services offer an increasing complete set of options for surfacing SharePoint data in outside systems. SharePoint does not, however, currently provide a convenient mechanism for informing external systems of SharePoint events. As a result it is effectively impossible to build an efficient solution that reacts to changes in SharePoint data, except through complex, farm-deployed solutions that use custom event receivers and web service interfaces to call into external systems. Given that farm-deployed solutions are not allowed in Microsoft SharePoint Online, even this solution is not available to Office 365 customers. In addition, the current sandboxed solution infrastructure imposes quite a few restrictions on the developer. For example, solutions cannot execute for longer than 30 seconds, and they cannot exceed a certain amount of resource usage per day. Allowing a developer to execute their event receiver logic outside of the SharePoint farm makes it possible for them to overcome these restrictions and build more robust solutions. This was one of the most highly requested features: providing support for external systems to receive events from SharePoint so they can take action based on that event. If you have developed event receivers before, you will find this very familiar and you will be able to take advantage of your skills with this model.
  6. SharePoint executes events in the following order: 1. Synchronous “before” events in sequence order 2. Synchronous “after” events in sequence order 3. Asynchronous “after” events Custom web services implement a required interface and register for events. The custom web service can perform any required action and then call back into SharePoint. 1. When a user interacts with a supported artifact, then an event fires. 2. SharePoint requests ACS (Azure Access Control Service) to create and sign a token which contains context information about the current user along with an authorization code. 3. SharePoint calls the registered event received (a web service) and passes the context token. The web service validates the signature on the context token and extracts the authorization code. 4. The event receiver can do anything it wants. In this case, updating a line of business (LOB) system. 5. The event receiver returns a code to SharePoint indicating the outcome of the event.
  7. Het is ook mogelijk om vanuit de RER data in SharePoint te manipuleren. De flow voor de RER veranderd dan een klein beetje ten opzichte van de vorige sheet. In plaats van rechtstreeks het resultaat terug te geven aan SP, vraagt de RER ook een token aan van de ACS. Deze token bevat informatie over de context en de gebruiker en die informatie kan gebruikt worden om gegevens in SharePoint weer aan te passen. 6. The remote event receiver can use the token to call back into SharePoint and perform a task.
  8. Drie manieren om een RER toe te voegen aan lijsten. Via een wizard in Visual Studio. Dit werkt alleen voor lijsten in het app-web. Via CSOM code, eventueel tijdens installatie van de app, maar ook mogelijk om hiervoor aparte functionaliteit in een Provider Hosted app te bouwen; Via SSOM code, maar dat is dus alleen voor on-premises Demo volgt op volgende pagina
  9. Demo the creation of remote event receivers  Create sample for Server Side creation Create sample for CSOM creation (in code) Create sample for Visual Studio wizard
  10. Er is geen mechanisme die ervoor zorgt dat je RER altijd afgetrapt wordt. De webservice moet actief zijn en in staat zijn om berichten te ontvangen. Als om wat voor reden dan ook je server even down is op het moment dat de RER afgetrapt wordt, zal deze niet bereikt worden. Er is niets OOTB ingebouwd om te zorgen dat er over een x aantal minuten opnieuw wordt gepollt om te kijken of de RER dan wel actief is. Voor synchrone events geldt dat er een timeout is van 30 seconde waarbinnen SharePoint weer verder moet gaan met de executie van zijn code. Dat betekent dat je in ‘ING’ events binnen 30 seconde klaar moet zijn met de executie van je RER code. Alleen list en list item events zijn beschikbaar voor remote event receivers. In tegenstelling tot de ‘ouderwetse’ receivers is het dus niet mogelijk om in te haken op web of site-collectie events. RERs kunnen alleen gemaakt worden in een Provider Hosted app en werken niet in een SP Hosted App. Dat is ook wel logisch, als je nagaat dat er een webservice gebruikt wordt. Om toch een soort van RER te maken in een SP hosted app kan je een workflow gebruiken en die laten afvuren bij een event. Je kunt een RER hosten in de cloud (azure) of een on-premises server die niet als SP server gebruikt wordt. Je kunt geen poortnummer opgeven, dus je bent gebonden aan poort 443 of poort 80. Als je HTTPS gebruikt en de RER op een on-premises server host, maar de app staat op SP Online, dan moet de hosting server een vertrouwt certificaat hebben. Een self-signed certificaat werkt alleen als de app ook op een on-premises omgeving geïnstalleerd staat. Tijdens de development wil het regelmatig gebeuren dat de client ID wordt aangepast aan de hand van wijzingen die je in het project maakt. Event receivers die gekoppeld zijn met een add-in die een bepaalde clientID heeft, kunnen ook alleen verwijderd worden door diezelfde add-in met hetzelfde clientID. Is het clientID anders, dan krijg je een access denied error, ook al ben je tenant administrator. Voor meer informatie zie de blogpost van Waldek. http://blog.mastykarz.nl/inconvenient-remote-event-receivers-apps-sharepoint/
  11. Open source library GitHub Samples Remote site provisioning Branding