Techblog

Herzlich Willkommen im Communardo Techblog, dem Entwickler-Weblog von Communardo. An dieser Stelle werden Ideen, Problemlösungen, Tipps und Problemstellungen rund um die Entwicklung webbasierter Software vorgestellt.

techblog-teaser

JS Link: was man sonst noch wissen sollte

, von
2 Kommentare

Teil1: JSLink: you’ve got the whole SharePoint in your hands
Teil2: JSLink: was man sonst noch wissen sollte (dieser Artikel)
Teil3: JSLink – Problemfall Minimal Download Strategy (MDS)

Das grundlegende Prinzip und die genaue Verwendung von JS Link habe ich euch in meinem letzten Artikel  „JS Link: you’ve got the whole SharePoint in your hands“ bereits erläutert. Ein paar Details sollten jedoch noch einmal angesprochen werden, die Euch den Umgang mit JS Link noch etwas erleichtern könnten.

Mehrere JavaScript Dateien gleichzeitig verwenden

Der erste interessante Fakt ist, dass mehrere JavaScript Dateien verwendet werden können. Der ein oder andere fragt sich dabei vielleicht, was das für einen Sinn macht. Das habe ich am Anfang auch getan, bis sich der erste Anwendungsfall von selbst ergab. Folgende beiden Anwendungsfälle sind meines Erachtens sinnvoll.

  1. Beim Einsatz komplexerer Funktionen, die eventuell in mehreren Klassen über mehrere Dateien verteilt werden.
  2. Unter Umständen können Standard SharePoint Funktionen nach dem Einsatz von JS Link nicht mehr funktionieren. Zum Beispiel die Einfärbung der überfälligen Aufgaben innerhalb einer Aufgabenliste. (Siehe Punkt 2)

Um zwei oder mehr Skripte gleichzeitig einzusetzen, muss der Separator „|“ verwendet werden.

"~site/_catalogs/masterpage/script1.js|~site/_catalogs/masterpage/script2.js"

Standard SharePoint Funktionen zerstört durch JS Link

Wie unter Punkt 1 bereits erwähnt, ist es möglich Standard Funktionen von SharePoint, durch den Einsatz von JS Link, zu zerstören. Aufgefallen ist mir dieses Verhalten beim Anpassen der SharePoint Aufgabenliste. Nach Hinzufügen des JS Link Skriptes wurden überfällige Aufgaben nicht mehr rot markiert. Eine mögliche Lösung für dieses Problem, ist das zusätzliche Laden der Datei „hierarchytaskslist.js“. Hierbei kommt der Separator „|“ zum Einsatz. Nach Einbinden beider Skripte werden die Aufgaben wieder rot eingefärbt.

Mehr Informationen findet Ihr hier: Link

"~sitecollection/_layouts/15/hierarchytaskslist.js|~site/_catalogs/masterpage/script1.js"

JavaScript onDemand mittels JS Link laden

In manchen Situationen ist es von Nöten, Skripte erst bei Bedarf nachzuladen. Paradebeispiel dafür, sind Timing Probleme beim Laden der Seite. SharePoint bietet hierfür einen nützlichen Mechanismus um Skripte bei Bedarf dynamisch nachzuladen – Die Klasse SP.SOD (SharePoint Scripts on Demand).

SP.SOD wird von SharePoint selbst sehr häufig verwendet, um Seiten schon aufzubauen, bevor alle Skripte geladen wurden.

Skripte, welche per RegisterSod nachgeladen werden sollen, müssen durch das Tag „(d)“ gekennzeichnet werden.

"~site/_catalogs/masterpage/script1.js(d)|~site/_catalogs/masterpage/script2.js(d)"

JS Link verhält sich merkwürdig in Kombination mit MDS

Die Minimal Download Strategy (MDS) wurde mit SharePoint 2013 zusammen eingeführt und soll für schnelleren Seitenaufbau, durch dynamisches Nachladen von Inhalten, sorgen.

JS Link und MDS sind nicht die besten Freunde. Wie Ihr damit am besten umgeht erfahrt Ihr in Teil 3 der Artikelserie.

Token welche durch JS Link ersetzt werden können

Folgende Token können verwendet werden, um sich die Angabe von Pfaden mit JS Link zu vereinfachen:

  • ~site
    • Referenz zum aktuellen Web (SharePoint Site)
  • ~sitecollection
    • Referenz zur aktuellen SiteCollection
  • ~layouts
    • Referenz zum aktuellen SharePoint Layouts Ordner der Webapplikation (/_layouts/15)
  • ~sitecollectionlayouts
    • Referenz zur relativen Url der Site Colelction +  “ /_layouts/15″
  • ~sitelayouts
    • Referenz zur relativen Url der Webseite +  “ /_layouts/15″

Im ersten Artikel der Serie wurde bereits ein alltagstauglicher Anwendungsfall gezeigt. Zusammen mit den Grundlagen aus diesem Artikel kann JS Link nun schon eingesetzt werden um eigene Anwendungsfälle abzudecken.

Noch mehr Beispiele für den alltäglichen Einsatz von JS Link und einige weitere Tipps und Tricks werden in den nächsten Artikeln der Serie gezeigt.

Bleibt uns nur noch eins: Das SharePoint Team von Communardo wünscht euch allen einen guten Rutsch in das SharePoint Jahr 2014. Bleibt gespannt!
Artikel als PDF speichern
2 Antworten zu:
“JS Link: was man sonst noch wissen sollte”
  1. Alex
    22. Juli 2014, 16:32 Uhr

    Hi Torsten,
    vielen Dank für den ausgezeichneten Beitrag, zu welchem ich noch eine weiterführende Frage habe:
    In einer Ansicht einer SP2013 Taskliste habe ich genau das umgesetzt, was du hier vorgestellt hast. Die Ansicht enthält auch die Spalte „Completed“, über die man die Tasks per Klick auf die Checkbox als erledigt markieren kann. Leider funktioneren meine Designänderungen nur genau bis zum ersten Klick auf eine dieser Checkboxen. Ein ähnliches Problem wird es auch sein, dass bei aktivierter Gruppierung (default: collapsed) verhindert, dass die Designänderungen angewandt werden.

    Irgendeine Idee, wie das (auch noch) zum Laufen gebracht werden kann?

    Vielen Dank!

    Gruß,
    Alex

  2. Robin
    31. Januar 2014, 12:55 Uhr

    Vielen Dank für diese schöne Zusammenfassung! 🙂

Schreiben Sie einen Kommentar

*

Diese Webseite basiert auf Wordpress. © 2014 Communardo Software GmbH / Kleiststraße 10 a / D-01129 Dresden / Fon +49 (0) 351/8 33 82-0 / info@communardo.de