• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Динамическое представление. Возможно ли?

  • Автор темы vvlad
  • Дата начала
V

vvlad

Hi ALL!

Подскажите, реально ли реализовать представление в котором View Selection будет задавать пользователь?

Например при отрытии представления выдается запрос на выбор пользовалеля и после выбора в представлении отображаются документы у которых автор=выбранному?
 
M

Mihal

Вполне реально. Не вижу препятствий. Но только у пользователя должны быть права НЕ НИЖЕ дизайнера.
 
V

vvlad

Вполне реально. Не вижу препятствий. Но только у пользователя должны быть права НЕ НИЖЕ дизайнера.
Мда, это "но" не радует....

Я так понимаю речь идет об изменении notesView.SelectionFormula?

А альтернатив нет?
 
S

Sandr

Это реально если испольщовать встроенные представления с "Show single category".
В пердставлении в первой колонке делаете гатигорию по автору документа.
Встраеваете представление в форму, в "Show single category" указываете название поля, которое вычисляется при открытии по @userName...
 
M

Mihal

Давайте вместе пойдём просты логическим путём. Вы хотите поменять формулу отбора. Это, по-любому, изменение элемента дизайна. Каким путём бы Вы не шли. Без прав дизайнера никак.

Предлагаю альтернативный путь. Представление, скатигоризированое по пользователям. Представление встроено в форум. На форме - поле. Типа, выбор из списка. После выбора поставить рефреш. И, как бы, всё.

Ну и гад же ты, Саня, всё-таки... :)
 
30.05.2006
1 345
12
BIT
0
2Sandr,Mihal: ваш(и) вариант(ы) предполагают превентивное вычисление каждому юзеру своего, но предопределенного набора док-тов.
Если юзеру нужен свой, произвольный критерий выборки.. таки-да, мимо модификации SelectionFormula не пройти.
Типовой прием, что-б не давать юзеру Designer-а: агентец подписанный админом/дезигнером, который по запросу юзера модифицирует ф-лу.
Но сам по себе путь (модификация дизайна) - порочен
 
M

morpheus

а почему мі не хотим юзать папки:?
 
M

Mihal

наши варианты предлагают решение конкретной задачи под названием "Например при отрытии представления выдается запрос на выбор пользовалеля и после выбора в представлении отображаются документы у которых автор=выбранному?".

А если вести речь о произвольному криетрии, то я бы копал в сторону SPOFU-папок.
 
O

Omh

Если меня не подводит память, то для изменеия Selection Formula во view достаточно Editor'a с крыжиком
Create shared folders/views
 
F

fedotxxl

Вроде ещё никто не сказал об этом...
Делаете интеграцию с DB2 и пользователь может сам задавать Selection формулу =)
 
P

Positive

@SetViewInfo должен помочь.
Делаете кнопку в акшн бар представления. В коде кнопки, прописываете диалог с пользователем, результат передаете @SetViewInfo. Все :blink:

Да, чтобы снять фильтр, нужно еще одну одноименную кнопочку с @SetViewInfo без параметров
 
A

AlexKing

На самом деле есть еще один вариант создания динамического представления - использовать в SELECTION формуле отбора функцию @Environment, которая как известно возвращает значение переменной из Notes.ini файла. Разумеется в одной SELECTION формуле можно использовать несколько переменных, считанных из Notes.ini...

Но, если база данных находится на сервере, то SELECTION формула будет брать значения переменных из серверного Notes.ini файла и тут образуется новая задача: а как собственно пользователь может в Notes.ini на сервере записать значение какой либо переменной. Эта задача - также разрешима, например пользователь выполняет какой либо серверный агент, который из документа серверной базы считывает значение поля и прописывает его в Notes.ini на сервере... (Ну раумеется это все должно выполнятся через нормальный пользовательский диалог...)

После этого пользователь открывает представление и о чудо - оно пересчитывается с новыми значениями выборки, считанными из серверного Notes.ini !!!

Эта технология с успехом работает и на 5-ой и на 6-ой версии Lotus Notes и я думаю что и на более поздних версиях также - будет работать !
 
S

Sandr

Но, если база данных находится на сервере, то SELECTION формула будет брать значения переменных из серверного Notes.ini файла и тут образуется новая задача: а как собственно пользователь может в Notes.ini на сервере записать значение какой либо переменной. Эта задача - также разрешима, например пользователь выполняет какой либо серверный агент, который из документа серверной базы считывает значение поля и прописывает его в Notes.ini на сервере... (Ну раумеется это все должно выполнятся через нормальный пользовательский диалог...)

После этого пользователь открывает представление и о чудо - оно пересчитывается с новыми значениями выборки, считанными из серверного Notes.ini !!!

Эта технология с успехом работает и на 5-ой и на 6-ой версии Lotus Notes и я думаю что и на более поздних версиях также - будет работать !

А теперь представим себе ситуацию, что эту вьюху открывает сразу несколько пользователей (а это очень даже вероятно), все пытаються записать селекшен формулу в серверный нотес.ини и - о чудо, кто последний тот и папа... а какая нагрузка на сервер - ваще красота...

Не извращайтесь...
 
P

Positive

Я долго в голове держал эту задачку. Перебирал разные варианты, в т.ч. изменение формулы отбора агентами, @Environment и др. В конце концов пришел в выводу <!--QuoteBegin-Sandr+9:01:2008, 22:56 -->
<span class="vbquote">(Sandr @ 9:01:2008, 22:56 )</span><!--QuoteEBegin-->Не извращайтесь...
[snapback]92781" rel="nofollow" target="_blank[/snapback]​
[/quote]

:angry: :blink: :)

Остановился на @SetViewInfo
 
V

vvlad

Всем спасибо за помощь!
Для себя выбрал @SetViewInfo - как раз то, что мне нужно.
 
P

Positive

Не за что :angry:
Я когда открыл для себя эту возможность, был приятно удивлен :blink:
 
Мы в соцсетях:

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