Seiten

Herzlich willkommen im technischen Blog der MindBusiness GmbH
In diesem Blog veröffentlichen wir praxisnahes Know-how, neue Erkenntnisse und Erfahrungen zu Microsoft SharePoint- und Office-Themen direkt aus unserer Berater-, Trainer- und Entwickler-Praxis. Hier finden Sie interessante Lösungen und neue Ideen zu den verschiedensten Anforderungen und Problemen. Unseren News-Blog finden Sie unter newsblog.mindbusiness.de/newsblog. Wir wünschen Ihnen viel Spaß beim Lesen und Stöbern und freuen uns auf den Austausch mit Ihnen.

Dynamische Uhrzeit in Datenansichten

Einer unserern Kunden hatte die Anforderung, auf der Startseite eines SharePoint-Portals die aktuellen Uhrzeiten der internationalen Standorte des Unternehmens anzuzeigen. Die Uhrzeit sollte sich dabei bei geöffnetem Fenster aktualisieren, nicht nur beim ersten Öffnen des Fensters.

Dabei sollten die Standorte jedoch möglichst über eine SharePoint-Liste eingetragen werden können, so dass neue Standorte ohne Programmierung eingefügt werden können.

Bevor wir die Lösung beschreiben, hier gleich das Ergebnis als Screenshot:

image

Für die Umsetzung verwenden wir die JavaScript-Lösung CoolClock, die unter einer BSD OpenSourceLicense zur Verfügung gestellt wird. Bitte beachten Sie die dort erwähnten Lizenzbedingungen.

Download und Dokumentation unter:
http://randomibis.com/coolclock/

Nun zur Umsetzung:

Ressourcen vorbereiten

Die Lösung enthält 3 JavaScript-Dateien, diese wurden in das Stammverzeichnis der gewünschten Site kopiert. Bei Bedarf können diese an anderer Stelle abgelegt werden, dann müssen entsprechend die Pfade (s.u.) angepasst werden.

Scripts in die Startseite einbinden

Nun wurde die Startseite (default.aspx) unserer Site im SharePoint Designer geöffnet und folgende Zeilen direkt unter den "PlaceHolderMain" kopiert:

<!–[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]–>
<script type="text/javascript" src="coolclock.js"></script>
<script type="text/javascript" src="moreskins.js"></script>

Die Zeilen können natürlich auch in den Header eingebunden werden, verwenden Sie dazu den Inhaltsbereich PlaceHolderAdditionalPageHead.

Benutzerdefinierte Standortliste einrichten

Als nächstes wurde eine benutzerdefinierte Liste für die Standorte eingerichtet mit folgenden Spalten:

  • Standort – umbenannt aus der Titel-Spalte
  • Zeitzone – eine Zahlenspalte, enthält die Abweichung des jeweiligen Standorts von GMT
  • Sommerzeit – eine Zahlenspalte, die die Abweichung der Sommerzeit enthält
  • UhrCode – berechnete Spalte, die den Code enthält, der für die CoolClock zum Aufruf benötigt wird. Teil des Codes ist fester Text, dazu wird der Standort sowie Zeitzone und Sommerzeit als variable Parameter hinzugefügt:

    =("!canvas id=clk")&Standort&(" class=CoolClock:fancy:30:noSeconds:")&(Zeitzone+Sommerzeit)&(" leftRightPad%!/canvas%")

    Das Ergebnis ist wieder eine Textzeile.

Der richtige Code für den Aufruf des Script enthält eigentlich die Zeichen "<" und ">". Da diese aber später beim Einbinden so nicht erhalten bleiben, verwenden wir an dieser Stelle stattdessen "!" und "%". Später werden diese wieder "zurückverwandelt" (s.u.).

Datenansicht erstellen

Nun wird eine Datenansicht erstellt, die die Standorte und die Uhrzeit dazu anzeigt. Die gewünschte Seite wird im SharePoint Designer zum Bearbeiten geöffnet. Über die Aufgabenbereiche Datenquellenbibliothek und Datenquellendetails wird aus der Liste "Standorte" die Spalte "Standort" eingefügt.

Nun werden die bereits definierten Standorte aufgelistet. Für unser Beispiel fügten wir nun rechts vom Standort eine neue Spalte ein. Dort soll jetzt unser errechneter Code stehen und dabei unsere Hilfszeichen in die richtigen "<" und ">" umgewandelt werden.

Dazu in die neue Spalte klicken und Menü "Datenansicht" und "Formel einfügen" verwenden.

Im Dialogfeld "Formel einfügen" verwendeten wir nun folgende Formel:

translate(@UhrCode, ‘!%’, ‘&lt;&gt;’)

Abschließend muss noch die eingefügte Spalte als Rich-Text-Feld formatiert werden.

Erweiterungen

Die CoolClock lässt sich vom Design her stark anpassen. Schauen Sie auf die erwähnte Website für Anregungen und Hilfe.

Mit der vorgestellten Lösung muss die Sommerzeit-Umstellung manuell in der Standorte-Liste vorgenommen werden. Die CoolClock sieht momentan keinen Parameter dafür vor. JavaScript-Fans finden hier sicher noch Möglichkeiten, das vorliegende Script zu erweitern. Ausgangspunkt für eine solche Programmierung kann z.B. folgendes Beispiel sein:

http://rainbow.arch.scriptmania.com/tools/clock/clock_generator.html

Hinterlasse eine Antwort

 

 

 

Du kannst diese HTML-Tags benutzen

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">