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




powered by Component Software GmbH

Das richtige Created und Modified Datum beim Upload mit WebDAV bei SharePoint

Werden Dateien mittels WebDav, also dem “View in Explorer” Modus auf SharePoint Bibliotheken hochgeladen, so wird in der Explorer Ansicht das Created und LastModified Datum der Datei gezeigt. In der Dokumentbibliothek werden aber die Felder Created und Modified auf das Datum des Uploads gesetzt. Möchte man jedoch auch in der Dokumentbibliothek das Datum sehen, an dem die Datei erstellt wurde so muss dies mit einem EventReceiver “nachgebessert” werden. Wird die Datei mittels WebDav hochgeladen, so sind beim einem SPFile Objekt die Werte vti_ct und vti_lmt gesetzt. vti_ct ist das Creation-Date u... [Mehr]

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]

WLan Adapter in Hyper-V Client nutzen

Als leidenschaftlicher SharePoint Developer arbeite ich viel mit Hyper-V auf meinem Windows 10 Notebook. Unterwegs steht mir nur WLan zur Verfügung und unter Hyper-V einen WLan Adapter zu nutzen geht aus verschiedenen Gründen nicht so einfach. Eine Erklärung warum das so ist, gibt’s unter https://blogs.msdn.microsoft.com/virtual_pc_guy/2015/02/02/hyper-v-and-wireless-networking/   Unter Windows 10 seit dem Build 14295 gibt es nun jedoch eine Möglichkeit in einem Hyper-V Client die WLan-Karte des Notebooks für die Internet-Verbindung zu nutzen. Wir können nun ein NAT-Network anlegen. Aller... [Mehr]

SharePoint 2013 App–Zugriff auf das HostWeb mittels Javascript

In einer SharePoint-Hosted App in ist ein Zugriff auf das Host Web über einen ClientContext nicht direkt möglich. Der Versuch die HostWeb-Url aus dem Request zu extrahieren und damit einen neuen ClientContext zu instanzieren schlägt fehl. Richtig ist der Weg über die Klasse “AppContextSite”. Zunächst muss aus dem Aufrufparametern der AppSeite die URL des HostWebs extrahiert werden. Hierfür bietet sich folgende Erweiterungsmethode für jQuery an: $.extend({ getUrlVars: function () { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') +... [Mehr]

Caching im WebAPI

WebAPI Aufrufe liefern Daten zurück die für den Client als nicht zu cachen markiert sind also nicht zwischengespeichert werden dürfen. Das ist auch meistens die richtige Einstellung, da ein Client meisten aktuelle Daten benötigt. Allerdings kann das auch zu einer hohen Last am WebServer führen. Wenn es um effiziente Programmierung geht, empfiehlt es sich Daten zu identifizieren, die zwischengespeichert werden können. Das sind meist Stammdaten, da sich diese nicht so häufig ändern. In der http-Welt wird Caching über Header gesteuert. das ist auch beim Ergebnis von WebAPI Aufrufen so. D.h. es g... [Mehr]

Auflösung von Reference-Loops in ASP.MVC WebAPI Projekten mit AutoMapper

WebAPI Controller werden oftmals direkt von Entity-Framework-Klassen erstellt. Meist funktioniert dies auch ohne Probleme. Sobald in der Datenstruktur ein Self-Join enthalten ist, funktioniert das Serialisieren der Objekte nicht mehr. Bei einem Self-Join zeigt der aktuelle Datensatz auf einen anderen Datensatz in der selben Tabelle. Dies wird oftmals zur Abbildung von rekursiven Daten in einer Datenbank genutzt. Meist sind es Stücklisten. In der Northwind Datenbank ist ein Self-Join in der Employees Tabelle enthalten. Das Feld “ReportsTo” zeigt zu einem anderen Datensatz in der selben Tabelle.... [Mehr]

Fakesframework in Verbindung mit dem Entityframework

In einem WebAPI Projekt musste ich für die Controllermethoden UnitTests schreiben. Da die Controllermethoden auf eine Datenbank zugreifen und dabei das EntityFramework verwenden, war die Idee naheliegend mit dem Fakesframework die Datenbankzugriffe zu mocken. Das Testprojekt ist schnell angelegt aber es muss auch das Nuget Package für das Entityframework hinzugefügt werden. (Add-Package EntityFramework) Danach kann für die Dll des EntityFrameworks die Fakes-Assembly erstellt werden. Eine Anleitung wie das Fakesframework zu nutzen ist hier (http://blog.ppedv.de/post/2012/06/24/Unit-Testing-von-... [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]

Copyright © 2019 Martin Groblschegg - Impressum