Archiv

für C#

Tanzen auf zwei Hochzeiten: SharePoint Provider-Hosted Add-Ins in Office365 & On-Premise installieren

Worum geht es überhaupt?

Ich bin zwar nicht sicher, ob ich der einzige bin, der es versucht hat, aber zumindest schein ich der erste zu sein, der darüber schreibt: Eine SharePoint Provider-Hosted Add-In zu programmieren, dass sich sowohl auf einer lokalen SharePoint-Installation, als auch in Office365 verwenden lässt.

Vielleicht ist es auch eine deutsche Besonderheit: Hier herrscht ein ziemliches Misstrauen gegenüber der Cloud, viele Kunden wollen die Daten lieber auf „ihrem“ Server lagern. Office365 ist deshalb kein Thema.

Wir haben derzeit einen Kunden, dem unsere Office365.-App „Mydea“ sehr gut gefällt. Allerdings möchte er, dass sie auf einem SharePoint 2013 installiert wird. Also hatte ich drei Optionen:

  1. Sagen, dass es nicht geht
  2. Die ganze Lösung kopieren und dann die Kopie so anpassen, dass sie auf dem SharePoint 2013 funktioniert
  3. Irgendwas magisches anderes probieren 🙂

Natürlich wollte ich die erste Option auf jeden Fall vermeiden. Die zweite Lösung hätte prinzipiell funktioniert, aber zu doppeltem Pflegeaufwand geführt. Das ist unschön und macht keinen Spaß. „Mydea“ ist ein Innovationstool, und als solches selbst natürlich möglichst innovativ. Das bedeutet, kurze Produktzyklen und agil entwickelt. Das doppelt pflegen zu müssen wäre die Hölle 🙂

Also habe ich mich für die dritte Option entschieden: Etwas Magie.Die Anwendung sollte – ohne beim (automatisierten) Ausliefern eine Zeile Code ändern zu müssen sowohl unter Office365, als auch unter SharePoint 2013 lauffähig sein.

Weiterlesen

FlashairDownloader 2

Der FlashAirDownloader 2 ist da \o/ (Aus reinen Faulheitsgründen werde ich ihn von nun an mit FAD abkürzen 🙂 )

Eine Menge Nutzer haben den FlashAirDownloader (1) bereits genutzt. Dieser war ursprünglich nur als „Quick Hack“ gedacht um auf meine Toshiba FlashAir – Karte zuzugreifen. Da immer mehr Nutzer nach neuen Features und Sourcecodeschnipseln gefragt haben, habe ich mich entschlossen, das Programm unter die GPL-Lizenz zu stellen und den Quellcode zu veröffentlichen.

Das Problem hierbei: Wie bereits erwähnt, war das Programm nur als Quick Hack gedacht. Lausige UI, lausiger Code, viel zu peinlich um das einsehbar zu machen. Also habe ich mich entschieden, es nochmal zu machen: Dieses Mal ordentlich; Mit halbwegs ansprechender UI (im Rahmen meiner Design-Legasthenie :)) und ordentlich kommentierten Quellcode. Dabei habe ich darauf geachtet, dass auch weiterhin alte Veteranen mit Windows XP das Programm nutzen wollen.

Aber genug gesabbelt. Da ist das Schmuckstück:

Du kannst den Quelltext direkt von GitHub downloaden und dort natürlich auch das Programm verbessern. Wenn Du das Programm einfach nur nutzen willst, lade die Binaries hier herunter.:

Du wirst eine Menge Warnmeldungen erhalten, die so wirken, als würde der Antichrist höchstpersönlich versuchen, Dir einen Virus unterzujubeln. (Hint: Dem ist nicht so) Das liegt daran, dass die Setup-Datei nicht signiert ist. Eine Signatur kostet allerdings erstens jährlich Geld und zweitens einigen Aufwand um sie einzubinden. Wenn Dir das ganze zu suspekt ist, verstehe ich das: Lade Dir stattdessen den Quellcode bei GitHub herunter und erstelle die Exe selbst durch Visual Studio.
Eine (englische) Installationsanleitung findest Du hier im Blog.

Wenn es Dir gefällt, habe ich natürlich nix dagegen, wenn Du mir etwas Geld Auf meine Panama-Konten überweist schickst. Oder einfach nur Liebe. Oder noch besser: Bring Dich ein und verbessere den Code; Dann habe ich weniger zu tun – was ja der Hauptgrund für mich war, das Tool unter eine Open Source-Lizenz zu stellen. 😀










Fehlerabhängige Loglevel mit Log4net

Als Entwickler kennt man das Problem: In der Startphase will man wirklich jede Variable loggen, um zu sehen,wie das System arbeitet. Nach einer Weile läuft das System stabil und man reduziert die Logausgaben auf Info oder sogar auf Warn.

Kommt es nun zu einem Fehler, wäre es dann doch wieder ganz nett kurz vor dem Fehler zu sehen, welche Debug-Ausgaben es denn gegeben hätte. Log4Net schafft dies bereits mit Bordmitteln; Überraschenderweise scheint niemand dies bisher genutzt zu haben, oder dies niedergeschrieben zu haben. Also hole ich dies hiermit mal nach  Weiterlesen

Truncate für Sharepoint-Listen

Wir alle wissen, dass einige elementare SQL-Tasks in SharePoint schlicht und einfach nicht funktionieren. Eines dieser Dinge ist das leeren von Listen. Das löschen einzelner Zeilen dauert eine Ewigkeit.

Aus diesem Grund habe ich eine Methode geschrieben, die eine Liste komplett löscht und mit dem gleichen Schema unter gleichem Namen neu erstellt, also im Endeffect ein TRUNC durchführt:

Weiterlesen

ZDF Mediathek auch unter Windows 7 (seven)

Good news  Das ZDF Mediathek-Tool arbeitet auch mit Windows 7 einwandfrei zusammen. Allerdings sollte man darauf achten, der web.conf volle Berechtigungen für alle Benutzer zu geben.

(die aktuellste Version ist weiterhin 1.0.0.2)