Beiträge von wolmart

    Hallo Zusammen,


    ich muss mein Serverzertifikat migrieren um einen CA-Prozess zu generieren.


    Wenn ich die Maske ausfülle (Zertifzierer migrieren + SperrID (eigener User) + Administratoren (3 sollen da rein mit CAA und RA)
    Wenn ich auf OK drücke, bekomme ich folgende Fehlermeldung:
    "Der Namen kann nicht registriert werden. Mehrere Einträge mit diesem Namen wurden im Domino-Verzeichnis gefunden."


    Mein Problem - es gibt zwei Adressbücher. Eines für den Standort und ein Globales Adressbuch. Ich vermute stark, dass genau dies das Problem ist.
    Den Fehler hatte ich mal bei einer Entwicklungsgeschichte und dort war es so, dass der Fehler auftrat, weil der Name mehrfach gefunden wurde.


    Um das Problem zu umgehen, haben wir in dem Verbindugnsdokumenten des Administrators die Suche durch alle Adressbücher deaktiviert. Wir haben die Konfiguration so angepasst, dass keine lokalen Adressbücher gefunden werden sollen. Wir haben von Arbeitsplatz alle Adressbücher gelöscht.


    Es hatte keinen Erfolg.


    Weiß jemand Rat?


    Danke.


    Wolfgang

    Hallo Dirk,


    wir verwenden 8.5.2 und hatten den Code in 8.5.1 so eingebaut ohne dort Probleme zu haben. Daher meine Frage, ob jemand da schon Erfahrungen gemacht hat.


    PostOpen ist nach meinem derzeitigen wissen zu spät. Die Anwort wird (wenn der Debugger das korrekt anzeigt) zwischen QueryOpen und PostOpen verschickt.
    In den MailDB-eigenen Bibliotheken gibt es soweit ich gesehen habe aber keinen Code der sichtbar ausgeführt wird, so dass man sehen kann was da eigentlich passiert.
    In den CoreEmailClasses-de-DE gibt es nichts.
    Nur in der Comon-de-DE findet man die Behandlung wenn man vermutlich aus den Web kommt. (wReturnReceipt). Welche aber im Endeffekt ReturnReceipt = "1" abfragt und dann die Bestätigung verschickt.


    Die Suforms, die dort im Memo eine Rolle spielen könnten, haben auch keinen Code der dort was ausrichtet.




    Jemand eine Idee wie man da weiter kommt ?


    Danke


    Wolfgang

    Hallo Zusammen,


    wir haben eine kleine Submaske die abfragt, ob eine Empfangsbstätigung zurückgeschickt werden soll oder nicht:



    Mein Problem:


    Egal welchen Wert ich versuche dem "ReturnReceipt" mitzugeben, er wird übergangen und eine Lesebestätigung verschickt.
    Dies hat in 8.5.1 noch sauber funktioniert.


    Hat jemand eine Idee für die Ursache und damit evtl. eine Lösung?


    Ich habe folgendes schon probiert:


    @SetField("ReturnReceipt"; "0");
    @SetField("ReturnReceipt"; "");
    @SetField("ReturnReceipt"; @Unavailable);


    Ich habe die Subform wie ursprünglich an der ersten Stelle in der Memo-Form gehabt.
    Ich habe die Subform als letzte Subform (4. Subform) in der Memo-Form gehabt.


    Danke



    Wolfgang

    Hallo Rösing,


    den einzigen brauchbaren Weg den ich bisher gefunden hate ist, dass man das "oneui" von IBM als Style benutzt. Dann sieht das RTF vernünftig auch und läßt sich verwenden.

    Hallo Zusammen,


    die Ursache des Problems lag in einem anderen Bereich, den Rechten...


    session.userName bekommt in diesem Agenten nicht den Wert dessen unter den der Agent läuft ("Run on behalf of") sondern unter dem Namen des Servers.


    Das bedeutet, dass der Server aus der ACL gelöscht wird.
    Dann wird der DB Stub auf dem Backupserver erzeugt. Der Server kann aber nicht mehr darauf zugreifen. Daher kommt die Fehlermeldung. (Seltsamerweise wird die Gruppe "LocalDomainServers", wo beide Server eingetragen sind nicht berücksichtigt, was ich zumindest erwartet hätte.)


    Ich habe den Code wie folgt geändert:


    Code
    Set aclEntry = acl.GetEntry("[Name des Admins]")Call aclEntry.Remove Call acl.Save


    ...


    Code
    If Not serverReplic = "" Then 
    Call newDb.CreateReplica(serverReplic,pfad+dbname) 
    Call newDb.Replicate(serverReplic) 
    End If



    Danke für Eure Hilfe


    Wolfgang

    Hallo Zusammen,


    ich habe eine Navigation die eine Ansicht von Ordnern beinhaltet.
    Wenn man jetzt recht viele Ordner hat und die Bildschirm-Auflösung nicht allzu groß ist, werden in dem Frame der Navigation die die Seite mit der Outline beinhaltet beide Scrollbalken angezeigt. Ich würde den horizontalen gerne verstecken, habe aber bisher keinen Weg gefunden.


    Die Einstellungen im Frame lassen nur beide oder keinen Balken zu (Ich vermute, dass der Notesclient feststellt, dass die vertikale Darstellung zu groß ist, dann feststellt dass die Page generell zu groß ist und beide Scrollbalken darstellt.)
    Programmatisch komme ich an die Page nicht heran, da ich nur Zugriff auf die Dokumente bekomme...


    Hat jemand noch eine andere Idee ?


    Danke


    Wolfgang

    Hallo Taurec,


    Ich hoffe Du hattest ein gutes Wochenende :)


    Der Code:
    =======
    DAs QuerySave-Object im Konfigurationsdokument:


    Code
    Sub Querysave(Source As Notesuidocument, Continue As Variant) 	Dim db As NotesDatabase 	Dim doc As NotesDocument 	Set doc =  source.document 	Set db = doc.ParentDatabase  	' Eingabe in das Backend schieben 	Call source.refresh 	Call doc.Save(True,False)  	' Agenten ausführen 	Dim agent As NotesAgent 	Set agent = db.GetAgent("newDB") 	Dim nid As String 	nid = doc.NoteID 	Call agent.RunOnServer(nid)  	' doc "refreshen" 	Delete doc	 	Set doc = db.GetDocumentByID(nid) 	 	' Fehlermeldungen 	If (doc.getitemvalue("status")(0) <> "") Then 		Messagebox doc.getitemvalue("status")(0) , , "ERROR" 	Else 		Messagebox "database generated\n on " + server + dbpath , , "SUCCESS"	 	End If  	' doc schließen 	continue= False 	Call source.Close 	Call doc.Remove(True) End Sub


    Der eigentliche Agent:
    ==============


    Zeile 127 ist fett hinterlegt.
    Auch über das Wochenende habe ich da leider keine andere Lösung gefunden / Idee gehabt, da man aus Gründen der Rechte die Erstellung der Replikation ebenfalls im Backend laufen lassen muss.


    Danke.


    Vielleicht hast Du ja einen Idee...


    Wolfgang

    Das weiß ich halt nicht, für mich sieht das leider so aus, als würde der Befehl "CreateReplica" das machen, da man dort auch die Replikdatenbank zurückgeben könnte.
    (set replicdb = neueDB.CreateReplica(server,pfad))


    Als Frontent-Agent in Clientcontext hat das mit den entsprechenden Rechten auch problemlos funktioniert. Da der Kontext aber Adminrechte benötigt, und die o.g. Herren diese Rechte nicht haben dürfen, habe ich daraus einen Agenten gestrickt der mit "runOnServer" angestoßen wird und die Rechte von Admin bekommt.


    Danke


    Wolfgang


    (Wünsche dann ein schönes Wochenende und würde mich dann am Montag wieder melden)

    Hallo Taurec,


    hatte ich versucht, das Problem liegt darin, dass das öffnen der Datenbank in dem Moment passiert, wenn die Datenbank angelegt wird.


    Code
    Call newDb.CreateReplica(serverReplic,pfad+dbname)
    Call newDb.replicate(serverReplic)


    funktioniert nicht, da der Agent in der ersten Zeile schon aussteigt:


    2009-06-19 15:36:18 Agent printing: CRITICAL ERROR: INITIALIZE aufgerufen von INITIALIZE: Fehler (4060) Zeile: 127 - User CN=[Name des OnBehalfOf]/OU=dor/OU=de/O=[FIRMA] cannot open database dor-lddev-02/[Firma]!!clients\aktionen\09-0007 projectname.nsf


    Ich komme um das "öffnen" nicht herum, obwohl ich das weder benötige noch will....

    Hallo Zusammen,


    ich habe folgendes Problem:


    Wir haben einen Agenten erstellt, der Editoren ermöglicht eine Datenbank in einen konfigurierten Ordner auf den Server zu erstellen. (Die Herren kommen gerne Freitags kurz von deren Feierabend und benötigen die DB dann Montags morgens um 8.00 Uhr :) )


    Klappt auch alles soweit. Das Setup-Dokument ruft den Backend-Agenten auf welcher mit (onBehalfof) Adminrechten läuft, erzeugt die Datebank mit dem Template.


    Das eigentliche Problem besteht darin, dass ich eine Replic auf den Failoverserver erzeuge, welche dann einen Fehler rückmeldet, weil die Datenbank erstmal nur als Stub generiert wurde. Diese soll aber wohl sofort geöffnet werden, was den Fehler verursacht.


    Code
    On Error Goto errhandle
            If Not serverReplic = "" Then
                     Call newDb.CreateReplica(serverReplic,pfad+dbname)
     	End If


    Ich könnte den Fehler ignorieren, möchte das aber nicht, falls mal ein "echter" Fehler auftritt.


    Hat jemand eine Idee wie das vernünftig handlebar ist ?


    Danke.


    Wolfgang

    Liebe Gemeinde,


    irgendwo mache ich einen ziemlich dummen Fehler. Ich bin aber nicht in der Lage den zu finden.


    Ich habe eine Funktion die ein Notesdokument erstellt und diese an die übergeordnete Funktion zurückgibt. Dort kommt diese aber nicht an.


    Könnt Ihr helfen ?


    Code
    Function schreibeEintrag (...) As NotesDocument	Dim oDoc As NotesDocument	Set oDoc = oDB.CreateDocument	oDoc.Form = "Eintrag"	...	Felder setzen	If oDoc.ComputeWithForm( False, True ) Then		Call oDoc.Save(True, False)		Set schreibeEintrag = oDoc	Else		Set schreibeEintrag = Nothing	End IfEnd Function


    die Aufrufende Funktion:


    Code
    Function erstelleDocEintraege(...) As Variant
    	Dim oDoc As NotesDocument
    	Dim arlocal() As NotesDocument
    	Set oDoc = schreibeEintrag(objMsg,oEintrag,objEinstellungen)
    	Set arlocal(Ubound(arlocal)) = oDoc
    	erstelleNotesDocEintraege = arlocal
    end Function


    Die Variable oDoc der aufrufenden Funktion ist leer. Umbenennen und ähnliches hat nicht geholfen. Die Funktion "schreibeEintrag" hat das Notesdokument gespeichert.


    Könnt Ihr helfen?


    Danke.


    Wolfgang

    Guten Morgen,


    erstmal danke für die Antworten.
    Das Skript ist in LostusScript geschrieben und läuft unter der AdminID oder ähnlichen IDs sowohl auf dem Client als auch auf dem Server durch. Erst wenn der Agent von Agentmanager auf dem Server zeitgesteuert laufen soll hängt er sich auf.


    Der Prozess sieht so aus.
    - GnuPG verschlüsselte Mail kommt an.
    - Agent nimmt verschlüsselten Anhang und legt den in einem temp-Ordner ab.
    - Agent ruft GnuPG mit dem Pfad der Datei im tempOrdner auf und meldet zurück, dass dies scheitert. (Im Ordner ist die Datei nicht vorhanden.)


    Dieses Verfahren funktioniert auf diversen Servern und ist dort auch getestet. Der Agent läuft halt auf dem einen Server nicht, obwohl wir das in einer vergleichbaren Umgebung auf laufen haben. :(


    Also gibt es irgendwo eine Konfiguration (Lotus Notes oder WinServer2003), die verhindert, dass die Datei nicht im Temp-Ordner abgelegt wurde. Auf den ersten und zweiten Blick kann ich aber keinen Grund finden. Vielleicht habt Ihr eine Idee.


    Danke.


    Wolfgang

    Liebe Gemeinde,


    Ich habe eine Anwendung die aus einer Mail ein Attachment auf der lokalen Platte ablegt und von dort aus entschlüsselt und weiterverarbeitet werden soll.


    Auf dem Rechner läuft Domino 7.02 und WinServer2003. Wir haben dort das Problem, dass der Agent von Hand gestartet sauber durchläuft. Wenn der Agent automatisch laufen soll (also im Systemkonto) kann er den Anhang nicht in den Ordner schreiben. Zwei weitere Server haben die gleiche Installation und dort läuft alles reibungslos.


    - Der Agent versucht mittels obj.extractFile(Dateiname) die Daten abzulegen.
    - Der Agent darf "beschränkte Operationen" ausführen.
    - Der Server hat volle Rechte Agenten auszuführen.
    - Es gibt keine Policy auf dem WinServer die das Schreiben verhindert.
    - Der Ordner ist vorhanden und kann von dem Agenten über "chdir" auch angesteuert werden. (Wird vorher getestet).


    Hat jemand eine Idee, welche Konfiguration (Notes oder WinServer) noch das Schreiben der Datei verhindern könnte ? Hatte jemand das Problem und kann evtl. eine Lösung nennen ?


    Danke.


    Wolfgang

    Hallo Zusammen,


    ich habe es mit einem nicht ganz so schönen Workaround hinbekommen.


    Der Ordner, der die Ergebnisse speichert, ist eindeutig ("Ergebnis") und public, private on first use.
    Falls es den Ordner nicht gibt, also bei der ersten Benutzung, wird der Benutzer aufgefordert auf diesen Ordner zu klicken und ihn damit anzulegen. Danach funktioniert alles reibungslos, bis der Ordner wieder gelöscht wird. Da ich ihn aber nicht lösche,sondern nur leere...


    Nicht schön, aber wenn es die notwendigen Befehle erst ab Version 8 gibt ;)

    Hallo Zusammen,


    Danke für das schön machen und für das Helfen. Mein Problem sieht grade so aus, dass der o.g. Befehl erst ab Notes 8 zur Verfügung steht und ich aber unter Notes 6.5 entwickeln muss :)


    Ich habe also jetzt versucht mir die Outline zu holen, zu speichern und den Workspace anzuweisen, das Fenster neu zu laden. Klappt nicht. Ich habe dann einen OutlineEntry erzeugt der den gleichen Namen wie der Folder hat. Auch das hilft nicht.



    Wie bekomme ich die outline neu geladen, so dass das Skript funktioniert. Das primäre Problem scheint darin zu liegen, dass wie oben geschrieben, der Ordner nicht in der outline erkannt wird. Als Entry kann man den auch nicht unterschieben....


    Hat jemand eine Idee ?


    Danke.


    Wolfgang