Beiträge von heimat1978

    @ RockWilder:
    zum Thema Performance: ich stimme Dir ja voll und ganz zu dass ein bedachter Umgang mit Ressourcen (auch ganz allgemein und außerhalb von Notes) selbstverständlich sein sollte. Mit meinem Zahlenbeispiel wollte ich lediglich ausdrücken dass die zusätzliche Last durch die neue Anwendung minimal sein dürfte. Ausgehend davon dass die Anforderung an sich besteht stellt sich die Frage nach der in jeder Hinsicht effizientesten Lösung - grundsätzlich ist der Server ja da um Aufgaben zu verrichten und nicht zum Selbstzweck!
    zur Anforderung selbst: der MA soll eben bewusst nicht noch einen weiteren Topf regelmäßig prüfen müssen, sondern in diesem zeitkritischen Fall aktiv benachrichtigt werden. Die Idee ist über das Pop-Up eine Art Priorisierung zu realisieren in der Erwartung dass der Rückruf-Wunsch damit schneller den Berater erreicht und nicht in der Masse der Mails im Posteingang untergeht.
    Unsere Berater haben die Idee übrigens durchaus begrüßt (was sich nach dem x.ten Pop-Up in Folge natürlich ändern kann).


    @ ascabg:
    - das Pop-Up geht an 1 bis x PCs die für den jeweiligen Berater-User in der Admin-DB gelistet sind
    - anschließend geht die Mails ins Postfach der Filiale
    - dort holt es
    a) entweder der über Pop-Up benachrichtigte Berater ab
    oder
    b) der für das Filial-Postfach zuständige MA bearbeitet die Mail (der z.B. weiß dass sein Kollege heute krank ist und den Auftrag folglich selbst bearbeitet)
    Wobei b) dem aktuellen Ablauf ohne Pop-Up entspricht und wir uns damit im Fall "Berater nicht erkannt/erreicht/reagiert" nicht verschlechtern, im Fall a) aber die durchschnittliche Laufzeit bis die Info beim Berater ankommt von einigen Stunden auf einige Minuten reduzieren.

    Hi,


    klar- man wächst ja mit seinen Aufgaben ;)


    in der Reihenfolge Deiner Fragen:
    - wo ist denn der Unterschied zw. einer "normalen" Mail-DB und einer Mail-In-DB? Hab dazu keine (für mich) nachvollziehbare Beschreibung gefunden.... Was ergibt für diese Anforderung mehr Sinn?
    - wir erwarten eine niedrige 3-stellige Anzahl an Rückrufen / = Mails täglich; da sollte die Ausführung nach Eingang neuer Mail einen performanten Domino-Server doch nicht überfordern, oder?!
    - für die Zuordnung MA => PC(s) hätte ich eine eigene DB angelegt (z.B. ein Dokument für die PCs eines MA und dann Suche über Ansicht)
    - der msg-Dienst von Windows kennt die Variable Benutzername => diese würde ich mitgeben und damit würde die Nachricht nur dann angezeigt wenn der gewünschte Mitarbeiter tatsächlich angemeldet ist


    Danke für den Tip mit der Broadcast-Funktion. Kannte ich noch nicht, klingt aber spannend. Leider scheitere ich mit einem Test gerade an fehlenden Rechten an der Konsole des DominoServer zu arbeiten...


    Martin

    Hallo Domino-Gemeinde!


    Aufgrund geänderter interner Prozesse sollen in unserem Haus künftig vom CallCenter keine Anrufe direkt mehr durchgestellt sondern ein Rückruf-Wunsch eingestellt werden.
    Vereinfacht beschrieben sendet der Agent (also der CallCenter-Mitarbeiter ;) ) eine Mail an das Postfach der Filiale unter Angabe des gewünschten Beraters und der Kundendaten. Von dort wird die Mail dem Berater zugewiesen oder, falls dieser nicht im Haus ist, durch einen anderen Kollegen bearbeitet. Mail soll w/ möglicher Abwesenheit nicht direkt an den Berater gesandt werden.


    Da u.E. die Akzeptanz dieser Änderung mit der Dauer bis zur Ausführung des Rückruf steht und fällt möchten wir den Berater schnellstmöglich über den Rückrufwunsch informieren und planen folgende Lösung:


    - CallCenter-MA adressiert die Mail an ein Postfach "Rückrufe" unter Angabe von Filiale und gewünschten MA an definierten Stellen im Betreff
    - hinter dem Postfach Rückrufe steckt eine DB die aus dem Betreff Filial- und MA-Kennung auswertet, zu jedem MA die genutzten PCs kennt und über den Nachrichtendienst von Windows ein Pop-Up an die jeweiligen Rechner sendet (in etwa "Rückrufwunsch liegt vor")
    - anschl. wird die Mail ans das Postfach der Filiale weitergeleitet; dort holt sie entweder der Berater oder ein Kollege ab
    - wird der Berater nicht eindeutig erkannt geht die Mail ohne Info in die Filiale, werden weder Berater noch Filiale erkannt an den Ersteller zurück


    In diesem Zusammenhang folgende Fragen :?: :
    - was muss ich tun damit meine DB Rückrufe Mails empfangen kann oder würdet Ihr dafür eine "normale" Mail-DB verwenden und die o.g. Logik z.B. über einen Agenten abbilden?
    - je nachdem: welches Ereignis löst den Agenten aus?
    - hat jemand zufällig Erfahrung mit der Nutzung von psexec auf dem Domino-Server (das Message-Pop-Up würde ich über diesen Weg realisieren, funktioniert im Entwurf zwar auf meinem Notes-Client, nicht jedoch auf dem Domino-Server. Vermutlich ein Rechte-Probleme?!)


    Sametime soll übrigens nicht genutzt werden; ebenso ist uns klar dass je nach Menge die Pop-Ups durchaus nervig werden können.


    Für Eure Vorschläge/Anregungen vielen Dank im voraus :!:

    Hallo,


    ich möchte aus einer Ansicht heraus für mehrere ausgewählte Dokumente eine Möglichkeit zur Eingabe von Änderungen schaffen (konkret: es soll u.a. ein Bearbeitungsdatum erfasst werden).


    Dazu habe ich eine Maske mit Eingabemöglichkeit für die relevanten Felder geschaffen.


    Diese Maske rufe ich mit der DialogBox-Methode in einer Aktion "Bearbeitung dokumentieren" aus der Ansicht mit den markierten Dokumenten auf, wobei als Parameter das erste Dokument der Ansichtauswahl mitgegeben wird und in der Maske in ein Feld "ReferenzDocID" geschrieben wird.


    Im Queryclose-Event dieser Maske schreibe ich dann in das ReferenzDoc (also das 1.te markierte Dokument aus der Ansicht) alle relevanten Eingaben in (temporäre) Items:



    Nach Rückkehr aus der DialogBox möchte ich dann im weiteren Verlauf der Aktion auf diese Werte zugreifen und in einer Schleife sämtliche ausgewählten Dokumente aktualisieren.


    Dabei tritt folgendes Problem auf: greife ich nach der DialogBox-Methode in der Aktion auf die Feldnamen zu erhalte ich stur die Werte VOR Änderung durch die DialogBox-Maske zurück.
    Beende ich z.B. die Aktion nach der DialogBox-Methode und beauskunfte dann das Referenz-Doc im Client sind die Feldwerte entsprechend der Eingabe in der DialogBox-Maske geändert.


    Im Moment habe ich das Gefühl mir fehlt in der Aktion eine Methode vergleichbar des uidoc.reload aus dem Frontend - wobei ich mich ja nur mit Backend-Dokumenten arbeite...


    Ideen ;-)?


    Danke & Gruß


    Martin

    Hallo,


    gibt es eine Möglichkeit die Serverliste einer DB-Kachel im Arbeitsbereich per Script / Formelsprache so zu bereinigen dass nur noch ein bestimmter Eintrag verbleibt (ähnlich wie FileDatabaseRemove nur mit der Möglichkeit zu bestimmen welcher Eintrag verbleiben soll)?


    Hintergrund: wir verlinken aus div. Infoportalen an x Standorten auf Notesdatenbanken mit Repliken auf dem jeweiligen Servern - solange im Arbeitsbereich des Users dabei die Datenbank nur am Standort des Users geöffnet ist wird die Replik vor Ort geöffnet - ist in der Serverliste der DB jedoch ein weiterer Server eingetragen und ausgewählt (bzw. nach ABC weiter vorn) wird diese Replik auf dem entfernten Server geöffnet... ;(


    Als Lösungsansatz hätte ich versucht ausgehend vom Servernamen z.B. der Mail-DB des Users mit FileDatabaseRemove und AddDatabase zu arbeiten - scheitere aber am vollständigen entfernen der Kacheln...


    Gruß


    Martin

    Ok, ich versuch auf jeden Fall mal den Eintrag in den vertrauenswürdigen Servern gesetzt zu kommen.


    Zitat


    ...grundsätzlich besteht seit Anfang an die Begrenzung, das Server-Agenten - also Agenten, die irgendwie automatisch auf dem Server gestartet werden, z. B. zeitgesteuert - niemals nicht auf Datenbanken auf anderen Servern zugreifen dürfen.
    ...


    Trotzdem: in ner anderen DB die nur auf Server A liegt läuft ein periodischer Agent der auf DBen von Server A bis Z zugreift - erfolgreich und bei im wesentlichen identischem Aufbau.


    Hab beide Agenten nochmal verglichen und festgestellt, dass der Agent der funzt von Server A signiert wurde, während mein Agent "nur" mit ner Benutzer-ID signiert wurde - kann dass die Ursache sein?


    PS: und der nächste Beitrag wird vernünftig formatiert ;-))

    ... so - hoffe die Lesbarkeit ist jetzt etwas besser geworden ;-)!


    In den vertrauenswürdigen Servern findet sich kein Eintrag - kann ich leider auch nicht ohne weiteres ändern (Admin-Hoheit unseres Rechenzentrums...)


    Aber wieso klappt dann die Ausführung wenn ich dass Skript via Schaltfläche am Client direkt ausführe?


    Und dann hab ich da in ner anderen DB auf dem selben Server einen ganz ähnlichen Agenten der ebenfalls Kalendereinträge vornimmt und prima funzt - einziger für mich ersichtlicher Unterschied ist dass dieser Agent periodisch ausgeführt wird.


    Nach wie vor ratlos...


    Martin

    <font face="Arial"><font size="2">Hallo, <br />
    </font>
    <p><font size="2">ich habe eine DB die Kalendereintr&auml;ge in den User-Mailfiles erstellen soll. <br />
    </font></p>
    <p><font size="2">Zu diesem Zweck gibt&acute;s einen Agenten der <br />
    - mit einer User-ID signiert ist die Zugriff auf die Mailfiles hat und <br />
    - sich aus dem Adressbuch Homeserver und Pfad des User-Mailfile holt um dann <br />
    - die Mail-DB zu &ouml;ffnen und die Eintr&auml;ge zu erstellen. <br />
    </font></p>
    <p><strong><font size="2">Liegen DB und Mail-DB auf dem gleichen Server klappt das ganze auch prima. Sobald aber z.B. meine DB auf Server A und das Mailfile auf Server B liegt bricht der Agent bei der Ausf&uuml;hrung ab!<br />
    </font></strong></p>
    <p><font size="2">F&uuml;hre ich das identische Skript &uuml;ber eine Schaltfl&auml;che am Client aus funktioniert die Eintragung einwandfrei - egal wo die Mail-DB liegt. <br />
    </font></p>
    <p><font size="3"><font size="2">Hier der relevante Teil vom Skript:</font> <br />
    </font></p>
    <p><code>Sub Initialize<br />
    Dim agentLog As New NotesLog(&quot;Agent-Protokoll&quot;)<br />
    Call agentLog.OpenAgentLog<br />
    Dim s As New notessession <br />
    Dim db As NotesDatabase<br />
    Dim adressbuch As NotesDatabase<br />
    Dim MailFile As NotesDatabase<br />
    Dim doc As NotesDocument<br />
    Dim refdoc As NotesDocument<br />
    Dim ccdoc As NotesDocument<br />
    Dim termindoc As NotesDocument<br />
    Dim item As NotesItem<br />
    Dim a As NotesAgent<br />
    Dim rtstyle As NotesRichTextStyle<br />
    Dim t As New NotesDateTime(&quot;&quot;)<br />
    Dim rtitem As Variant<br />
    Dim empfaenger As Variant<br />
    Dim collection As NotesDocumentcollection<br />
    Dim server As String<br />
    Dim mailserver As Variant<br />
    Dim maildb As Variant<br />
    Dim personendoc As NotesDocument<br />
    Dim uidtermindocperson As String<br />
    Dim searchFormula As String<br />
    Dim nam As NotesName<br />
    Dim Mailbox As NotesDatabase<br />
    </code></p>
    <p><code>'oeffne Referenzdokument aus DB ZTV<br />
    Set db = s.CurrentDatabase<br />
    Set a = s.CurrentAgent<br />
    Set refdoc = db.GetDocumentByID(a.ParameterDocID)<br />
    </code></p>
    <p><code>'lese terminempfaenger aus Referenzdokument<br />
    empfaenger = refdoc.GetItemValue(&quot;SendTo&quot;)<br />
    Call agentLog.LogAction(empfaenger(0) &amp; &quot; Empfaenger aus Referenz-Doc&quot;)<br />
    </code></p>
    <p><code>'oeffne Adressbuch Spb auf aktuellem Server<br />
    server = db.Server<br />
    Set adressbuch = s.GetDatabase(server, &quot;names.nsf&quot;)<br />
    Call agentLog.LogAction(adressbuch.FileName &amp; &quot; &quot; &amp; adressbuch.Server &amp; &quot; Dateiname und Server des Adressbuch&quot;)<br />
    </code></p>
    <p><code>'suche personendokument im adressbuch<br />
    </code><code>Set nam = s.CreateName(empfaenger(0))<br />
    searchFormula = nam.Canonical<br />
    Call agentLog.LogAction(searchFormula &amp; &quot; Suchbegriff&quot;)<br />
    Set collection = adressbuch.Search({FullName = &quot;} &amp; searchFormula &amp; {&quot;}, Nothing, 1)<br />
    Call agentLog.LogAction(collection.Count &amp; &quot; Anzahl der Treffer-Dokumente&quot;)<br />
    Set personendoc = collection.GetFirstDocument<br />
    Call agentLog.LogAction(personendoc.UniversalID &amp; &quot; UID des Personen-Dok&quot;)<br />
    </code></p>
    <p><code>'lese mailserver/file aus Personendokument &amp; oeffne MailDB<br />
    mailserver = personendoc.GetItemValue(&quot;MailServer&quot;)<br />
    maildb = personendoc.GetItemValue(&quot;MailFile&quot;)<br />
    Call agentLog.LogAction(mailserver(0) &amp; &quot; Mail-Server&quot;)<br />
    Call agentLog.LogAction(maildb(0) &amp; &quot; Mail-File&quot;)<br />
    Set MailFile = s.GetDatabase(mailserver(0) ,maildb(0))<br />
    If Not MailFile.IsOpen Then<br />
    Call MailFile.Open(mailserver(0),maildb(0))<br />
    End If<br />
    If MailFile.IsOpen Then<br />
    Call agentLog.LogAction(&quot;Mail-DB wurde erfolgreich ge&ouml;ffnet!&quot;)<br />
    Else<br />
    Call agentLog.LogAction(&quot;Mail-DB konnte nicht ge&ouml;ffnet werden!&quot;)<br />
    End If<br />
    Call agentLog.LogAction(MailFile.ReplicaID &amp; &quot; Replik-ID der Mail-DB&quot;)<br />
    Call agentLog.LogAction(MailFile.CurrentAccessLevel &amp; &quot; Aktuelles Zugriffsrecht auf die Mail-DB&quot;)<br />
    </code></p>
    <p><code>'erstelle termindoc in pers&ouml;nlicher MailDB<br />
    Set termindoc = New NotesDocument(MailFile)<br />
    Call agentLog.LogAction(termindoc.UniversalID &amp; &quot; UID des Termin-Dok&quot;)<br />
    ...<br />
    </code></p>
    <p><font face="Arial" size="2">Und hier noch dass Protokoll bei Ausf&uuml;hrung (DB liegen auf verschiedenen Server):<br />
    </font><code>Started running agent 'TerminEintragung' on 25.06.2007 15:05:51<br />
    Running on all documents in database: 52 total<br />
    Found 52 document(s) that match search criteria<br />
    25.06.2007 15:05:51: Bernhard Bauer/REGENSBURG/SPB Empfaenger aus Referenz-Doc<br />
    25.06.2007 15:05:51: names.nsf CN=NREGENS3/OU=SERVER/O=SPB Dateiname und Server des Adressbuch<br />
    25.06.2007 15:05:51: CN=Bernhard Bauer/OU=REGENSBURG/O=SPB Suchbegriff<br />
    25.06.2007 15:05:52: 1 Anzahl der Treffer-Dokumente<br />
    25.06.2007 15:05:52: 775C1EA61E9913B0C1256E990046E6FA UID des Personen-Dok<br />
    25.06.2007 15:05:52: CN=AN068036X1/OU=SERVER/O=SPB Mail-Server<br />
    25.06.2007 15:05:52: mail\u759376 Mail-File<br />
    Ran LotusScript code<br />
    </code><font face="Helv" size="2"></font></p>
    <p><font face="Arial" size="2">Bin im Mom ziemlich ratlos und f&uuml;r jeden Rat dankbar!</font></p>
    <p><font face="Arial"><br />
    <font size="2">Gr&uuml;&szlig;e</font></font><font size="2"> </font></p>
    <p><font size="2"></font></p>
    <p><font size="2"></font></p>
    <font size="2">Martin</font>
    <p>&amp;nbsp;</p>
    <p>&amp;nbsp;</p>
    </font>