• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Корруптится View - $collection пропадает

  • Автор темы Omh
  • Дата начала
O

Omh

Эге-гей, гуру!
Доброго пятничного утра!

У нас тут срач на работе, поэтому лучше спрошу вопросик.

Заметил непонятную проблему:
есть база, в ней есть некое кол-во view.

В некоторых документах view пропало поле $Collection, как это выражается:
1. View доступно в дизайнере
2. При открытии в дизайнере и попытке его сохраненния выкидывает ошибку "Document has been deleted"
3. При попытке взять объект view из базы - берётся, при попытке refresh'нуть кидает "Document has been deleted"

Shift + F9 - не помогает
rebuild all тоже (сыпет в консоль "Document has been deleted").

Эни айдиас?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
пропало поле $Collection
какие интересные вещи рассказываешь, поглядел ScanEZ таки есть такое поле во всех вью да еще и тип обьект-аттач
а что там хранится то? ;)
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
81
Почему произошло - вариантов может быть масса, - фантастических..

Что делать: попробовал бы для начала fixup, потом попробовал бы перекомпилить.
 
N

nvyush

Поглядел у себя. Поле $Collection обнаружилось далеко не во всех представлениях, причем его отсутствие никак не сказывается на работоспособности.
 
O

Omh

Да я сам в шоке.

Система такова:
В базе много есть view с одим и тем же Alias, но разными name/readers.

Т.е. есть одно view-шаблон, которое видит только пользоваттель с ролью (назовём его Одмин).
По запросу Одмин генерит view для пользователей.
Пользовательский view имеет уникальное имя, тот же Alias и в ридеры пишется Одминская роль + пользователь, для которого это view предназначено.
В итоге, каждый пользователь видит только одно view с данным alias.
Одмин видит все view ;)

В роли Одмина я увидел, что не все view работают, как надо: при попытке переключится/открыть пользовательское view, переключается/открывается view - шаблон.

Решил их поковырять на уровне дизайн документов.
Отличие нашёл: в тех view, что глючат, нет поля $Collection.
Поэтому я такой вывод и сделал.

Что там храниться хз - на ibm лотусных форумах про это поле - с гулькин нос.
Я проблему решил пересозданием view, но это вызывает кое-какие другие проблемы.
Если же я новосозданному view присваивал UNID старого (глючного) view, то оно тоже начинало глючить.
Если UNID не менять - всё работает, как надо.

Система - нипель: туда дуй, оттуда глюк!

Добавлено: Поглядел у себя тоже в других базах.
Поле $Collection обнаружилось далеко не во всех представлениях, причем его отсутствие никак не сказывается на работоспособности.
Может совпадение, но не верю...

Добавлено: Обобщу вопрос: почему при сохранении view может вываливаться ошибка "Document has been deleted"?
Без привязки к отсутсвию поля.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
это шареды?
мобуть тоды локальный кэш/десктоп копать?!
 
O

Omh

Это обычные общедоступные view, только с прописанными readers.
Я приватные не хочу, там дизайн часто обновляется, вылезет геморрой 100%.
 
N

nvyush

Это обычные общедоступные view, только с прописанными readers.
Я приватные не хочу, там дизайн часто обновляется, вылезет геморрой 100%.
Делал SPOFU, а по закрытию базы удалял. Никаких проблем с обновлением дизайна. Только не забыть галку, разрешающую серверные приватные представления создавать, в ACL нужным пользователям поставить.
 
O

Omh

Есть.
Проблема не критична, но интересна.

Если бы не один ньюанс, я бы вообще забил
если базу напрямую открывать, то то что view перегенрированное никакой роли не играет
Но так как view из неё эмбеднуто в стартовую страничку у каждого пользователя
И эмбеддится оно именно по униду
И пока базу не переоткроешь, он не будет знать, что там появилось новое view с таким же именем, но другим унидом...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!