Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

JS Link: was man sonst noch wissen sollte

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

Das grund­le­gende Prinzip und die genaue Verwendung von JS Link habe ich euch in mei­nem letz­ten Artikel  "JS Link: you’ve got the whole SharePoint in your hands" bereits erläu­tert. Ein paar Details soll­ten jedoch noch ein­mal ange­spro­chen wer­den, die Euch den Umgang mit JS Link noch etwas erleich­tern könn­ten.

Mehrere JavaScript Dateien gleichzeitig verwenden

Der erste inter­es­sante Fakt ist, dass meh­rere JavaScript Dateien ver­wen­det wer­den kön­nen. Der ein oder andere fragt sich dabei viel­leicht, was das für einen Sinn macht. Das habe ich am Anfang auch getan, bis sich der erste Anwendungsfall von selbst ergab. Folgende bei­den Anwendungsfälle sind mei­nes Erachtens sinn­voll.

  1. Beim Einsatz kom­ple­xe­rer Funktionen, die even­tu­ell in meh­re­ren Klassen über meh­rere Dateien ver­teilt wer­den.
  2. Unter Umständen kön­nen Standard SharePoint Funktionen nach dem Einsatz von JS Link nicht mehr funk­tio­nie­ren. Zum Beispiel die Einfärbung der über­fäl­li­gen Aufgaben inner­halb einer Aufgabenliste. (Siehe Punkt 2)

Um zwei oder mehr Skripte gleich­zei­tig ein­zu­set­zen, muss der Separator "|" ver­wen­det wer­den.

"~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ög­lich Standard Funktionen von SharePoint, durch den Einsatz von JS Link, zu zer­stö­ren. Aufgefallen ist mir die­ses Verhalten beim Anpassen der SharePoint Aufgabenliste. Nach Hinzufügen des JS Link Skriptes wur­den über­fäl­lige Aufgaben nicht mehr rot mar­kiert. Eine mög­li­che Lösung für die­ses Problem, ist das zusätz­li­che Laden der Datei "hierarchytaskslist.js". Hierbei kommt der Separator "|" zum Einsatz. Nach Einbinden bei­der Skripte wer­den die Aufgaben wie­der rot ein­ge­färbt.

Mehr Informationen fin­det Ihr hier: Link

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

JavaScript onDemand mittels JS Link laden

In man­chen Situationen ist es von Nöten, Skripte erst bei Bedarf nach­zu­la­den. Paradebeispiel dafür, sind Timing Probleme beim Laden der Seite. SharePoint bie­tet hier­für einen nütz­li­chen Mechanismus um Skripte bei Bedarf dyna­misch nach­zu­la­den – Die Klasse SP.SOD (SharePoint Scripts on Demand).

SP.SOD wird von SharePoint selbst sehr häu­fig ver­wen­det, um Seiten schon auf­zu­bauen, bevor alle Skripte gela­den wur­den.

Skripte, wel­che per RegisterSod nach­ge­la­den wer­den sol­len, müs­sen durch das Tag "(d)" gekenn­zeich­net wer­den.

"~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 zusam­men ein­ge­führt und soll für schnel­le­ren Seitenaufbau, durch dyna­mi­sches Nachladen von Inhalten, sor­gen.

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

Token welche durch JS Link ersetzt werden können

Folgende Token kön­nen ver­wen­det wer­den, um sich die Angabe von Pfaden mit JS Link zu ver­ein­fa­chen:

  • ~site
    • Referenz zum aktu­el­len Web (SharePoint Site)
  • ~site­collec­tion
    • Referenz zur aktu­el­len SiteCollection
  • ~lay­outs
    • Referenz zum aktu­el­len SharePoint Layouts Ordner der Webapplikation (/_layouts/15)
  • ~site­collec­tion­lay­outs
    • Referenz zur rela­ti­ven Url der Site Colelction +  " /_layouts/15"
  • ~sitelay­outs
    • Referenz zur rela­ti­ven Url der Webseite +  " /_layouts/15"

Im ers­ten Artikel der Serie wurde bereits ein all­tags­taug­li­cher Anwendungsfall gezeigt. Zusammen mit den Grundlagen aus die­sem Artikel kann JS Link nun schon ein­ge­setzt wer­den um eigene Anwendungsfälle abzu­de­cken.

Noch mehr Beispiele für den all­täg­li­chen Einsatz von JS Link und einige wei­tere Tipps und Tricks wer­den in den nächs­ten 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!

Related Posts

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

Hi Torsten,
vie­len Dank für den aus­ge­zeich­ne­ten Beitrag, zu wel­chem ich noch eine wei­ter­füh­rende Frage habe:
In einer Ansicht einer SP2013 Taskliste habe ich genau das umge­setzt, was du hier vor­ge­stellt hast. Die Ansicht ent­hält auch die Spalte "Completed", über die man die Tasks per Klick auf die Checkbox als erle­digt mar­kie­ren kann. Leider funk­tio­ne­ren meine Designänderungen nur genau bis zum ers­ten Klick auf eine die­ser Checkboxen. Ein ähn­li­ches Problem wird es auch sein, dass bei akti­vier­ter Gruppierung (default: col­lap­sed) ver­hin­dert, dass die Designänderungen ange­wandt wer­den.

Irgendeine Idee, wie das (auch noch) zum Laufen gebracht wer­den kann?

Vielen Dank!

Gruß,
Alex

Comments are closed.

Pin It on Pinterest