Quasi-Offline-Reader fürs Forum
Frank Schönmann
0 Rolf0 Stefan Muenz
hi!
Falls ihr Perl habt und das Forum offline lesen wollt, könnt ihr mal das folgende Skript ausprobieren, das ich geschrieben habe: http://top.tower.de/selfhtml/selfget.zip
Ihr braucht dafür die Module LWP und HTML, die es irgendwo im CPAN (http://www.perl.com/CPAN) zu finden gibt.
Installation:
Danach findet ihr die Forumsübersicht in der Datei self_forum.html. Alle Links sollten so angepasst sein, dass sie funktionieren. Nur zum Absenden von Nachrichten müsst ihr noch online gehen.
Falls jemand was damit anfangen kann würde ich mich über eine Mitteilung freuen :-)
bye, Frank!
Hallo Frank,
eine ganz ganz tolle Sache, aber es gab ein paar Fehlermeldungen. Das SCR wollte erst starten nachdem ich die Zeilen 54 und 55 auskommentierte. Es sind dann jede Menge Dateien auf meinem Rechner gelandet ab 10671 bis 11276 exakt 606 Dateien ad Zahl. Aber es sind sehr sehr viele leer geblieben.
Viele Grüße, Rolf
PS:
Einige der eingefangenen Fehlermeldungen:
Use of uninitialized value at selfget.pl line 86.
Use of uninitialized value at selfget.pl line 87.
Use of uninitialized value at selfget.pl line 90.
####Use of uninitialized value at selfget.pl line 82.
Use of uninitialized value at selfget.pl line 83.
Use of uninitialized value at selfget.pl line 84.
Use of uninitialized value at selfget.pl line 85.
Use of uninitialized value at selfget.pl line 86.
Use of uninitialized value at selfget.pl line 87.
Use of uninitialized value at selfget.pl line 90.
####Use of uninitialized value at selfget.pl line 82.
... hier wiederholt sich das.
hi!
eine ganz ganz tolle Sache, aber es gab ein paar Fehlermeldungen. Das SCR wollte erst
starten nachdem ich die Zeilen 54 und 55 auskommentierte. Es sind dann jede Menge
Dateien auf meinem Rechner gelandet ab 10671 bis 11276 exakt 606 Dateien ad Zahl. Aber
es sind sehr sehr viele leer geblieben.
Tut mir leid wegen den Fehlermeldungen. Ich hatte in den beiden Zeilen leider je ein Zeichen falsch gesetzt. Ist aber mittlerweile behoben und unter der gleichen URL liegt die aktualisierte Version. Man sollte halt seine Skripts selbst nach kleinsten Veränderungen nochmal testen ;))
Dass manche Dateien leer bleiben liegt daran, dass zwischen 10671 und 11276 einige Nachrichten gar nicht mehr auf dem teamone-Server liegen - vom Schwanzabschneider archiviert. Daran kann mein Skript nichts ändern. Wenn du es aber nicht abgestellt hast, werden auch die leeren Dateien mit der Zeit gelöscht, theoretisch schon beim zweiten Durchlauf.
bye, Frank!
Hallo Frank
Ein offline-Reader fuer so ein Forum ist - mal abgesehen von Entwicklungen, die hoffentlich bald eintreten werden und so etwas wie "Offline" ueberfluessig machen werden <g> - auf jeden Fall eine sinnvolle Sache.
Ich glaube allerdings, dass den meisten Usern ein nacktes Perl-Script doch zu kryptisch ist. Was ich z.B. nicht auf Anhieb kapiert habe ist, wo die neuen Message-Files eigentlich lokal abgelegt werden.
Vielleicht waere es besser, es als CGI umzuschreiben (erfordert nicht so viel mehr Aufwand, eigentlich nur ein schoenes HTML-Formular mit transparenter Oberflache als Input drumerhum - vielleicht sogar gleich mit Forumslayout - statt globaler Variablen im fremden Script, die man anpassen muss). Web-Server und Perl braucht man dann zwar immer noch, aber man haette eine bequeme Oberflaeche (bzw. das gleiche Programm offen, mit dem man hinterher auch die neuen Nachrichen lesen kann).
Ausserdem solltest Du die Module, die man noch braucht, am besten direkt verlinken, nicht ungefaehr. Nur was idiotensicher ist, funktioniert <g>.
Ansonsten aber noch mal vielen Dank fuer die Muehe und alle Achtung vor der Idee!
viele Gruesse
Stefan Muenz
Hallo Stefan
Ein offline-Reader fuer so ein Forum ist - mal abgesehen von Entwicklungen, die hoffentlich bald eintreten werden und so etwas wie "Offline" ueberfluessig machen werden <g> - auf jeden Fall eine sinnvolle Sache.
Darf man fragen wie du das meinst? Ich hoffe du beziehst dich auf Internet aus der Steckdose (siehe weiter unten)..... Gibt es ein leben ohne Selfaktuell - Forum??? Ich glaube nein :)
CU
rufinus
Hallo Rufinus
Darf man fragen wie du das meinst? Ich hoffe du beziehst dich auf Internet aus der Steckdose (siehe weiter unten)..... Gibt es ein leben ohne Selfaktuell - Forum??? Ich glaube nein :)
Ich meine es ganz im Sinne von <t02404.htm#a11227>. Ich hab Offline-Reader noch nie besonders gemocht, obwohl ich einsehe, dass es fuer viele Leute angesichts der heutigen Online-Kosten kaum eine andere Moeglichkeit gibt, regelmaessig aktiv am Netzleben teilzunehmen. Eben das regt mich aber so auf: warum muessen Normalverdiener zu solchen Kruecken wie Offline-Readern greifen, um am Online-Leben teilnehmen zu koennen? Leider unterstuetzt jeder, der einen Offline-Reader benutzt, den Status Quo. Es kommt aber darauf an, diesen Status Quo zu veraendern. Online muss der Normalzustand werden!
Was das Forum betrifft, brauchst du keine Herzrhythmusstoerungen zu kriegen - da stehe ich wieder voll dahinter, und einzelne Ausrutscher kann ich wieder gut vertragen :-)
viele Gruesse
Stefan Muenz
hi!
Ich glaube allerdings, dass den meisten Usern ein nacktes Perl-Script doch zu kryptisch ist.
In Perl geht es für mich am schnellsten zu programmieren. Leider gibt es für Perl keinen Compiler, bzw. keinen vernünftigen, um es als direkt ausführbare Datei anzubieten :((
Immerhin ist es bereits soweit vorbereitet, dass es ohne jede Änderung laufen sollte, sobald man es installiert hat - wenn die benötigten Module vorhanden sind.
Was ich z.B. nicht auf Anhieb kapiert habe ist, wo die neuen Message-Files eigentlich lokal
abgelegt werden.
for ($i = $no; $i <= $upto; $i++)
{
my $content = get $path."self_forum/$i.html";
...
open FILE, ">self_forum/$i.html";
print FILE $content;
close FILE;
}
Vielleicht waere es besser, es als CGI umzuschreiben (erfordert nicht so viel mehr Aufwand,
eigentlich nur ein schoenes HTML-Formular mit transparenter Oberflache als Input
drumerhum - vielleicht sogar gleich mit Forumslayout - statt globaler Variablen im fremden
Script, die man anpassen muss).
Ich weiß nicht genau, was du meinst. Eigentlich benötigt das Skript keine Oberfläche. Und wenn man mit den Standard-Einstellungen zufrieden ist, muss man auch nichts anpassen.
Würde ich es als CGI-Skript umschreiben, bräuchte man einen Webserver. Das ist so wie es jetzt ist nicht nötig. Der Perl-Interpreter genügt.
Ausserdem solltest Du die Module, die man noch braucht, am besten direkt verlinken, nicht
ungefaehr. Nur was idiotensicher ist, funktioniert <g>.
Theoretisch müsste ich das LWP::Simple-Modul mitliefern können. Ich weiß zwar nicht, was du mit "direkt verlinken" meinst, aber ich hoffe, das was ich denke ;))
Vielleicht kann ich auch aus dem Modul den benötigten Code rauskopieren, falls nichts kompiliertes dabei sein muss.
Wie man es sonst vereinfachen könnte, weiß ich leider nicht. Vielleicht habe ich bei einigen von deinen Vorschlägen nicht verstanden, wie du sie gemeint hast. Falls ich was falsch verstanden habe, kannst du vielleicht nochmal genauer drauf eingehen?
bye, Frank!
Hallo Frank,
Was ich z.B. nicht auf Anhieb kapiert habe ist, wo die neuen Message-Files eigentlich lokal
abgelegt werden.for ($i = $no; $i <= $upto; $i++)
{
my $content = get $path."self_forum/$i.html";
...
open FILE, ">self_forum/$i.html";
print FILE $content;
close FILE;
}
Also, <zitat>open FILE, ">self_forum/$i.html";</zitat> setzt meinem Verstaendnis nach einfach voraus, dass sich unterhalb des Verzeichnisses, in dem sich das Perl-Script befindet, das Verzeichnis mit den Forums-Messages befinden soll. Will heissen, der User legt am besten ordentlich parallel zum SELFHTML-Verzeichnis auf gleicher Ebene ein Verzeichnis "selfaktuell" an, und unterhalb davon ein Verzeichnis "self_forum" (eben so wie hier auf dem Server). Dein Perl-Script installiert er dann in "selfaktuell".
Das mag fuer Dich jetzt trivial sein, aber wenn Du ein Interesse hast, dass es andere, die nicht gerade Cheatah oder Rufinus heissen, auch verwenden wollen, muessen solche Sachen einfach klipp und klar sein.
Ich weiß nicht genau, was du meinst. Eigentlich benötigt das Skript keine Oberfläche. Und wenn man mit den Standard-Einstellungen zufrieden ist, muss man auch nichts anpassen.
Würde ich es als CGI-Skript umschreiben, bräuchte man einen Webserver. Das ist so wie es jetzt ist nicht nötig. Der Perl-Interpreter genügt.
Ja, das stimmt natuerlich. Aber glaubst du im Ernst, es gibt hier jemanden, der Perl installiert hat, aber keinen Web-Server? Die Leute, die sich mit solchem Zeugs hier befassen, brauchen ja zuerst mal einen Web-Server, um die CGI-Schnittstelle zu haben, um die sich alles dreht, und dann brauchen sie eben ausserdem noch Perl, sinnvollerweise zumindest.
Theoretisch müsste ich das LWP::Simple-Modul mitliefern können. Ich weiß zwar nicht, was du mit "direkt verlinken" meinst, aber ich hoffe, das was ich denke ;))
Vielleicht kann ich auch aus dem Modul den benötigten Code rauskopieren, falls nichts kompiliertes dabei sein muss.
Wie auch immer: geh einfach davon aus: entweder bei dem, was Du zum Download anbietest, geht alles von allein, oder du weist an einer gut sichtbaren Readme-Stelle darauf hin, dass man genau da und dorthin gehen muss, um die benoetigten Zusatzmodule zu erhalten.
Ich will nur, dass Dein Offline-Reader ein Erfolg wird, ganz ehrlich!
viele Gruesse
Stefan Muenz
hi!
Also, <zitat>open FILE, ">self_forum/$i.html";</zitat> setzt meinem Verstaendnis nach
einfach voraus, dass sich unterhalb des Verzeichnisses, in dem sich das Perl-Script
befindet, das Verzeichnis mit den Forums-Messages befinden soll. Will heissen, der User
legt am besten ordentlich parallel zum SELFHTML-Verzeichnis auf gleicher Ebene ein
Verzeichnis "selfaktuell" an, und unterhalb davon ein Verzeichnis "self_forum" (eben so wie
hier auf dem Server). Dein Perl-Script installiert er dann in "selfaktuell".
Dem Skript ist es letztlich gleichgültig, in welchem Verzeichnis es liegt. Es braucht nur unterhalb seines Verzeichnisses ein Verzeichnis "self_forum/", in dem die Beiträge abgelegt werden können.
Da dieses Verzeichnis beim Entpacken des ZIP-Archivs automatisch angelegt wird, emfpand ich es nicht unbedingt als notwendig, gesondert darauf hinzuweisen.
Würde ich es als CGI-Skript umschreiben, bräuchte man einen Webserver. Das ist so wie
es jetzt ist nicht nötig. Der Perl-Interpreter genügt.
Ja, das stimmt natuerlich. Aber glaubst du im Ernst, es gibt hier jemanden, der Perl
installiert hat, aber keinen Web-Server? Die Leute, die sich mit solchem Zeugs hier
befassen, brauchen ja zuerst mal einen Web-Server, um die CGI-Schnittstelle zu haben, um
die sich alles dreht, und dann brauchen sie eben ausserdem noch Perl, sinnvollerweise
zumindest.
Ich programmiere in Perl auch nicht nur CGI-Skripts, sondern auch für andere Gelegenheiten. Aber du hast natürlich recht ;)) Trotzdem weiß ich nicht, wofür ich ein CGI-Skript daraus machen sollte, das eine HTML-Oberfläche besitzt. Da man nichts einstellen kann/muss, sondern es einfach aufruft, ist es so doch viel einfacher (zb. als Verknüpfung auf dem Desktop).
Aber eine Möglichkeit, einen Webserver damit zu verwenden ist mir doch eingefallen: ich könnte dann eine Funktion zum Offline-Schreiben von Nachrichten einbauen. Die geschriebenen Nachrichten werden dann offline in einer Datei gespeichert und auf Anforderung später verschickt.
[Benötigte Module]
Wie auch immer: geh einfach davon aus: entweder bei dem, was Du zum Download
anbietest, geht alles von allein, oder du weist an einer gut sichtbaren Readme-Stelle darauf
hin, dass man genau da und dorthin gehen muss, um die benoetigten Zusatzmodule zu
erhalten.
Ich werde sehen, was ich tun kann. Morgen vielleicht.
Ich will nur, dass Dein Offline-Reader ein Erfolg wird, ganz ehrlich!
Man muss das Skript nichtmal unbedingt als Offline-Reader verwenden. Theoretisch müsste man es auch als Tool verwenden können, um das SELFHTML-Forum zu spiegeln. Wenn du einen Mirror findest, der auch verwendet wird, vielleicht kannst du dann teamone.de etwas entlasten ;))
bye, Frank!