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ünchen</B></TD>\s*<TD class="C9">( )*"
- Ausdruck 2: " "
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ünchen</B></TD>\s*<TD class="C9">.*</TD>\s*<TD class="C9">( )*"
- Ausdruck 2: " "
Anmerkung: Der reguläre Ausdruck
"München</B></TD>\s*<TD class="C9">( )*"
sucht nach Text mit:
- "Mü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
- "( )*" die Zeichenkette " " keinmal oder beliebig oft.
" " 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ü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
|