Domino 9 und frühere Versionen > ND6: Entwicklung

Meldung bei neuem Dokument

<< < (2/3) > >>

koehlerbv:
Tja, dann wird das nicht einfach, ist aber machbar. Ich sehe folgende Wege:
- Serverbasierender Agent, der nach Feststellung neuer Docs eine Broadcast-Message verschickt
- Lokaler Agent, der periodisch in der DB auf dem Server nachschaut und dann via WinAPI ein Fenster auf dem Client öffnet
- Ein Nicht-Notes-Programm, welches periodisch via NotesAPI / COM vom Client aus auf neue Docs auf dem Server prüft und wiederum per WinAPI ein Fenster beim Client öffnet.

Welchen Weg traust Du Dir zu?

Bernhard

skywook:
@Bernhard
Ich würde den serverbasierenden oder den lokalen Agenten vorziehen. Aber was würdest Du vorschlagen (möchte ja auch noch was dazulernen).

Ist aber noch was komplexer. Die Meldung soll nur erscheinen wenn das Doc in einer bestimmten Ansicht selektiert und in einem Feld ein bestimmter Wert angekreuzt ist.

Hättest Du mir da einen Ansatzpunkt?

koehlerbv:
Mir fehlen nach wie vor Details zu den Anforderungen. Wenn serverbasierend, dann funktioniert das ganze natürlich auch nur unter der Bedingung, dass der User in dem Moment, in dem die Bedingungen für eine neue Meldung stimmen, auch vom Server erreichbar ist. Trotzdem wäre dies natürlich dann der einfachste Weg.
Was bedeutet "in Ansicht selektiert"? Dass die Bedingungen stimmen, um das Dokument in eine bestimmte Ansicht aufgenommen wird? Diese Bedingung liesse sich ja genauso im Agent nachbilden, ebenso wie der Wert, der in einem bestimmten Feld stehen muss.

Ansonsten: Siehe die Punkte, die ich im letzten Posting geschrieben habe.

Bernhard

Klafu:
Würde es nicht reichen per E-Mail benachrichtig zu werden ?
Das wäre nämlich leichter.

Gruß

skywook:
Habe jetzt einen zeitgesteuerten serverseitigen Agenten. Wenn ich diesen manuell starte funktionierts - die Exe-Datei wird gestartet.

Schalte ich wieder auf zeitgesteuert wird der Agent zwar gestartet (sehe ich im Protokoll) aber der Shell-Befehl wird nicht ausgeführt. Die Exe-Datei (ist VB) zeigt einfach einen Prompt mit einer Meldung:

Sub Initialize
   Dim result As Integer
   Dim anzahl As Integer   
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Set db = s.CurrentDatabase
   Set view = db.GetView( "vb_PrioMSC" )   
   anzahl = 0
   Set doc = view.GetFirstDocument
   While Not(doc Is Nothing)
      If doc.vb_z_Prio(0) = "1" Then
         anzahl = anzahl + 1         
      End If
      Set doc = view.GetNextDocument(doc)
   Wend
   If anzahl > 0 Then   
      result = Shell("d:\meldung.exe",1)
   End If
End Sub

Für einen Tipp wäre ich dankbar.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln