Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: flaite am 23.12.05 - 03:40:45



Titel: Notes.net rss feed
Beitrag von: flaite am 23.12.05 - 03:40:45
hi,

wirklich gut, dass Lotus endlich vernünftige Java-xml Libraries eingebaut hat (bzw. die alten ausgebaut).

Jedenfalls war es jetzt ziemlich einfach, den neuen RSS-Feed von notes.net auszulesen und in Notes-Dokumente umzuwandeln. Ich bin mir nicht 100% sicher, dass das völlig bugfrei ist.

Aber hier ist die Beispieldatenbank (s.Attachment).

Technisch konnte ich die rss-library rome von java.net in einem Notes7 Java Agenten einbinden.
Da ich keine Lust hatte, die Jars in den Agenten reinzuwursteln, kompliziert sich ein bischen die Installation.
Man muß das angehängt jar (s. Attachment) sowie die folgenden jars in den Betriebssystemordner %notes6ProgrammVerz%/jvm/lib tun:

Achtung
Ich kann es zwar quasi ausschliessen, aber theoretisch kann das in-das-jvm/lib-Verzeichnis-tun Auswirkungen auf andere Java Anwendungen von Notes haben. Die müssen aber auf einen niedrigeren ClassLoader andere aber gleichnamige Klassen wie die in Rome, in JDom und meinem Jar verwendeten benutzen. Und das kann eigentlich nicht sein. Ich wollte nur auf die theoretische Möglichkeit hinweisen. Gemüter, die gleichzeitig ängstlich und interessiert sind, können das auch ausprobieren und dann wieder deinstallieren. Oder vielleicht noch besser: Mir erklären wie ich diese jars vernünftig in die unsägliche Notes-Java-Agenten Oberfläche reinprügeln kann.

Ich war nach 6 Stunden fertig, kein junit Testing, hatte vorher von rome keine Ahnung. Es geht also schnell, dieses rss-lesen-mit-Rome zu kapieren.

1. Rome: Hier die Binary-Distribution runterladen (https://rome.dev.java.net/dist/rome-0.7.zip).
Da ist dann direkt im Unterverzeichnis eine Datei rome-0.7.jar (die in das jvm\lib des NotesClients).
2. JDom: Hier die Binary-Distribution runterladen (http://www.jdom.org/dist/binary/jdom-1.0.zip). Im Unterverzeichnis build ist da eine Datei jdom-1.0.jar. (die auch in das jvm/lib des NotesClients).
3. Nicht vergessen auch die angehängte jar von mir in eben dieses Verzeichnis zu kopieren. Da sind die Java-Source Dateien dabei.
4. Notes neu starten.
5. Angehängte Datenbank in das notes-Data des Clients tun und die unterzeichnen.
6. Datenbank öffnen.
7. Rest ist selbsterklärend.

Die Feeds selber haben einige Probleme.
http://www.edbrill.com/ebrill/edbrill.nsf/dx/rss-feeds-from-developerworkslotus-forums

Ein Posting auf notes.net sieht in rss so aus:
Code:
<item>
<title>"out of memory" agent</title>

<link>
http://www-10.lotus.com/ldd/nd6forum.nsf/DateAllFlatWeb/BB0A452BFFAC2284852570DF00822392?OpenDocument&ca=drs-fo
</link>

<description>
We have a problem with a LotusScript agent that have to modify 300.000 documents of a database. We make a iteration with Get
</description>
</item>
D.h.:
- keine Info über den Autor.
- der body wird nach 124 Zeichen abgeschnitten. (theoretisch könnte ich mir mit der URL das ganze Html File des Postings holen und das parsen -> genau das hab ich noch vor). Zur Zeit ist ein Button in den Links, mit dem man das Posting per Browser aufrufen kann.
- keine Info, ob das Posting eine Antwort auf ein bestehendes Posting ist.
- keine Info, wann das gepostet wurde.

Dies alles ist Bestandteil von rss2-0. Das ist ein rss-2.0 Feed.
Warum beaufsichtigt eigentlich bei IBM keiner die Praktikanten, die sowas implementieren  :-:

Ist aber schon mal ein ganz netter Ansatz.

Ich finds auch Klasse, dass moderne openSource Libraries in Notes7 echt reibungslos funktionieren.

Jedenfalls klickt man einfach auf einen Link und es kommen ganz viele, neue notes.net Postings bzw. die ersten 124 Zeichen (des Notes6/7 Forums übrigens, man kann aber auch weitere einbinden). Es wird nix doppelt runtergeladen.
Ich bin mir z. Zt. nicht so 100% sicher, ob er neue findet, wenn schon welche da sind. In dem Fall einfach die alten löschen :-)
DOCH es erscheinen neue, aber es dauert ein bischen länger als auf der Webseite, was irgendwie auch wieder egal ist.

BUGREPORT:
1. Die Formel der ersten Spalte der Hauptansicht (einzige nicht-verborgene Ansicht) bitte auf imported in der Spaltenformel stellen.
2. Die Spaltensortierung der beiden ersten Spalten in der Hauptansicht von ascending auf descending stellen.


ist schon neue Version.

Gruß Axel


Titel: Re: Notes.net rss feed
Beitrag von: flaite am 23.12.05 - 04:37:53
nächster Schritt ist:
Die Webseite über die URL runterladen und das so zu parsen, dass ich:
a) den gesamten Inhalt bekomme (nicht nur die ersten 124 Zeichen).
b) Information bzgl. der Zugehörigkeit von Threads behalten.
c) authentifizierende Firewall fähig zu machen.


Titel: Re: Notes.net rss feed
Beitrag von: flaite am 23.12.05 - 10:21:29
Alan Bell hat eine ziemlich beeindruckend aussehende Oberfläche mit der Yahoo Widget Suite Konfabulator gebaut (zum selben Thema). Kapier das aber noch nicht so richtig und bei mir funktioniert es nicht. Hab mich aber auch nicht richtig damit beschäftigt.
In jedem Fall interessant:
https://www-10.lotus.com/ldd/nd6forum.nsf/DateAllThreadedweb/7caf5bf46014fad3852570de007c9bf8?OpenDocument


Titel: 0 downloads
Beitrag von: flaite am 23.12.05 - 14:07:41
escuchen las ratas,

man weiss immer was auf notes.net los ist und es läuft bei mir seit 12 Stunden völlig suave.  O0

 ;)

3 ziemlich kurze Java Klassen, die gar nicht soooo schlecht sind.
Viel weniger code, um rss zu konsumieren, dürfte schwierig sein.

Axel