Private Folder

seoman2

Lotus team
17.02.2010
461
1
#1
Создаю private folder, юзер его открывает, потом я делаю изменения в приватной папке.
У юзера остается старая папка.
В дизайнере в списке папок отображается изначальная папка, и все.
Как правильно делать изменения в дизайнере у приватных папок, и удалять старые версии папки у юзеров?
 

savl

Lotus team
28.10.2011
2 135
104
#2

seoman2

Lotus team
17.02.2010
461
1
#3
Итог. На двух похожих базах повесил на терминате код:

Dim ss As New NotesSession
Dim db As NotesDatabase

On Error Resume Next

Set db = ss.CurrentDatabase
viewList = db.Views

Forall x In viewList
If x.IsPrivate Then
Call x.Remove
'Msgbox x.Name
End If
End Forall

В базе 1 все ок, а в базе 2 через неделю работы приватная папка перестала создаваться!
 

savl

Lotus team
28.10.2011
2 135
104
#4
Ошибок нет в работе? Права пользователя менялись?
 

seoman2

Lotus team
17.02.2010
461
1
#5
Ничего не менялось, в том то и дело.
Выбрал по новой в дизайнере в оутлайне ту же папку, заработало.
 

rinsk

Lotus team
12.11.2009
900
44
#6
Итог. На двух похожих базах повесил на терминате код:

Dim ss As New NotesSession
Dim db As NotesDatabase

On Error Resume Next

Set db = ss.CurrentDatabase
viewList = db.Views

Forall x In viewList
If x.IsPrivate Then
Call x.Remove
'Msgbox x.Name
End If
End Forall

В базе 1 все ок, а в базе 2 через неделю работы приватная папка перестала создаваться!
На больших БД будет жутко тормозить перебор всех вьюх.
Как вариант - грохать приватные только после после изменения таймстампа родительской вьюхи
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#7
приватные виды/папки видны только под Full Access
от лица пользователя видны только ЕГО папки/виды
 

seoman2

Lotus team
17.02.2010
461
1
#8
Еще заметил, что в каких-то случаях после выполнения "If x.IsPrivate Then Call x.Remove", зависимости не вижу, приватная папка не создается у юзера.
 

Мыш

Премиум
12.02.2008
1 097
10
#10
Еще заметил, что в каких-то случаях после выполнения "If x.IsPrivate Then Call x.Remove", зависимости не вижу, приватная папка не создается у юзера.
Дык а удаляться-то удаляется?
Чиста теоретиццки - если вид может кастомизироваться юзером, то кастомные настройки хранятся локально (в desktop или где там...). Настройки, сортировки, кстати, тоже. Мож, они и не дают корректно удалять?
И еще вопрос - а не "сидит" ли пользователь в этом виде перед закрытием?
 

seoman2

Lotus team
17.02.2010
461
1
#11
"И еще вопрос - а не "сидит" ли пользователь в этом виде перед закрытием?" - да, в базе у юзера используется только одна приватная папка, для каждого своя.
 

Мыш

Премиум
12.02.2008
1 097
10
#12
seoman2, хммм... Мож, вызвать close объекта UIView? Правда, не знаю, в каком событии сработает..
 
A

alexas

#13
seoman2, хммм... Мож, вызвать close объекта UIView? Правда, не знаю, в каком событии сработает..
Уишные классы в Database Script работать не будут.
А удалять приватные папки-виды лучше на Initialize. На Terminate могут быть трудно диагностируемые неприятности, да и при возможном крахе клиента или некорректном выходе из базы (напр. при пропадании электричества) папки не будут удалены.

(..... приватная папка не создается у юзера) это как? - открывается "Shared, private in first use" как "Shared"?