Domino 9 und frühere Versionen > Entwicklung

Persönliche Ansichten ausfindig machen und löschen

(1/3) > >>

Jérôme:
Hallihallo!

Ich habe folgendes Script geschrieben, um alle Ansichten einer Datenbank durchzugehen und einen Zähler mitlaufen zu lassen, der die versteckten Ansichten mitzählt.


--- Code: ---Dim views As Variant
Dim privCounter, pubCounter As Integer   
views = dbCurrent.Views
   
   Forall v In views
      If ( v.IsPrivate ) Then
         privCounter = privCounter + 1
      End If
      pubCounter = pubCounter + 1
   End Forall
   
Msgbox pubCounter & " öffentliche Ansichten" & Chr(13) & privCounter & " private Ansichten"
--- Ende Code ---

Der Agent läuft lokal und funktioniert. Auf dem Server bekomme ich aber die folgende Fehlermeldung:

Notes error: Index kann nicht auf dem Server erstellt werden. (Name der Ansicht)


Woran liegt das und wie kann ich es beheben? Ich will alle persönlichen Ansichten der Datenbank auf dem Server löschen, damit sie nach einem Gestaltungsupdate auch aktualisiert und neu erstellt werden.

Vielen Dank im Voraus

Jérôme

ata:
... das sieht danach aus, daß die privaten Ansichten nur lokal in der Desktop.dsk vorhanden sind - auf dem Server gab es diese privaten Ansichten nicht...

ata

Jérôme:
Aber ich habe doch beim Anlegen der Ansicht angegeben, dass die Ansicht nach der ersten Benutzung privat sein soll, aber nicht, dass sie lokal abgelegt sein soll. *grummel*

Ich mach mal ne neue Ansicht und pass genau auf...

Oder könnte das an noch was anderem liegen?

Performance:
Die Eigenschaft IsPrivate ist noch nicht initialisiert. Die view ist ja nur ein Rahmenkonstrukt für den Benutzer der drauf klickt, dann wird das Readers Feld geschrieben und die Eigenschaft IsPrivate auf true gesetzt.

Wenn du private Ansichten auf dem Server löschen willst, geht das indem du eine neue Replik machst. Hier hast du noch ein kleines Problem - die privaten views in der Desktop des Users sind noch vorhanden(shared desktop private on first use) - die Lösung könnte ein Skript in DatabaseOpen sein das die privaten Views des Benutzers löscht.  Du gehst alle views durch und checkst das Readers Feld.

Ich versuche immer von privaten views Abstand zu halten wenn es geht -  zB.  kannst du dir die Performance des Servers kaputt machen wenn du 2 private on first use und 2000 Benutzer hat.  Die db wird dann mit 4000 views zu einem riesigen Wasserkopf, es dauert ewig den Index zu aktualisieren.

- das gleiche passiert ja auch mit den privaten foldern.

cu

Jérôme:
Aber wie sonst kann ich denn Ansichten ermöglichen, in denen nur die Dokumente dessen angezeigt werden, der sie sehen darf? Hab ich das richtig verstanden? Nur durch Leser- und Autorenfelder?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln