jFellow 

- Ihr Gefährte im Internet-Dschungel

[Home] [ Download ] [Screenshots] [ Kanäle Importieren ] [ Links ] [ Impressum ]
[ FAQ ] [ Eigenschaften ]

Handbuch jFellow 1.1

 
Inhalt

1. Das Arbeitsprinzip von jFellow verstehen
1.1 Einführung
1.2 Was kann überwacht werden? (Quellen)
1.2.1 Webseiten
1.2.1.1 Verfolgen von Verweisen (Spider)
1.2.1.2 Durchklicken durch Webanwendungen
1.2.2 Dateien auf Ftp-Servern
1.2.3 Datenbanken
1.2.4 Dateien auf lokalen Laufwerken oder Netzlaufwerken
1.3 Festlegen von Intervallen, in denen überwacht wird
1.4 Wie werden Änderungen festgestellt? (Suchabfragen)
1.5 Darstellung von Quellen (meist Webseiten)
1.6 Wann Aktionen ausgelöst werden
1.7 Aktionen, die ausgelöst werden können
1.7.1 Audio Clip
1.7.2 Pop Up
1.7.3 Mail
1.7.4 Befehl
1.7.5 Ant Script
1.7.6 Aufrufen eines anderen Kanals (Verkettung von Kanälen)
2. Schritt für Schritt
2.1 Anlegen eines einfachen Kanals
2.2 Verfolgen von Verweisen - Anlegen eines Spider Kanals ohne Vorlage
2.3 Verfolgen von Verweisen - Anlegen eines Spider Kanals mit Vorlage
2.4 Durchklicken einer Webanwendung - Verkettung von Kanälen
2.5 Erstellen einen Kanal Abonnenments
2.6 Die Verwendung von Platzhaltern zum Ersetzen von Kanaleigenschaften wie Suchergebnissen
3. Tips zu regulären Ausdrücken
3.1 Verweise zu Tutorials und Dokumentationen
3.2 Suchen ohne Beachtung der Groß- und Kleinschreibung (case insensitive)
3.3 Suchen über alle Zeilen eines Dokuments
3.4 Platzhalter für beliebige Zeichen
3.5 Suchen bis zum nächsten Auftreten oder bis zum letzten Auftreten ("greedy" und "reluctant")
3.6 Spezielle Zeichen, um reguläre Ausdrücke zu bilden
4. Die Menüs und Dialoge im Detail
4.1 Menü Datei
4.1.1 Öffnen
4.1.2 Sichern
4.1.3 Sichern Als
4.1.4 Exportieren (Dialog)
4.1.5 Importieren (Dialog)
4.1.6 Auffrischen
4.1.7 Drucken
4.1.8 Beenden
4.2 Menü Ansicht
4.2.1 Kanäle
4.2.2 Sortiere Nach
4.2.3 Log Meldungen (Dialog)
4.2.4 Checkbox Kanalname
4.2.5 Checkbox Letzte Aktion
4.2.6 Checkbox Letzte Änderung
4.2.7 Checkbox Letztes Auffrischen
4.2.8 Schließe alle PopUp's
4.3 Menü Einstellungen
4.3.1 Kanäle (Dialog)
4.3.2 Lösche Spider Kanäle (Dialog)
4.3.3 Lösche alle Spider Kanäle
4.3.4 Spiders (Dialog)
4.3.5 Netzwerk (Dialog)
4.3.6 Cookies / Headers (Dialog)
4.3.7 Mail (Dialog)
4.3.8 Log Meldungen (Dialog)
4.3.9 Sprache
4.3.10 Erscheinungsbild (Dialog)
4.3.11 Fehlerbehandlung (Dialog)
4.3.12 Plug-In's (Dialog)
4.4 Menü Tools
4.4.1 Einfacher Http Test (Dialog)
4.4.2 Einfacher Ftp Test (Dialog)
4.4.3 Cookie Editor (Dialog)
4.5 Menü Hilfe
4.5.1 Über (Dialog)
4.5.2 Handbuch (Dialog)
4.5.3 System Info (Dialog)

 
1. Das Arbeitsprinzip von jFellow verstehen

1.1 Einführung

JFellow überwacht Webseiten und meldet Änderungen auf den Seiten.

Es können auch Dateien auf Ftp-Servern, Dateien auf der Festplatte oder auf einem Netzlaufwerk und Datenbanken überwacht werden.

Kurz zur Arbeitsweise.
JFellow lädt die Dateien vom Webserver und führt die Suchabfragen durch. Stellt er Änderungen fest, dann kontrolliert er, ob er Aktionen auslösen soll. Wird beispielsweise auf einer Webseite der Wert "mittel" für die Risikoeinschätzung eines Computervirus gefunden, dann sendet jFellow eine Mitteilung per Mail.

Was ist ein Kanal?
Der Begriff wird häufig in diesem Handbuch auftauchen. Ein Kanal speichert alle notwendigen Informationen, die zur Überwachung einer Webseite notwendig sind: URL, Suchabfragen, Intervall, Aktionen usw.

Das Kapitel "1. Das Arbeitsprinzip von jFellow verstehen" gibt eine Einführung in die Funktionen von jFellow.

Detailierte Ausführungen finden Sie im Kapitel "4. Die Menüs und Dialoge im Detail".

1.2 Was kann überwacht werden? (Quellen)

1.2.1 Webseiten

JFellow kann Dateien auf einem (Http-) Webserver überwachen. Meist sind das Webseiten mit der Endung ".html". Es müssen aber nicht zwangsläufig Html-Seiten sein. Ob XML-Dateien, einfache Textdateien, Hauptsache Text steht drin, damit die Suchabfragen durchgeführt werden können. Die Endung spielt dabei keine Rolle.

Es können URL's (Webadressen wie http://www.faz.net/) mit den Protokollen:
- HTTP und
- HTTPS (Verschlüsselte Kommunikation mit dem Webserver)
überwacht werden.

JFellow kann einen Proxyserver benutzen. Auch eine Authentifizierung bei diesem Server ist möglich. Wenn Sie einen Proxyserver benutzen, dann ist Ihr Computer nicht direkt mit dem Internet verbunden, sondern mit einem anderen Computer in Ihrem Netzwerk. Dieser "Proxy" hat einen Internetzugang und beliefert Ihren Computer mit den angeforderten Webseiten. Das ist häufig in Firmennetzwerken der Fall. Übernehmen Sie in diesem Fall die Proxy Einstellungen Ihres Webbrowser.

Jeder Webseite können Parameter mitgegeben werden. In der URL des Webbrowser sehen Sie dann etwas wie: "http://www.faz.net/faq.html?md=34&xs=4de". Das passiert beispielweise, wenn Sie Webseiten mit einem Webbrowser aufrufen, ein Formular ausfüllen und das Formular abschicken. Oft werden Parameter vom Webserver an den Webserver gesendet, ohne das der Benutzer davon etwas bemerkt. Das gleiche gilt für Cookies. Auch mit denen kann jFellow umgegehen wie ein normaler Webserver.

Manchmal liefert der Webserver nur Seiten aus, wenn er vom Webbrowser bestimmte Zusatzinformationen erhält. Diese Zusatzinformationen nennt man Http-Header (Head = Kopf = Informationen, die der eigentlichen Meldung vorangestellt werden.). Sie sind nicht in der URL zu sehen. Zu dieser Kategorie gehören:
- Http Auth Header: Zur Authentifizierung bei einem Webserver. Ruft man solche Seiten mit einem Webbrowser auf, dann springt ein Fenster auf, das zur Eingabe von Benutzernamen und Passwort auffordert.
- Cookies: Eine Textzeile, die spezielle Informationen enthält.
- Normale Http Header.
Für alle drei Arten gibt es je eine Datei, in der diese Werte bearbeitet werden können. Cookies, die Webserver beim Ausliefern einer Webseite an den Webbrowser (jFellow) senden, werden automatisch in der Cookies-Datei gespeichert (eine der drei Dateien).

Als Http-Header wird auch ein sogenannter "user agent" mit an den Server gesendet. Damit "sagt" ein Webbrowser (auch jFellow) dem Webserver, wer er ist, z.B Netscape Version so und so. Sie können diese Kennung umstellen. Das ist manchmal sogar nötig, denn einige Browser fragen diese Kennung ab und versuchen, die ausgelieferten Webseiten daraufhin anzupassen. Im schlimmsten Fall bekommen Sie gar keine Seite geliefert, sondern nur die Meldung, dass sie diesen oder jenen Browser benutzen sollen. Meist MS Internet Explorer oder Netscape.

1.2.1.1 Verfolgen von Verweisen (Spider)

Auf fast allen Webseiten gibt es Verweise zu anderen Webseiten JFellow kann diese Verweise zu anderen Webseiten analysieren und die dazugehörigen Webseiten aufrufen.

Sie können die URL's (Webadressen) der Verweise filtern. Beispiel: Sie wollen nur Seiten mit "http://www.faz.net" verfolgen, die außerdem die Endung ".html" haben. Die Filter kann man sehr grob und sehr fein einstellen.

Beispiel: Auf der Seite einer Online-Zeitschrift gibt es Verweise zu vielen Artikeln. Sie interessieren sich nur für Artikel, in denen die Wörter "DNS" und "Erbgut" vorkommen. Sie wollen sich die Überschriften der gefundenen Artikel anzeigen lassen und sie gleichzeitig mit einem Link unterlegen, d.h. wenn Sie auf die Überschrift klicken, wird Ihr Webbrowser gestartet und öffnet den Artikel.

Webseiten, die über das Verfolgen von Verweisen gefunden wurden, werden wiederum Verweise zu anderen Webseiten haben. Auch diese können Sie verfolgen usw.

Sie haben dabei zwei Möglichkeiten:
1. Sie verfolgen nur Verweise auf den gefundenen Seiten. In unserem Beispiel oben sind das nur die Seiten, in denen die Wörter "DNS" und "Erbgut" vorkommen.
2. Sie verfolgen auf allen Webseiten die Verweise, also auch auf den Webseiten, in denen die Wörter "DNS" und "Erbgut" nicht vorkommen.

Sie können auch entscheiden, ob die Anzeige eines Artikels automatisch gelöscht werden soll, wenn es keinen Verweis mehr auf ihn gibt.
1. Automatischen Löschen, wenn es keinen Verweis mehr auf den Artikel gibt. So haben Sie immer nur die aktuellen Artikel.
2. Manuelles Löschen der Artikel. Diese Funktion ist besonders dann sinnvoll, wenn Sie den Artikel eine Weile überwachen wollen, da Sie glauben, dass sich bestimmte Angaben darin ändern könnten. Beispiel: Der Artikel zeigt nicht Seiten mit "DNS" und "Erbgut", sondern eine Computer-Virenbeschreibung an. Es interessiert Sie, ob im Laufe der nächsten Tage das Risiko des Virus anders eingeschätzt wird oder er sich rasend schnell ausbreitet.

1.2.1.2 Durchklicken durch Webanwendungen

Einige Webseiten kann man nicht einfach über eine URL (Adresse) aufrufen. Um auf sie zu gelangen, müssen andere Webseiten zuvor aufgerufen werden, beispielsweise ein Loginseite, Seiten, auf denen Formulare ausgefüllt werden müssen usw.

Beispiele: Webmail, Download der aktuellen Java-Version, Weborganizer usw. Bei den meisten Banken kann man sogar über das Internetbanking Kontostände abfragen. Ja, auch das ist möglich, allerdings etwas aufwändiger und nicht unbedingt zu empfehlen, da sie im Kanal Ihre Zugangskennung speichern müssen.

Wie funktioniert das?
Für diese Funktion gibt es ein Beispiel im Kapitel "2. Schritt für Schritt". Auch in der ausführlichen Beschreibung der Menüs und Dialoge geht das Handbuch näher auf diesen Punkt ein.

Hier nur so viel: JFellow hat die Möglichkeit
- in einem Kanal URL's (Adressen) hintereinander aufzurufen,
- einen Kanal durch einen anderen Kanal aufrufen zu lassen.
Die zweite Möglichkeit ist meist nur dann erforderlich, wenn sich die Werte der Parameter in einem Formular ändern.

Anmerkung: In einem Kanal speichert jFellow alle Informationen, die zur Überwachung einer Webseite nötig sind.

1.2.2 Dateien auf Ftp-Servern

JFellow kann Dateien, die auf Ftp-Servern liegen überwachen.

Analog zu den Http-Abfragen kann auch hier ein Proxy-Server verwendet werden.

1.2.3 Datenbanken

JFellow kann Datenbanken abfragen und die Antwort auswerten.

Die Datenbanken können über das Internet erreicht werden.

MySQL-Datenbanken können ohne extra Vorbereitung abgefragt werden. Andere Datenbanken lassen sich ebenfalls abfragen. Dazu sind jedoch einige Handgriffe erforderlich. Sie müssen die nötigen Datenbanktreiber in den Java-Klassen-Pfad aufnehmen (java class path).

1.2.4 Dateien auf lokalen Laufwerken oder Netzlaufwerken

JFellow kann Dateien überwachen, die auf der eigenen Festplatte liegen oder auf einem Netzlaufwerk.

1.3 Festlegen von Intervallen, in denen überwacht wird

Sie können für jede einzelne Webseite (oder andere Quelle) ein Prüfintervall festlegen. Sie können auch ein globales Intervall festlegen und alle Webseiten zusammen prüfen lassen.

1.4 Wie werden Änderungen festgestellt? (Suchabfragen)

JFellow kann eine oder beliebig viele Stellen auf einer Webseite prüfen.

Zu diesem Zweck können Suchabfragen verwendet werden - für jede Stelle eine Suchabfrage. Die Stellen im Text können beliebig lang sein. Sie könnnen aus nur einem einzelnen Zeichen bestehen, Wörter umfassen oder die ganze Datei auf einmal.

Jede Suchabfrage durchsucht die gesamte Seite (Datei) von vorne bis hinten.

Eine Suchabfrage kann auch mehrere Treffer haben. Sie können festlegen, welche Stelle gefunden werden soll:
- nur der erste Treffer,
- alle Treffer,
- von bis (2. bis 5. Treffer),
- frei wählbar wie von Druckerdialogen gewohnt, also "2,4-6,8".

Die Suchergebnisse werden später wiederverwendet:
- In der Ansicht des Kanals,
- Um zu entscheiden, wann die Aktionen eines Kanals ausgelöst werden,
- Im Text der Mail, als Argumente für einen Befehl,..
(Anmerkung: Ein Kanal beinhaltet alle Informationen zu einer überwachten Webseite)

Ein einfaches Beispiel:
Auf einer Webseite wird das morgige Wetter vorhergesagt. Auf der Seite findet sich die Zeile:
"Das Wetter morgen. Temperatur: 22 Grad, Bewölkung: sonnig."

Wir interessieren uns nur für die Temperatur. (Welche Überraschung!). JFellow bietet zwei Möglichkeiten eine Stelle im Text zu finden:

1. Zwischen zwei Ausdrücken.
Beispiel: Ausdruck 1 = "Temperatur:", Ausdruck 2 = "Grad".
Die Ausdrücke können auch in das Suchergebnis mit eingschlossen werden. Damit finden wir den Text:
- " 22 " oder
- "Temperatur: 22 Grad", wenn die Ausdrücke mit eingeschlossen werden.

2. Als regulären Ausdruck.
Hmm, was ist ein regulärer Ausdruck?
Reguläre Ausdrücke sind Muster nach denen gesucht werden kann. "Hallo" ist auch ein regulärer Ausdruck, der genau nach dem Wort "Hallo" sucht. Man könnte auch "H.llo" notieren. Das würde "Hullo" und "Hollo" ebenfalls finden. Man könnte auch"\b\w{5}\b" notieren. Auch dieser Audruck findet "Hallo". Das reicht an dieser Stelle. Kurzum, reguläre Ausdrücke sind ein sehr mächtiges Instrument. Man könnte eine Weltmeisterschaft mit ihnen austragen.

Um bei unserem Beispiel mit den "22 Grad" zu bleiben. Wir könnten nach:
- "22" suchen. Das würde uns nicht viel nützen, denn es wird nicht immer 22 Grad bleiben.
- Besser, wir suchen nach ".\d{1,2}". "." findet ein beliebiges Zeichen, also auch ein "-", falls es einmal frieren sollte. Nach dem beliebigen Zeichen müssen ein oder zwei Ziffern von "0" bis "9" folgen. Der Ausdruck würde Temperaturen von "-99" bis " 99" Grad finden.

Auch bei Suchabfragen zwischen zwei Ausdrücken, können reguläre Ausdrücke verwendet werden. Das ist oft sinnvoll. Wollen Sie keine regulären Ausdrücke verwenden, ist eine einfache und meist gangbare Variante die folgende: Sie kopieren einfach den Text vor und hinter der gesuchten Stelle "22" aus dem Quelltext der Webseite. Den Quelltext der Webseite bekommen Sie mit jedem Browser angezeigt. Sie können auch ein kleines Zusatzprogramm von jFellow benutzen: Menü "Hilfe", "Einfacher Http Test". Dort werden zusätzlich die oben erwähnten Http Header angezeigt, die vom Webserver als Zusatzinformation mitgeliefert werden (Cookies, Infos über den Webserver usw.)

Mehr Informationen zu regulären Ausdrücken finden in den Dokumentationen und Tutorials unter Links und im Kapitel "3. Tips zu regulären Ausdrücken".

1.5 Darstellung von Quellen (meist Webseiten)

JFellow kann seine Kanäle darstellen. Sie erinnern sich, jFellow speichert alle Informationen zur Überwachung einer Webseite in einem Kanal.

Die Darstellung erfolgt im Hauptfenster von jFellow. Das Erscheinungsbild des Haupfensters kann auf verschiedene Weise beeinflußt werden:
- Aus- und Einblenden von Kanalname,
- Aus- und Einblenden der Zeit der letzten Aktion,
- Aus- und Einblenden der Zeit der letzten Änderung,
- Aus- und Einblenden der Zeit des letzten Aktualisierens,
- Hintergrundfarbe,
- Farben der Texte für Kanalname und Zeiten.
Ausgeblendete Werte (Kanalname und Zeiten) erscheinen beim Überfahren mit der Maus in einem ToolTip. Das ist ein kleines Fenster, das nach kurzer Zeit wieder verschwindet.

Die Kanäle (überwachten Webseiten) können sortiert werden nach:
- Namen,
- Zeit der letzten Aktion,
- Zeit der letzten Änderung,
- Zeit des letzten Aktualisierens.

Die Darstellung eines Kanals kann aus- und eingeblendet werden.

Die Darstellung kann in einfachem Text (text/plain) oder in Html (text/html) erfolgen. Mit Html können Sie Tabellen benutzen, Bilder einbinden, Verweise darstellen, deren Webseiten im Standardbrowser ihres Systems geöffnet werden können usw.

Beispiel von oben mit der Temperatur:
Auf einer Webseite findet sich die Zeile: "Das Wetter morgen. Temperatur: 22 Grad, Bewölkung: sonnig." Sie brauchen von der Webseite nur die "22". Die "22" wollen Sie mit eigenem Text "vermischt" in blau darstellen. Beispiel: "München morgen 22 Grad".

Wie funktioniert das?
- Das Ergebnis der Suchabfrage ist "22", siehe oben.
- Das Ergebnis der ersten Suchabfrage kann mit dem Platzhalter "{r1}" in den Text der Ansicht eingefügt werden.
- Wenn sie "München morgen {r1} Grad" notieren, erhalten Sie beim Ausführen des Kanals "München morgen 22 Grad".
- Sie können den Text mit Html-Tags versehen, um ihn blau darzustellen "<font color="blue">München morgen 22 Grad</font>".

Sie können auch andere Eigenschaften des Kanals ersetzen lassen, nicht nur die Ergebnisse der Suchabfragen. Dazu gibt es ein extra Kapitel.

1.6 Wann Aktionen ausgelöst werden

Wie Suchabfragen gebildet werden, wurde weiter oben demonstriert.

Zum Auslösen von Aktionen werden die Ergebnisse der Suchabfragen herangezogen.

1. Die Ergebnisse können sich von Aktualisieren (Prüfen) zu Aktualisieren der Webseite ändern. Das Ergebnis der jetzigen Aktualisierung wird mit dem Ergebnis der vorangegangenen Aktualisierung verglichen. Es kann eine Aktion ausgelöst werden, wenn:
- das jetzige Ergebnis ungleich dem vorherigen ist, also nicht "22",
- gleich ist, z.B. "22",
- eine Zahl ist und jetzt größer als "22" geworden ist,
- eine Zahl ist und jetzt kleiner oder gleich "22" geworden ist,
- usw.

2. Die Ergebnisse können mit einem festen Wert verglichen werden. Die Aktionen können ausgelöst werden, wenn:
- Das Ergebnis gleich einem (regulären) Ausdruck ist, z.B. "22" oder "\d{1,2}", also ein oder zwei Ziffern von "0" bis "9" hintereinander.
- Das Ergebnis ungleich einem (regulären) Ausdruck ist,
- Das Ergebnis größer einer Zahl ist, Beispiel "20",
- Das Ergebnis kleiner gleich einer Zahl ist,
- usw.

Die Ergebnisse der Suchabfragen eines Kanals können untereinander verglichen werden. Beispiel: Auf einer Webseite stehen die Temperaturen von verschiedenen Orten. Sie fragen die Temperaturen vom Starnberger See und vom Tegernsee ab. Ist es im Starnberger See wärmer, dann wird dies gemeldet. Dann fahren Sie eben diesmal mit Ihrem Badehanduch an den Starnberger See.

Jede Suchabfrage kann die Aktionen auslösen.

Suchabfragen können vom Auslösen ausgeschlossen werden.

Verknüpfung von Suchabfragen mit der "UND"-Bedingung sind möglich, d.h. alle Suchabfragen müssten auslösen, damit die Aktionen des Kanals ausgeführt werden. Wenn die Wassertemperaturen im Starnberger See und im Tegernsee unter 20 Grad sind, dann fahren Sie zum Wandern in die Alpen.

Darüber hinaus kann jeder Treffer einer Suchabfrage kann verglichen werden. Wir erinnern uns: Eine Suchabfrage kann mehr als einen Treffer erzeugen. Jeder dieser Treffer kann mit den obigen Methoden verglichen werden. Auch Mehrfachtreffer einer Suchabfrage können mit der "UND"-Bedingung verknüpft werde. Sie sehen, es gibt viele Möglichkeiten. Entsprechend kompliziert sieht der Dialog dazu aus.

Entweder alle Aktionen eines Kanals werden ausgelöst oder keine. Es ist nicht möglich, dass ein Sound abgespielt wird, die Mail aber nicht gesendet wird.

1.7 Aktionen, die ausgelöst werden können

1.7.1 Audio Clip

Sie können einen Audio Clip (Sound) abspielen lassen. Der Audio Clip kann auch von einem Webserver geladen werden.

1.7.2 Pop Up

Sie können ein PopUp-Fenster öffnen lassen. In diesem Fenster steht der gleiche Text, der für die Darstellung des Kanals festgelegt wurde.

Wurde als Aktion ein Befehl oder ein Ant Script ausgeführt, dann wird unten eine Liste der Protokolldateien angehängt.

Tip: Alle PopUp's können zusammen geschlossen werden: Menü "Ansicht", "Schließe alle PopUp's".

Jede überwachte Webseite (Kanal) kann nur einen PopUp auf haben. PopUp's vorheriger Aktualisierungen der Seite werden automatisch geschlossen.

Die PopUp's tragen einen Datums-/ Zeitstempel.

1.7.3 Mail

Sie können eine Mail versenden. Im Mailtext können Sie, wie in der Ansicht beschrieben, die Ergebnisse von Suchabfragen mit Platzhaltern verwenden. Sie können auch andere Eigenschaften des Kanals ersetzen lassen. Dazu gibt es ein extra Kapitel.

Sie können den Text der Mail in Html formatieren. JFellow durchsucht vor dem Absenden der Mail den Mailtext nach Html-Formatierungen. Findet er welche, dann sendet er die Mail als Html-Nachricht. Das Mailprogramm, dass die Mail empfängt, erkennt die Nachricht als in Html formatiert und stellt sie entsprechend dar.

Sie haben die Möglichkeit, in einem gesonderten Dialog globale Maileinstellungen festzulegen. Diese Maileinstellungen können per Klick in den Maileinstellungen eines Kanals übernommen werden. Das spart Tipparbeit.

Die Authentifizierung bei einem SMTP-Server wird unterstützt. Ein SMTP-Server ist der Computer im Internet, an den Sie Ihre Mail verschicken. Authentifizierung bedeutet hier, dass der Server nur Mails mit einem Benutzernamen und Passwort entgegen nimmt.

1.7.4 Befehl

Sie können einen beliebigen Befehl ausführen lassen.

Wie in der Darstellung eines Kanals, können Platzhalter für die Ergebnisse von Suchabfragen verwendet werden, z.B. "{r1}" für das Ergebnis der ersten Suchabfrage eines Kanals. Sie können auch andere Eigenschaften des Kanals ersetzen lassen. Dazu gibt es ein extra Kapitel.

Beispiele:
- Starten eines Browsers, der eine bestimmte Webseite anzeigt. Sagen wir, das Ergebnis der ersten Suchabfrage ist "http://www.faz.net". Dann wird "netscape {r1}" ergänzt zu "netscape http://www.faz.net". Netscape startet und öffnet die Webseite der Frankfurter Allgemeinen Zeitung.
- "netsend ..." würde unter Windows eine Meldung im Netzwerk verschicken.

Sie können jFellow auf die Ausführung des Befehls warten lassen.

Hintergrund: JFellow wird dadurch blockiert (läuft nicht weiter). Das hätte zur Folge, dass jFellow mit seinen Aktionen erst fortfährt, wenn der Browser Netscape wieder geschlossen wird. Das hört sich zunächst nicht gut an, hat aber für andere Arten von Befehlen wie dem erwähnten "netsend" einen großen Vorteil. Jedes Programm "verabschiedet" sich beim Beenden durch einen Return Code. Das ist eine Zahl. Mit dieser Zahl meldet das Programm dem aufrufenden Programm, hier jFellow, ob es irgendwelche besonderen Vorkommnisse gab, z.B. Fehler, oder ob die Ausführung erfolgreich war. Meldet das Programm, beispielsweise "netsend", beim Beenden eine Fehler, dann kann jFellow darauf reagieren. In diesem Fall kann er Ihnen die Fehlermeldung weitergeben. Sie sollten darum sorgfältig entscheiden, ob Sie jFellow warten lassen wollen oder nicht.

JFellow protokolliert die Meldungen, die ein aufgerufenes Programm ausgibt.

Hintergrund: Programme geben mehr oder weniger viele Meldungen aus. Sie können dies verfolgen, indem Sie ein Programm in der Konsole starten. Dazu benutzen Programme einen Kanal für Fehlermeldungen (stderr) und einen für normale Meldungen (stdout). Diese Kanäle hört jFellow ab und schreibt sie in Protokolldateien. Für jeden Kanal legt er eigene Dateien an, damit die Ausgaben nicht unübersichtlich werden.

Tip: Sie werden wissen wollen, welche Protokolldateien geschrieben wurden. Sie bekommen die Namen und die Verzeichnisse der Protokolldateien am einfachsten heraus, indem Sie als Aktion beim Testen den PopUp ausführen lassen. Dort finden Sie eine Liste der geschriebenen Protokolldateien.

1.7.5 Ant Script

Was ist ein Ant Script? Lesen Sie bitte dazu in den FAQ's nach. In den Links finden Sie die offizielle Dokumentation von Ant.

JFellow kann auf die Ausführung des Ant Scriptes warten und die Meldungen des Scriptes protokollieren. Lesen Sie dazu bitte die Beschreibungen für die Aktion "Befehl" weiter oben.

Analog zu der Aktion "Befehl" können Platzhalter verwendet werden.

Das Ant Script muss nicht auf der eigenen Festplatte oder auf einem Netzlaufwerk liegen. Es kann auch von einem Webserver geladen werden. Auf diese Weise können Ant Scripte zentral für alle Benutzer verwaltet werden. Jeder Benutzer hat immer die aktuellste Version.

1.7.6 Aufrufen eines anderen Kanals (Verkettung von Kanälen)

Ein Kanal kann als Aktion einen anderen Kanal aufrufen.

Ein aufgerufener Kanal kann wiederum einen Kanal aufrufen.

Der aufgerufenen Kanal "kennt" alle Eigenschaften des aufrufenden Kanals, seine Ergebnisse, seine URL usw. Auf diese Weise kennt er beispielsweise auch die Werte von Formularen des aufrufenden Kanals (der vorherigen Seite). Abhängig von den Ergebnissen des aufrufenden Kanals kann er also seine Aktionen durchführen, ja die Ergebnisse des aufrufenden Kanals können sogar die Webseite (URL) bestimmen, die er überwacht.

Kanäle, die sich aufrufen lassen, sind besondere Kanäle. Sie können sich nicht selbst aktualisieren, sondern sind darauf angewiesen von anderen Kanälen aufgerufen zu werden.

2. Schritt für Schritt

2.1 Anlegen eines einfachen Kanals

Diese Beispiel demonstriert das Anlegen eines einfachen Kanals.

Der Kanal zeigt die Temperaturen in München von heute und morgen an. Ändert sich eine der beiden Temperaturen, dann spielt er einen Standard Sound. Die Temperaturen stammen aus der Neuen Züricher Zeitung "http://www.nzz.ch/wetter/wetterausland.html"

Sie müssen den Kanal nicht Schritt für Schritt anlegen. Sie können ihn fertig importieren. Benutzen Sie dazu den Dialog "Importieren" im Menü "Datei". Kopieren Sie einfach die folgende URL in das Textfeld und drücken Sie "OK".
URL: "http://www.jfellow.net/de/searches/handbuch_beispiel_temperatur.props".
Um den Kanal anschauen zu können, öffnen Sie den Dialog "Kanäle" im Menü "Einstellungen".

Neuen Kanal anlegen

Öffnen Sie den Dialog "Einstellungen", "Kanäle".

Neuen Kanal anlegen

Klicken Sie den Button "Neu" unterhalb der Liste "Kanalname". Ein Dialog öffnet sich. Geben Sie einen Namen ein "Handbuch Beispiel Temperatur". Schließen Sie den Dialog mit "OK".

Webseite wählen

Der Kanal soll eine Webseite überwachen. Klicken Sie auf die Karteikarte "URL" und in dieser Karteikarte die Karteikarte "Http".

Wählen Sie in der Radio-Button-Leiste "Http/Https", wenn die Eingabefelder deaktiviert sein sollten.

Klicken Sie "Neu" neben der Liste "URL's". Unter der Liste "URL's" wird das Textfeld teilausgefüllt mit "http://www.". Bearbeiten Sie diese URL. Geben Sie dort "http://www.nzz.ch/wetter/wetterausland.html" ein.

Anmerkungen: Auch das Protokoll "https" wäre möglich. Bei Bedarf kann man hier beliebig viele URL's hinzufügen. Nur die letzte URL wird überwacht. In den meisten Fällen werden Sie nur eine einzige URL benötigen. Sie könnten Parameter mitgeben.

Suchabfragen festlegen

Öffnen Sie die Karteikarte "Suchen" und legen Sie zwei Suchabfragen für die Temperaturen an.

Anmerkung: Schauen Sie in den Quelltext der Html-Seite. Benutzen Sie entweder dazu Ihren Webbrowser oder das Hilfsprogramm "Einfacher Http Test" im Menü "Hilfe".

Anmerkung: Die Suchabfragen werden immer im Html-Quelltext einer Webseite durchgeführt.

Drücken Sie den Button "Neu".
Suchabfrage Nummer 1 für die aktuelle Tagestemperatur:
- Aktivieren Sie die Checkbox "Zwischen zwei regulären Ausdrücken".
- Ausdruck 1: "M&uuml;nchen</B></TD>\s*<TD class="C9">(&nbsp;)*"
- Ausdruck 2: "&nbsp;"

Drücken Sie den Button "Neu".
Suchabfrage Nummer 2 für die morgige Tagestemperatur:
- Aktivieren Sie die Checkbox "Zwischen zwei regulären Ausdrücken".
- Ausdruck 1: "M&uuml;nchen</B></TD>\s*<TD class="C9">.*</TD>\s*<TD class="C9">(&nbsp;)*"
- Ausdruck 2: "&nbsp;"

Anmerkung: Der reguläre Ausdruck "M&uuml;nchen</B></TD>\s*<TD class="C9">(&nbsp;)*" sucht nach Text mit:
- "M&uuml;nchen</B></TD>" gefolgt von
- keinem oder beliebig vielen Zeilenumbrüchen: "\s*". "\s*" steht hier für einen Zeilenumbruch, der kein Mal vorkommen muss oder beliebieg oft vorkommen kann. "\s*" steht auch für Leerzeichen, Tabulatoren usw., sogenannte Steuerzeichen. Gefolgt von
- "<TD class="C9">" gefolgt von
- "(&nbsp;)*" die Zeichenkette "&nbsp;" keinmal oder beliebig oft. "&nbsp;" ist in Html-Dokumenten ein Leezeichen, ein "non breaking space".

Aktualisierungsintervall festlegen

Öffen Sie die Karteikarte "Intervall" und geben Sie ein Intervall ein, mit dem der Kanal aufgefrischt werden soll. Sie können über die Karteikarte auch ein globales Intervall festlegen und alle Kanäle auf einmal auffrischen.

Ansicht festlegen

Öffnen Sie die Karteikarte "Ansicht". Geben Sie dort einen Text im oberen Textfeld ein, den Sie später im Hauptfenster sehen wollen.
Geben Sie hier ein:
"<font color="green">Temperatur M&uuml;nchen</font>< Heute: <b>{r1}</b> und morgen: <b>{r2}</b>."

Aktivieren Sie die Checkbox "Benutze Html".

Der Kanal wird dann später so aussehen:

Temperatur München
Heute: 22 und morgen: 23.

Anmerkung: Für die Platzhalter "{r1}" und "{r2}" werden die Suchergebnisse der ersten und der zweiten Suchabfrage eingesetzt, also die heutige und die morgige Temperatur in München. Sie könnten auch andere Kanaleigenschaften ersetzten lassen.

Ansicht testen

Drücken Sie Test. JFellow lädt die Webseite und führt die Suchabfragen aus. Sie sehen jetzt im Testfeld unten, wie die Ausgabe des Kanals später im Hauptfenster aussehen wird. Tretten beim Testen Fehler auf, werden diese in einem Pop-Up-Fenster angezeigt.

Für mehrfache Treffer pro Suche könnten Sie einen Separator angeben, der zwischen den Treffern eingefügt wird.

Aktionen auslösen

Öffnen Sie die Karteikarte "Auslöser" und legen Sie fest, welche Suche, wann die Aktionen auslösen soll. Behalten Sie einfach die Standardeinstellungen bei. Keine der beiden Suchabfragen wird vom Auslösen der Aktionen ausgeschlossen. Beide Suchabfragen lösen die Aktionen aus, wenn sich ihr Suchergebnis ändert (Temperatur).

Anmerkung: Im Rahmen "Ergebnis Test" ganz unten können sie die Ergebnisse der ersten und der zweiten Suchabfrage ansehen. Wählen Sie dazu eine Suchabfrage aus der Liste "Suche" oben aus. Vorher müssen Sie den Button "Test" gedrückt haben.

Aktionen auswählen

Öffnen Sie die Karteikarte "Aktionen" und legen Sie fest, welche Aktionen ausgeführt werden sollen. Aktivieren Sie die Checkbox "Sound". Bleibt das Textfeld rechts neben der Checkbox leer, dann wird ein Standard-Sound abgespielt.

Sie könnten eine lokale Datei abspielen oder eine Datei, die auf einem Webserver liegt.

Aktivieren Sie auch die Checkbox "Pop Up".

Aktionen testen

Achtung: Wenn Sie der Anleitung genau gefolgt sind, dann wird ein nochmaliges Drücken des Buttons "Test" keinen Sound abspielen und auch keinen Pop Up öffnen, es sei denn, eine der beiden Temperaturen hat sich in der Zwischenzeit geändert. Um die Aktionen zu testen, verstellen Sie kurzzeitig den Auslöser in der Karteikarte "Auslöser". Aktivieren Sie die Checkbox "Gleicht dem letzten Ergebnis".

VERGESSEN SIE NICHT, nach dem Testen wieder die Checkbox "GLEICHT NICHT DEM LETZTEN ERGEBNIS" zu aktivieren.

2.2 Verfolgen von Verweisen - Anlegen eines Spider Kanals ohne Vorlage

TODO: xxx

So lange es keine ausführliche Beschreibung gibt, importieren Sie bitte folgendes Beipiel:
http://www.jfellow.net/de/searches/mcafee_threads_excluding_low_spider_without_using_template.props
Lesen Sie als kleine Einführung dazu den Text unter.

2.3 Verfolgen von Verweisen - Anlegen eines Spider Kanals mit Vorlage

TODO: xxx

So lange es keine ausführliche Beschreibung gibt, importieren Sie bitte folgendes Beipiel:
http://www.jfellow.net/de/searches/mcafee_threads_including_low_spider_using_template.props
Lesen Sie als kleine Einführung dazu den Text unter.

2.4 Durchklicken einer Webanwendung - Verkettung von Kanälen

TODO: xxx

So lange es keine ausführliche Beschreibung gibt, importieren Sie bitte folgendes Beipiel:
http://www.jfellow.net/de/searches/j2se.props
Lesen Sie als kleine Einführung dazu den Text unter.

2.5 Erstellen einen Kanal Abonnenments

Abonnements fassen ein oder mehrere überwachte Webseiten zusammen.

Alles, was der Kunde machen muss, ist einmal einen Kanal zu importieren, beispielsweise über einen Link auf einer Webseite. Ab diesem Zeitpunkt geschieht alles für den Kunden automatisch. JFellow kontrolliert regelmäßig, ob die Kanäle des Abos erneuert werden müssen. Wenn ja, dann importiert jFellow die neuen Kanäle. Dabei können Kanäle neu angelegt werden, vorhandene Kanäle überschrieben (geändert) werden und vorhandene Kanäle gelöscht werden. Sollen Kanäle auf diese Weise überschrieben oder gelöscht werden, dann müssen die Kanalnamen identisch sein.
Wie werden Autoimporte angelegt?
Das geht recht einfach.
1. Anlegen einer Datei (beispielsweise "mychannels_export.props"), die alle Kanäle des Abonnements beinhaltet. Sie können eine oder mehrere Kanäle zusammen exportieren, indem Sie den Dialog im Menü "Datei", "Exportieren" verwenden. Siehe Export von Kanälen. Die Datei wird auf einem Webserver abgelegt.
2. Anlegen eines Ant Scripts ("mychannel_import.xml"), das die Datei ("mychannels_export.txt") vom Webserver lädt und in ein spezielles Importverzeichnis ("{user.home}/.jfellow/imports") von jFellow ablegt. Das Ant Script kann von Beispielen auf der Webseite von jFellow kopiert und bearbeitet werden.
3. Anlegen eines Kanal, der als Aktion das "remote" Ant Script ("mychannel_import.xml") ausführt. Er kann beispielsweise auf einer Webseite eine Versionsnummer prüfen. Ändert sich diese, dann lädt er das Ant Script vom Webserver und führt das Ant Script aus. Wie oben beschrieben, lädt das Ant Script die Exportdatei "mychannels_export.txt" vom Webserver und speichert sie in das Importverzeichnis.
4. JFellow "bemerkt" die Datei in seinem Importverzeichnis und importiert die Kanäle darin.

Sehen Sie sich bitte auch folgendes Beipiel an, dss Sie mit der folgenden URL importieren können:
http://www.jfellow.net/de/searches/security_abbo_trigger.props
Lesen Sie als kleine Einführung dazu den Text unter.

2.6 Die Verwendung von Platzhaltern zum Ersetzen von Kanaleigenschaften wie Suchergebnissen

Wie in den Screenshots und Beschreibungen zu Kanalansichten, Aktion "Mail", Aktion "Befehl" usw. demonstriert, können in einem Text bestimmte Platzhalter benutzt werden, die von jFellow beim Ausführen des Kanals durch Werte ersetzt werden.

Synthax:
Die Platzhalter verwenden immer geschweifte Klammern "{", "}".
Beispiel: "{r2}" für das Ergebnis der zweiten Suchabfrage eines Kanals.

Es gibt einen "Spielkanal" zum ausprobieren:
- http://www.jfellow.net/de/searches/play_with_spiders.props
Der Kanal verfolgt Links zwei Ebenen tief. Es werden sehr viele Links geladen. Mit einem DSL-Anschluß dauert die Ausführung des Kanals ca. 2 Minuten.
Die Platzhalter (Ersetzungen) können auch kombiniert werden. Beispiel: "{url.auto_complete}{caller.r.r1}"

Welche Werte werden ersetzt?
- Eigenschaften und Ergebnisse des eigenen Kanals Beispiel: "{r1}" setzt des Ergebnis der ersten Suchabfrage ein, "{url_http_1}" setzt die erste (meist einzige) URL eines Kanals ein. Eine Liste von möglichen Werten findet sich weiter unten.
- Eigenschaften und Ergebnisse des aufrufenden Kanals Beispiel: "{caller.r.r1}" setzt des Ergebnis der ersten Suchabfrage des aufrufenden Kanals ein, "{caller.url_http_1}" setzt die erste (meist einzige) URL des aufrufenden Kanals ein. Eine einfache Variante, alle möglichen Werte des aufrufenden Kanals im aufgerufenen Kanal herauszubekommen, bietet die Liste "Aufrufender Kanal" im Dialog Menü "Einstellungen", "Kanäle", Karteikarte "Aktionen". Vorher muss der aufrufende Kanal getestet werden und auch der Test des aufrufenden Kanals erfolgreich verlaufen.
- System Properties Beispiel: "{user.home}". Alle möglichen Werte finden Sie im Dialog im Menü "Hilfe", "System Infos". Das sind Werte für die Java-Version, das Betriebssystem, Name des angemeldeten Benutzers,...
- Timestamp Beispiel: "time.stamp", "{time.stamp}"
- Netzwerk Interfaces Beispiel: "network.interfaces", "{network.interfaces}". Setzt detaillierte Angaben zur Netzwerkkarte und den Netzwerkverbindungen ein.
- "{url.auto_complete}" "{url.auto_complete}" ergänzt relative URL's wie:
"doku.html",
"/doku.html",
"./doku.html",
"../../doku.html"
zu absoluten URL's wie "http://www.blah.org/de/doku.html".
Beispiel: Im Text "Die absolute URL ist: {url.auto_complete}/doku.html" wird in der Ansicht, der Mail usw. zu "http://www.blah.org/de/doku.html", wenn die URL des Kanals beispielsweise "http://www.blah.org/de/index.html" ist. Der Kanal "kennt" das Verzeichnis seiner URL auf dem Webserver "http://www.blah.org/de/" Bei Ersetzungen mit "{url.auto_complete}" versucht er dieses Verzeichnis anzufügen. Dieses Verhalten ist sehr praktisch, da aus relativen URL's absolute produziert werden können. JFellow macht sich diese Funktion an vielen Stellen zu Nutze, so zum Beispiel beim Verfolgen von Verweisen (Spider), denn Verweise auf Webseiten können absolut und relativ sein.
Steht "{url.auto_complete}" alleine (vorn und hinten Leerzeichen), dann wird die absolute URL des Kanals eingesetzt. Bei aufgerufenen Kanälen (Aktion "Kanal") und bei Spider-Kanälen, die durch eine Vorlage überschrieben werden, funktioniert es sogar bei der Angabe der Http-URL des Kanals.
Tip: Man kann auch Suchresultate hintenanstellen. Beispiel:
- "{url.auto_complete}{r2}", wobei "{r2}" das Ergebnis der zweiten Suchabfrage des Kanals ist und beispielsweise "download.html" sein könnte. Beim Java Download würde sich beispielsweise "http://java.sun.com/j2se/1.4.1/download.html" ergeben können,
- "{caller.url.auto_complete}{caller.r.r2}" Siehe Beispiel des Java-Downloads. Hier benutzt ein Kanal, der von einem anderen Kanal aufgerufen wurde, die Eigenschaften und Ergebnisse des aufrufenden Kanals.
- URL's, Namen bei Spiderkanälen
Die Kette der aufrufenden Kanäle:
"callers_name": Name des aufrufenden Kanals
"callers_as_text_html": Namen der Kanäle, die den Kanal aufgerufen haben in Html formatiert, jeder Name in einer Zeile
"callers_as_text_plain": Namen der Kanäle, die den Kanal aufgerufen haben, jeder Name in einer Zeile
"callers_urls_as_text_one_line": Die URL's aller Kanäle, die den Kanal aufgerufen haben nur durch Leerzeichen getrennt.
"callers_urls_as_text_html": URL's der Kanäle, die den Kanal aufgerufen haben in Html formatiert, jede URL in einer Zeile
"callers_urls_as_text_plain": URL's der Kanäle, die den Kanal aufgerufen haben in Html formatiert, jede URL in einer Zeile
Alle aufgerufenen Kanale (nur Links der eigenen Webseite):
"called_urls_count": Anzahl der aufgerufenen Kanäle
"called_urls_as_text_one_line": Alle aufgerufenen URL's in einer Zeile
"called_urls_as_text_plain": Alle aufgerufenen URL's unformatiert, jede URL in einer Zeile
"called_urls_as_text_html": Alle aufgerufenen URL's in Html, jede URL in einer Zeile

Wo können die Ersetzungen vorgenommen werden?
- Ansicht (PopUp), Mail,
- Befehl, Ant Script
- URL's und deren Parameter
- Vergleich mit festen Werten beim Auslösen von Aktionen

Auswahl einiger Eigenschaften eines Kanals
Anwendung: {url_http_full_path} würde durch "http://www.java.sun.com/index.html" ersetzt werden, wenn der Kanal diese URL überwacht.
- {name}: Name des Kanals
- {url_http_full_path}: Http URL wie "http://www.java.sun.com/index.html"
- {url_http_base_path}: Verzeichnis auf Webserver "http://www.java.sun.com/"
- {url_ftp}: Ftp URL wie "ftp.myftpserver.com/threads/current.html"
- {url_jdbc}: Jdbc URL wie "jdbc:mysql://194.35.46.1/jellow" (Datenbank)
- {url_file}: Lokale URL wie: "file:\c:\dokumente\wichtig.txt"

3. Tips zu regulären Ausdrücken

3.1 Verweise zu Tutorials und Dokumentationen

In diesem Handbuch werden nur Tips zum Umgang mit regulären Ausdrücken gegeben. Sie beantworten Fragen, die immer wieder auftauchen.

Eine Referenz und ein Tutorial finden Sie unter Links.

3.2 Suchen ohne Beachtung der Groß- und Kleinschreibung (case insensitive)

"(?i)" muss am Anfang des regulären Ausdrucks stehen.

3.3 Suchen über alle Zeilen eines Dokuments

"(?s)" muss am Anfang des regulären Ausdrucks stehen.

Steht "(?s)" am Anfang des regulären Ausdrucks, dann schließt "." (ein beliebiges Zeichen) Zeilenumbrüche mit ein.

Steht "(?s)" NICHT am Anfang des regulären Ausdrucks, dann schließt "." Zeilenumbrüche nicht mit ein. Der reguläre Ausdruck kann nur Text in einer Zeile finden, es sei denn Sie schließen Zeilenumbrüche mit "\s" gezielt im regulären Ausdruck mit ein. "\s" steht für einen Zeilenumbruch, aber auch für andere Steuerzeichen wie Tabulatoren usw.

3.4 Platzhalter für beliebige Zeichen

Ein Punkt "." ist ein ein Platzhalter für ein beliebiges Zeichen.

Wenn Sie den reg. Ausdruck ein "(?s)" voranstellen (über alle Zeilen suchen), dann schließt der Punkt Zeilenumbrüche mit ein.

Beispiel: Der reg. Ausdruck "<table>.+</table>" findet Text, der zwischen "<table>" und "</table>" steht, einschließlich von "<table>" und "</table>". Es können ein bis beliebig vielen Zeichen zwischen "<table>" und "</table>" stehen.
".+" steht für ein beliebiges Zeichen ".", dass mindestens einmal gefunden werden muss "+".

".?" Ein beliebiges Zeichen einmal oder kein Mal

".*" Ein beliebiges kein Mal oder beliebig oft

".+" Ein beliebiges Zeichen einmal oder beliebig oft

"X{2}" findet "X" genau zweimal, "XX".
"XYZ{3}" findet "XYZZZ", d.h. "XY" gefolgt von drei "Z".
"(XYZ){2}" findet "XYZXYZ", d.h. "XYZ" zweimal.
"(XY\d){2}" findet "XY" gefolgt von einer Ziffer, beispielsweise "XY5". Das "\d" steht für eine Ziffer von "0" bis "9".

"X{2,}" findet "X" mindestens zweimal.

"X{2,5}" findet "X" mindestens zweimal aber höchstens fünfmal.

3.5 Suchen bis zum nächsten Auftreten oder bis zum letzten Auftreten ("greedy" und "reluctant")

Diesen Tip werden Sie vor allem dann brauchen, wenn Sie mit "(?s)" am Anfang des regulären Ausdrucks über alle Zeilen suchen. In den beiden Beispielen wird im folgenden Text gesucht:
"123 <table> hallo ballo </table> hallo ballo </table>"
Der Text kann sich über mehrere Zeilen erstrecken.

Das folgende Beispiel findet so viel es kann (engl. greedy = gierig).
- Der regulärer Ausdruck: "(?s)<table>.+</table>"
- Das Suchergebnis: "<table> hallo ballo </table> hallo ballo </table>"
Erklärung:
- "(?s)" weist an, dass über alle Zeilen gesucht wird.
- "<table>.+</table>" findet das erste "<table>" im Text (kann eine ganze Datei sein) und das LETZTE folgende "</table>" im Text einschließlich aller Zeichen, die dazwischen stehen.

Das folgende Beispiel findet nur so viel wie nötig (engl. reluctant = widerstebend).
- Der regulärer Ausdruck: "(?s)<table>.+?</table>"
- Das Suchergebnis: "<table> hallo ballo </table>"
Erklärung:
- Achten Sie auf das extra "?".
- "(?s)" weist an, dass über alle Zeilen gesucht wird.
- "<table>.+?</table>" findet das erste "<table>" im Text (kann eine ganze Datei sein) und das ERSTE folgende "</table>" im Text einschließlich aller Zeichen, die dazwischen stehen.
- Das "?" nach ".+" in ".+?" bewirkt, dass ein beliebiges Zeichen nicht so oft wie möglich gefunden wird, sondern gerade so oft wie nötig, um den regulären Ausdruck zu erfüllen.

3.6 Spezielle Zeichen, um reguläre Ausdrücke zu bilden

"([{\^$|?*+."

Diese Zeichen haben beim Bauen von regulären Ausdrücken besondere Bedeutung. Mit ihnen werden reguläre Ausdrücke zusammen gebaut. An dieser Stelle nur einige Beispiel zu diesen Zeichen. Für mehr Informationen lesen Sie in den Tutorials nach.

"()": Gruppiert Zeichen. Beispiel:
- Ein Text, in dem gesucht wird: "hallomuhmuhxhallo"
- "(muh){2}" findet "muh" zweimal hintereinander. Ergebnis ist "muhmuh".
- "muh{2}" findet nichts. Er sucht nach "muhh".

"{}": Für die Anzahl von Wiederholungen. Beispiel:
- Ein Text, in dem gesucht wird: "hallomuhmuhxhallo"
- "(muh){2}" findet "muh" zweimal hintereinander. Ergebnis ist "muhmuh".
- "(muh){1,3}" findet "muh" einmal bis dreimal hintereinander. Ergebnis ist "muhmuh".
- "(muh){3}" findet "muh" dreimal hintereinander und findet nichts
- "(muh){1,}" findet "muh" einmal bis beliebig oft hintereinander. Ergebnis ist "muhmuh".

"\" maskiert Zeichen.
- Wenn sie im Text "(" nicht für Gruppierungen benutzen wollen, sondern als "(" finden wollen, dann müssen Sie das "\" voranstellen. Aus "(" müssten Sie "\(" machen. "(a" würde im Text "b(ac" nichts finden, sondern in einem Fehler resultieren. "\(a" würde dagegen im Text "b(ac" den Ausdruck "(a" finden.
- Steht das "\" vor vielen anderen Zeichen wie "d" also als "\d", dann steht "\d" für eine Ziffer von "0" bis "9". "a\dc" würde im Text "xyza4css" die "a4c" finden.

"?", "*" und "+" geben Wiederholungen an.

"." steht für ein beliebiges Zeichen.
- Steht am Anfang des reg. Ausdrucks ein "(?s)" (Suche über alle Zeilen), dann schließt "." eine Zeilenumbruch mit ein. Fehlt "(?s)" kann nicht über mehrere Zeilen hinweg gesucht werden. "." steht dann für alle beliebigen Zeichen außer für den Zeilenumbruch.
- Wollen Sie einen "." im Text finden, dann müssen Sie ein "\" voranstellen. ".html" findet "ahtml" und ".html". Wollen Sie nicht "ahtml" finden, dann müssen Sie mit dem reg. Ausdruck "\.html" suchen.

 
Suchen Sie einen Einstieg in jFellow, dann gehen Sie bitte auf die Webseite http://www.jfellow.de. Dort finden Sie eine allemeine Einführung, Einsatzgebiete, Nutzerkreis, Beispiele, Features, FAQ's usw.

Dieses Handbuch liefert eine ausführliche Beschreibung der Bedienung und damit auch der Funktionen von jFellow.

4. Die Menüs und Dialoge im Detail

 
4.1 Menü Datei

 
Menü Datei

 
4.1.1 Öffnen

 
Es öffnet sich ein Dialog, mit dem man eine Datei auswählen kann. JFellow sichert in dieser Datei seinen Zustand wie auch alle Kanäle. Die Datei, die Sie hier auswählen, sollte eine leere Datei sein, oder eine Datei sein, die durch jFellow abgespeichert wurde. Wurde die Datei vorher durch jFellow geschrieben, dann werden alle Kanäle, dann übernimmt jFellow alle Eingeschaften einschließlich der Kanäle, die in der Datei gespeichert sind. Alle aktuellen Einstellungen gehen verloren. Die Standarddatei ist "{user.home}/.jfellow/searches/default.props". Wo sich sich das Verzeichnis "user.home" befindet, bekommen Sie in den FAQ's heraus. Sie könnnen eine andere Datei wählen. Namen und Dateierweiterung können Sie frei wählen, beispielswiese "jfellow_1.txt".

 
4.1.2 Sichern

 
Sichert die gerade benutzten Kanäle in eine Datei.

 
4.1.3 Sichern Als

 
Sichert den Zustand von jFellow einschließlich der gerade benutzten Kanäle in eine Datei. Anschließend wird mit dieser Datei weitergearbeitet. Name der Datei und die Dateierweiterung sind frei wählbar. Beispiel: "jfellow_2.txt".

 
4.1.4 Exportieren

 
Dialog Exportieren. (Bitte mit Internet verbinden.)

 
Öffnet den Dialog zum Exportieren von Kanälen.
Es gibt zwei Listen: "Hinzufügen oder Überschreiben" und "Löschen, wenn es sie gibt". Die Kanäle beider Listen werden zusammen in eine Datei geschrieben, die Sie weiter unten im Dialog auswählen können.
"Hinzufügen oder Überschreiben": Werden die Kanäle, die Sie in diesem Dialog hier exportieren, später wieder importiert, dann werden vorhandene Kanäle gleichen Namens überschreiben oder angelegt.
"Löschen, wenn es sie gibt": Werden die Kanäle, die Sie in diesem Dialog hier exportieren, später wieder importiert, dann werden vorhandene Kanäle gleichen Namens gelöscht. Diese Funktion ist von allem für den Bearbeiter von Autoimporten von Wert.

 
4.1.5 Importieren

 
Dialog Importieren. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog zum Importieren von Kanälen. Als URL können Sie eine Datei mit dem Button "..." von einem lokalen Datenträger oder einer Datei aus dem Netzwerk auswählen. Beispiele:
"file:\c:\meine_kanaele.props" (Windows),
"file:/home/me/meine_kanaele.props" (Linux).
Sie können ebenfalls eine Datei aus dem Internet laden. Beispiel:
"http://www.jfellow.net/de/searches/wertpapiere.props".
Die Datei, die importiert wird, kann mehrere Kanäle enthalten. Diese Kanäle überschreiben vorhandene Kanäle gleichen Namens. Wenn sie als "zu löschen" markiert sind, löschen sie Kanäle gleichen Namens.

 
4.1.6 Auffrischen

 
"Frischt" alle Kanäle neu auf, d.h. alle Kanäle laden ihre Quellen neu (http, ftp, lokal, Datenbanken), durchsuchen sie auf Änderungen und lösen Aktionen aus.

 
4.1.7 Drucken

 
TODO: Noch nicht implementiert.

 
4.1.8 Beenden

 
Beendet das Programm. Alle Kanäle werden gesichert. Benutzereinstellungen des Programms wie Fenstergrößen und -positionen, Ansichtseinstellungen, etc. werden ebenfalls gesichert.

 
4.2 Menü Ansicht

 
Menü Ansicht. (Bitte mit Internet verbinden.)

 
4.2.1 Kanäle

 
Hier kann man einzelne Kanäle markieren als:
- sichtbar im Haupfenster,
- nicht dargestellt im Haupfenster.

 
4.2.2 Sortiere Nach

 
Sortiert die Kanäle im Hauptfenster nach:
- Kanalnamen,
- Letzter Änderung
- Letzter Aktion
- Letztem Auffrischen.

 
4.2.3 Log Meldungen

 
Dialog Ansicht Logmeldungen. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog zum Anzeigen von Logmeldungen des Programms. Funktioniert nur, wenn eine Datei zum Schreiben von Logmeldungen angegeben wurde und das Schreiben von Meldungen in diese Datei auch aktiviert wurde. Beides geschieht im Dialog "Einstellungen", "Log Meldungen".
Die Logdatei wird im XML-Format geschrieben. Sie wird bei jedem Neustart von jFellow überschrieben und ist maximal 5 MB groß.

Tip: Mit einem XSLT-Stylesheet kann man Logmeldungen aus der Datei filter und in eine andere Datei schreiben. Beispielsweise kann man sich nur die Logmeldungen bestimmter Java-Klassen oder Methoden anzeigen lassen, nur bestimmte Loglevels usw. So kann man aus der Überfülle von Meldungen die Meldungen herausfiltern, die einen wirklich interessieren.
TODO: Auswahl von Filtern in diesem Dialog, um beispielsweise nur die Logmeldungen mit Loglevel und Zeit anzeigen zu lassen aber auch Filter für Klassen, Methoden, Packages, Loglevel, Zeiten, Inhalt von Logmeldungen. Dazu müssen externe Packages für die XSLT-Transformation (z.B. xalan, xerces) geladen werden. Die Downloadzeit verlängert sich.

 
4.2.4 Checkbox Kanalname

 
Blendet den Namen des Kanals als Überschrift des Kanals im Hauptfenster ein oder aus. Die Farbe kann im Dialog "Einstellungen", "Erscheinungsbild" gewählt werden.

 
4.2.5 Checkbox Letzte Aktion

 
Blendet den Zeitpunkt der letzten Aktion für diesen Kanal im Hauptfenster ein oder aus. Die Farbe kann im Dialog "Einstellungen", "Erscheinungsbild" gewählt werden.

 
4.2.6 Checkbox Letzte Änderung

 
Blendet den Zeitpunkt der letzten Änderung für diesen Kanal im Hauptfenster ein oder aus. Die Farbe kann im Dialog "Einstellungen", "Erscheinungsbild" gewählt werden.

 
4.2.7 Checkbox Letztes Auffrischen

 
Blendet den Zeitpunkt des letzten Auffrischens für diesen Kanal im Hauptfenster ein oder aus. Die Farbe kann im Dialog "Einstellungen", "Erscheinungsbild" gewählt werden.

 
4.2.8 Schließe alle Pop Up's

 
Schließt alle Pop-Up-Fenster.

 
4.3 Menü Einstellungen

 
Menü Einstellungen. (Bitte mit Internet verbinden.)

 
4.3.1 Kanäle

 
Dialog "Einstellungen", "Kanäle"

 
Dialog Kanäle. (Bitte mit Internet verbinden.)

 
Liste "Kanalname": Auswahl eines Kanals.
Button "Neu": Öffnet einen Dialog zum Anlegen eines Kanals. Im Dialog gibt es zwei Checkboxen:
- Keine Checkbox wird ausgewählt: "Normaler" Kanal,
- Ist aufgerufener Kanal: Dieser Kanal kann sich nicht selber aktualisieren. Er kann nur durch einen anderen Kanal aufgerufen werden. Ein so markierter Kanal erscheint in der Liste der Aktion "Kanäle" und kann dort durch einen aufrufenden Kanal benutzt werden. Ein aufgerufener Kanal kann wiederum andere Kanäle aufrufen,
- Vorlage für Spider-Kanäle: Ein so markierter Kanal erscheint in einer Liste in der Karteikarte "URL", "Http" und kann dort von Spider-Kanälen benutzt werden. Nachdem ein Spider-Kanal erzeugt wurde, wird er durch die ausgewählte Vorlage überschrieben. Mehr in den Ausführungen der entsprechenden Karteikarte.
Button "Ändern": Öffnet einen Dialog zum Ändern des Namens eines Kanals. Der Kanal kann geändert werden zu eine Vorlage, um Siderkanäle zu überschreiben oder oder zu einem Kanal, der durch andere Kanäle aufgerufen werden kann.
Button "Kopieren": Öffnet einen Dialog zum Kopieren eines Kanals.
Button "Löschen": Löscht den Kanal.
Button "Entferne Spiders": Entfernt alle Spider Kanäle einschließlich der PopUp's, die sie eventuell erzeugt haben. Mehr zu Spider-Kanälen siehe Dialog Menü "Einstellungen", "Kanäle", "URL", Karteikarte "Http".
Checkbox "Alle zusammen auffrischen": Frischt alle Kanäle zusammen auf. Es kann auch für jeden Kanal ein extra Auffrischintervall angegeben werden.
Textfeld "Globales Intervall": Gibt das Auffrischintervall in Minuten an, wenn alle Kanäle zusammen aufgefrischt werden sollen.

 
Die Karteikarten werden weiter unten erklärt.

 
Button "OK": Schließt den Dialog und speichert alle Änderungen.
Button "Test": Testet den Kanal. Es wird die Datei/Webseite geladen bzw die Datenbankabfrage ausgeführt. Die Suchabfragen werden durchgeführt. Fehler werden in einem Pop-Up-Fenster angezeigt. Die Aktionen werden bei Bedarf ausgeführt. Die Suchergebnisse werden in den einzelnen Karteikarten angezeigt. Es wird empfohlen, einen Kanal immer erst zu testen, bevor der Dialog geschlossen wird. jFellow gibt Fehler später nur noch als Logmeldungen aus, die in der Konsole oder in der Logdatei landen, wenn dazu der entsprechend feine Loglevel eingestellt wird. Siehe auch Karteikarte "Aktionen". Dort werden zusätzliche Logdateien genannt, in die Befehle oder Ant Scripte ihre Meldungen hineinschreiben
Beim Testen werden als Aktionen auch andere Kanäle ausgeführt, wenn dies als Aktion gewünscht wurde. Der aufgerufenen Kanal kann wiederum einen Kanal aufrufen usw. Alle aufgerufenen Kanäle können auf diese Weise getestet werden, einschließlich ihrer Ansichten, eingesetzten Werte wie den Suchergebnissen. Auch die Eigenschaften des aufrufenden Kanals sind nur sichtbar, beispielsweise die URL des aufrufenden Kanals, sein Name,...
Sinn: Mit der Verkettung von Kanälen können Webapplikationen "durchgeklickt" werden: Loginseiten, Formulare usw.
Button "Abbruch": Schließt den Dialog und übernimmt die vorgenommenen Änderungen nicht.

 
Dialog "Einstellungen", "Kanäle", "URL"

 
Radioknöpfe "Benutze": Auswahl der Quelle: Datei, http/https, ftp, jdbc (Datenbank).

 
Dialog "Einstellungen", "Kanäle", "URL", "File"

 
Textfeld "URL": Eingabe der Datei auf einem lokalen Datenträger wie z.B. der Fesplatte oder auf einem Netzlaufwerk.
Button "...": Öffnet einen Dialog zur Auswahl der Datei.

 
Dialog "Einstellungen", "Kanäle", "URL", "Http"

 
Dialog Kanäle. (Bitte mit Internet verbinden.)

 
Hinweis:
- Cookies,
- "http auth header" (URL, Name, Password für Http Authentifizierung) und
- beliebige "http headers"
können in getrennten Dateien bearbeitet werden. Siehe dazu Dialog Menü "Einstellungen", "Cookies / Headers".

Liste "URL's": Hier sind alle URL's (Webseiten) einer URL-Kette aufgelistet. Achtung: Starten Sie immer mit dem Button "Neu" um eine URL anzulegen. Die URL kann nicht in der Liste selbst, sondern nur in dem Textfeld darunter bearbeitet werden. Meist wird nur eine einzige URL gebraucht.
Wann brauche ich eine URL-Kette? Eine URL-Kette braucht man, wenn man erst eine oder mehrer Webseiten aufrufen muss, um an die Webseite zu kommen, die man untersuchen will. Das ist beispielswiese beim Internetbanking der Fall. Um einen Kontostand prüfen zu können, muss vorher erst eine Login-Seite ausgefüllt werden danach wahrscheinlich auf einer zweiten Seite ein Konto gewählt werden etc. Auch bei Web-Mail-Accounts müssen mehrer Seiten durchlaufen werden. jFellow ist in der Lage, in der Kette Cookies zu speichern und für folgende Seiten wieder zu setzen. Auch mit Umleitungen (http redirects) kann der jFellow umgehen. Weiterleitungen über JavaScript werden nicht erkannt. (TODO: Für jFellow und Apache JMeter)
Hinweis: Zum "Durchklicken" von Webanwendungen können (und müssen manchmal) auch Verkettungen von Kanälen herangezogen werden. Siehe Karteikarte "Aktionen".
Button "Neu": Legt eine neue URL an.
Button "Löschen": Löscht eine URL.
Textfeld unter Liste "URL's": Nur hier kann eine URL bearbeitet werden.
Textfeld "Parameter": Dem Aufruf der Webseite können Parameter mitgegeben werden.
Radio Button "Get": Art der Parameterübertragung (http get). Kann für jede URL in der Kette einzeln festgelegt werden.
Radio Button "Post": Art der Parameterübertragung (http post). Kann für jede URL in der Kette einzeln festgelegt werden. Achtung: In manchen Fällen kann es vorkommen, dass der Server kein http post, sondern nur http get akzeptiert. Es erscheint dann eine Fehlermeldung: TODO: Fehlermeldung zitieren. Probieren Sie dann http get.
Checkbox "Authentifizierung": Aktiviert die Http-Authentifizierung gegen den Http-Server. Nicht zu verwechseln mit einem Login über Parameter. in diesem Fall werden sogenannte http auth header im request benutzt. Funktioniert nicht für einzelne URL's in der Kette, sondern nur für alles zusammen. (TODO?: Braucht das jemand? Bitte melden!). Die Header können in einer Dateien bearbeitet werden. Siehe dazu Dialog Menü "Einstellungen", "Cookies / Headers".
Textfeld "Benutzer": Benutzername für Http-Authentifizierung.
Textfeld "Passwort": Passwort für Http-Authentifizierung.

Zwei Beispiele zur Veranschaulichung von Spider-Kanälen Sie können diese Beispiele unter http://www.jfellow.net/de/imports.html importieren und ausprobieren
1. Auf der Startseite des Guardian, http://www.guardian.co.uk, gibt es Links auf die Stories (Artikel) der Zeitung. JFellow zeigt alle Links auf die Stories an. Bei Klick auf diese, öffnet der Standardbrowser die Story. Neue Stories melden sich mit einem PopUp und einem Sound. Stories, auf die es keinen Verweis mehr gibt verschwinden automatisch.
2. Auf einer Seite von McAfee gibt es an verschiedenen Stellen Verweise zu aktuellen/neuen Virenbeschreibungen. JFellow verfolgt die Links und stellt alle Virenbeschreibungen als Spider-Kanal dar, deren Risiko höher als "niedrig" eingestuft wird. Der Kanal meldet sich mit einem PopUp und einem Sound. Der Spider-Kanal wird im Gegensatz zum obigen Beispiel nicht automatisch gelöscht, wenn es keinen Verweis mehr auf die Virenbeschreibung gibt. Die Riskoeinschätzung der Virenbeschreibung wird weiter durch den Spider-Kanal überwacht. Wenn Sie sich erhöht, dann meldet der Spider-Kanal dies. Der Spider-Kanal muss manuell gelöscht werden. TODO: Das Beispiel genau so wie dargestellt auf die Webseite stellen.

Neu: Die Verfolgung von Links ist auch durch Frames hindurch möglich. Dabei geht eine Ebene "verloren".

Checkbox "Folge Links": Ist diese Checkbox aktiviert, dann löst der Kanal Spider-Kanäle aus. Was heißt das?
- Der Kanal lädt die Webseite zu seiner URL und filtert alle Http-Referenzen (Links, die man mit der Maus klicken kann) aus der Webseite heraus.
- Die URL's werden gefiltert, Button "Ein-/ Auschließen" ganz rechts, Erklärung weiter unten. Tip: Verwenden Sie den Filter meist auch!
- Zu den übrig gebliebenen URL's werden die Webseiten/Dateien (müssen nicht unbedingt Html-Dateien sein) geladen.
- Zu jeder geladenen Webseite wird ein sogenannten Spider-Kanal erzeugt. Er "erbt" die Eigenschaften seines Erzeugers und wird auf die gleiche Weise wie sein Erzeuger behandelt: Suchabfragen, Ansicht, Aktionen.
- Identische URL's werden nur einmal verfolgt.
- Der Wert für "Ebenen tief" wird um "1" nach unten gezählt. Ist der Wert noch größer als "0", dann verfolgt auch der Spider-Kanal die Links auf seiner Webseite, usw. Dabei geht er nach dem gleichen Muster vor wie sein Erzeuger.
- Es gibt ein Kriterium, wann Spider-Kanäle verworfen werden und wann sie als Spider-Kanäle durch jFellow angezeigt werden. Spider-Kanäle werden angezeigt, wenn sie Aktionen auslösen würden. Siehe dazu Karteikarte "Auslöser" Hier nur so viel: Die Suchabfragen eines Kanals können dazu verwendet werden, Aktionen auszulösen, beispielsweise einen Sound, eine Mail oder einen Befehl. Im Falle eines Spiderkanals entscheiden sie eben auch darüber, ob er dargestellt oder verworfen wird.
- Spider-Kanäle werden automatisch von jFellow entfernt, wenn es keinen Verweis mehr auf sie gibt. Der Kanal, der das Verfolgen der Links (Erzeugen der Spider-Kanäle) ausgelöst hat, wird wie jeder Kanal in Intervallen aktualisiert. Dabei werden erneut, wie gerade beschrieben, die Links auf der Webseite verfolgt. Wird in diesem Prozess ein vorhandener Spider-Kanal nicht wieder gefunden, dann wird er von jFellow entfernt.
Spiderkanals entscheiden Sie auch darüber, ob er dargestellt oder verworfen wird.
- Spiderkanäle können sich nicht selbst aktualisieren es sei denn, sie werden durch eine Spidervorlage überschrieben, s.u. In diesem Fall werden sie auch nicht automatisch entfernt, wenn es keinen Verweis mehr auf sie gibt, sondern müssen manuell entfernt werden.
- Der Kanal, der das Verfolgen der Links (Erzeugen der Spider-Kanäle) ausgelöst hat, wird nicht im Hauptfenster dargestellt und löst auch keine Aktionen aus.
Liste "Ebenen tief": Einserschritte von 1 bis 5. So viele Ebenen werden maximal verfolgt. Mehr schien nicht sinnvoll. (Braucht jemand mehr?) Zwei "Ebenen" tief würde bedeuten, dass der Kanal die Links seiner Webseite verfolgt (erste Ebene). Die Links der geladenen Webseiten werden ebenfalls verfolgt (zweite Ebene). An dieser Stelle würde der Prozess gestoppt werden.

 
Dialog URL's filtern. (Bitte mit Internet verbinden.)

 
Button "Ein-/ Ausschließen": In diesem Dialog werden Filter für die URL's angelegt. Mehr dazu in der Bescheibung für Dialog Menü "Einstellungen", "Spiders".
Checkbox "Folge nur, wenn Aktionen ausgelöst würden": Mit der Auswahl dieser Checkbox kann das Verfolgen der Links auf einzelnen Webseiten gestoppt werde. Dazu wird ein Kriterium benutzt.
- Wenn der Spider-Kanal, der zu einer Webseite erzeugt wurde, keine Aktionen auslöst, dann werden auch nicht die Links auf seiner Webseite verfolgt.
- Wenn die Checkbox nicht aktiviert wird, dann werden immer alle Links eine Webseite verfolgt, die nach dem Filtern der URL's übrig bleiben.
Wann Aktionen ausgelöst werden, wird in der Karteikarte "Auslöser" festgelegt.
Checkbox "Benutze Template für erzeugten Spider": Wird diese Checkbox aktiviert, dann werden die erzeugten Spider-Kanäle mit einem "Template" , einer Vorlage, überschrieben. Sie werden praktisch mit den Eigenschaften der Vorlage geparkt. Natürlich wird die URL des Spider-Kanals nicht überschrieben. Die Vorlagen müssen vorher angelegt werden und erscheinen dann in der Liste rechts, wo sie ausgewählt werden können. Das Überschreiben von Spider-Kanälen hat zwei Effekte:
- Spider-Kanäle, die bei einem erneuten Verfolgen von Links (Spider-Prozess) nicht mehr gefunden werden, werden nicht automatisch entfernt.
- Die überschriebenen Spider-Kanäle können sich selbst aktualisieren.
Wozu? Sinnvoll ist dieses Verhalten beispielsweise, wenn eine Webseite mit einer neuen Virenbeschreibung gefunden wurde. Der überschriebene Spider-Kanal kann die Risikoeinschätzung überwachen. Wird das Risiko nach einigen Tagen anders eingeschätzt, beispielsweise von "niedrig" auf "mittel" gesetzt, dann meldet jFellow diese Änderung.
Liste "Benutze Template für erzeugten Spider": Hier erscheinen alle "Templates" (Vorlagen), mit denen ein erzeugter Spider-Kanal überschrieben werden kann. Die Vorlage-Kanäle müssen im Dialog des Buttons "Neu" oben als Vorlagen gekennzeichet werden. Existierende Kanäle können nachträglich mit dem Dialog "Ändern" oben als Vorlagen markiert werden. Vorlagen sind keine eigenständigen Kanäle, d.h. sie können sich nicht selbst aktualisieren.

 
Dialog "Einstellungen", "Kanäle", "URL", "Ftp"

 
Dialog URL Ftp. (Bitte mit Internet verbinden.)

 
Textfeld "URL": Angabe einer Datei auf einem Ftp-Server. Dabei werden Domaine, Verzeichnisse und Datei zusammengefasst. Beispiel: "myserver.net/mydirectory/myfile.html".
Textfeld "Benutzer": Ftp Benutzername für die Anmeldung am Ftp-Server.
Textfeld "Passwort": Ftp Passwort für die Anmeldung am Ftp-Server.

 
Dialog "Einstellungen", "Kanäle", "URL", "Jdbc"

 
Dialog URL Datenbank. (Bitte mit Internet verbinden.)

 
Textfeld "URL": Angabe der URL einer Datenbank. Beispiel: "mysql://localhost/jellow" oder "jdbc:mysql://localhost/jellow". Die Datenbank muss nicht unbedingt auf dem eigenen Rechner oder im lokalen Netzwerk installiert sein, sondern kann auch über das Internet angesprochen werden.
Textfeld "Treiber": Java Package. Beispiel: "com.mysql.jdbc.Driver". Dieser Treiber für die MySql-Datenbank wird als Jar-Package im jFellow mitgeliefert. Treiber anderer Datenbanken müssen selbst in den classpath aufgenommen werden.
Textfeld "Benutzer": Benutzername für die Datenbank.
Textfeld "Passwort": Passwort für die Datenbank.
Textfeld "Statement": Ein SQL-Statement. Result Sets werden durch ein Leerzeichen voneinander getrennt. Für die einzelnen Typen werden der Einfachheit halber einfach die "toString()" -Methoden aufgerufen. (Hat bisher gereicht. TODO? Braucht jemand etwas anderes?).

 
Dialog "Einstellungen", "Kanäle", "Suchen"

 
Dialog Suchabfragen. (Bitte mit Internet verbinden.)

 
Liste "Suchen": Auswahl der Suche, die bearbeitet werden soll
Button "Neu": Anlegen einer neuen Suche
Button "Löschen": Löschen einer neuen Suche
Radio Button "Ein Regulärer Ausdruck": Angabe nur eines regulären Ausdrucks. Mehr Informationen zu regulären Ausdrücken finden Sie auf der Webseite unter "Links". Beipiel: Im Text "1234aaahopplabbb5678" findet der reguläre Ausdruck "aaa.+bbb" die Zeichenkette "hoppla".
Hier noch einige andere ganz einfache Beispiele:
- Der reg. Ausdruck "aaa" findet die Zeichenkette "aaa".
- Der reg. Ausdruck "a.a" findet die Zeichenkette "aaa" und "aba".
- Der reg. Ausdruck "a.." findet die Zeichenkette "aaa" und "abc".
- Der reg. Ausdruck "a.+b" findet die Zeichenketten "aab" und "aaaaab" nicht aber "ab".
- Der reg. Ausdruck "a.*b" findet die Zeichenkette "aab", "aaaaab" und "ab".
Reguläre Ausdrücke können mehr als eine Zeile einschließen, Gruppen von einzelnen regulären Ausdrücken zusammenfassen,... - für Profis eine Art "Wünsch-Dir-Was-Tool".
Radio Button "Zwischen zwei regulären Ausdrücken": Angabe von zwei regulären Ausdrücken, zwischen denen gesucht wird.
Beispiel:
- Der Text, in dem gesucht wird ist "1234aaahopplabbb5678".
- Die beiden regulären Ausdrücke sind "aaa" und "bbb".
- Gefunden wird "hoppla".
- Das Ergebnis der Suche ist damit "hoppla".
Werden die regulären Ausdrücke mit in das Ergebnis eingeschlossen werden, wäre das Ergebnis der Suche "aaahopplabbb".
Checkbox "Sucherausdrücke in Ergebnisse einschließen": Schließt die beiden regulären Ausdrücke in das Ergebnis der Suche mit ein.
Beispiel:
- Der Text, in dem gesucht wird ist "1234aaahopplabbb5678".
- Die beiden regulären Ausdrücke sind "a.a" und "b.b" (indentisch mit "aaa" und "bbb").
- Gefunden wird "hoppla".
- Das Ergebnis der Suche ist damit "aaahopplabbb".
Werden die regulären Ausdrücke nicht mit in das Ergebnis eingeschlossen, wäre das Ergebnis der Suche "hoppla".
Radio Button "Finde ersten Treffer": Stoppt die Suche nach dem ersten gefundenen Treffer.
Radio Button "Alle Treffer": Findet alle Treffer für die Suche.
Beispiel:
- Der Text, in dem gesucht wird ist "234aaLAbb676aaLUPbb938aaLEILAbb".
- Die beiden regulären Ausdrücke sind "aa" und "bb".
- Gefunden werden "LA", "LUP" und "LEILA".
Für die Verwendung des Suchergebnisses als Argument für Befehle werden die Treffer mit Leerzeichen voneinander getrennt. Für unseren Mehrachtreffer oben würde sich damit "LA LUP LEILA" ergeben. Für die die Verwendung in der Ansicht (Darstellung des Kanals im Hauptfenster), kann ein beliebiger Separator gewählt werden, siehe Reiter "Ansicht". Für unseren Mehrfachtreffer oben ergäbe sich damit für eine Separator "xxx" der Text "LAxxxLUPxxxLEILA"
Radio Button "Von Bis": Findet alle Treffer im angegebenen Bereich. Beispiel: Von "3" bis "5" findet alle 3 Treffer vom 3. bis zum 5., wenn es sie gibt.
Radio Button "Frei": Findet alle Treffer im angegebenen Bereich, wie man es oft von Druckereinstellungen kennt. Beispiel: Von "3-5,8" findet alle 4 Treffer vom 3. bis zum 5. und den 8., wenn es diese alle gibt. Es ist kein Fehler, wenn nicht alle Treffer der angegebenen Bereiche gefunden werden.

Tips:
- ".+" oder ".*" wird sehr gerne verwendet, geht aber nicht über ein Zeilenende hinaus. "\s" kann beispielsweise für einen Zeilenumbruch verwendet werden. Aus ".+" würde somit z.B. ".+\s", um auf die folgende Zeile zu kommen.
- "(?s)" am Anfang des reg. Ausdrucks ermöglicht das Suchen über alle Zeilen.
- "(?i)" am Anfang des reg. Ausdrucks schaltet die Unterscheidung von Groß- und Kleinbuchstaben aus (case insensitive).
- "(?s)table.*?table" findet Text von "table" bis zum ersten darauf folgenden "table" über mehrere Zeilen hinweg. Achten Sie auf das "?". Ohne das "?" findet der reg. Ausdruck Text zwischen dem ersten "table" und dem letzten "table" im durchsuchten Text. Diese Suche nennt man greedy (engl.). Die Suche "frißt" soviel sie kann. Mit "?" stoppt die Suche beim ersten gefunden "table" nach dem ersten "table". Diese Art der Suche nennt man reluctant (engl.).
- Ein gutes Tutorial finden Sie hier.

 
Dialog "Einstellungen", "Kanäle", "Intervall"

 
Dialog Intervalle. (Bitte mit Internet verbinden.)

 
Checkbox "Vom Auffrischen Ausschließen": Schließt diesen Kanal vom Auffrischen (Laden, Suchen, Aktionen) aus.
Textfeld "Suchintervall": Intervall in Minuten für die Auffrischung, wenn die Kanäle nicht alle zusammen aufgefrischt werden.

 
Dialog "Einstellungen", "Kanäle", "Ansicht"

 
Dialog Ansicht. (Bitte mit Internet verbinden.)

 
Hier wird festgelegt, wie der Kanal später im Hauptfenster und in den PopUp's erscheinen soll.
Checkbox "Ausblenden": Verhindert die Darstellung des Kanals im Hauptfenster.
Textfeld "Der Text mit Platzhaltern": Der Text, der im Hauptfenster von jFellow erscheint. Es kann einfacher Text (text/plain) dargestellt werden oder in Html formatiert werden (text/html). Die Suchergebnisse können in der Form "{r1}", "{r2}", "{r3}" usw. als Platzhalter in den Text eingefügt werden. Es können auch andere Kanaleigenschaften mit Platzhaltern eingesetzt werden, beispielsweise Zeitstempel, URL's, Eigenschaften des aufrufenden Kanals (wenn es einen gibt) usw. Mehr dazu im Kapitel Ersetzte Eigenschaften / Properties
Beispiel im Screenshot:
- Der Text verwendet Ergebnisse von Suchabfragen des eigenen Kanals ("{r2}") und Ergebnisse von Suchabfragen eines aufrufenden Kanals ("{caller.r.r3}"). Der Kanal wurde von einem anderen aufgerufen. Daher stehen ihm die Eigenschaften und Suchergebnisse des aufrufenden Kanals zu Verfügung. Mehr dazu in der Karteikarte "Aktionen".
- Die Ergebnisse werden mit eigenem Text gemischt und in Html formatiert.
Checkbox "Benutze Html": Mit der Html-Formatierung ist beispielsweise die Darstellung von Tabellen und Grafiken möglich, Texte können farblich abgesetzt werden usw. Die Qualität der Darstellung entspricht manchmal nicht der von Webbrowsern.
Textfeld "Separator": Der Separator, der Mehrfachtreffer einer Suche trennt. Gibt man beispielsweise einen Html-Zeilenumbruch als Separator ein, erscheinen die Treffer der Suche untereinander jeweils in einer eigenen Zeile.
Beispiel:
- Eine Suche ergibt den Mehfachtreffer: "LO", "LUP", "LEILA". (Siehe Karteikarte "Suchen".)
- Der Separator der Suchabfrage ist ein Html-Zeilenumbruch "<br>".
- Der Text, der definiert wird, ist: "Die Ergebnisse sind: <br>{r1}".
- In Html formatiert sieht das Ergebnis so aus:
---Schnipp---
Die Ergebnisse sind:
LO
LUP
LEILA
---Schnapp---
- Nicht in Html formatiert sieht das Ergebnis so aus:
---Schnipp---
Die Ergebnisse sind: <br>LO<br>LUP<br> LEILA
---Schnapp---
Liste "in": Die Nummer der Suchabfrage, für die der Separator im linken Textfeld gelten soll. Jede Suche eines Kanals kann einen anderen Separator haben.
Textfeld "Test Output": Test des Ausgabetextes einschließlich eingesetzter Ergebnisse und Html-Formatierung, wenn vorhanden.

 
Dialog "Einstellungen", "Kanäle", "Auslöser"

 
Dialog Auslöser. (Bitte mit Internet verbinden.)

 
Neu: Das Ergebnis einer Suchabfrage kann mit dem Ergebnis einer anderen Suchabfrage verglichen werden. Es kann sogar mit den Ergebnissen des aufrufenden Kanals verglichen werden. Auch die anderen üblichen Platzhalter können verwendet werden. Siehe Vergleich mit festen Werten weiter unten.

Ein Kanal kann mehr als eine Suchabfrage definieren. Die Aktionen eines Kanals können von einer oder mehreren Suchabfragen ausgelöst werden. Es ist möglich, dass einzelne Suchabfragen davon ausgeschlossen werden können, Aktionen auszulösen. Egal, welche und wieviele Suchabfragen die Aktionen des Kanals auslösen; die Aktionen bleiben immer die gleichen. Es kann auch keine Aktion einer bestimmten Suchabfrage zugeordnet werden. Die Aussage, dass die Aktionen immer die gleichen bleiben, ist nicht ganz korrekt. Sie trifft eigentlich nur auf den Sound zu, der entweder ausgelöst wird oder nicht. Handelt es sich bei den Aktionen um Befehle, das Ant Script, das Versenden von Mails oder das Auführen anderer Kanäle, dann können die Ergebnisse der Suchabfragen Einfluss nehmen, denn die Suchergebnisse können sich von Auffrischen zu Auffrischen ändern. Werden sie beispielsweise als Argumente einem Befehl mitgegeben oder als Platzhalter in einer Mail verwendet, kann natürlich das Ergebnis des Befehls ein anderes sein oder der Text der versendeten Mail ändert sich.
Checkbox "'UND' Bedingung": In einem Kanal kann mehr als eine Suchabfrage definiert werden. Für jede der Suchabfragen werden Bedingungen definiert, wann das Ergebnis einer Suchabfrage Aktionen auslösen soll. Die Ergebnisse dieser Vergleiche können mit einer "UND"-Bedingung verbunden werden. Beispiel: Suchabfrage Nummer eins würde die Aktionen auslösen. Suchabfrage Nummer zwei würde keine Aktionen auslösen. Wird die "UND"-Bedingung verwendet, dann löst der Kanal keine Aktionen aus. Wird die "UND"-Bedingung nicht verwendet, dann löst der Kanal Aktionen aus.
Liste "Suche": Auswahl der Suchabfrage, die bearbeitet werden soll.
Checkbox "Für diesen Kanal keine Aktionen auslösen": Schließt diese Suchabfrage von der Auslösung der Aktionen aus.
Checkbox "Vergleiche jeden Treffer innerhalb einer Suchabfrage": Zur Erinnerung: Ein Kanal kann mehr als eine Suchabfrage definieren. Eine Suchabfrage wiederum kann mehr als einen Treffer erzeugen. Um diese Treffer geht es hier. Beispielsweise kann die Suche nach "Virus.Risk.*" auf einer Seite mehrmals gefunden werden, z.B. als "Virus Risk is low" und "Virus Risk is medium". Es gibt zwei Möglichkeiten, wie beim Auslösen von Aktionen mit Mehrfachtreffern verfahren wird:
- 1. Die Checkbox ist aktiviert: Alle Treffer werden einzeln behandelt, d.h. es wird geprüft, ob jeder der Treffer die Bedingung erfüllt oder nicht. Um beim Beispiel zu bleiben: "Virus Risk is low" und "Virus Risk is medium" werden einzeln verglichen. Erfolgt der Vergleich mit dem regulärem Ausdruck ".+medium.*", dann ist der Vergleich mit "Virus Risk is low" negativ und der Vergleich mit "Virus Risk is medium" positiv.
- 2. Die Checkbox ist nicht aktiviert: Die Mehrfachtreffer der Suchabfrage werden zusammengefasst und dann verglichen. In unserem Beispiel würde "Virus Risk is low Virus Risk is medium" mit dem regulären Ausdruck ".+medium.*" verglichen werden. Das Ergebnis des Vergleichs wäre positiv. In diesem Fall werden die Mehrfachtreffer "Virus Risk is low" und "Virus Risk is medium" mit einem Leerzeichen " " als Separator zusammengefasst. Der Separator ist derselbe wie der, der für die Ansicht festgelegt wurde: Karteikarte "Ansicht".
Checkbox "'UND' Bedingung": Funktioniert nur, wenn die Checkbox "Vergleiche jeden Treffer innerhalb einer Suchabfrage" aktiviert wurde. Jedes Ergebnis der Treffer einer Suchabfrage muss die Bedingung erfüllen.
Rahmen "Vergleiche mit letztem Ergebnis": Hier werden immer die Ergebnisse der Suchabfragen von Auffrischen zu Auffrischen verglichen. Es können einfach nur die Ergebnisse als Text miteinander verglichen werden. Beispiel: Ergebnis des ersten Auffrischens "hallo" mit dem Ergebnis des folgenden Auffrischens "ballo". Es können aber auch Zahlen miteinander verglichen werden, vorausgesetzt das Suchergebnis ist eine Zahl. Ist das Suchergebnis beim Testen keine Zahl, dann springt ein Fenster mit einer Fehlermeldung auf. Im laufenden Betrieb erscheint in diesem Fall im Hauptfenster anstelle der normalen Kanaldarstellung eine Fehlermeldung, dass der Kanal ungültig gerworden ist, da das Suchergebnis keine Zahl ist. Das Testen funktioniert für den ersten Test nur bedingt, da es noch kein letztes Ergebnis gibt, falls die Ergebnisse mit einander verglichen werden sollen.
Rahmen "Vergleiche mit Wert (reg. Ausdruck oder Zahl)": Das Ergebnis einer Suchabfrage kann mit dem Ergebnis einer anderen Suchabfrage verglichen werden. Es kann sogar mit den Ergebnissen des aufrufenden Kanals verglichen werden. Auch die anderen üblichen Platzhalter können verwendet werden. Dabei können die Platzhalter im regulärem Ausdruck stehen: ".+{r1}.*blah". Etwas verwirrend ist dabei die Verwendung von "{" und "}". Die geschweiften Klammern werden sowohl für die Platzhalter verwendet als auch in regulären Ausdrücken für die Anzahl von Wiederholungen. Bevor der Vergleich mit regulären Ausrücken oder Zahlen beginnt, werden die Werte für die Platzhalter eingesetz. Der anschließende Vergleich "stolpert" damit nicht über die geschweiften Klammern
Beispiel mit Ersetzungen und Zahlen:
- Wert im Textfeld ist "{r2}".
- Das Ergebnis "{r2}" sei die Zahl "0"
- Der Wert im Textfeld "{r2}" wird beim Ausführen des Vergleichs durch "0" ersetzt.
- Die gewählte Checkbox ist "Kleiner oder gleich".
- Das Ergebnis der Suche ist "-8".
- Diese Suche löst damit die Aktionen des Kanals aus.
Beispiel mit Ersetzungen und regulären Ausdrücken:
- Wert im Textfeld ist "{r2}". Es wäre auch etwa "Risiko {r2} mit {name}" erlaubt.
- Das Ergebnis "{r2}" sei "gering"
- Der Wert im Textfeld "{r2}" wird beim Ausführen des Vergleichs durch "gering" ersetzt.
- Die gewählte Checkbox ist "Gleicht dem regulären Ausdruck".
- Das Ergebnis der Suche ist "gering", hmm welcher Zufall.
- Diese Suche löst damit die Aktionen des Kanals aus.
Beispiel für Zahlenvergleich:
- Wert im Textfeld ist die Zahl "0".
- Die gewählte Checkbox ist "Kleiner oder gleich".
- Das Ergebnis der Suche ist "-8".
- Diese Suche löst damit die Aktionen des Kanals aus.
Warnt beim Testen, wenn das Ergebnis mit einer Zahl verglichen werden soll, die Suche aber keine Zahl ergab. Im laufenden Betrieb erscheint im Hauptfenster anstelle der normalen Kanaldarstellung eine Fehlermeldung, dass der Kanal ungültig gerworden ist, da das Suchergebnis keine Zahl ist.
Textfeld "Test": Zeigt das Suchergebnis, für die Suche, die in der Liste oben ausgewählt wurde.

 
Dialog "Einstellungen", "Kanäle", "Aktionen"

 
Dialog Aktionen. (Bitte mit Internet verbinden.)

 
Checkbox "Befehl": Aktiviert oder deaktiviert den Befehl im rechten Textfeld.
Textfeld "Befehl": Der Befehl. Die Suchergebnisse können in der Form "{r1}", "{r2}", "{r3}" usw. als Argumente mitgegeben werden. Mehrfachtreffer für eine Suche werden mit Leerzeichen von einander getrennt. Ein Befehl ist beispielsweise "netscape". Mit diesem Befehl wird normalerweise der Browser Netscape gestartet. Angenommen die erste Suche ergab "http://www.nzz.ch/". Die Zeile "netscape {r1}" würde jFellow vor dem Ausführen des Befehls zu "netscape http://www.nzz.ch/" ergänzen. (Die Suchergebnisse kann man im Textfeld ganz unten testen.) Netscape startet also in diesem Fall und zeigt die Webseite der Neuen Züricher Zeitung an.
JFellow schreibt alle Meldungen, die das Programm ausgibt in Dateien. Lassen Sie beim Testen des Kanals ebenfalls die Aktion "Pop Up" ausführen. In dem Pop-Up-Fenster werden alle Dateien aufgelistet, in die Meldungen geschrieben werden.
Weitere Erläuterung: Programme geben mehr oder weniger viele Meldungen aus. Wenn Sie ein Progamm über eine Konsole (Kommandozeile) starten, können Sie dies beobachten. Ein Programm benutzt dazu zwei Ausgabekanäle: system.out und system.err. Einer davon ist für normale Ausgaben gedacht, der andere für Fehlermeldungen. Gefährlich kann das Auffangen dieser Meldungen mit Java sein, weil unter bestimmten Bedingungen die Puffergröße zum Auffangen der Meldungen nicht ausreicht. Auf diese Weise kann der aufrufende Java-Prozess, in diesem Fall jFellow, blockiert werden. Ein solcher Fall ist beim Betrieb von jFellow noch nicht bekannt geworden.
Checkbox "Warte, gib Fehlermeldungen": Ist die Checkbox aktiviert, dann wartet jFellow, bis der Befehl beendet wurde. Empfohlene Einstellung. Dabei gibt es Vor- und Nachteile. Der Nachteil ist, dass jFellow blockiert wird, solange der Befehl ausgeführt wird. Führt der Befehl ein Programm wie "Netscape" aus, dann wartet jFellow solange bis "Netscape" wieder geschlossen wird. Der große Vorteil ist, dass jedes Programm beim Beenden einen sogenannten Return Code zurückgibt. Dieser Return Code wird durch jFellow ausgewertet. Der Return Code kann signalisieren, dass der Befehl erfolgreich war oder Fehler aufgetreten sind.
Buttons "...": Öffnet einen Dialog zur Auswahl einer Datei, z.B. einer ausführbaren Datei, die als Befehl gestartet werden soll oder die ein Ant-Build-Script ist.
Checkbox "Ant Script": Aktiviert oder deaktiviert das Ausführen des Ant Scripts.
Textfeld "Ant Script": Der Ant-Befehl, der ausgeführt werden soll bzw. das Ant Script, das geladen und ausgeführt werden soll, s.u. Es können andere Kanaleigenschaften als Argumente mitgegeben werden siehe. Die Suchergebnisse können in der Form "{r1}", "{r2}", "{r3}" usw.
Es werden mehrere Logdateien geschrieben. Aktivieren Sie beim Testen des Kanals die Aktion "Pop Up". Im Pop-Up-Fenster werden alle Dateien aufgelistet. Der Loglevel wird standardmäßig auf "verbose" gesetzt, wenn nichts anderes angegeben wurde. Natürlich kann im Befehl für Ant ein eigenes Logfile angegeben werden. In diesem Fall wird keine Standarddatei für die Logmeldungen benutzt, die Ant ausgibt.
Checkbox "Ant Script per Http/Ftp laden und ausführen":
- Wenn nicht angekreuzt, wird ein ganz normaler Ant-Befehl ausgeführt, wie er mit einer Kommandozeile ausgeführt werden würde. Beispiel: "ant -buildfile c:\mybuildfile.xml -logfile c:\my_ant.log -verbose -Dmyargument_1={r4} -Dmyargument_2=zwei" Leezeichen in Datei- und Verzeichnisnamen sowie in den Argumenten sind erlaubt. Sie müssen allerdings alle mit einem "\" maskiert werden. Aus "c:\mybuild file.xml" wird dann "c:\mybuild\ file.xml". Treten in den Argumenten für Befehle, {r1} etc., Leerzeichen auf, dann ergeben sich nicht mehrere Argumente, wegen der Trennung durch die Leerzeichen, sondern das Ergebnis einer Suchabfrage wird als ein Argument dem Befehl mitgegeben. Genau so wird auch mit Mehrfachtreffern verfahren. Zur Erinnerung: Jede Suchabfrage eines Kanals ist in der Lage Mehrfachtreffer zu erzeugen. Wenn also beispielsweise {r1} mehrere Treffer bekommt (die jeweils Leerzeichen beinhalten können), wird dem Befehl das gesamte Ergebnis der Suchabfrage {r1} als ein Argument übergeben. (TODO: Braucht jemand ein anderes Verhalten? Uns schien dies das beste zu sein.) Hintegrund: Ein Befehl kann in Java ausgeführt werden, indem man einfach eine Zeile, wie in der Kommandozeile ausführt. Diese Zeile wird an Leerzeichen " " einfach aufgesplittet und die Teile dann dem Kommando übergeben. Eine andere Möglichkeit (die jFellow nutzt) besteht darin, dass man das Kommando nicht automatisch aufsplitten läßt, sondern die Teile in einem "command array" selbst festlegt. Weitere Informationen zu Ant lesen Sie bitte in der Ant-Dokumentation: "http://jakarta.apache.org/ant/manual/index.html". Vorschlag bei Schwierigkeiten: Testen Sie die Suchergebnisse, die sie als Argumente mitgeben wollen und versuchen Sie das Antscript erst einmal nicht in jFellow auszuführen, sondern in einer normalen Kommandozeile, z.B. der MS-DOS-Konsole unter Windows oder einer Shell unter Linux.
- Wenn angekreuzt, wird ein Ant Script per Http oder Ftp geladen und ausgeführt.
In beiden Fällen (Ausführen eines Befehls oder Ant Scripts) wird standardmäßig eine Logdatei geschrieben. Der Debuglevel wird dabei auf verbose gesetzt. Die Logdateien befinden sich in "{user.home}/.jfellow/ant/log". Einige Tasks (Aufgaben, die Ant abarbeiten kann) benötigen extra Java-Packages. Um diese sogenannten Dependencies (Abhängigkeiten) aufzulösen, werden einige wichtige Packages im jFellow mitgeliefert: mail.jar, activation.jar (für Mail), netcomponents.jar (für Ftp), optional.jar. Das erhöht den Download beim Installieren von ca. 0,82 MB auf ca. 2.7 MB, dafür stehen Ihnen jedoch wesentlich mehr Möglichkeiten zur Verfügung
Erläuterungen zum Laden eines "remoten" Ant Scripts: Geben Sie im Textfeld eine Datei an, beispielsweise "http://www.myserver.net/my_remote_ant.xml", gefolgt von den üblichen Parametern, die Ant erwartet. Beispiel: "http://www.myserver.net/my_remote_ant.xml -logfile c:\my_ant.log -verbose -Dmyargument_1={r4} -Dmyargument_2=zwei". Ein Ftp-Download ist ebenfalls möglich. Für Benutzernamen und Passwort müssen "ftpuser" und "ftppass" verwendet werden. Beispiel: "ftp.myserver.net/ant/build_1.xml ftpuser=xxxx ftppass=yyyy -DmyArg1={r2} -DmyArg3=aaa bbb" usw. Anmerkung: Beachten Sie, dass Leerzeichen wie in "aaa bbb" möglich sind. Sie müssen mit einem "\" maskiert werden. Auch in {r2} und können Leezeichen vorhanden sein, siehe Aktion "Befehle" oben, um die sich jFellow kümmert. In der URL können Leerzeichen verwendet werden. Sie müssen allerdings mit einem "\" maskiert werden. Damit wird aus "ftp.myserver.net/i nd ex.html" dann "ftp.myserver.net/i\ nd\ ex.html". Für den Rest (alles nach URL = Argumente für Ant) gilt das selbe. Die Datei "my_remote_ant.xml" wird vom Webserver geladen, in "{user.home}/.jfellow/ant" gespeichert und anschließend ausgeführt. Leerzeichen in der URL des "remoten" Ant Scripts (http oder ftp) sind möglich. In den Argumenten (egal welche) sind Leerzeichen möglich, siehe oben zu Leerzeichen in Befehlen.
Checkbox "Warte, gib Fehlermeldungen": Ist die Checkbox aktiviert, dann warted jFellow, bis der Befehl beendet wurde. Empfohlene Einstellung. Dabei gibt es Vor- und Nachteile. Der Nachteil ist, dass jFellow blockiert wird, solange der Befehl ausgeführt wird. Der große Vorteil ist, dass jedes Programm beim Beenden einen sogenannten Return Code zurückgibt. Dieser Return Code wird durch jFellow ausgewertet. Der Return Code kann signalisieren, dass der Befehl erfolgreich war oder Fehler aufgetreten sind.
Checkbox "Kanal": Hauptanwendung dieser Aktion ist das "Durchklicken" von Webanwendungen. Mit der Verknüpfung von Kanälen kann jFellow sich durch Login-Seiten, Formulare usw durchklicken, denn die aufgerufenen Kanäle können auf alle Eigenschaften (auch der Ergebnisse der Suchabfragen) der aufrufenden Kanäle zugreifen. Ebenfalls werden Cookies, die gesetzt wurden in den folgenden URL's wiederverwendet.
Die Aktion führt einen anderen Kanal aus. Kanäle, die von anderen aufgerufen werden können, müssen im Dialog "Neu" (oben) oder "Ändern" (oben) als solche markiert werden. Sie erscheinen dann in der Liste rechts neben der Checkbox, wo sie ausgesucht werden können. Aufgerufene Kanäle können wiederum andere Kanäle aufrufen. Kanäle, die aufgerufen werden können, können sich nicht selbst in Intervallen aktualisieren.
Aufgerufene Kanäle können auf alle Eigenschaften des aufrufenden Kanals zugreifen und die Werte der Eigenschaften mit Platzhaltern durch jFellow ersetzten lassen. Beispiel "{caller.r.r2}" setzt das Ergebnis der zweiten Suchabfrage des aufrufenden Kanals ein. Mehr zu diesem Feature im Kapitel Ersetzte Eigenschaften / Properties. Diese Art der Ersetzungen können auch mit den URL's der aufgerufenen Kanäle durchgeführt werden. Beispiel: "{url.auto_complete}{caller.r.r2}". In diesem Fall ist "{caller.r.r2}" das Ergebnis der zweiten Suchabfrage des aufrufenden Kanals, sagen wir "doku.html". "{url.auto_complete}" vervollständigt diese relative URL zu einer absoluten, sagen wir "http://www.myserver.org/de/doku.html".
Zum Testen des Kanals testen Sie bitte den aufrufenden Kanal zuerst. Dieser wird die aufzurufenden Kanäle ebenfalls testen. War der Test erfolgreich, dann können alle Ersetzungen von Platzhaltern kontrolliert werden, beispielsweise in der Ansicht. Nach dem erfolgreichen Test können in der Liste "Aufrufender Kanal" (im Panel "Test der Argumente" weiter unten) alle Eigenschaften des aufrufenden Kanals eingesehen werden. Auf diese Weise erfahren Sie, welche Eigenschaften Sie überhaupt benutzen können, deren Syntax für die Platzhalter und die Werte der Eigenschaften. Beispielsweise können Sie auf die Ergebnisse, die URL usw zugreifen.
Liste rechts neben "Kanal": Hier kann ein Kanal ausgesucht werden, siehe Aktion "Kanal".
Checkbox "Sound": Aktiviert oder deaktiviert einen Audio Clip. Sie können als Benachrichtigung für jeden Kanal einen andern Audio Clip verwenden. Diese können lokal gespeichert sein, beispielsweise
"file:/c:/mydir/mysound.wav"
oder auf einem Webserver liegen, beispielsweise http://www.myserver.net/mydir/mywav.mid".
Mögliche Formate sind:
- *.wav,
- *.aif,
- *.rmf,
- *.au,
- *.mid.
JFellow spielt einen Standard-Sound ab, wenn die Checkbox "Sound" aktiviert ist und das Textfeld rechts daneben leer bleibt.
Checkbox "Pop Up": Aktiviert oder deaktiviert ein Pop-Up-Fenster, das über das Auslösen von Aktionen für diesen Kanal informiert. Als Text wird der Text der Ansicht angezeigt einschließlich der Ersetzungen der Platzhalter. Die Ansicht kann demzufolge in text/plain oder text/html erfolgen. Das Programm versucht aus dem Inhalt der Meldung zu erraten, ob es sich um einfachen unformatierten Text oder um Html handelt. Die Darstellung kann im Pop-Up-Fenster geändert werden. Gültige Verweise können im Standard-Browser geöffnet werden. Im Pop Up werden Fehlermeldungen angezeigt, so der Kanal Fehler meldet. Wurden Befehle und/oder Ant Scripte ausgeführt, dann werden die Logdateien in einer Liste dargestellt.
Jeder Kanal kann immer nur einen PopUp geöffnet haben. D.h. wird beim Aktualisieren eines Kanals ein PopUp geöffnet und es ist bereits ein PopUp von diesem Kanal offen, dann wird das alte Fenster geschlossen. Mit dem Löschen einen Kanals, auch von Spider-Kanälen, wird das dazugehörige PopUp-Fenster ebenfalls geschlossen. Alle PopUp's können auf einen Schlag zusammen geschlossen werden. Dazu benutzen Sie bitte Menü "Ansicht", "Schließe alle PopUp's".
Checkbox "Mail": Aktiviert oder deaktiviert das Versenden einer Mail. Die Maileinstellungen werden im nächsten Karteikarte festgelegt.
Checkbox "Ein fehlendes Suchergebnis ist kein Fehler": Unterdrückt Fehlermeldungen, die normalerweise produziert werden, wenn eine Suchabfrage nichts finden kann.
Liste "Eigene Argumente": Auswahl der Suchabfrage, deren Ergebnisse im Textfeld darunter angezeigt werden sollen. Die Bezeichnung "Argumente" weist auf die Verwendung der Suchergebnisse als Argumente für Befehl und Ant Script hin. Sie können auch in der Ansicht, der Mail und den URL's verwendet werden.
Liste "Aufrufender Kanal": Zeigt alle Eigenschaften des aufrufenden Kanals, wenn der Kanal durch einen anderen aufgerufen wurde. Der aufrufende Kanal muss vorher getestet werden. Alle gezeigten Eigenschaften können in Platzhaltern wie "{caller.r.r1}" verwendet werden. Dabei wird der Platzhalter "{caller.r.r1}" mit dem Ergebnis der Suchabfrage Nummer eins des aufrufenden Kanals eingesetzt.
Textfeld unten: Anzeige der Ergebnisse für die ausgewählte Suche. Mehrfachtreffer pro Suche werden mit einem Leerzeichen getrennt.

 
Dialog "Einstellungen", "Kanäle", "Mail"

 
Dialog Mail. (Bitte mit Internet verbinden.)

 
Textfeld "An": E-Mail-Adresse des Empfängers. Mehrere Empfänger können durch "," (Komma), " " (Leerzeichen) usw getrennt werden.
Textfeld "Von": E-Mail-Adresse des Absenders.
Textfeld "Betreff": Betreff der Mail.
Textfeld "Text": Text (body) der Mail. Hier kann wieder mit Platzhaltern für die Suchergebnisse gearbeitet werden: "{r1}" für das erste Suchergebnis des Kanals, "{r2}" für das zweite usw. Auch die anderen üblichen Platzhalter können verwendet werden, siehe. Werden Html-Formatierungen verwendet, dann wird die Mail als Typ Html gesendet (mime/type = html).
Textfeld "SMTP Server": Der Mailserver, an den die Mail gesendet werden soll (um diese weiterzuleiten). Beispiel: "smtp.puretec.de".
Checkbox "Authentifizierung": Aktiviert/deaktiviert die Authentifizierung gegen den Mailserver.
Textfeld "Benutzer": Benutzername für die SMTP-Authentifizierung.
Textfeld "Password": Passwort für die SMTP-Authentifizierung.
Button "Standard": Alle Textfelder können mit diesem Button vorbelegt werden. Die Werte für die Vorbelegung können im Dialog "Einstellungen", "Mail" festgelegt werden.
Textfeld "Test Text": Testen des Textes (body) der Mail. Sinnvoll, wenn Platzhalter für Suchergebnisse und Kanaleigenschaften verwendet werden. Die Suchergebnisse werden nach Drücken des Buttons "Test" in den Text eingefügt.

 
4.3.2 Dialog "Einstellungen", "Lösche Spider Kanäle"

 
Dialog Lösche Spider. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog, mit dem einzelne Spider-Kanäle entfernt werden können. Offene Pop Up's der gelöschten Kanäle werden dabei ebenfalls geschlossen. Sinnvoll ist diese Funktion vor allem für die Löschung von Spider-Kanälen, die mit einem Template überschieben wurden, denn diese Kanäle werden nicht automatisch entfernt, wenn es keinen Verweis mehr auf sie gibt.

 
4.3.3 Löschen alle Spider Kanäle

 
Löscht alle Spider Kanäle und deren PopUp's.

4.3.4 Dialog "Einstellungen", "Spiders"

 
Dialog Spiders. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog, mit dem die URL's für das Verfolgen von Verweisen (Spider-Kanäle) gefiltert werden können. Die Einstellungen hier können in jedem Kanal als Voreinstellungen verwendet werden. Ein- und Ausschlußfilter arbeiten mit regulären Ausdrücken.
Einige Beispiel zur Veranschaulichung.
- "\.exe\b|\.zip\b": "\.exe\b|\.zip\b" findet alle URL's, die mit ".exe" oder ".zip" enden."\.exe\b" findet alle URL's, die auf ".exe" enden. Dabei bedeuted "\." ein ".". Der Backslash "\" steht vor dem ".", weil bei regulären Ausdrücken ein "." für ein beliebiges Zeichen steht, also nicht nur für "." sondern auch für einen einzelnen Buchstaben, Zahl usw. Der Backslash "\" sagt, dass der "." wirklich als "." und nicht als ein beliebiges Zeichen zu verstehen ist. "\b" bedeutet Wortende. Damit werden wirklich nur die URL's gefunden, die auf ".exe" enden. "|" steht für "oder".
- "http://www.guardian.co.uk/.+/Stories/.+html": Findet alle URL's, die "http://www.guardian.co.uk/" beinhalten, gefolgt von mindestens einem beliebigen Zeichen, gefolgt von "/Stories/", gefolgt von mindestens einem beliebigen Zeichen, gefolgt von "html". Die URL muss nicht mit "html" enden.
- "[\d]{3,6}\.html\b": Findet URL's, die 3 bis 6 Ziffern enthält ("[\d]{3,6}"), gefolgt von einem Punkt ("\.") und auf "html" enden ("html\b"). Beispiele "365.html" oder "news/comment/st_348221.html". Die URL's müssen nicht mit den Zahlen beginnen.

 
4.3.5 Netzwerk

 
Dialog Netzwerk. (Bitte mit Internet verbinden.)

 
Folgende Einstellungen können vorgenommen werden:

Bezeichnung
Erläuterung
Java Property
Http Proxy Server
http.proxyHost indicate the proxy server that the http protocol handler will use.
http.proxyHost
Http Proxy Port
http.proxyPort indicate the proxy port that the http protocol handler will use.
http.proxyPort
Http Non Proxy Servers
http.nonProxyHosts indicates the hosts which should be connected too directly and not through the proxy server. The value can be a list of hosts, each seperated by a |, and in addition a wildcard character (*) can be used for matching. For example: -Dhttp.nonProxyHosts="*.foo.com|localhost".
http.nonProxyHosts
Http Proxy User Name
Authentication against proxy host. Send with header "Proxy-Authorisation" and encoded ("user:pass") with a Base64Encoder
Http Proxy User Pass
Authentication against proxy host. Send with header "Proxy-Authorisation" and encoded ("user:pass") with a Base64Encoder
Ftp Proxy Server
ftp.proxyHost and ftp.proxyPort indicate the proxy server and port that the ftp protocol handler will use.
ftp.proxyHost
Ftp Proxy Port
ftp.proxyHost and ftp.proxyPort indicate the proxy server and port that the ftp protocol handler will use.
ftp.proxyPort
Ftp Non Proxy Servers
ftp.proxyHost and ftp.proxyPort indicate the proxy server and port that the ftp protocol handler will use. ftp.nonProxyHosts is similiar to http.nonProxyHosts and indicates the hosts that should be connected too directly and not through the proxy server.
ftp.nonProxyHosts
Http User Agent
Indicates the User-Agent request header sent in http requests.
http.agent
Http Connect Timeout
sun.net.client.defaultConnectTimeout specifies the timeout (in milliseconds) to establish the connection to the host. For example for http connections it is the timeout when establishing the connection to the http server. For ftp connection it is the timeout when establishing the connection to ftp servers. The default is "-1".
sun.net.client.defaultConnectTimeout
Http Read Timeout
sun.net.client.defaultReadTimeout specifies the timeout (in milliseconds) when reading from input stream when a connection is established to a resource. The default is "-1".
sun.net.client.defaultReadTimeout

 
Anmerkung: Die Timeouts sind keine offiziellen Java-Implementationen, sondern Implementationen von Sun. Sun garantiert damit nicht das korrekte Funktionieren unter alle Plattformen. In der Liste können verschiedene Http-Agents ausgewählt werden. Der Server kann diese Lesen. Sie sind damit eine Art Identifikation. Die vielen Http-Agents in der Liste entsprechend den momentan gängigsten Browser-Identifikationen. Die laut Statistik am häufigsten benutzten, stehen oben in der Liste.

 
4.3.6 Dialog "Einstellungen", "Cookies / Headers"

 
Dialog Cookies / Headers. (Bitte mit Internet verbinden.)

 
In diesen Dateien können Cookies, "http auth header" und andere "http header" bearbeitet werden. Die Werte werden für die entsprechenden Domains / URL's als http header beim http request als an den Webserver mitgeschickt.

Vom Webserver empfangene Cookies werde in die Cookies-Datei geschrieben. Wie Cookies notiert werden, erfahren Sie am besten, wenn sie jFellow eine URL aufrufen lassen. Mit etwas Glück setzt der Webserver ein Cookie. (Tip: "http://www.sueddeutsche.de/") Sie können sich anschließend die Cookies-Datei anschauen. Cookies sind abhängig von Webseiten oder Domainen. Wird ein Cookie vom Webserver für eine bestimmte Domain gesetzt, sagen wir "www.faz.net", dann wird das Cookie auch nur bei dieser Domain an den Webserver gesendet.

WICHTIG: Das Verfallsdatum des Cookies muss vom Webserver in der Locale.US (in Englisch) angegeben werden. Beispiel:
"Tue, 09-Dec-2003 13:46:00 GMT"
Statt auf deutsch "Die" müssen Sie "Tue", engl. für Tuesday, notieren und "Dec" (engl. December) statt "Dez" (deutsch). "GMT" steht für General Mean Time. Sie können andere Zeitzonen verwenden, beispielsweise "PST" für Pacific Standard Time.

Der Http Header des Cookies würde dann so aussehen:
"Set-Cookie", "myCookie=My_Value; path=/; expires=Tue, 09-Dec-2003 13:46:00 GMT"

Falls Sie auf dem Webserver JSP's verwenden (Java), dann würde das Statement so aussehen:
"response.setHeader("Set-Cookie", "myCookie=My_Value; path=/; expires=Tue, 09-Dec-2003 13:46:00 GMT");"

"http auth header" werden bei Authentifizierungen bei einem Webserver verwendet. Sie haben sicherlich schon einmal eine Webseite aufgerufen, bei dem ein Fenster aufgesprungen ist, in dem ein Benutzername und ein Passwort eingeben werden muss, um die Webseite (Bild,..) anschauen zu können. Geben Sie in der Datei pro Zeile die URL an, die aufgerufen werden soll, dann Tabulator (!!!), dann den Benutzernamen, dann Tabulator (!!!), dann das Passwort. Benutzernamen und Passwort können Sie auch in dem Dialog angeben, mit dem Sie den Kanal bearbeiten. Die Authentifizierung muss nicht in der Datei stehen. Dieses Verfahren ist jedoch von Vorteil, wenn viele URL's bearbeitet werden müssen oder die URL's, die aufgerufen werden vorher nicht bekannt sind. Das kann bei Spider-Kanälen der Fall sein. Die Werte der Datei werden von den Werten im Dialog überschrieben.

"http headers": Hier könnne beliebige andere "http header" festgelegt werden. Ein Schlüssel-Wert-Paar steht in einer Zeile. Schlüssel und Wert sind durch Tabulator getrennt. Im Gegensatz zu Cookies werden Http Header nicht abhängig von der URL (Beispiel: "faz.net", "faz.net/archiv/index.html") Die Header werden jedem Request (Anforderung beim Webserver) mitgesendet

 
4.3.7 Mail

 
Dialog Mail. (Bitte mit Internet verbinden.)

 
Die Werte, die hier eingetragen werden, können im Dialog "Einstellungen", "Kanäle", Reiter "Mail" als Voreinstellungen benutzt werden.
Textfeld "An": E-Mail-Adresse des Empfängers. Mehrere Empfänger können durch "," (Komma), " " (Leerzeichen) usw getrennt werden.
Textfeld "Von": E-Mail-Adresse des Absenders.
Textfeld "Betreff": Betreff der Mail.
Textfeld "Text": Text (body) der Mail.
Textfeld "SMTP Server": Der Mailserver, an den die Mail gesendet werden soll (um diese weiterzuleiten). Beispiel: "smtp.puretec.de".
Checkbox "Authentifizierung": Aktiviert/deaktiviert die Authentifizierung gegen den Mailserver.
Textfeld "Benutzer": Benutzername für die SMTP-Authentifizierung.
Textfeld "Password": Passwort für die SMTP-Authentifizierung.

 
4.3.8 Log Meldungen

 
Dialog Mail. (Bitte mit Internet verbinden.)

 
Das Programm kann Meldungen mit variabler Ausführlichkeit (Log Level) in eine Konsole ausgeben und/oder in eine Datei schreiben. Die Datei ist maximal 5 MB groß. Bei jedem Start überschreibt jFelllow die alte Datei mit einer neuen.
Nur, wenn Meldungen in eine Datei geschrieben werden, können diese im Dialog "Ansicht", "Log Meldungen" angesehen werden. Natürlich kann zum Ansehen der Meldungen auch eine externer Texteditor benutzt werden.
Der Debug Level (Ausführlichkeit) nimmt nach unten hin ab. Wird "Am feinsten" gewählt, dann kann sich die Geschwindigkeit der Ausführung merklich verlangsamen. Die feineren Level sind praktisch nur für den Programmierer sinnvoll. Wenn Sie einen Fehler im Programm entdecken, und an tom@jfellow.net berichten wollen, dann stellen Sie bitte den Debug-Level auf "Am feinsten", geben eine Datei an und reproduzieren den Fehler. Die Datei senden Sie bitte per Mail mit der Beschreibung des Fehlers und dem Kanal, bei dem der Fehler aufgetreten ist. Sie können den Kanal mit dem Dialog im Menü "Datei", "Export" exportieren.

 
4.3.9 Sprache

 
Bisher sind nur zwei Sprachen implementiert. (TODO: Braucht jemand mehr?) Das Ändern der Sprache kann im laufenden Betrieb durchgeführt werden. Es gibt keine unterschiedliche Versionen von jFellow für unterschiedliche Sprachen. Zum Hinzufügen einer neuen Sprache muss lediglich eine neue Textdatei angelegt werden. Beim Start prüft jFellow die Standardsprache des Systems in dem er gerade läuft. Ist die Standardsprache Englisch oder Deutsch wird auf diese Sprachen automatisch umgestellt. Ist keine der beiden die passende, wird automatisch auf Englisch umgestellt.

 
4.3.10 Erscheinungsbild

 
Dialog Erscheinungsbild. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog zur Anpassung des Erscheinungsbildes von jFellow.
Die Hintergrundfarbe des Hauptfenster kann gewählt werden.
Es können folgende Textfarben unabhängig voneinander gewählt werden:
- Kanalname,
- Zeit der letzten Aktion,
- Zeit der letzten Änderung,
- Zeit der letzten Auffrischung.
Unten befindet sich ein Textfeld zum Testen der vorgenommenen Einstellungen.

 
4.3.11 Dialog "Einstellungen", "Fehlerbehandlung"

 
Dialog Fehlerbehandlung. (Bitte mit Internet verbinden.)

 
Selbsterklärend. Hier wird das Fehlerhandling gesteuert.

 
4.3.12 Dialog "Einstellungen", "Plug-In's"

 
Dialog Fehlerbehandlung. (Bitte mit Internet verbinden.)

 
Der Dialog enthält hier ein Plug-In von Virfomation (www.virformation.de). Benutzer von Virformation können hier ihre Registrierdaten eingeben. Die Cookiesdatei kann gewählt werden. Weitere Informationen bitte unter auf der Webseite von Virformation.

 
4.4 Menü Tools

 
Menü Tools. (Bitte mit Internet verbinden.)

 
4.4.1 Einfacher Http Test

 
Dialog Http Test. (Bitte mit Internet verbinden.)

 
Öffnet ein Programm, mit dem Seiten per Http abgerufen und dargestellt werden können. Es enthält auch eine kleine Hilfe. Der Dialog kann unter Umständen nützlich werden, da er den Http-Proxy-Server testet und die http headers anzeigt, die man in einem "normalen" Webbrowser nicht angezeigt bekommt.
Tipp: Haben Sie sich manchmal gefragt, warum ein oder mehrere Werbefenster beim Aufruf einer Seite aufpoppen. Sie sehen sich den Quelltext im Browser an und können keine entsprechenden Befehle (JavaScript) finden. Rufen Sie diese Seiten einmal mit dem "Http Test" auf. Das Programm "versteht" kein JavaScript und zeigt die Originalseite an, d.h. die erste Seite, die der Browser vom Server empfängt. Sie werden auf dieser Seite den Javasript-Kode und ein Frameset entdecken.
Es gibt noch zwei andere Formen der automatischen Umleitung. Bei der ersten anderen Form sendet der Server an den Browser (auch "Http Test") einen sogenannten Response-Code im Http Header, beispielsweise, wenn die Seite auf dem Webserver verschoben wurde. Der "Http Test" kann mit diesen Umleitungen umgehen. Er ruft die gewünschte Seite automatisch (unbemerkt von Ihnen) auf. Eine weitere Form der Umleitung kann im in den Html-Headern erfolgen. Html-Header meint nicht die Http-Header, sondern Daten innerhalb des Kopfes einer Html-Datei. Im Unterschied zu den Http-Headern können Sie diese Header im Quelltext der Seite sehen. Genau wie mit der Umleitung über JavaScipt kann der "Http Test" auch mit dieser Form der Umleitung nicht umgehen. Er wird die Seite nicht Weiterleiten.

 
4.4.2 Einfacher Ftp Test

 
Dialog Ftp Test. (Bitte mit Internet verbinden.)

 
Öffnet ein Programm, mit dem Seiten per Ftp abgerufen und dargestellt werden können. Es enthält auch eine kleine Hilfe. jFellow benutzt die Implementation eines Ftp-Clients von Sun, der nicht in der offiziellen Java-Distribution enthalten ist und daher laut Sun eventuell nicht korrekt funktionieren könnte. Es gibt genügend freie und funktionierende Alternativen. Wir haben trotzdem diesen Weg gewählt. Der passive mode wird grundsätzlich benutzt. D.h. der Ftp-Transfer sollte grundsätzlich durch Firewalls hindurch gehen.

 
4.4.3 Cookies Editor

 
Dialog Ftp Test. (Bitte mit Internet verbinden.)

 
Zur Verwaltung von Cookies

 
Hier können neue Cookies erzeugt und bearbeitet werden:
1) Aus einer Zeile, die aus einer Cookies-Datei kopiert wurde,
2) Aus einer Zeile, die aus den Http-Headern kopiert wurde, die von einem Webserver mitgegeben wurde. Tipp: Http-Header können Sie mit dem kleinen Programm "Http Test" aus dem Menü "Tools" darstellen. Die Http-Header werden nicht durch einen "normalen" Webbrowser angezeigt.
3) Aus einzelnen Werten. Dabei können Sie einen Dialog zur Datumswahl öffnen. Das ist praktisch, wenn Sie zu dem Wert "Verfall", der immer in Millisekunden angegeben wird, das Datum in Jahr und Tag sehen wollen.

 
Ganz unten im Dialog können Sie eine Cookies-Datei laden. Die Cookies der Datei werden tabellarisch angezeigt. Wenn Sie auf ein Cookie in der Tabelle klicken, dann werden die Felder oben mit den Werten des Cookies gefüllt.

 
Buttons "Transform": Erzeugt ein Cookie aus den Werten der jeweils aktuellen Darstellung des Cookies (Zeile wie in Cookie-Datei oder Zeile in Http-Headern vom Server oder einzelne Werte). Anschließend werden die Werte des Cookie in die Textfelder der beiden anderen Darstellungsformen übertragen. Beispiel: Sie bearbeiten das Cookie im Textfeld für die Zeile in der Cookies-Datei. "Transform" erzeugt ein Cookie aus dieser Zeile und überträgt die Werte in das Feld für die Http-Header und die Felder für die einzelnen Werte des Cookies.

 
Buttons "Zur Datei": Erzeugt ein Cookie, stellt es dar und überträgt das Cookie in die Datei. Das Cookie:
- Wird angefügt, wenn es kein Cookie gibt, das die gleichen Wert hat für:
-- Domain UND
-- Pfad UND
-- Name.
- Überschreibt ein vorhandenes Cookie, wenn es ein Cookie mit gleicher Domain, gleichem Pfad und Namen findet.
ACHTUNG: Ein Cookie wird nicht in die Datei geschrieben, wenn sein Verfallsdatum kleiner als das aktuelle Datum ist.

 
4.5 Menü Hilfe

 
Menü Hilfe. (Bitte mit Internet verbinden.)

 
4.5.1 Über

 
Öffnet einen Dialog mit Lizenz- und anderen Informationen.

 
4.5.2 Handbuch

 
Dialog Handbuch. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog zum Lesen dieses Hilfetextes. Die Screenshots werden von einem Webserver geladen. Um sie betrachten zu können, müssen sie demzufolge mit dem Internet verbunden sein. Zumindest unter Linux wird der Inhalt des Fensters erst sichtbar, nachdem alle Bilder geladen sind. TODO: Verfolgen.

 
4.5.3 System Info

 
Dialog System Infos. (Bitte mit Internet verbinden.)

 
Öffnet einen Dialog, der Systeminformationen tabellarisch ausgibt. Links stehen die Schlüssel und rechts die Werte zu den Schlüsseln. Alle gezeigten Werte lassen sich in Platzhaltern in Ansichten, Befehlen usw verwenden. Siehe Ersetzte Eigenschaften / Properties. Tip: Auch in Ant Scripten lassen sich diese Werte benutzen.