Home
Okt
13
SharePoint 2013 und Unit Tests mit Visual Studio 2013

In der Vergangenheit war es nicht immer einfach die von Visual Studio mitgebrachte Möglichkeit für Unit Tests in Verbindung mit SharePoint zu nutzen. In den aktuellen Versionen (SharePoint 2013 und Visual Studio 2013) ist dies einfacher geworden und sollte auch anregen daran zu denken, wenn man SharePoint Apps entwickelt. Gerade wenn man an Auto-hosted Apps denkt, bei denen die Businesslogik außerhalb des SharePoints, in beispielsweise einem Azure Service gehostet wird, sollte man Unit Tests unbedingt nutzen.

Aber nicht nur für SharePoint Apps sind sie eine wichtige Möglichkeit Qualität in eine Lösung zu bringen, sondern auch für die traditionellen (Full-trusted) Lösungen, wie man sie hinlänglich kennt. Unit Tests im Zusammenspiel mit Full-trusted Solutions waren eben mitunter recht schwierig umzusetzen.

Beispielsweise kann man damit einen Unit Test schreiben, um Eventreceiver einer Liste zu testen. Legt man ein SharePoint Projekt an, dann ist es relativ leicht auch ein Unit Test Projekt zu erstellen, um das Ausführen von Eventreceivern zu testen. Geht man von einem Eventreceiver aus, der z.B. ein Datumsfeld setzt, wenn ein neues Item angelegt wird, so braucht man anschließend nur einen Unit Test, der genau diesen Fall überprüft, erstellen.

Folgende Schritte sind aber zuerst notwendig, bevor man loslegen kann:

1. Ein Unit Test Project anlegen

SharePoint 2013, Bloglog, Unit Test Project

2. Eine Referenz auf das SharePoint Projekt und eine Referenz auf das Microsoft.SharePoint Assembly hinzufügen. In diesem Beispiel handelt es sich um eine Dummy SharePoint Solution namens “DummySPProject”.

SharePoint 2013, Bloglog, Unit Test References

3. Die Prozessor-Architektur der Tests auf x64 festlegen.

SharePoint 2013, Bloglog, Unit Test

Hat man diese Schritte ausgeführt, kann man loslegen. Der Unit Test sieht beispielsweise dann so aus:

SharePoint 2013, Bloglog, Unit Test Code

Führt man den Test anschließend aus sieht man , ob er funktioniert oder nicht.

SharePoint 2013, Bloglog, Unit Test Result

Ein paar Dinge sollen an dieser Stelle betont werden.

  1. Es ist klarerweise ein Beispiel, das nur zeigen soll, wie man technisch Unit Tests für SharePoint ausführen kann. Der reale Anwendungsfall des gezeigten Beispiels soll hier auch nur eine untergeordnete Rolle spielen.
  2. Hier wird ein Eventreceiver getestet, der synchron läuft. Bei asynchronen Eventreceivern ist zu bedenken, dass die Geschäftslogik asynchron abläuft und somit der Test möglicherweise fehlschlägt, wenn der Eventreceiver erst zu einem späteren Zeitpunkt abläuft als der Zugriff des Tests auf das Feld, das den automatisch generierten Wert beinhaltet. Man könnte beim Testen beispielsweise eine Zeit verstreichen lassen oder das besagte Feld mehrmals abfragen (polling), bevor man nach einer verstrichenen Zeit (timeout) einen Fehler feststellt .

    Möglicherweise existiert auch ein Weg, das Feld asynchron abzufragen. Man denke hier an Remote Eventreceivern, die es seit SharePoint 2013 gibt. Dies hätte aber mit obigen Ansatz der Full-trusted Solution nichts mehr zu tun.
  3. Für die neue Möglichkeit Lösungen in Form von Apps zu entwickeln, könnte man anstelle des Microsoft.SharePoint Assembly auch die Client bzw. die ClientRuntime Assemblies nutzen, oder überhaupt die Rest Services konsumieren.
  4. Außerdem wäre auch denkbar Workflows mit Hilfe von Unit Tests zu testen. Klarerweise abhängig davon, was dadurch abgedeckt werden soll. Besonders hier sei nochmal auch die Problematik der asynchronen Ausführung betont und einen möglichen Mechanismus zu berücksichtigen asynchron diese Tests auszuführen.

Okt
01
Nintex: Task locked for editing by Workflow…

Letzte Woche hat mich ein längst vergessenes Problem mit SharePoint Tasks und Workflows wieder eingeholt. Und zwar das Problem das Tasks die nach der Erstellung mittels eines Workflows verändert werden für den User gesperrt sind. Falls es doch ein User versucht den Task abzuschließen, oder ihn zu editieren erscheint die Fehlermeldung:

“Task is locked by a running workflow and cannot be edited.”

Das Problem an sich existiert schon seit SharePoint 2007 und hat verschiedenste Ursachen die z.B. in folgendem Artikel bei Nintex Connect gut beschrieben sind: https://community.nintex.com/docs/DOC-1256

Die Gute Nachricht für alle die Nintex in Verwendung haben ist dass es hier einen recht einfachen Lösungsansatz gibt. Nämlich für das Ändern des Elements nicht die Aktion “Update Item” verwenden.

image

Stattdessen einfach die Aktion “Update Multiple Items” heranziehen:

image

Dort dann den Filter so einstellen dass nur das eine gewünschte Element zurückgeliefert wird (z.B. ID = CurrentItem:ID) und die Updates durchführen. Hat bei mir nun schon mehrmals funktioniert. Das liegt vermutlich daran dass anders auf das Element zugegriffen mit und es damit nicht zu dem “Lock” kommt. Hoffe ich konnte mit dem kleinen Tipp jemanden weiterhelfen :) ….

LG
Markus

Markus Reisinger | markus@hatahet.eu |
powered by www.sharepoint-must-haves.eu

Kategorien:  NintexWorkflowSharePoint 2013

Sep
26
Videos lassen sich bei manchen Usern in SharePoint 2013 nicht abspielen.

Letztens meldete sich einer unserer Kunden mit einer Fehlerbeschreibung die wir zu Beginn eigentlich gar nicht glauben konnten. Er sagte dass Videos (.mp4, .wmv) die innerhalb von Seiten eingebettet waren sich nicht abspielen lassen. In der Medienbibliothek sehen sie die User aber und eingebettet sind sie auch korrekt.

Etwas später stellte sich dann noch heraus dass der User, der das Video hochgeladen und eingebettet hat es auch abspielen kann. Alle anderen nicht! Im ersten Moment dachten wir die Rechte passen nicht bzw. es ist die Freigabe in der Medienbibliothek aktiviert. Beides war aber nicht der Fall. Sogar mit einem Site Collection Administrator Account konnte das Video auf der Seite noch in der Bibliothek abgespielt werden!?

Bei genauerem Hinsehen über die Explorer Ansicht viel uns folgendes auf: Das Video wird beim Hochladen nicht direkt in dem Ordner der Medienbibliothek abgelegt in dem man es hochlädt. Sondern es wird ein Ordner (oder viel mehr ein Document Set) angelegt in dem das Video und ein Vorschaubild je wieder in einem eigenen Unterordner gespeichert sind. Und in diesem Fall konnten alle User auf das Vorschaubild zugreifen, aber keiner, außer dem Ersteller, hatte Zugriff auf das Video. Obwohl in dem Bibliothek alles OK aussah weil dort nur die Vorschau des Document Sets angezeigt wird.

Wie sich weiter herausstellte war der Inhaltstyp für das Video-File (Name: Videowiedergabe) und das Bild (Name: Bildobjekt) verändert worden und die Spalte Titel war nun ein Pflichtfeld. Durch die automatische “Nachbearbeitung” beim Upload durch SharePoint selbst ging jedoch der Titel für das Video-Files immer verloren, und das Element wurde gewissermaßen für den Ersteller ausgecheckt weil ja noch nicht alle Metadaten vorhanden waren. Das Problem bei der Sache ist jedoch dass man niemals über die GUI zu dem Video-File gelangt und immer nur das Document Set bearbeiten kann. Daher blieb in dem Fall nichts weiter über als den Titel wieder auf “Optional” zu stellen und die Videos nochmals hochzuladen.

Die Geschichte soll vor allem zeigen dass man die Standard Inhaltstypen (soweit möglich) nicht anpassen soll. Wenn es geht immer neue Inhaltstypen erstellen und die vom Standard erben lassen :) .

Zur Ehrenrettung des angesprochenen Kunden muss ich aber dazu sagen dass hier die Inhaltstypen nicht manuell verändert wurden sonder dass das durch einen technischen Defekt bei einem Update passiert ist. Aber das ist eine andere Geschichte….

LG
Markus

Markus Reisinger | markus@hatahet.eu |
powered by www.sharepoint-must-haves.eu

Kategorien:  SharePoint 2013

Sep
24
HATAHET Halloween Special: Microsoft Azure und SharePoint | Süßes oder Saures

Microsoft Azure ist eine offene und flexible Cloud-Plattform für ein modernes Geschäft und bietet umfangreiche Services. Dabei geht es nicht darum bestehende Systeme in die Cloud zu bekommen vielmehr bietet Azure neue Möglichkeiten und ist eine ideale Ergänzung für bestehende SharePoint Umgebungen. So können neue Server, Dienste und Anwendungen rasch bereitgestellt werden sowie in die vorhandene SharePoint Umgebung integriert werden inklusive entsprechendem Identity Management. Erstellen Sie mit Microsoft Azure Anwendungen mithilfe beliebiger Programmiersprachen, Tools oder Frameworks, auch Open Source und integrieren diese in SharePoint.

Facebook-Titelbild-Event-HATAHET-Microsoft-Azure-2014103

Dieses Halloween Special geht auf die strategische Positionierung von Azure ein und erklärt anhand von praxisorientierten Szenarien wie Unternehmen von Azure vor allem im SharePoint Umfeld profitieren können. Es wird in gruselig gemütlichem Ambiente gezielt auf Grenzen und Möglichkeiten von Azure in Zusammenspiel mit SharePoint OnPremise/Online eingegangen, Süßes oder Saures!

EVENT FACTS

  • Titel:
    HATAHET Halloween Special: Microsoft Azure und SharePoint
    Süsses oder Saures!
  • Veranstaltungsart:
    Halbtages-Veranstaltung
    Kunden-Event, Business Brunch Charakter (kleiner Rahmen)
    Interaktiv, Workshop Charakter, Präsentationen, Live Demos
  • Termin:
    Donnerstag 30.10.2014, 10:00 – 13:00 Uhr
  • Einlass: ab 09:30 Uhr
  • Vorträge: 10:00 - 11:45 Uhr
  • Halloween-Buffet: ab 11:45 Uhr
  • Location: HATAHET, 1090 Wien, Wasagasse 6/10
  • Zielgruppe: IT Manager, IT Projektmanager, IT-Pros mit strategischer Ausrichtung
  • Veranstalter: HATAHET productivity solutions GmbH
  • Kosten: kostenlos*
  • Anfahrt: >> zur Anfahrtsbeschreibung

>> Jetzt hier anmelden

*Wir bitten Sie zu berücksichtigen, dass sich diese Veranstaltung ausschließlich an Endkunden richtet und somit keinerlei Anmeldungen vom Mitbewerb akzeptiert werden können. Weiters bitten wir bei Verhinderung um Abmeldung bis spätestens 48 Stunden vor dem Event. Allenfalls erlauben wir uns einen Unkostenbeitrag von € 40 zu verrechnen. Wir danken für Ihr Verständnis!

AGENDA

09:30 -10:00
Einlass, Welcome, Kaffee, Halloween-Goody

10:00 - 10:30
Vortrag 1 Überblick Microsoft Azure Plattform, eine strategische Positionierung  
Nahed Hatahet | Geschäftsführung | HATAHET productivity solutions
Hans Berndl | Strategy Director | Microsoft Western Europe HQ

  • Vorstellung / Positionierung Microsoft Azure Cloud-Plattform
  • Infrastruktur und Anwendungen flexibel bereitstellen und integrieren
  • Identitäts- und Zugriffsverwaltung, Active Directory
  • Web & Mobile, Storage & Backup

10:30 - 11:15
Vortrag 2 Microsoft Azure Szenarien mit SharePoint 2013 und Office 365  
Nahed Hatahet | Geschäftsführung | HATAHET productivity solutions
Hans Berndl | Strategy Director | Microsoft Western Europe HQ

  • SharePoint 2013 Production Farmen in Azure betreiben
  • SharePoint 2013 Test und Quality Farmen in Azure betreiben
  • SharePoint Apps, Office 365 und Microsoft Azure Development
  • SharePoint Server 2013 Disaster Recovery in Microsoft Azure

11:15 - 11:45
Interaktive Runde, Fragen und Antworten, Erfahrungsaustausch 

  • Sprechen Sie in angenehm gruseliger Halloween Atmosphäre mit den Vortragenden und stellen Sie Ihre Fragen oder diskutieren Sie einfach mit. 

Ab 11:45 
Kürbis, Grusel und Geisterzeit 
Spuken Geister nun ums Haus, geben Sie euch Essen aus!


>> weitere Details und zur Anmeldung


Sep
24
SharePoint 2013 DEV: AngularJS

AngularJS ist die Werkzeugkiste schlecht hin. Mit dem Open-Source-Framework von Google lassen sich ganz leicht Single Page Applications (SPA) erstellen. AngularJS fügt HTML ein neues Konstrukt hinzu. Die Implementierung der AnuglarJS Library in ein SharePoint 2013 App Projekt ist auch nicht kompliziert, da zunächst die Library selbst von dem AngularJS Server heruntergeladen werden sollte. Anschließend wird im Projekt auf diese JavaScript-Datei verweisen mittels folgendem Tag
<script type="text/javascript" src="Pfad/angular.js"></script>
wobei “Pfad” durch den richtigen Dateipfad zu ersetzten ist. Alternativ kann auch die Url des CDN verwendet werden:
https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js

Da die Library nun eingebunden und einsatzbereit ist, kann die Zwei-Wege-Datenbindung von AngularJS verwendet werden. Änderungen in der Ansicht (View) wirken sich so automatisch im Datenmodell (Model) aus und werden in den entsprechenden Elementen der Ansicht (View) direkt angezeigt.

Hier ein kleines Beispiel:

<!DOCTYPE html >
<html ng-app>
<head>
    <meta charset="utf-8">
    <script src="Lib/angular.js"></script>
</head>
<body>
<div>
    <label>Name:</label>
    <input type="text" ng-model="yourName">
    <hr>
    <h1>Hey {{yourName}}!</h1>
</div>
</body>
</html>

 

AngularJSBsp10

 

In dem oben angeführten Beispiel wird eine TextBox angezeigt, in der der User seinen Namen eingeben kann und diesen noch während der Eingabe anzeigt bekommt. Dies ist möglich durch das ng-model Attribut.

Im Hinblick auf ein SharePoint App Projekt wäre so denkbar, die Bindung zwischen einem Listelement bzw. eines Feldes in einem Listelement zu realisieren.

Beim IE 10 hatten wir ein Phänomen, dass die Ausführung der AngularJS Funktionalitäten verhinderte. In diesem Fall hilft der “edge” Mode des IE mittels folgendem Tags:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

 

Hier noch ein paar Links:

https://angularjs.org/

https://docs.angularjs.org/guide/introduction


Sep
08
SharePoint 2013 DEV: Javascript - ein Must-Have!

Bekannt ist, dass Javascript eine Scriptsprache und keine Programmiersprache ist. Zumindest für Entwickler. Trotzdem stehen genau diese oft vor der Anforderung, dass genausoviel von Solutions in Javascript wie von Solutions in anderen vollständigen Programmiersprachen gefordert wird. Nur wie soll eine prozedurale Scriptsprache dabei mithalten können?

In vielen Punkten gibt es keine Möglichkeit dafür, an anderer Stelle mittlerweile sehr wohl. In letzter Zeit sind sehr viele Libraries entstanden, die mit vielen Schwierigkeiten, die sich in Javascript stellen, leicht umgehen können. Im Falle von Databinding sind Knockout oder AngularJS wahre Problemlöser. Bei 2D-Geometry hilft Svg, bei 3D ThreeJS.

Trotz aller Neuerungen kämpft man aber leider immer noch mit Unterschieden unter den verschiedenen Browsern. Eine einheitliche Standardisierung könnte hier vieles vereinfachen, allerdings ist so etwas noch ferne Zukunftsmusik, falls es überhaupt eintritt. Deshalb ist es unter Umständen vernünftiger auf Technologie zu setzen, die auf Basis von Plugins arbeitet.

In diesem Fall muss sich der Hersteller des Plugins um die Unterschiede in den Browsern kümmern, während sich der Entwickler auf die Umsetzung seiner Solution konzentrieren kann. Eines der bekanntesten Beispiele dafür ist Unity. Diese Engine läuft sowohl in allen größeren Browsern als auch auf Applikationsebene und allen mobilen Devices. Eine durchaus abzuwägende Alternative, besonders weil Unity auch C# unterstützt.

Happy Coding!

Kategorien:  SharePoint AppsJavascript

Aug
26
HATAHET und ETC präsentieren: Gratis Abend-Veranstaltung Social Business Collaboration mit Office 365 SharePoint & Yammer

Unternehmen stehen vor der neuen Herausforderung Social Business Collaboration in ihrer Unternehmenskultur und Prozessen zu etablieren um eine schnellere und effizientere Kommunikation sowie einen effizienteren Wissensaustausch zu ermöglichen.

Homepageheader-Event-HATAHET-ETC-Social-Business-Collaboration

Unternehmen stehen vor der neuen Herausforderung Social Business Collaboration in ihrer Unternehmenskultur und Prozessen zu etablieren um eine schnellere und effizientere Kommunikation sowie einen effizienteren Wissensaustausch zu ermöglichen.Microsoft bietet mit Office 365 SharePoint Online und Yammer die Technologien. Anders als im öffentlichen Netzwerk Internet müssen Unternehmen jedoch entsprechende Strategien erarbeiten damit Menschen die Technologie neben der Teilung von Wissen vor allem auch gerne benutzen. Erst so werden gezielt und geplant neue interaktive Wissensbereiche zu leben beginnen und einen Mehrwert bieten können. Microsoft Office 365 bietet mit SharePoint und Yammer die entsprechenden Basistechnologien um Business Social Collaboration in Unternehmen umsetzen zu können. Erfahren Sie in dieser praxisnahen Abendveranstaltung wie diese Technologien im einzigartigen Zusammenspiel miteinander eingesetzt werden können und erfahren Sie was Unternehmen beachten müssen, um erfolgreich Social Business Collaboration zu leben und warum der Kauf von Yammer vor allem auch Microsoft selbst nachhaltig verändert hat.

EVENT FACTS

  • Titel:
    HATAHET und ETC präsentieren: Social Business Collaboration mit Office 365 SharePoint und Yammer
  • Veranstaltungsart:
    Abend-Veranstaltung
    Kunden-Event
    Präsentationen, Vorträge, Live Demos
  • Termin: Donnerstag 09.10.2014, 17:00 – 20:00 Uhr  
  • Einlass: ab 16:30 Uhr
  • Abend-Buffet: ab 19 Uhr
  • Location: ETC, 1030 Wien, Modecenterstraße 22/Office 4
  • Zielgruppe: IT Manager, IT Projektmanager, IT-Pros mit strategischer Ausrichtung
  • Veranstalter: ETC Enterprise Training Center
    HATAHET productivity solutions GmbH
  • Kosten: kostenlos*
  • Anfahrt: >> zur Anfahrtsbeschreibung

>> Jetzt hier anmelden

AGENDA

16:30 - 17:00
Einlass, Welcome, Kaffee

17:00 - 17:30
Keynote: Social Business Collaboration, eine neue Ära die auch Ihr Unternehmen positiv verändern wird
Nahed Hatahet | Geschäftsführung | HATAHET productivity solutions
Hans Berndl | Strategy Director | Microsoft Western Europe HQ

  • Was ist eigentlich Social Business Collaboration?
  • Die „Anatomie“ von Social Business Collaboration Plattformen
  • Unterschied zw. Social Networking und Social Collaboration verstehen
  • Mehrwert für Unternehmen am Beispiel Microsoft und HATAHET

17:30 - 18:30
Walkthrough: Microsoft Social Business Collaboration mit Office 365 SharePoint und/oder Yammer
Nahed Hatahet | Geschäftsführung | HATAHET productivity solutions
Hans Berndl | Strategy Director | Microsoft Western Europe HQ

  • Office 365 SharePoint und Yammer, doppelt „gemoppelt“ oder doch nicht?
  • Social Business Collaboration mit Office 365 SharePoint und Yammer
  • Unterschiedliche Einsatzmöglichkeiten von SharePoint und/oder Yammer
  • Praxisorientierte Office 365 Live-Demos mit SharePoint und Yammer

18:30 - 19:00
Organisatorische Erfolgsfaktoren von Social Business Collaboration Projekten
Nahed Hatahet | Geschäftsführung | HATAHET productivity solutions
Hans Berndl | Strategy Director | Microsoft Western Europe HQ

  • Was macht ein Social Business Collaboration Erfolgsprojekt eigentlich aus?
  • Social Business Collaboration Prozesse verstehen und Projekte umsetzen
  • Mobile Social Business Collaboration für Microsoft, Apple und andere Devices
  • Kulturwandel: Wie verwendet Microsoft und HATAHET SharePoint und Yammer?

Ab 19:00
Fragen und Antworten direkt an die Vortragenden Experten, soziales und reales Networking bei einem warmen Buffet

>> weitere Details und zur Anmeldung


Aug
18
SharePoint 2013 August 2014 CU veröffentlicht

Nachdem Microsoft ja mit Juli angekündigt hatte Cumulative Updates für SharePoint nun monatlich zu veröffentlichen steht nun seit 13.August das nächste CU zum Download zur Verfügung.

Leider ist es diesmal so dass es keine kompletten Packages zum Download gibt sonder nur die Fixes für die einzelnen Komponenten. Da das CU damit nicht alle vorhergehenden Updates mit einschließt muss somit die Farm zumindest auf Patch-Stand CU Juli 2014 sein damit die neuen Updates eingespielt werden können. Argumentiert wird das mit der Größe der Gesamtupdates !? Wichtig ist auch noch zu erwähnen dass das CU damit auch nicht das SP1 mit Implementiert, dieses sollte vor dem Update auch implementiert werden.

Hier die Liste mit den Knowledge Base Artikeln für das August 2014 CU:

  • KB 2883081 - SharePoint Foundation 2013 August 2014 CU
  • KB 2883086, KB 2883085, KB 2883078, KB 2880559, KB 2760213 - SharePoint Server 2013 August 2014 CU
  • KB 2883083 - SharePoint Server 2013 with Project Server August 2014 CU
  • KB 2883093 - Office WebApps Server 2013 August 2014 CU

Hier geht’s zum MSDN Beitrag dazu.

Ein Hinweis noch, weil wir dazu auch immer wieder gefragt werden: Auch für den SharePoint Server muss das SharePoint Foundation Update installiert werden. Das Gleiche gilt auch für Project Server, hier muss das Foundation und das Server Update zuvor installiert werden.

LG
Markus

Markus Reisinger | markus@hatahet.eu |
powered by www.sharepoint-must-haves.eu

Kategorien:  SharePoint 2013

Aug
04
Fehler im Interner Explorer 11 beim Öffnen von InfoPath Forms

Nachdem immer mehr unserer Kunden den IE11 einsetzen bekommen wir mehr Anfragen zu folgendem Szenario:

Ein InfoPath Formular wird geöffnet und es erscheint die Meldung “Object doesn’t support property or method ‘addEventListener’. Klicken Sie auf Neu beginnen um eine neue Kopie des Formulars zu laden….

image

Grund für den Fehler ist der Protected Mode des Internet Explorers der hier das Öffnen des Formulars unterbindet.

Die Lösung dafür ist den Internet Explorer 11 in einen anderen Kompatibilitätsmodus zu schalten! Dazu im IE das Menü “Extras” öffnen (ALT Taste drücken wenn es nicht sichtbar ist) und dort auf “Einstellungen der Kompatibilitätsansicht” klicken.

image

Gib dann die URL der Website an für die die Kompatibilitätsansicht gelten soll (z.B. hatahet.eu) und klicke auf “Hinzufügen”.

image

Nach dem Schließen des Dialogs lade die Seite neu und versuche nochmals das InfoPath Formular zu öffnen. Nun sollte die Fehlermeldung nicht mehr erscheinen.

LG
Markus

Markus Reisinger | markus@hatahet.eu |
powered by www.sharepoint-must-haves.eu

Kategorien:  ProblemlösungInfoPath

Aug
01
SharePoint 2013 DEV: Apps, Apps, Apps

Sharepoint Apps sind die Zukunft. Nur leider ist die Zukunft in diesem Fall schlecht und oft auch fehlerhaft dokumentiert. Die einfachsten Implementierungen können so schnell viel Zeit kosten, weil Fehler an der falschen Stelle gesucht werden, geht man doch nicht davon aus, dass die Dokumentation in diversen Büchern und auf guten Developerseiten einfach falsch ist.

Ein gutes Beispiel dafür sind Rest-Services, die schnell und damit hervorragend zur App-Entwicklung eingesetzt werden können. Zu Beachten dabei ist, dass die Verwendung von “ajax” zum Aufruf selbiger nicht funktioniert. Warum? Weil jede App in ihrer eigenen Domäne läuft und deshalb jeder Zugriff Cross-Domain ist. Damit bleibt der “/_layouts/15/SP.RequestExecutor.js” als einzige Möglichkeit übrig, diesen Zugriff durchzuführen.

Die notwendige Url dafür gestaltet sich noch einmal so schwierig, denn bei vielen Anleitungen wird das notwendig setzen des “Targets” gar nicht erwähnt. Eine mögliche Url wäre:

appweburl + "/_api/SP.AppContextSite(@target)/web/getfolderbyserverrelativeurl('" + listname + "')/files?@target='" + hostweburl + "'&$top=" + 10+ "&$skip=" + 10;

Und aufpassen, nicht vertippen, denn Compiler-Checks für einen String gibt es natürlich nicht.

Für viele andere Cross-Domain Aufrufe findet sich leider nicht so leicht ein möglicher Weg. Somit ist wieder einmal die Kreativität des Entwicklers gefragt, um solche Dinge zu umschiffen.

Happy Coding!


1 - 10Next
 

 Tag Cloud

 
 

 Archiv

 
 

 Blogroll