Das Notes Forum

Lotus Notes / Domino Sonstiges => Tools & Downloads => Thema gestartet von: Manfred Dillmann am 03.01.04 - 17:01:56

Titel: madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 03.01.04 - 17:01:56
Hallo zusammen,

da es nach meinen Erkenntnissen bislang keinen "nativ" Notes RSS Reader gab, war ich in den letzen Wochen fleissig und habe selbst einen programmiert.

Falls Ihr Interesse an einem Test habt, findet ihr auf meiner Website im Bereich Software (http://www.madicon.de/madicon.nsf/sw) eine Beta-Version und weiterführende Informationen.

Anregungen, Wünsche, Fehler und was immer zum Programm zu sagen (schreiben) ist, kann im eigens für diesen Zweck eingerichteten Forum (http://www.madicon.de/forum) gepostet werden.

Danke für Eure Mühe! :)

Gruss
Manfred



Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel_Janssen am 03.01.04 - 21:24:27
cool 8)

kann im eigens für diesen Zweck eingerichteten Forum (http://www.madicon.de/forum) gepostet werden.



nö. bleib ruhig hier.   ;D

Mich würde interessieren:
- hast du das in LotusScript programmiert oder inwieweit hast du Java verwendet?

- die Meldungen bezüglich des fehlenden Leerzeichens im xml code. Ohne jetzt als der grösste Clugscheisser des Samstagabends zu gelten, aber wenn ich mich richtig erinnere werden Leerzeichen und Line-breaks in xml gleich gewertet. Hab mir das rss der betreffenden Dokumente mal angeschaut und das könnte das Problem sein. Vielleicht kannst du das ein bischen robuster machen. Welche api benutzt du zum parsen der xml-Dokumente?

- wo liegt der Unterschied zwischen deinem replacement Doctype-Element und dem Element das im Newsfeed drin ist? Ich habe nix gesehen was da falsch ist.  

Gruß Axel
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 03.01.04 - 21:47:37
sorry, dass ich hier poste, aber dein dafür vorgesehenes Forum is irgendwie recht lahm bei mir.

sieht gut aus und bietet alle Features, die ich brauche (gut, fast. optionale Benachrichtigung bei Änderung einer Seite wäre nicht schlecht, hab ich nirgendwo entdeckt)
Ein paar Punkte:


Davon abgesehen is es ein schönes Teil.
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 03.01.04 - 21:56:29
Hallo Axel,

danke für Dein Feedback!

>>cool<<

Was bedeutet das? Gefällt Dir das Prg und ist die Funktionalität bei Dir OK (Agentenausführung, Nutzung eines Proxy-Servers etc.)?

>>- hast du das in LotusScript programmiert oder inwieweit hast du Java verwendet?<<

Aus meiner letzen Frage aus dem Java-Forum kannst Du leicht ableiten, das ich z.Z. von Java nicht viel Ahnung habe. Da die Anwendung aber halbwegs stabil laufen soll und ich das einfach in Java nicht sicher umsetzen kann, wird nur der XML-Code des NewsFeeds (incl. einer ggf. festgelegten Proxy-Nutzung) via Java gepollt. Die komplette weitere Verarbeitung ist in LS realisiert. In ND6 gibt es ja einen DOMParser und geeignete XML-Klassen.

Wenn ich Du wäre, wäre der Java-Anteil sicher ungleich höher... ;)

>>aber wenn ich mich richtig erinnere werden Leerzeichen und Line-breaks in xml gleich gewertet.<<

Scheint nicht so ganz richtig zu sein, es kommt wohl darauf an, wo die Leerzeichen stehen. Ausserhalb von tags ( <...> ) ist es wohl egal und da macht der DOMParser auch keine Zicken. Die häufigsten Fehler konnte ich bislang in den Namespace-Tags finden, da müssen die einzelnen Werte mit einem Blank getrennt werden.

Ich habe aus diesem Grund mit echten "Grössen" der Notes-Szene (Mike Colding, Julian Robichaux und Chirstopf Arras ) und dem heise-Verlag schon Kontakt via eMail aufgenommen. Bis auf den heise-Verlag haben die anderen Herren schon reagiert und Ihren XML-Code diesbezüglich geändert. Einzig der eine Feed von Mike Golding (steht in meinem Forum) ist immer noch nicht OK, obgleich ich gestern eine eMail von Ihm erhalten habe. Ich konnte das aber noch nicht genauer überprüfen.

Beispiel vom heise Verlag:
<rdf:RDFxmlns:rdf=" http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns="....

Wenn da nach dem "<rdf:RDF" kein Leezeichen kommt, kommt der Notes-eigene DOMParser damit nicht klar. Scheint auch einfach nicht OK zu sein. Wir sind ja nicht bei HTML mit "festen" Tags...

>>Hab mir das rss der betreffenden Dokumente mal angeschaut und das könnte das Problem sein.<<

Sorry, das verstehe ich nicht. Nenne bitte den Feed, damit ich das verifizieren kann...

>>Vielleicht kannst du das ein bischen robuster machen.<<

Leichter gesagt als getan. Ich kann kaum den Notes-eigenen Parser modifizieren...

>>- wo liegt der Unterschied zwischen deinem replacement Doctype-Element und dem Element das im Newsfeed drin ist? Ich habe nix gesehen was da falsch ist. <<

Meinst Du den Feed von SPIEGEL ONLINE? Gute Frage, ich habe keine Antwort. Der DOMParser kommt einfach nicht damit klar. Kann auch ein BUG dort sein. Durch meinen replacement-code wird das item einfach weggeschmissen - dann klappts...

Danke für Deine Mühe!

Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 03.01.04 - 22:08:59

Beispiel vom heise Verlag:
<rdf:RDFxmlns:rdf=" http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns="....

Wenn da nach dem "<rdf:RDF" kein Leezeichen kommt, kommt der Notes-eigene DOMParser damit nicht klar. Scheint auch einfach nicht OK zu sein. Wir sind ja nicht bei HTML mit "festen" Tags...


Ich denke, Axel hat schon Recht.
da kommt zwar kein Leerzeichen, aber ein Zeilenumbruch -> schau dir die Datei mal im Hexeditor an, da siehst du zwischen <rdf:RDF und dem xmlns ein 0xA0

Zitat
>>Hab mir das rss der betreffenden Dokumente mal angeschaut und das könnte das Problem sein.<<

Sorry, das verstehe ich nicht. Nenne bitte den Feed, damit ich das verifizieren kann...

z.B. heise.de

Zitat
>>Vielleicht kannst du das ein bischen robuster machen.<<

Leichter gesagt als getan. Ich kann kaum den Notes-eigenen Parser modifizieren...

aber den Input. Eine auf den ersten Blick einfache Lösung wäre alle Chr(10) vor dem Parsen durch Leerzeichen zu ersetzen


Zitat
Bis auf den heise-Verlag haben die anderen Herren schon reagiert und Ihren XML-Code diesbezüglich geändert.

is ja geil 8)


hier noch was interessantes aus der XML-Spec (http://www.w3.org/TR/REC-xml (http://www.w3.org/TR/REC-xml)):
S (white space) consists of one or more space (#x20) characters, carriage returns, line feeds, or tabs.
White Space
[3]       S       ::=       (#x20 | #x9 | #xD | #xA)+

ich denke, das bestätigt, dass nicht das XML fehlerhaft ist, sondern vermutlich der Parser

Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 03.01.04 - 22:20:12
Hallo potsmoker,

zuerst mal Danke für Deine Rückmeldung!

>> sorry, dass ich hier poste, aber dein dafür vorgesehenes Forum is irgendwie recht lahm bei mir.<<

Basiert auf einer OpenNTF-Schablone. Die kann ich nicht auch noch komplett umprogramieren... ;)

>>sieht gut aus und bietet alle Features, die ich brauche (gut, fast. optionale Benachrichtigung bei Änderung einer Seite wäre nicht schlecht, hab ich nirgendwo entdeckt)<<

Gibt es auch nicht. Bieten das die anderen RSS-Reader? Ich hatte bislang den FeedReader im Einsatz, der macht sowas auch nicht. Ist aber als Anregung notiert (muss ja auch noch was für die Folgeversionen übrig bleiben...)


>>schönes Ding, leider verschwinden gelöschte Ordner nicht sofort<<

Siehe meinen Post von heute Mittag bzgl. Ordner/Hidden Design. Ich habe heute Nachmittag noch versucht, den Ordner via NotesOutline-Klasse sofort zu entfernen. Der Zugriff auf ein NotesOutlineEntry geht aber nicht über den Namen, sondern nur mit First/Next/Last und da ja eine komplexe Ordner-Struktur  vorliegen könnte, müsste ich das rekursiv machen. Dazu hatte ich heute keinen Bock mehr...

>>Du sagst, da sind Fehler im XML-Code bei vielen Newsanbietern, das glaube ich nicht.<<

Siehe dazu auch meine Antwort an Axel. Einige Notes-Craks haben immerhin auf meine Mail hin ihren XML-Code geändert. Und durch die bekannten FeedValidators kommen manche Seiten auch nicht durch...

>> Ich glaube eher, dass der XML-Parser fehlerhaft ist. Ich weiß, dass das XML von heise.de zu 100% korrekt ist. Versuchs doch mal mit nem anderen Parser.<<

Ist durchaus denkbar, der NotesDOMParser mag buggy sein. Da ich aber nicht wirklich Java kann, gibt es z.Z. keine Alternative...

>>sag mir mal, warum ich einen Notes-basierten Reader verwenden soll<<

Witzig. Genau der Einsatz unter Notes war der Beweggrund, sowas selbst zu programmieren. Aber nicht weil es Notes sein muss, sondern, weil Notes replizieren kann. Ich habe seit einiger Zeit den FeedReader und den FeedDaemon ausprobiert, aber das nervt furchtbar, wenn Du auf jeder Maschine immer wieder die Feeds neu definieren must und auch alles x-fach pollst. Einmal im madicon RSS Reader definiert und dann weltweit via Replikation den gleichen Stand - das hat was... ;)
 
>>da wo jetzt die Ansicht ist, würde mir das Browserfenster sehr gefallen und die Linkdokumente  links daneben anzeigen, z. B. unter der Navigation (ich hoffe, du verstehst, was ich meine). <<

Ja. Habe ich auch drüber nachgedacht. Die jetzige Aufteilung entspricht der des FeedReaders, welche mir immer gut gefallen hat. Notes hat natürlich auch ein paar Einschränkungen in der GUI - da kann man einfach nicht alles machen.

Aber mal eine Frage:
Wenn Du die Preview (unten rechts) nutzt und Du einen interessanten Beitrag gesehen hast (ggf. aus der "Description" im Preview-Window), dann genügt doch ein Doppelklick auf das Dokument in der Ansicht und der Beitrag wird im Notes-Client geöffnet...

Voraussetzung
- Notes wurde in der Arbeitsumgebung auf "Notes mit IE" eingestellt
- Du hast oben rechts in der Ansicht die Option "Open news in browser" angeklickt.

>>Davon abgesehen is es ein schönes Teil.<<

Danke. Etwas Lob tut auch mal gut... :)

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Semeaphoros am 03.01.04 - 22:21:10
Zitat
<rdf:RDF und dem xmlns ein 0xA0

hast Du da richtig abgeschrieben? Sollte es nicht 0x0A sein?
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 03.01.04 - 22:24:27
äh ja is klar. 0x0A muss es heißen.
10 halt dezimal.
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 03.01.04 - 22:35:23
Hallo potsmoker!

>>da kommt zwar kein Leerzeichen, aber ein Zeilenumbruch -> schau dir die Datei mal im Hexeditor an, da siehst du zwischen <rdf:RDF und dem xmlns ein 0x0A<<

Danke für den Hinweis. Werde ich sofort überprüfen. Wenn das was verbessert, gibt es morgen eine neue Version.

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 03.01.04 - 22:43:56

>>sieht gut aus und bietet alle Features, die ich brauche (gut, fast. optionale Benachrichtigung bei Änderung einer Seite wäre nicht schlecht, hab ich nirgendwo entdeckt)<<

Gibt es auch nicht. Bieten das die anderen RSS-Reader? Ich hatte bislang den FeedReader im Einsatz, der macht sowas auch nicht. Ist aber als Anregung notiert (muss ja auch noch was für die Folgeversionen übrig bleiben...)

also ob _die_ anderen das können, weiß ich nicht. ich kenne nur einen (mit deinem zwei) und das ist so ein Plugin für Mozilla Firebird, das ich ziemlich goil finde.

Zitat
>>schönes Ding, leider verschwinden gelöschte Ordner nicht sofort<<

Siehe meinen Post von heute Mittag bzgl. Ordner/Hidden Design. Ich habe heute Nachmittag noch versucht, den Ordner via NotesOutline-Klasse sofort zu entfernen. Der Zugriff auf ein NotesOutlineEntry geht aber nicht über den Namen, sondern nur mit First/Next/Last und da ja eine komplexe Ordner-Struktur  vorliegen könnte, müsste ich das rekursiv machen. Dazu hatte ich heute keinen Bock mehr...


war ja auch nur ein joke, ich war heute Mittag dabei. Und da hab ich dann auch geschrieben, dass das eigentlich total simpel geht mit nem @Command (zumindest gings bei mir)

Zitat
>>Du sagst, da sind Fehler im XML-Code bei vielen Newsanbietern, das glaube ich nicht.<<

Siehe dazu auch meine Antwort an Axel. Einige Notes-Craks haben immerhin auf meine Mail hin ihren XML-Code geändert. Und durch die bekannten FeedValidators kommen manche Seiten auch nicht durch...

das finde ich immer noch geil, dass die ihre Seiten wegen deinem Reader ändern ;D

Zitat
>> Ich glaube eher, dass der XML-Parser fehlerhaft ist. Ich weiß, dass das XML von heise.de zu 100% korrekt ist. Versuchs doch mal mit nem anderen Parser.<<

Ist durchaus denkbar, der NotesDOMParser mag buggy sein. Da ich aber nicht wirklich Java kann, gibt es z.Z. keine Alternative...

Der MSXML-Parser ist eigentlich auf jedem einigermaßen aktuellen Windows OS installiert. Den kannst du über COM benutzen. Bei Interesse kann ich dich in die richtige Richtung lenken, ich habe allerdings noch nicht getestet, ob der korrekt arbeitet.

Zitat
Aber mal eine Frage:
Wenn Du die Preview (unten rechts) nutzt und Du einen interessanten Beitrag gesehen hast (ggf. aus der "Description" im Preview-Window), dann genügt doch ein Doppelklick auf das Dokument in der Ansicht und der Beitrag wird im Notes-Client geöffnet...

Voraussetzung
- Notes wurde in der Arbeitsumgebung auf "Notes mit IE" eingestellt
- Du hast oben rechts in der Ansicht die Option "Open news in browser" angeklickt.
schon klar. ich meinte, dass im Hauptframe (wo jetzt die Ansicht ist) das Browserfenster angezeigt wird. Und die Ansicht mit den Dokumenten rückt nach links unter die Navigation. Und unter den von dir genannten Voraussetzungen öffnet sich die Newsseite im Hauptframe.

Zitat
Etwas Lob tut auch mal gut... :)


Das tut sogar immer gut. Viele sind leider zu sparsam damit.
Ich hoffe, du hast bemerkt, wie psychologisch geschickt ich meine Kritik/Verbesserung in der ersten Antwort in zwei Lobblöcke verpackt habe  ;D


*edit*
hab grade nen Screenshot von dem gefunden, den ich verwende:
http://fls.moo.jp/moz/rssreader/ss.png (http://fls.moo.jp/moz/rssreader/ss.png)

links oben sind die Channels, links unten die Nachrichten des gewählten Channels und im Hauptframe die Nachricht selbst. das finde _ich_ optimal
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel_Janssen am 03.01.04 - 22:48:27

hier noch was interessantes aus der XML-Spec (http://www.w3.org/TR/REC-xml (http://www.w3.org/TR/REC-xml)):
S (white space) consists of one or more space (#x20) characters, carriage returns, line feeds, or tabs.
White Space
[3]       S       ::=       (#x20 | #x9 | #xD | #xA)+

ich denke, das bestätigt, dass nicht das XML fehlerhaft ist, sondern vermutlich der Parser

yup. Ich auch.
Zitat
von Skonnard, "Essential xml quickreference":
Whitespace characters in XML are space, tab, carriage return, and line feed characters. XML requires that whitespace be used to separate attributes and namespace declarations from each other and from the element tag name.

Es ist also egal, welchen whitespace man benutzt, um die Bestandteile (glaub die heissen in xml-lingua tokens) des tags zu trennen.

Nicht so autorativ wie die xml-spec, aber aus meiner Erfahrung ein sehr genaues Buch.  
Hier ist btw. freier download:
http://develop.com/technology/developmentorseries.aspx
(allerdings ein Buch aus der Reihe "besser vor Lesen präventiv 2 Aspirin schlucken". sehr dicht. trocken wie die Sahara).
 
Man könnte jetzt noch in specs nach token volltextsuchen, aber ich muss hier jetzt noch frühjahrsputzen.
 
Sieht aus wie ein Fall fürs Domino6-Forum auf Notes.net.

Gruß Axel
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 03.01.04 - 23:07:52
Hallo potsmoker!

>>Und da hab ich dann auch geschrieben, dass das eigentlich total simpel geht mit nem @Command (zumindest gings bei mir)<<

Dann hilf mir doch mal auf die Sprünge: Ich konnte überhaupt keinen @Command-Befehl finden, der einen bestehenden, selektierten Ordner löscht.

Ich hab´s daher mit LS gemacht. uiworkspace.reloadwindow bringt aber nix im Bezug auf das Entfernen des Ordnernamens aus der Navigation.

>>das finde ich immer noch geil, dass die ihre Seiten wegen deinem Reader ändern<<

Die haben Ihre Seiten bestimmt nicht wegen meinem Reader geändert. Wenn ich auch beim heise-Feed gepennt und mir den XML-Code nicht genau genug angeschaut habe, so hatten die besagten Herren offensichtlich doch mal Ihren XML-Code überprüft -  der ging ja nach deren eigenen Aussagen (und nach meinen Test) z.T. nicht durch einen FeedValidator und wurden auch z.B. im IE nicht angezeigt... ;)

>>Der MSXML-Parser... , ich habe allerdings noch nicht getestet, ob der korrekt arbeitet.<<

Ob man sich auf das Abenteuer einlassen soll? Steht mir im Moment nicht der Sinn nach...

>>ich meinte, dass im Hauptframe (wo jetzt die Ansicht ist) das Browserfenster angezeigt wird.<<

Hatte ich ausprobiert. Scheinbar hat da die perweb.nsf auch die Finger mit drin -  es ist mir nicht gelungen, einen TargetFrame zu spezifizieren...

>>Das tut sogar immer gut. Viele sind leider zu sparsam damit.<<

Wohl war...

Gruss
Manfred

Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: TMC am 03.01.04 - 23:15:43
Dann hilf mir doch mal auf die Sprünge: Ich konnte überhaupt keinen @Command-Befehl finden, der einen bestehenden, selektierten Ordner löscht.

Gibt es auch afaik nicht. Würde mich aber auch interessieren....

Ich hab´s daher mit LS gemacht. uiworkspace.reloadwindow bringt aber nix im Bezug auf das Entfernen des Ordnernamens aus der Navigation.
Was macht ein uiws.refresh?

TMC
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 03.01.04 - 23:20:43
Hallo TMC!

>>Was macht ein uiws.refresh?<<

Die Methode gibt es bei der Klasse nicht...

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 03.01.04 - 23:22:41

>>Und da hab ich dann auch geschrieben, dass das eigentlich total simpel geht mit nem @Command (zumindest gings bei mir)<<

Dann hilf mir doch mal auf die Sprünge: Ich konnte überhaupt keinen @Command-Befehl finden, der einen bestehenden, selektierten Ordner löscht.

Ich hab´s daher mit LS gemacht. uiworkspace.reloadwindow bringt aber nix im Bezug auf das Entfernen des Ordnernamens aus der Navigation.


wie gesagt. den Ordner löschen selbst mit nem LotusScript-Agent.
Mein Vorgehen war folgendes:
Alles in einer Formel-Aktion
1. Name des Ordners ermitteln mit @Formel und ins Userprofil schreiben (fällt bei dir weg, du kennst den Ordner)
2. Agent aufrufen, der Ordner löscht (ToolsRunMacro). Der Agent selbst ist in LS geschrieben.
3. Dann entweder @Command( [ReloadWindow] ) oder @Command( [RefreshWindow] ). Ich weiß nicht mehr genau welches von beiden, aber eins hat funktioniert.

also so ungefähr hat das ausgesehen:
Code
folderName := @Picklist(...);
@SetProfileField(...folderName...);
@Command([ToolsRunMacro]; LSAgentDerDenOrdnerLöscht);
@Command( [ReloadWindow] ) (vielleicht auch Refresh; vielleicht auch @PostedCommand - mein Gehirn ist ein Sieb)

Zitat
>>ich meinte, dass im Hauptframe (wo jetzt die Ansicht ist) das Browserfenster angezeigt wird.<<

Hatte ich ausprobiert. Scheinbar hat da die perweb.nsf auch die Finger mit drin -  es ist mir nicht gelungen, einen TargetFrame zu spezifizieren...

egal. is ja auch nur mein Geschmack. Wenn andere populäre Reader auch so aussehen wie deiner, dann kannst du ja eigentlich nicht daneben liegen
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: TMC am 03.01.04 - 23:44:23
>>Was macht ein uiws.refresh?<<
Die Methode gibt es bei der Klasse nicht...
Stimmt, sorry für die Verwirrung, und ein Call uiws.ViewRefresh hilft hier wohl nicht weiter.....


wie gesagt. den Ordner löschen selbst mit nem LotusScript-Agent.

ach so.... schade, ich hab gemeint vielleicht gibts da wirklich einen Formula-Befehl (den wir noch nicht entdeckt haben...) ...

Grüße,
TMC
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel_Janssen am 03.01.04 - 23:58:54
ohne jetzt nerven zu wollen, aber das Problem mit dem line-break scheint für mich auf eine schlampige Implementierung des xml parsers hinzudeuten:

Als Trennzeichen in der xml-spec erscheint immer wieder nur S, was für whitespace steht. Und das ist nun mal:  

S       ::=       (#x20 | #x9 | #xD | #xA)+

http://www.w3.org/TR/2000/REC-xml-20001006#sec-starttags

Ansonsten werde ich nächste Woche testen.
Leute, die Programme zu Ende programmieren, gehört natürlich mehr Respekt als spec-Geiern wie mir.
Nur Specs müssen eben eingehalten werden.  

Gruß Axel
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 00:19:32
Hallo Axel!

>>Nur Specs müssen eben eingehalten werden.<<

Keine Frage.

Möglicherweise ist der Parser doch nicht so schlecht...

Ich habe zwischenzeitlich festgestellt, dass die "Sonderzeichen" wie #xA (Chr$(10) ) scheinbar in meinem via Java gelieferten String NICHT enthalten sind. Bitter, das.

Daher die Frage:
Kann ich Dir mal meinen Java-Code per eMail senden und Du schaust mal kurz drüber? Ich möchte den aus möglicherweise nachvollziebaren Gründen nicht unbedingt hier im Forum posten.

Ist das OK?

Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 00:38:28
falls es auch LotusScript sein darf, dann hast du die Möglichkeit über die GetDocumentByURL-Methode der Database-Klasse an deine Daten zu kommen.
Ihr übergibst du die URL deiner rdf-Datei und sie übergibt dir ein Dokument mit der Datei als Attachment (leider nicht den Inhalt der Datei im Body-Feld). Die Datei könntest du lösen, in einen Stream einlesen und den Stream an den Parser übergeben.
Aber wahrscheinlich is es einfacher, den vorhandenen Code zu korrigieren...
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel_Janssen am 04.01.04 - 00:40:55
kein Problem. Es kann damit zusammenhängen, dass Java das als UTF-8 interpretiert und es im Sinne des Erfinders dieses westeuropäische ISO-8859-1 ist.
Dürfte machbar sein, das im code zu ändern, indem man einfach den konkreten IO-Decorator verwendet. .

hmm. nur kann sich dann deine Entscheidung, das in Java herunterzuladen und mit lotusscript-xml-zu-parsen als Komplexitäts-Nebelkerze herausstellen. Zwar steht im xml-Dokument das encoding-schema. Um das dynamisch herauszubekommen, muss man das aber erst mal parsen   ::)

Mit rein Java-xml wäre das kein Problem. Wenn es immer das gleiche encoding-schema wäre, wäre es auch kein Problem.
Schick mir den code, aber was hälst du von postsmokers Idee?

nc-jansseax@netcologne.de

Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 00:50:33
Hallo potsmoker!

>>falls es auch LotusScript sein darf, dann hast du die Möglichkeit über die GetDocumentByURL-Methode der Database-Klasse an deine Daten zu kommen.<<

Hatte ich mir anfangs auch überlegt. Ist aber doch ein ziemlicher Krampf.

Ich habe Axel soeben den Code geschickt. Mal schauen, was er meint.

Danke!

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 00:58:39
Hallo Axel!

>>kein Problem. Es kann damit zusammenhängen, dass Java das als UTF-8 interpretiert und es im Sinne des Erfinders dieses westeuropäische ISO-8859-1 ist.<<

Eigentlich kann es "irgendwie" nur daran liegen. Ich bekomme ja die normalen Zeichen, nur mit den Sonderzeichen, da kommt scheinbar nix durch - die fliegen einfach raus...

>>...den konkreten IO-Decorator verwendet. <<

Siehst Du: An sowas banalem scheitert man schon. Nur gut, das ich nicht noch mehr in Java gemacht habe (zumindest mit den aktuellen Kenntnissen).

>>Schick mir den code, aber was hälst du von postsmokers Idee?<<

Den Code solltest Du zwischenzeitlich haben. Ich bin gespannt...

Den Ansatz von potsmoker hatte ich anfangs auch mal im Kopf. Das ist aber irgenwie so wie: "...von hinten durch die Brust ins Auge".

Ich danke Dir schon mal für Deine Mühe

Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 01:27:39
Den Ansatz von potsmoker hatte ich anfangs auch mal im Kopf. Das ist aber irgenwie so wie: "...von hinten durch die Brust ins Auge".

naja, also ganz so schlimm is es ja auch nicht. aber ich gebe zu, es ist schon etwas lame. Aber diese XML-Klassen sind auch echt nicht das Wahre, wenn es nicht möglich ist, eine URL "direkt zu verwerten".

Eine bescheidene Frage habe ich noch:
machst du das ganze dann mit LS2J ? Damit habe ich nämlich (leider) noch nix gemacht und null Erfahrung.
Aber da du scheinbar eh den Parser schon in Java auspacken musst, um herauszufinden, welches encoding da ist, kannst du auch gleich alles in Java machen.
Oder zumindest so eine Art Dokument-Factory in Java machen und die erzeugten Objekte an LS übergeben und dort verarbeiten, dann kannst du auch die ProgressBar behalten.
Oh, ich bin von meiner Frage abgeschweift.
Benutzt du LS2J?
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 01:41:15
Hallo potsmoker!

>>Benutzt du LS2J?<<

Ja. Damit "steuere" ich von LS aus die Java-Klasse an, deren einzige Aufgabe es (momentan) ist, den XML-Code einzulesen und in einem String zu übergeben. Der String wird dann in einen Stream gepackt und damit der NotesDOMParser gefüttert...

Für jemanden mit 0,1% Java-Kenntnissen immerhin ein Weg... ;)

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 01:58:48
und kein schlechter Weg.
Etwas beunruhigendes (aber nicht allzusehr) habe ich gerade in notes.net gelesen;
da schreibt jemand, dass die NotesStream-Klasse ein 64k-Limit hat.
Wenn es also mal ganz, ganz viele News gibt, könntest du Schwierigkeiten bekommen. Hier wärst du mit Java auch auf der sicheren Seite...
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 02:04:18
Hallo potsmoker!

>>da schreibt jemand, dass die NotesStream-Klasse ein 64k-Limit hat.<<

Ach, das auch noch...  ;D

Ich glaube, ich lege mich jetzt lang hin...

P.S.
Von Axel habe ich nichts mehr gehört. Ich glaube, den hat der Schlag getroffen, als er meinen Java-Code gesehen hat.

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel_Janssen am 04.01.04 - 11:25:24
Das mit dem encoding war es nicht.
Es war eher, dass man mit readLine der Character Stream Klassen (www.javabuch.de, Kapitel 18) ein bischen vorsichtig sein sollte. Deshalb habe ich ByteStream-Klassen verwendet. (www.javabuch.de, Kapitel 19).

In der Eclipse Konsole wird das korrekt angezeigt. Auf der Windows-Konsole sehr vermutlich nicht (erwartet line feed + carriage return für neue Zeile). Deshalb zeigt die main-Methode nach dem eigentlichen String die einzelnen chars sowie deren Hex-Werte in Klammern an.
Wie alle wissen, kann die FensterBufferGrösse der Windows-Konsole über Eigenschaften/Layout verlängert werden.
 
Da es wirklich ziemlich allgemein ist, und ich *extrem wichtige Teile* weggelassen habe.
Hier ist code. :
Code
import java.io.*;
import java.net.*;

/**
 * @author Axel
 *
 * To change this generated comment edit the template variable "typecomment":
 * Window>Preferences>Java>Templates.
 * To enable and disable the creation of type comments go to
 * Window>Preferences>Java>Code Generation.
 */
public class GetRSSFeed {

   public String getRSSFeed(String urlToRead) {

      URL url;
      HttpURLConnection conn = null;

      // Stream (not Writer!). So werden einzelne bytes gelesen. 
      InputStream is = null;
      // Strings sind inmutable. 
      // durch StringX = StringX + StringY; wird jedesmal ein neuer StringX erzeugt.
      // Bei String Konkenatierung StringBuffer benutzen und am Ende String aus gesamten
      // StringBuffer erzeugen. 
      StringBuffer bufResult = new StringBuffer();
      int c = 0;
      try {

         url = new URL(urlToRead);
         conn = (HttpURLConnection) url.openConnection();
         conn.setRequestMethod("GET");

         is = new BufferedInputStream(conn.getInputStream());
         // einzelne Bytes werden gelesen
         // -1 ist endOfStream character
         while ((c = is.read()) != -1) {
            // int in char gecastet. 
            bufResult.append((char) c);
         }

         is.close();
         is = null;
      } catch (IOException e) {
         e.printStackTrace();
         // nicht geschlossene connection panik. immer besser
         try {
            if (is != null) {
               is.close();
            }
         } catch (IOException ioe) {
            ioe.printStackTrace();
         }

      }
      
      // in StringBuffer wurden chars gesammelt. Der wird jetzt in String konvertiert.
      return bufResult.toString();
   }

   public static void main(String[] args) {
      String url = null;
      if (args.length < 1) {
         System.out.println(
            "ohne Argument wird 'http://www.heise.de/newsticker/heise.rdf' eingelesen. Für beliebige Feeds mit java GetRSSFeed dieURL starten.");
         url = "http://www.heise.de/newsticker/heise.rdf";
      } else {
         System.out.println("lese '" + args[0] + "'");
         url = args[0];

      }
      GetRSSFeed test = new GetRSSFeed();
      String result = test.getRSSFeed(url);

      System.out.println("result=\n" + result);
      System.out.println("-----------------------\nEINZELNE CHARS (HEX-Value)");
      for (int i = 0; i < result.length(); i++) {
         System.out.println ( result.charAt(i) + " ("+ Integer.toHexString(result.charAt(i)) + ")" ); 
         //+ " ("+ Integer(result.toHexString(charAt(i)) + ")");
      }
   }
}

Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 12:08:37
Hallo Axel!

>>Es war eher, dass man mit readLine der Character Stream Klassen (www.javabuch.de, Kapitel 18) ein bischen vorsichtig sein sollte.<<

Ja, jetzt wo Du es schreibst... ;)

>>Deshalb habe ich ByteStream-Klassen verwendet. www.javabuch.de, Kapitel 19).<<

Da hab´ ich mich wohl mal wieder zu früh gefreut und nicht weitergelesen.

Ich hatte Dir ja noch heute Nacht geschrieben, dass ich selbst auch eine Lösung gefunden hatte.

result += line;

ersetzt durch:

result += line + '\n';

hat tatsächlich dafür gesorgt, dass ich alle Feeds, mit denen es bislang Probleme gab, einwandfrei pollen konnte. Bis eben auf SPIEGEL ONLINE, da macht der NotesDOMParser beim doctype noch Unsinn. Kann man aber mit dem "replacement-code" abfangen.

Ich werde aber heute noch versuchen, Deinen Code einzubauen...

Axel, ich danke Dir ganz herzlich für Deine Mühe und möchte Dir als Dankeschön eine Gratis-Lizenz meines RSS Readers anbieten. Interesse?

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel_Janssen am 04.01.04 - 12:17:29

Axel, ich danke Dir ganz herzlich für Deine Mühe und möchte Dir als Dankeschön eine Gratis-Lizenz meines RSS Readers anbieten. Interesse?


Danke.  ;D

noch was: dein code, um durch die firewall zu kommen (oben nicht enthalten), wird bei den meisten firewalls *nicht* funktionieren.  

Die wirklich konkrete Lösung findest du in meinem Posting vom 29.9. in diesem Thread:
http://www.atnotes.de/index.php?board=24;action=display;threadid=11289;start=0


Gruß Axel
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 12:23:10
Hallo Axel !

>>Danke. <<

Gerne. Schicke mir per eMail bitte noch die üblichen Kontaktdaten (eMail habe ich ja schon), damit ich Dich in meiner Lizenz-DB ordentlich verwalten kann. Wenn die Software fertig ist, sende ich Dir den Lizenzkey per eMail.

>>Die wirklich konkrete Lösung findest du in meinem Posting vom 29.9. in diesem Thread: <<

Danke. Habe ich gestern Nacht auch noch mal durchgelesen...

Das wäre auch noch mal ein Punkt, den bitte jemand testen könnte... ich selbst konnte bislang den Proxy meines Providers einwandfrei nutzen. Der verlangt aber auch keine Authentifizierung...

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 12:27:36
Hallo potsmoker,

Du hast mir durch Deine konstruktive Kritik und Deine Verbesserungsvorschläge auch sehr geholfen. Ganz herzlichen Dank dafür! :)

Daher möchte ich Dir auch einen Gratis-Lizenz anbieten. Wenn Interesse besteht, sende mir noch Deine Kontaktdaten per Email.

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 13:32:06
Danke manfred!

ich schick dir meine Adresse demnächst zu.

ich habe noch was zu der Spiegel-Feed-Problematik zu sagen:

das Problem ist, dass in dem XML-Dokument com Spiegel eine dtd angegeben ist, die der DomParser nicht laden kann. Scheinbar kann der nix mit dem http-Protokoll anfangen. Wenn du nämlich das XML-Dokument und die dtd auf einem Laufwerk auf deinem Rechner liegen hast und die Ortsangabe der dtd entsprechend anpasst ("c:\rss-0.91.dtd"), dann läuft der Parser rund.
Wenn sich dieser Verdacht bestätigt, dann könntest du eigentlich immer eine vorhandene Doctype-Angabe aus deinem String rausschmeißen, bevor du ihn an den Parser übergibst, so wie du es in deinem Spiegel-Beispiel mit dem Replacement ja sowieso machst.
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 13:49:19
Hallo potsmoker!

>>ich schick dir meine Adresse demnächst zu.<<

OK. Die Final ist ja auch noch nicht fertig. Aber es wird wohl bald eine neue Beta geben.

>>Scheinbar kann der nix mit dem http-Protokoll anfangen.<<

Stimmt offensichtlich. Das war die Fehlermeldung vom Parser:

<?xml version='1.0'?>
<DOMParserLog>
<fatalerror line='2' column='123'>An exception occurred! Type:MalformedURLException, Message:The URL used an unsupported protocol</fatalerror>
<error>DOM parser operation failed</error>
</DOMParserLog>

>>Wenn sich dieser Verdacht bestätigt, dann könntest du eigentlich immer eine vorhandene Doctype-Angabe aus deinem String rausschmeißen, bevor du ihn an den Parser übergibst, so wie du es in deinem Spiegel-Beispiel mit dem Replacement ja sowieso machst.<<

Werde ich drüber nachdenken. Ich brauche die ja wirklich nicht für die Auswertung der News-Informationen. Danke für den Hinweis...

Manfred

P.S.
Die replacement-Funktion werde ich auf jeden Fall im Programm belassen. Heute haben die SPIEGEL-Leute wieder was nettes gemacht:

<?xml version='1.0'?>
<DOMParserLog>
<fatalerror line='25' column='82'>Expected end of tag 'br'</fatalerror>
<error>DOM parser operation failed</error>
</DOMParserLog>

Ich dachte, ich spinne. Aber das war der Fehler:

<item>
<title>Mahnmal gegen Rassenwahn: Wehrmachtsaus-<br>stellung in Naziburg</title>
<link>http://www.spiegel.de/panorama/0,1518,280489,00.html</link>
</item>
 :o
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 14:09:10
ich hab das bei spiegel.de auch gesehen, als ichs getestet habe - stümper halt.
aber mittlerweile haben sie es gemerkt und alle Nachrichten ab der fehlerhaften rausgeschmissen.
Hast ihnen wohl wieder ne email geschickt?!?

Aber die anderen Reader können mit sowas dann ja auch nix anfangen. Somit hast du eignetlich ein Alleinstellungsmekmal mit der Möglichkeit, sowas auszubessern.
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 14:14:33
Hallo potsmoker!

>>ich hab das bei spiegel.de auch gesehen, als ichs getestet habe - stümper halt.<<

;)

>>aber mittlerweile haben sie es gemerkt und alle Nachrichten ab der fehlerhaften rausgeschmissen.
Hast ihnen wohl wieder ne email geschickt?!? <<

Nee, da bin ich z.Z. mal etwas vorsichtiger...  ;D

Ich versuche gerade den Code vom Axel (incl. der geänderten Proxy-Nutzung) einzubauen.

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: wfh am 04.01.04 - 20:04:09
Hallo,

habe die DB gerade gesehen und mal reingeschaut.
Was mir auf dem ersten Blick alleinig noch fehlt ist eine Import-Schnittstelle für OPML-Dateien, oder habe ich dies übersehen?

Ansonsten auf den ersten Blick tolles Ding, was einem Notesfreak noch fehlt (gerade wegen Replikation).

Mit gezücktem Hut
Wolfgang
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 20:13:10
Hallo Wolfgang!

>>Was mir auf dem ersten Blick alleinig noch fehlt ist eine Import-Schnittstelle für OPML-Dateien, oder habe ich dies übersehen?<<

Die gibt es in der Tat noch nicht. Ist aber geplant. Auch an eine "auto-discovery"-Funktion (automatisches Erkennen von RSS Feeds nach Eingabe einer Website-URL) habe ich schon gedacht. Da wird sich bestimmt noch was tun...

>>Ansonsten auf den ersten Blick tolles Ding, was einem Notesfreak noch fehlt (gerade wegen Replikation).<<

Danke. Die fehlende Replikation hat mich auch immer an den anderen Readern genervt.

Danke für Dein Feedback!

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 20:33:42
mir ist gerade nochwas aufgefallen, weil ihr so von der Replikation schwärmt.

ich denke, dass das doch eigentlich eine Anwendung ist, die prädestiniert dafür ist, im Browser zu laufen. Also sie liegt auf nem Webserver und ich kann überall darauf zugreifen, auch ohne Notes Client, das hat doch was, oder?
Ich habs mir mal gerade mit meinem lokalen Noteswebserver abgeschaut und musste (leider) feststellen, dass die DB nicht fürs Web gedacht ist.
Was sagt ihr dazu?
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 20:41:20
Hallo potsmoker!

>>ich denke, dass das doch eigentlich eine Anwendung ist, die prädestiniert dafür ist, im Browser zu laufen. Also sie liegt auf nem Webserver und ich kann überall darauf zugreifen, auch ohne Notes Client, das hat doch was, oder?<<

Ist durchaus eine Idee. Dafür gibt es aber FreeServices im Web (ich kann jetzt keine URL nennen, musste mal suchen). Einen solchen Gedanken hatte ich bei der Realisierung nie.

>>Ich habs mir mal gerade mit meinem lokalen Noteswebserver abgeschaut und musste (leider) feststellen, dass die DB nicht fürs Web gedacht ist.<<

Sieht bestimmt ecklig aus und nix geht, was?  :D

Die Anwendung ist alleine für den NotesClient gedacht.

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: animate am 04.01.04 - 20:57:09
Zitat

Sieht bestimmt ecklig aus und nix geht, was?  :D

so ungefähr

Zitat
Einen solchen Gedanken hatte ich bei der Realisierung nie.
Die Anwendung ist alleine für den NotesClient gedacht.

verstehe ich gar net.
mit der Kombination Notes/Browser und dem Anwendungsgebiet könnte man daraus bestimmt ne KillerApp machen
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Manfred Dillmann am 04.01.04 - 23:39:19
Hallo potsmoker!

>>mit der Kombination Notes/Browser und dem Anwendungsgebiet könnte man daraus bestimmt ne KillerApp machen<<

Ist es doch jetzt schon... ;)

Machen kann man vieles, sicher. Ich bin aber für den Moment schon mal halbwegs zufrieden.

Gruss
Manfred
Titel: Re:madicon RSS Reader 0.9.0.17 beta für ND6.x
Beitrag von: Axel Janssen temp am 05.01.04 - 15:32:30
noch ein Nachschlag für die Diskussionen um korrektes/nicht korrektes RDF.

Das sieht ziemlich gut aus:
http://www.w3.org/RDF/Validator/