?-¿ blog schokolade ¿-?
Online for 7741 days
Last update: 2004.02.11, 21:26
You're not logged in ... login
home
topics
[property "topiclist" is not defined for Site]

::collabor:: home

JavaScript-Ticker Version 1.0
[HopMacro error in ticker: ReferenceError: "softwrap" is not defined. (Global/tickerFunctions.js; line 132)]
 
Januar 2004
Mo
Di
Mi
Do
Fr
Sa
So
 
 
 
 1 
 2 
 3 
 4 
 6 
 7 
 8 
 9 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
 
 
Safari unter Mac OSX
ist leider inkompatibel. H. Mittendorfer
by Hans.Mittendorfer.Uni-Linz (2004.02.11, 21:26)
Was wollen sie wirklich?
Wenn sie es "einfach" wollen, indem sie das Aussehen...
by johannes.wegner_berlin (2004.01.27, 16:10)
Ihr Vorschag für...
.. Posting ist willkommen. Besser wäre jedoch...
by Hans.Mittendorfer.Uni-Linz (2004.01.27, 12:05)
JavaScript: Back To The...
Hauptthematik meiner Semesterbeiträge für...
by johannes.wegner_berlin (2004.01.26, 01:27)
Praktische Realisierung...
Prinzipiell unterteilt sich der JavaScript-Ticker in...
by johannes.wegner_berlin (2004.01.26, 01:12)

xml version of this page

made with antville
powered by
helma object publisher
 
Implementation des JavaScript-Tickers als Macro
Hier erfahren Sie alles Wissenswerte über die Entwicklung des JavaScript-Tickers.
Wenn Sie allgemeine Fragen dazu haben, stellen Sie diese bitte unter: Allgemeine Fragen

Haben Sie den Ticker selbst getestet und Sie wollen Ihre Meinung loswerden, dann fomulieren Sie dies bitte unter: Ticker-Feedback

... comment

 
johannes.wegner_berlin, Donnerstag, 22. Januar 2004, 11:56
Geplante Realisierung des JavaScript-Tickers
Jetzt, das ich kurz vor dem Ende der Tickerentwicklung stehe und es nur noch um die Visualisierung der Daten geht, kann ich schon einge nähere Angaben zum Ticker machen.

Aufruf
Es ist vorgesehen, dass der Ticker von jedem Collabor-Benutzer in seinem Blog über ein Helma-Macro eingebaut werden.

Inhalt
Es ist vorgesehen, dass der Ticker die Aktuellen Stories/Kommentare eines bestimmten Blogs eines bestimmten Benutzers wiedergibt. So kann jeder einzelne Nutzer immer die aktuellsten Stories/Kommentare von einem Blog seiner Wahl auf seinen eigenen Seite sehen. Benutzer- und Blogname können über die Macro-Parameter angegeben werden.

Erscheinungsbild
Es ist rechteckiges Feld, deren Größe über die Macro-Parameter angegeben werden kann, vorgesehen, in dem eine aktuelle Story einen gewissen Zeitraum steht und dann durch eine andere ersetzt wird. D.h. der Text wird sich nicht bewegen, sondern im Gesamten ausgetauscht werden, da es ansonsten zu Problemen mit den Links innerhalb einer Story kommen würde.


Wie der Ticker nun in der Praxis implementiert wurde sehen sie hier ...

... link  


... comment
 
johannes.wegner_berlin, Sonntag, 25. Januar 2004, 22:30
Praktische Realisierung des JavaScript-Tickers
Prinzipiell unterteilt sich der JavaScript-Ticker in die folgenden drei Bereiche:

1) Definition der Macros
Um den Ticker über ein Macro (<% ticker param1="..." %>) aufrufen zu können, musste ich im "../global"-Ordner eine JavaScript-Datei (*.js) erzeugen die eine Funktion mit dem Namen ticker_macro() enthält.
In ihr werden die Parameter, die mit dem Ticker-Macro übergeben wurden, ausgelesen und wenn nötig, durch Standardwerte ergänzt. Dann werden alle nötigen Funktionen aufgerufen, um den Ticker mit Daten zu füllen, um diese zum Schluß rendern zu lassen und zu der aufgerufenen Seite zurück zu senden.

2) Inhalt des Tickers
Um den Ticker mit Inhalt zu füllen, muss zunächst der gewünschte Blog ermittelt werden. Hierzu wird aus dem root-Objekt mittels dem root.users-Attribut der gewünschte Benutzer ermittelt.
Über das gefundene user-Objekt erhält man mit Hilfe des Attributs user.sites alle Blogs, die diesem Benutzer gehören. Also auch den gewünschten Blog, soweit er dem angegebenen Benutzer gehört.
Nun können mit den verschiedensten Standard-Antville-Methoden die aktuellsten Stories und Kommentare gefiltert werden.

Nun offenbarte sich aber das eigentliche Problem des JavaScript-Tickers: Wie können die verschiedenen Texte im wechsel im Ticker angezeigt werden, also, wie erhält der Ticker seine Dynamik?
Denn sind die gefundenen Daten erstmal vom Helma-Server an den Client gesendet worden, kann der Server ohne das neu Laden der Seite keinen Einfluss mehr auf diese Seite nehmen, um z.B. das Ticker-Textfeld mit neuem Text füllen.
Die Lösung bestand darin, dass der Server die nötigen JavaScript-Funktionen als Response mit an den Client schickt, so wird das JavaScript auf dem Client ausgeführt und die dynamische Steuerung des Tickers ist wieder möglich.

3) Aussehen des Tickers
Das Aussehen des Tickers wurde über eine Skin-Datei (*.skin) verwirklicht. Hier wurden zunächst alle statischen Informationen als Response für den Client notiert. Z.B., das Layout der Tickerelemente (Titel, Text ...) und die JavaScript-Funktionen, die als Text mit an den Client gesendet werden, um die Dynamik des Tickers zu realisieren.
Aber ein solches Skin bietet auch die Möglichkeit, Variablen zu enthalten (<% response.param %>), die über das Response-Objekt (res.data.param="wert") dynamisch "von Aussen" gesetzt werden können.
Das bedeutet, dass ich im Skin alle statischen Texte und Werte bereits notieren und den variablen Teil, wie die Anzahl der Texte oder die Höhe des Tickers, nachträglich einfügen kann. So dass der Client zwar über den Response einen festen HTML-Text erhält, welcher auf dem Server aber aus statischen und dynamischen Teilen gerendert wurde.



An dieser Stelle würde ich jetzt gerne die relevanten Dateien zum genaueren Verständnis bereit stellen, doch leider existiert in meinem Blog ein Fehler beim Datei hochladen.

An dieser Stelle Quelltext zu veröffentlichen halte ich allerdings für unangebracht. Wenn Interesse daran besteht, kann hier gerne eine Anfrage stellen, auf die ich umgehenst antworten werde.

... link  


... comment