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:
AchtungIch 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-forumsEin Posting auf notes.net sieht in rss so aus:
<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