Agent in lokale Datenbanken kopieren??

  • Hallo zusammen,


    folgendes Problem: Alle unsere Aussendienstler sollen einen zusätzlichen Agenten in Ihr pers. Adressbuch bekommen.


    Mögliche Verteilung a) Mail mit geänderter pernames.nsf und "Knöpfchen" Bei Ausführung erfolgt ein automatischer Schablonenwechsel. Ich habe hier schon etwas über "nconvert" gelesen. finde aber keine weiteren infos darüber.


    Mögliche Verteilung b) Mail mit db, Agenten und "Knöpfchen"
    Bei Ausführung wird der Agent aus der einen Datenbank in die andere kopiert. Geht soetwas? Ich konnte in der Hilfe nichts dementsprechendes finden.


    Hat hier jemand vielleicht schon mal soetwas gemacht?


    Danke und gruß
    rubbel

  • a) convert geht IMO nur serverseitig


    b) dazu müsstest du design-Dokumente per "DesignNote" ansprechen. Das geht nur mit 6er Clients


    greetz
    RW

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Hi,
    Du könntest ein script in einem Knöpchen hinterlegen welches eine Batch Datei erzeugt. Diese kopiert die neue Schablone in das Dataverzeichnis und führt den nconvert auf die names.nsf des Clientes aus. Leider geht dies nur in 50% da unter Umständen die DB gerade in Zugriff ist. Selbst bereits daran verzweifelt.



    Ist das ein neuer Agend der nur in der DB ist oder spielen da nch andere Sachen eine Rolle??? Ich meine Du kannst einen Agent aus einer DB in eine andere kopieren, aber erst ab 6. Der Agent sollte nur entsprechend gestempelt sein, wegen der ECL.


    Gruß
    Heinz

  • Der convert Befehl get auch vom Client aus, allerdings sollte dabei Notes nicht offen sein. Solte die nconvert.exe und die entsprechenden DLL Dateien nicht im Programmverzeichnis des Clientes sein so musst Du diese zuvor rein kopieren.
    Aus DOS einfach in das Programmverzeichnis gehen und nconvert unter angabe der Schablone und DB starten.


    Gruß und viel Erfolg
    Heinz

  • Du weißt nicht zufällig, welche dll's da benötigt werden?


    10.05.2004 13:40:29 Mail-Konvertierung: Syntaxfehler: Argumente fehlen, die korrekte Syntax finden Sie im Migrationshandbuch


    Äh.. ja und direkt 2. Frage, welches Migrationshanduch?


    Danke und gruß

  • es gibt eventuell eine Möglichkeit einen Agenten per LotusScript zu kopieren.
    Mit

    Code
    1. Set doc = db.GetDocumentByID(agent.ParameterDocID)


    wird ein Agent als doc zugewiesen. Dieses kann dann per

    Code
    1. Call doc.CopyToDatabase(UserDB )

    in eine andere DB kopiert werden. Auf db sollten alle User Zugriff haben.


    Ist nur so eine Idee und nicht getestet.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Um convert anzuwenden müssen folgende Dateien im Programmverzeichnis sein:


    nconvert.exe
    nnotes.dll (eh vorhanden)
    js32.dll
    nlsccstr.dll


    Dann aus Dos folgende Befehlszeile starten:
    c:\lotus\notes\nconvert c:\lotus\notes\data\names.nsf * c:\Lotus\notes\data\pernames.ntf


    (Die Befehlszeile entsprechend Deinem Installationspfad anpassen.)


    Hoffe es hilft! :-)


    Gruß
    Heinz

  • Diali: Hat leider nicht funktioniert "Invalid note id" wobei
    ParameterDocID immer leer ist. Ich hatte einfach mal Beispiel aus der Hilfe verwendet. Wobei, bei meinen Englischkenntnissen kann es auch sein, das ich irgenwas nicht verstanden habe.
    Dank Dir Trotzdem.


    @kroewing


    Danke, dann werde ich das mal probieren.


    gruß
    rubbel

  • hast Du Dir den Agent zugewiesen? Ist der Agent im Debugger leer?

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Ich habe auch mal ein eigenes Beispiel genommen.


    Sub Click(Source As Button)
    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim agent As NotesAgent
    Set db = s.CurrentDatabase
    Set agent = db.GetAgent("Test")
    Set doc = db.GetDocumentByID(agent.ParameterDocID)
    End Sub


    Lt. dem debugger is dann an "agent.ParameterDocId" ein leerer Wert ("").


    gruß
    rubbel

  • Der Parameter ParameterDocID liefert einen dem Agenten übergebenen Wert, nicht aber die NoteID des Agenten.
    Daher ist es logisch das dieser Wert immer leer ist.
    Das Problem ist einfach die NoteID des Agenten zu bekommen.
    Unter 5 wüsste ich da keine andere Möglichkeit als über einen C-API Call diese zu ermitteln.