Beiträge von Leon

    Zunächst einmal herzlichen Dank für die Hinweise. Dass ich die Mail im MIME-Format verschicken muss klingt einleuchtend. Mit anderen Worten, muss ich anstelle eines RichTextItems ein "normales" Item mit MIMEEntity und dem entsprechenden Header erstellen. Habe den ganzen Tag versucht dies zu erreichen, leider aber erfolglos. Hier habe ich ein Beispiel zur Erzeugung eines solchen Objekts in LotusScript gefunden. Leider ist das Beispiel auf R6 bezogen und unter R5 kann ich (unter Java) keine Methode CreateMIMEEntity() in der Klasse Document finden. Wie erzeuge ich denn ein MIME-Item ?


    MfG


    Leon

    Hallo Diali,


    danke für die Antwort. Habe mich mal mit dem XML-Export von Notes-Elementen auseinander gesetzt. Ein Dokument bekomme ich über die generateXML() Methode der Document-Klasse ins XML-Format exportiert und ausgegeben. Leider bekomme ich es nur mit dem Body-Item nicht hin.
    Bei OpenNTF.org habe ich einen Agenten gefunden, welcher alle Dokumente einer Ansicht ins XML-Format exportieren soll. Leider bekomme ich den Code nicht ans Laufen, da es unter R5 scheinbar das Package lotus.dxl nicht gibt. Wie kann ich mir denn den XML-Code eines Items / RichTextItems ausgeben lassen ?


    MfG


    Leon


    PS: Habe um Löschung des Threads im atNotes-Forum gebeten.

    Hallo zusammen,


    ich versuche, mittels Java einen Hyperlink in einem Dokument (welches als Mail versendet wird) unterzubringen. Mit folgendem Code funktioniert das auch soweit ganz gut:



    Der Text "http://www.dominoforum.de/" wird automatisch in einen Verknüpfungs-Hotspot umgewandelt, da die Notes-Clients dementsprechend konfiguriert sind. Einen Hyperlink bekomme ich also schonmal hin, allerdings mit der Einschränkung, dass so dem Benutzer in der Mail die komplette URL angezeigt wird. Das ist sehr unschön, gerade wenn es Links mit ewig vielen GET-Argumenten sind, welche den Link sehr lang machen.


    Gibt es eine Möglichkeit, einen Hyperlink in ein Dokument einzufügen, wo sich Text und URL getrennt festlegen lassen ?


    MfG


    Leon

    Hallo taurec und danke für Deine Antwort.


    Okay, ich denke damit kann ich leben. Ich war nur etwas verwundert über das Verhalten. In dem Profildokument möchte ich die Konfiguration für einen Agenten speichern. Zusätzlich soll der Agent dort die Möglichkeit haben Werte abzulegen. Diese Werte sollen zwar in der Endphase nicht mehr vom User gesehen bzw. geändert werden können, aber in der Entwicklungsphase wollte ich mir diese einfach mal mit anzeigen lassen. Da ist mir das aufgefallen. Hätte ja sein können, dass ich vergesse etwas zu aktualisieren.


    Also, nochmals danke für die Aufklärung. :)


    MfG


    Leon


    PS: Gibt es denn einen Weg, ein Dokument (bsp. dieses Profildokument) gezielt im Cache zu löschen bevor man es wieder öffnet ? Wenn nicht ist auch nicht schlimm. Wäre nur gut zu wissen.

    Hallo alle zusammen,


    ich greife über einen Java-Agenten auf ein Profildokument zu und ändere dort einen Wert. Das klappt auch soweit alles einwandfrei.


    Code
    import lotus.domino.*;public class JavaAgent extends AgentBase {    public void NotesMain() {        try {            Session session = getSession();            AgentContext agentContext = session.getAgentContext();            Document profileDoc = agentContext.getCurrentDatabase().getProfileDocument("Profile", "");            System.out.println("Bisheriger Wert in Profildokument: " + profileDoc.getItemValueString("testfeld"));            System.out.println("Wert wird geaendert auf \"neuer Wert\"");            profileDoc.replaceItemValue("testfeld","neuer Wert");            profileDoc.save();            System.out.println("Neuer Wert in Profildokument: " + profileDoc.getItemValueString("testfeld"));        } catch(Exception e) {            e.printStackTrace();        }    }}


    Über einen zweiten Agenten, welcher aus einer einfachen Formel besteht, rufe ich das Profildokument in Notes auf um mir dort den enthaltenen Wert anzusehen und ihn ggf. zu ändern.


    Code
    @Command([EditProfile];"Profile")


    Klappt ebenfalls problemlos.


    Nun das eigentliche Problem: Ich starte Notes, öffne die Datenbank welche die beiden Agenten und das Profildokument beinhaltet. Dann starte den Formel-Agent. (Ich rufe also das Profildokument auf.) In das Feld "testfeld" trage ich nun "alter Wert" ein und speichere. Der Inhalt des Feldes wurde erfolgreich aktuallisiert und in das Profildokument geschrieben. Ich schließe also die Maske wieder.


    Nun rufe den Java-Agenten auf, welcher folgende Ausgabe erzeugt:


    Zitat

    Bisheriger Wert in Profildokument: alter Wert
    Wert wird geaendert auf "neuer Wert"
    "Neuer Wert in Profildokument: neuer Wert


    Das feld wurde wiederum erfolgreich aktualisiert und das Profildokument gespeichert. Rufe ich nun jedoch wieder den Formel-Agenten auf, steht dort im Feld immer noch "alter Wert". Erst wenn ich Notes vollständig beende, wieder starte und dann den Formel-Agent erneut aufrufe, sieht man dort den neuen Wert drin stehen.


    Frage: Was muss ich tun, damit ich nach dem Ändern des Werts mit dem Java-Agenten sofort den neuen (aktuellen) Wert angezeigt bekomme, wenn ich mir das Profildokument mit dem Formel-Agenten anzeigen lasse ?


    MfG


    Leon

    Im Kalender von Lotus Notes kann man ja zwischen verschiedenen Formaten wechseln, wie z.B. "Ein Tag", "Eine Woche" oder "Ein Monat".


    Kalendereinträge werden ja so dargestellt, dass ganz links das entsprechende Symbol für den Eintrag (z.B. "Jahrestag" oder "Ganztägige Veranstaltung") steht und rechts daneben das dazugehörige Thema des Einrags.


    So weit ganz gut. Nun ist jedoch der Abstand vom Thema zum Symbol, welches ganz links ausgerichtet ist, relativ groß. Bis zum Format "Zwei Wochen" ist das Thema noch sehr gut lesbar. Wechselt man jedoch ins "Ein Monat" Format, so sehe ich vom Thema nur noch die ersten drei Buchstaben. Zeige ich mit der Maus auf den Eintrag, wird das Thema volltändig angeziegt.


    Nun zu meiner Frage:


    Lässt sich der Abstand vom Thema zum Symbol im "Ein Monat" Format verringern, so dass man auch ohne mit der Maus auf jeden Eintrag ziegen zu müssen mehr lesen kann als nur die ersten drei Buchstaben ?


    Wahrscheinlich muss ich dazu die Ansicht im Designer verändern, oder gibt es da noch einen besseren Weg ?


    MfG


    Leon

    Deragon und Pfefferminz-T hatten Recht. Habe den AMgr neu gestartet und jetzt wird die URL auch wieder korrekt aufgelöst.


    Vielen herzlichen Dank an alle, die geholfen haben !
    :laola:


    MfG


    Leon

    Hallo taurec,


    nein, haben wir noch nicht. Werde aber mal anregen, dass das mal passiert.
    Hat denn jemand eine Idee, wo Domino solche Informationen speichert ? Ich suche schon die ganze Zeit wie ein Wahnsinniger, habe aber bisher leider kein Glück gehabt. Fest steht nur, dass Domino solche Informationen irgendwo haben muss. Denn bei einem Ping oder einem einfachen Aufruf der Seite über den InternetExplorer wird die Adresse korrekt aufgelöst. Somit ist Windows (ausnahmsweise mal) unschuldig. :)


    MfG


    Leon

    Die Adressen stimmen exakt überein. Das haben wir schon 100 mal geprüft.


    Unter Java kann man ziemlich simpel eine DNS-Auflösung erreichen:


    Code
    InetAddress inet = InetAddress.getByName( "evatr.bff-online.de" );System.out.println( inet.toString() );


    Die Ausgabe im Log von Domino sieht folgendermaßen aus:


    Code
    18.10.2006 09:27:43   AMgr: Agent ('UStIdNr Agent' in 'UStIdNr.nsf') printing: evatr.bff-online.de/195.37.191.40


    Die IP-Adresse hinter evatr.bff-online.de ist jedoch nicht (mehr) 195.37.191.40, sondern 80.245.147.74.


    MfG


    Leon

    Okay, das wäre dann das Server-Adressbuch. :)
    Habe nachgesehen (unter Server => Connections), aber dort findet sich kein entsprechendes Verbindungsdokument. Es wurde ja auch keines von Hand erstellt. Als ich den Agenten damals zum ersten Mal gestartet habe muss sich Domino die zur URL gehörige IP Adresse besorgt und irgendwo gespeichert haben.


    MfG


    Leon

    Hallo Diali,


    die Idee mit den Verbindungsdokumenten kam mir auch schon. Allerdings kenne ich diese Verbindungsdokumente bisher nur aus meinem "persönlichen Adressbuch" (unter meinem eigenen Account). Der Agent ist zwar von mir signiert, wird aber ja (nach Zeitplan) auf dem Server ausgeführt und nicht auf meinem Client. (Auf meinem Client lokal läuft der Agent problemlos auch mittels Verbindung über die URL.)


    In welchem Adressbuch muss ich da auf dem Server nachschauen ? In dem vom Domino-Administrator ?


    MfG


    Leon

    Ich habe einen Java-Agenten geschrieben, welcher zu einer bestimmten URL eine HTTP Verbindung aufbaut. Dies funktionierte solange prima, bis der Betreiber einen Serverumzug durchführte. D.h., die DNS-Adresse ist zwar immer noch die selbe, die IP welche dahinter steht ist nun jedoch eine andere.


    Rufe ich die Seite über die URL im Internet Explorer des Servers auf, auf dem der Domino-Server läuft, bekommt er die richtige (neue) IP vom DNS-Server mitgeteilt und die Seite wird angezeigt.


    Lasse ich mir jedoch mithilfe eines Java Agenten unter Domino anzeigen, welche IP er mit der URL verbindet, so gibt dieser immer noch die alte IP Adresse aus.


    Fazit: Das System löst die DNS-Adresse korrekt auf, nur Domino hält an seiner gespeicherten IP von damals fest und fragt nicht nach, ob sich die IP evt. geändert hat. Demzufolge liefert mein Agent stets einen NoRouteToHostException, wenn ich einen Connect mittels DNS Adresse aufbauen möchte. Verbinde ich hingegen anstelle über die DNS-Adresse direkt über die neue IP, funktioniert alles einwandfrei.


    Daher die Frage: Wo speichert sich Domino diese Information ?


    MfG


    Leon