Autor Thema: automatischer refresh eines Embedded View für Live Protokoll-Meeting Datenbank  (Gelesen 4564 mal)

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
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

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
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

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  ;)
« Letzte Änderung: 13.05.11 - 13:07:34 von marschul »
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
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...
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
So, da mich das selbst interessierte, hab ich mal ausprobiert, ob das auch embedded funktioniert - Ergebnis: Klappt  :D
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline CarstenB

  • Aktives Mitglied
  • ***
  • Beiträge: 193
  • Geschlecht: Männlich
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

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
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

Stimmt: solange man dem Timer nicht seine Basis unterm Hintern wegzieht (im obigen Beispiel die View, die ihn enthält), wird ohne Carstens Erweiterung jede View aktualisiert, die sich gerade im Vordergrund befindet...

Schönes WE
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz