Push-Benachrichtigungen in SharePoint via SignalR

Post on 09-May-2015

1.622 views 1 download

Transcript of Push-Benachrichtigungen in SharePoint via SignalR

Push-Benachrichtigungenvia SignalR

Christian Heindel@c_heindelUnternehmenslösungen für Internet, Intranet, Desktop und mobile Geräte

Mein aktueller Fokus: HTML5, SharePoint 2010, mobile Anwendungen, Kommunikation und Zusammenarbeit

Dresden, Sachsen · http://www.christian-heindel.de

Asynchrone Webanwendungen

3 Praxisbeispiele

• Preisaktualisierungen in Echtzeit, z.B. bei Flugtickets

• Neue Kommentare einblenden, noch während der Anwender liest

• Dashboards an Leinwänden und Monitoren in Echtzeit aktualisieren

Verschiedene Ansätze

• Client pull– F5, Strg+F5, ganz fest auf Cache

löschen+F5– Polling: AJAX Request alle 60 Sekunden?

Alle 5 Sekunden?

• Server push–WebSocket-Verbindung– Long polling: Früher z.B. als iFrame Hack

SignalR

Async signaling library for .NET to help build real-time, multi-user interactive web applications.

To install SignalR, run the following command in the Package Manager Console

PM> Install-Package SignalR

Code-Beispiel: SignalR, Server

Code-Beispiel: SignalR, Proxy

Code-Beispiel: SignalR, EventSharePoint Event Receiver

Aufbereiten der Push-Nachricht

Nachricht senden

Code-Beispiel: SignalR, Client

knockout.js

Simplify dynamic JavaScript UIs by applying the Model-View-View Model (MVVM) pattern

Declarative Bindings

Easily associate DOM elements with model data using a concise,

readable syntax

Automatic UI Refresh

When your data model's state changes,

your UI updates automatically

Dependency Tracking

Implicitly set up chains of relationships

between model data, to transform and combine

it

Templating

Quickly generate sophisticated, nested

UIs as a function of your model data

Code-Beispiel: knockout.jsJavaScript laden:

DataBinding im HTML:

ViewModel definieren:

Anfangen zu lauschen:

Werte aktualisieren:

DEMO

Aktuelle Schwachpunkte

• Umständliches Deployment– NuGet Package ist veraltet– deshalb manuell von GIT aktualisieren

• CORS (cross site scripting)– wird in unterschiedlichen Browsern

unterschiedlich gut behandelt ;-)

• Proxy notwendig– SignalR benötigt .NET 4.0 Framework– SharePoint benötigt .NET 2.0/3.5

Quelle

Matt MenezesHarnessing SignalR in SharePoint

http://spmatt.wordpress.com/2012/04/12/harnessing-signalr-in-sharepoint/

Christian Heindel@c_heindelUnternehmenslösungen für Internet, Intranet, Desktop und mobile Geräte

Mein aktueller Fokus: HTML5, SharePoint 2010, mobile Anwendungen, Kommunikation und Zusammenarbeit

Dresden, Sachsen · http://www.christian-heindel.de

Fragen?

Fragen?