Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: immanuel am 01.04.04 - 15:32:22

Titel: pers. Ansichten per Agent updaten
Beitrag von: immanuel am 01.04.04 - 15:32:22
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
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: koehlerbv am 01.04.04 - 15:36:28
Sowas sollte eigentlich nicht passieren. Zeig mal Deinen Code, vielleicht lässt sich da noch was optimieren.

Bernhard
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: immanuel am 01.04.04 - 15:37:30
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
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: Semeaphoros am 01.04.04 - 15:41:10
Zitat
“...die mich suchen, werden mich finden.” (Sprüche 8:17)


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
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: koehlerbv am 01.04.04 - 15:44:43
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

HTH,
Bernhard
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: immanuel am 01.04.04 - 15:54:47
Hey, das ging ja schnell... Vielen Dank! Werde es gleich probieren!
Danke und Grüsse
Manuel
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: immanuel am 01.04.04 - 16:09:25
Hallo Zusammen!

Die pers. Ansichten werden nun gelöscht. die Ansicht wird aber erst nach dem Verlassen der DB und erneutem Öffnen neu erstellt. Ich werde die Ansichten über einen Agent bei allen Usern löschen...
Merci!
Ich wünsche euch noch einen schönen Abend!
...Manuel
Titel: Re:pers. Ansichten per Agent updaten
Beitrag von: koehlerbv am 01.04.04 - 16:20:04
Das ist normal mit dem Verfahren zum Erstellen einer neuen persönlichen Ansicht - geht ja auch nicht anders (ausser per Programm).
Und den Agent halte ich sowieso für die elegantere Methode. Du musst aber die User berücksichtigen, die mit lokalen Kopien arbeiten - bei kurzen Intervallen der View-Design-Änderung und anschliessendem Löschen der pers. Ansichten könnten die eventuell durchs Netz rutschen. Eine reine Organisationsfrage also.

Auch Dir einen schönen Abend !

Bernhard