Domino 9 und frühere Versionen > Entwicklung
pers. Ansichten per Agent updaten
immanuel:
Hallo Zusammen
Eine DB ist gerade in Entwicklung - die Views darin auch. Wir verwenden u.a. "Gemeinsame, bei 1. Verwendung private Views". Weil ich diese View weiterentwickle, ist es sehr mühsam, weil die Views zu dazumaligen Stand beim 1. Userzugriff gespeichert wurden. User haben nun alte Views. Die persöndliche View kann meines Erachtes nur durch löschen und neu Erstellen 100% upgedatet werden. Über die "Aktionen --> Ansichtoptionen --> löschen" kann eine pers. View gelöscht werden - beim nächsten Zugriff wird sie dann wieder neu erstellt.
Um einen aktuellen Stand bei den Usern zu haben, möchte ich alle Views automatisch updaten/ neu erstellen. Per Agent könnte ich dies tun, jedoch war der Test suboptimal. Ich löschte die pers. View über den Agent - die View war tatsächlich weg, jedoch hatte ich am Schluss eine leere, korrupte View, keine neu erstellte. (Domino 5.0.9 und Notes 5.0.10).
Habt ihr Tipps, wie ich die pers. Views der User automatisch updaten kann? Kann ich die Views nicht einfach in der DB über eine Ansicht löschen?
Danke für eure Vorschläge!
Grüsse
Manuel
koehlerbv:
Sowas sollte eigentlich nicht passieren. Zeig mal Deinen Code, vielleicht lässt sich da noch was optimieren.
Bernhard
immanuel:
Der Agent sieht so aus:
Sub Click(Source As Button)
' Löscht die Ansicht
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Set db = session.CurrentDatabase
Set view = db.GetView( "Help Inquiries\By MyInq personal ALL" )
Call view.Remove
End Sub
Grüsse
Manuel
Semeaphoros:
--- Zitat ---“...die mich suchen, werden mich finden.” (Sprüche 8:17)
--- Ende Zitat ---
Das kann man dann wohl dazu sagen .....
Du solltest auch noch überprüfen, ob Du wirklich die private Ansicht zurückbekommst. So könnte es nämlich auch sein, dass Du die Vorlage-Vieh versuchst zu löschen. Beispiele dafür gibts in der Hilfe und in der KB
koehlerbv:
Jo, Du prüfst nicht nach, ob das Vieh es persönlich nimmt ;-)
Hier was als Beispiel, wie sich's geht:
--- Zitat ---Author: Daniel Bjarsch
Deleting private views
Description:
If you have a database with views of the kind "Private on first use", changes in design will not get through to the private copies of the view.
This script gets rid of the private copies of "Private on first use" views that is stored in the database.
Put the code in the Queryclose event of the database if you want the private copy of the view to be deleted every time the user exits the database.
Otherwise put the code in a scheduled agent.
Code:
Sub Queryclose(Source As Notesuidatabase, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim docView As NotesDocument
Dim itmFlags As NotesItem
Set db = session.CurrentDatabase
Forall v In db.Views
Set view = v
Set docView = db.GetDocumentByUNID( view.UniversalID )
If Not docView Is Nothing Then
Set itmFlags = docView.GetFirstItem( "$Flags" )
If Instr( itmFlags.Values( 0 ), "V" ) Then
Call view.Remove
End If
End If
End Forall
End Sub
--- Ende Zitat ---
HTH,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln