Auf GitHub PnP ist ein beispiel eines remote event receivers der neuen art gehostet, dh. keine farm solution mit managed code, wie aus alter schule des sharepoint2007 stack bekannt, sondern als provider hosted add-in (app), aber natürlich auch wieder in managed code c# gebaut.

da das beispiel im pnp aus dem source nicht so ganz einfach zum laufen zu bringen ist - im debugger auf localhost wird zwar der appinstalled und der appuninstalled event aufgerufen, leider aber kein itemadded - habe ich die webapp im azure gehostet und die tenant app hier zum download bereitgestellt.

wie in dem bild zu sehen, wird beim installieren der app der appinstalled event benutzt, um eine liste mit namen ‘remote event receiver jobs test’ zu erzeugen, an die wiederum eine remote event gebunden wird, welcher nach dem hinzufügen eines eintrages in der liste aufgerufen wird.

der als managed code gehostete event in der webapp für itemadded beschreibt immer das description feld der liste mit einem timestamp. soviel zum bespiel.

die startseite der app macht darauf aufmerksam, dass dies ein beispiel ist, und der event handler patern generell in einem provisionierungsprozess von bedeutung sein kann.

in dem video auf channel9 wird schritt für schritt gezeigt, warum wir hier in dem rechten bildschirmausschnitt eine liste mit bildern sehenwinking smile 

die app selber sollte, wenn ein test als interessant erachtet wird, in einer sharepoint o365 developer site getestet werden. ein laden in den tenant-weiten app katalog macht keinen sinn, ist aber durchaus möglich.

das ganze szenario ist genauso unter sharepoint 2013 zu benutzen, nur muss hier für die provider hosted webapp im rechenzentrum der host bereitgestellt werden, zudem müssen zertifikate für den host erzeugt und verteilt werden... 

disclaimer! der author kann nicht dafür garantieren, dass die webapp bis zum sankt nimmerleinstag vorhanden sein wird, noch wird ein haftung für auswirkungen der benutzung der app übernommen. es wird versichert, dass die app ein 1:1 abbild der im pnp gehosteten beispiel lösung mit namen ‘core.eventreceivers’ ist. ok eine änderung gibt es, der timestamp wird, wenn möglich, in der zeitzone des client webs gesetzt.

Comments


Comments are closed