Martin's Blog - Developer Infos zu SharePoint, ASP.NET, BI und anderen Technologien




powered by Component Software GmbH

Async-Await in SharePoint Hosted Apps

Mit Typescript 2.1 wurde die lange erwartete Spracherweiterung für asynchrone Programmierung implementiert. Dem C# Entwickler sind die Schlüsselwörter async und await bekannt. Nun können diese auch in TypeScript Anwendungen verwendet werden. Wie TypeScript in SharePoint-Hosted Apps verwendet werden kann habe ich in einem früheren Artikel gezeigt. Aber um async und await zu nutzen, muss dies dem TypeScript Compiler mitgeteilt werden. Im Visual Studio Projekt File muss bei den beiden Property Groups (für Debug und Release) noch die folgende Zeile eingefügt werden: <TypeScriptLib>DOM,e... [Mehr]

SharePoint Hosted App mit TypeScript 2.0

Nachdem nun TypeScript 2.0 veröffentlicht wurde (siehe hier), ist es an der Zeit eine SharePoint Hosted App mit TypeScript zu schreiben. Wie schon bei den Versionen zuvor gibt es im Visual Studio keine Vorlage für SP Hosted Apps die den TypeScript Compiler verwendet. Aber zum Glück hält sich der Aufwand in Grenzen. Installation des Compilers Zunächst muss der TypeScript Compiler 2.0 im Visual Studio installiert werden. Am einfachsten ist das über den Menüpunkt Tools – Extensions und Updates zu erreichen. Im Online Bereich der Extensions ist nach TypeScript suchen. Da es mehrere Suchergebnisse... [Mehr]

In SharePoint eine Spaltenüberschrift ausblenden

Über die View Einstellungen kann in SharePoint leicht eine Spalte ausgeblendet werden. Möchte man aber nur gezielt eine Spaltenüberschrift ausblenden, fehlen die Einstellungen. Allerdings ist das leicht mit ein wenig JavaScript Code zu erledigen. Zunächst müssen wir uns den Aufbau der HTML Seite ansehen. Am einfachsten ist die mit den Developertools von Google Chrome zu erledigen. Einfach die Seite im Browser laden und danach F12 drücken. Im rechten Bereich des Chrome-Fensters werden nun die Developer Tools eingeblendet, die einen “Selector” für ein HTML Element haben. (links oben im Develop... [Mehr]

WebAPI Service mit SharePoint User Authentifizierung

Ziel ist es ein WebAPI Service zu erstellen welches Daten von SharePoint zurückliefern soll. Dieses Service wird von einer App konsumiert, daher ist eine OAuth Authentifizierung notwendig und der User soll seine von der SharePoint Umgebung gewohnten Credentials (Benutzername/Passwort) für die Authentifizierung nutzen. Aber der SharePoint-Server selbst darf nicht von außerhalb der Firmennetzes angesprochen werden. Projektsetup Wir starten zunächst mit einem simplen Web-Projekt wobei wir WebAPI auswählen und darauf achten keine Authentifizierung auszuwählen. Diese werden wir gleich manuell einfü... [Mehr]

Promise – Versprechen für TypeScript

Wenn immer ich etwas mit SharePoint programmiere versuche ich es in TypeScript zu schreiben. Mir gefällt das Konzept von Klassen und Vererbung und das möchte ich auch in der JavaScript Welt nicht missen. Was jedoch bleibt ist die Asynchronität des Client Objekt Models. Die vielen Callback-Funktionen machen den Code doch recht unübersichtlich und das ist auch mit Klassen nicht gut zu lösen. Vor kurzem bin ich über das Promise Framework für Typescript gestoßen. Es ist leicht über NuGet zu installieren (https://www.nuget.org/packages/Promise.TypeScript/1.0.0-rc) Die Idee ist, dass eine Funktion... [Mehr]

mit TypeScript strukturierten CSOM Code schreiben

TypeScript bietet Möglichkeiten um JavaScript Code in Klassen und Module strukturieren. Natürlich kann eine SharePoint Hosted App in SharePoint 2013 auch mit TypeScript erstellt werden (siehe Blog) Ich habe mir mal Gedanken gemacht, wie ich die üblichen CSOM Aufrufe in Klassen verpacken kann um das ganze etwas strukturierter im Code darzustellen. Ein üblicher CSOM Aufruf kann so aussehen: 1 var ctx: SP.ClientContext = SP.ClientContext.get_current(); 2 var user: SP.User = ctx.get_web().get_currentUser(); 3 ctx.load(user, 'Title'); 4 ctx.executeQueryAsync( 5 () => ... [Mehr]

Timer Jobs für Office365–SharePoint WebSites

Timer Jobs werden in SharePoint onPremise regelmäßig für wiederkehrenden Aktivitäten eingesetzt. Ein TimerJob muss als Farm-Solution programmiert werden. Und hier stößt man bei Office365 an Grenzen. Eine Farmsolution ist nicht möglich. Um TimerJobs aber auch unter Office365 zu nutzen, muss auf die Webaufträge einer Azure-WebSite ausgewichen werden. Ein Webauftrag ist nichts anderes als eine Konsolen -Anwendung die über das Azure-Portal ausgeführt wird. Dies kann auch zeitgesteuert erfolgen. Wenn nun diese Konsolen -Anwendung auf SharePoint zugreifen kann, ist der Timer Job auch schon wieder fe... [Mehr]

Custom Code Activity für SharePoint 2013 Workflow

Der Workflow Manager bringt schon einige Activities mit. Jedoch ist es manchmal wünschenswert eigene Activities mit C# Code zu erstellen und nicht alles nur im Designer “zusammen zu klicken” Im großen Überblick sind die notwendigen Steps einfach. 1) Die Activity ist eine von “CodeActivity” abgeleitete Klassen. Die Methode “Execute” wird vom Workflow aufgerufen. 2) das Assembly mit der Klasse muss auf der Maschine mit dem Workflowmanager deployed werden. So schnell der Teil 1 erledigt ist, so mühsam ist Teil 2, weil hierfür kein Template bereitgestellt wird. Zunächst legen wir ein neues Visu... [Mehr]

Event-based Async-Pattern in SharePoint hosted Apps mit TypeScript

TypeScript erlaubt richtige Software-Entwicklung im JavaScript-Umfeld. Klassen, Vererbung, Interfaces und Polymorphie ist nun auch in der Webentwicklung möglich. In Verbindung mit dem SharePoint Client Object Modell kann TypeScript auch genutzt werden, da seit einiger Zeit umfangreiche Type-Definition-Dateien existieren. Allerdings beruht das CSOM auf einer asynchronen Ausführung des Codes. Sobald versucht wird, die Datenzugriffe auf SharePoint in TypeScript Klassen zu verpacken um mehr Übersichtlichkeit im Code zu erhalten, steht man vor dem Problem ein Asynchronous Pattern (z.B: Event-based ... [Mehr]

Copyright © 2019 Martin Groblschegg - Impressum