Domino 9 und frühere Versionen > Entwicklung

pers. Ansichten per Agent updaten

(1/2) > >>

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