Domino 9 und frühere Versionen > ND8: Entwicklung

automatischer refresh eines Embedded View für Live Protokoll-Meeting Datenbank

(1/2) > >>

padkey:
Hallo zusammen,

ich entwickle momentan eine Datenbank, welche als Live-Protokoll-Datenbank in Meetings verwendet werden soll. das heißt:
alle öffnen das aktuelle Protokoll-Dokument, welches eine embedded view besitzt, in welcher immer die Themen-Dokumente mit ihren Unterpunkt-Dokumenten dargestellt werden.

Der Protokullant schreibt live während des Meetings mit (normal) und bei allen Teilnehmern, die auch das Dokument geöffnet haben, sollen dann immer aktuell die neuen Punkte und Themen erscheinen...



Frage:

Ich nehme an, die embedded view aktualisiert sich nicht automatisch? oder doch? irgendwie habe ich etwas von einer automatisch Aktualisierung gelesen? Wenn ja, wie mache ich das?

Ansonsten, würde ich einen agenten jede Minute die View aktualisieren lassen?

Gibt es noch andere Möglichkeiten?

Vielen Dank

marschul:
Hi,

man kann ein View-Refresh automatisieren, habe aber nicht probiert, ob das auch in einer
embedded view geht. Dazu in der View folgendes:


--- Code: ---Declarations
Dim elapsedTime As Integer
Dim elapsedTimer As NotesTimer

Sub Postopen(Source As Notesuiview)
 Set elapsedTimer = New NotesTimer(1, "Elapsed time since opening view")
 elapsedTime = 0
 On Event Alarm From elapsedTimer Call elapsedTimerHandler
End Sub

Sub elapsedTimerHandler(Source As NotesTimer)
 elapsedTime = elapsedTime + 1
 Dim etime As Integer
 Dim minutes As Integer
 etime = elapsedTime
 If etime < 60 Then
  Print Cstr(etime) & " second(s) elapsed time since opening view"
 Else
  minutes = 0
  Do While etime > 59
   minutes = minutes + 1
   etime = etime - 60
  Loop
  Print Cstr(minutes) & " minute(s), " & Cstr(etime) & " second(s) elapsed time since opening view"
 End If
 If Fraction(etime / 5) = 0 Then 'Der Wert (hier 5) bestimmt die Häufigkeit der Aktualisierung in Sekunden
  Dim oWS As New NotesUIWorkspace
  oWS.ViewRefresh
  Print "View refreshed"
 End If
End Sub
--- Ende Code ---

Aktuell habe ich eine ähnliche Anforderung. In einem großen Projekt wird ein sog. Leitstand eingerichtet, der mit Beamern ausgerüstet ständig aktualisiert bestimmte Notes-Ansichten sehen muss, ohne dass jemand ständig F9 drückt. Da ich aber in den betroffenen Anwendungen selbst nicht entwickeln darf, habe ich o.g. Code so umgebaut, dass er auch "von außen" funktioniert - mit jeder beliebiegen Ansicht, die anschließend im Vordergrund geöffnet ist  :)

Edit: Obiger Code stammt ursprünglich nicht von mir, habe aber leider keine Quellenangabe mehr  :(
PostEdit: Ha, das Beispiel befindet sich ja in der Designer-Hilfe, bezieht sich dort nur auf ein Dokument  ;)

marschul:
Noch'n Hinweis: Man sollte natürlich darauf achten, dass man das Ganze nicht überstrapaziert, sprich bei Views mit gaaaanz vielen Dokumenten vielleicht das Intervall etwas vorsichtiger wählen...

marschul:
So, da mich das selbst interessierte, hab ich mal ausprobiert, ob das auch embedded funktioniert - Ergebnis: Klappt  :D

CarstenB:
du musst zusätzlich noch abfragen, ob ws.currentview.view der zu akutalisierenden View entspricht.
Ansonsten wird das Refresh auch ausgeführt, wenn du z.B. in deine Mail-DB wechselst. Und das ist dann doch etwas nervig

Gruß
Carsten

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln