• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Нужен Совет Новичку (выборка Документов В Базе)

  • Автор темы hellsq
  • Дата начала
H

hellsq

Здравствуйте всем! Внезапно на меня свалилось администрирование Lotus, ну и доработка баз до кучи. Потихоньку разбираюсь в создании/допиливании всяких агентов и форм, процесс идёт, но в данный момент у меня нет общего представления о возможностях и функционале lotus designer - что в нём можно сделать, а что нет или с кучей костылей. Во views тоже пока не залезал и пока плохо понимаю как оно там всё работает.

На меня повесили долгосрочную задачу, о которой я не знаю главного: возможно ли такое реализовать в лотусе, или нет. Прошу советов, в каком направлении копать.

Итак, есть база документов. В базе кучка документов, в ней же есть кучка views с разными вариантами отображения/сортировки этих документов по их параметрам, всё как обычно - ну например view с отображением по дате, view с сортировкой по отделам итп. Задача в том, чтобы пользователь мог ввести сам несколько параметров, и увидеть в итоге документы, подходящие под эти параметры.

Собственно хочется узнать примерную схему, что именно создавать для реализации подобного, в каком направлении копать.


З.Ы. прошу прощения за создание кучи одинаковых групп - прокся подвисла.
 
H

hellsq

из активного гугления пришло понимание (или непонимание) того, что надо использовать класс NotesDocumentCollection и активно ковыряться в его возможностях. это так, или я очень сильно неправ?
 

savl

Lotus Team
28.10.2011
2 591
309
BIT
138
По сути надо сделать некое "отчетное чудо" или поиск по значениям поиск.
Как сделать вариантов много, зависит от того как надо показывать результат.

Если в самой базе, то можно:
1. построить FTIndex в базе, затем через "Поиск в виде" вводить поисковые слова и ждать. (аля Google что ввел то и получил, ничего даже писать не надо, но индекс весит и надо его обновлять)
2. Сделать форму для ввода параметров, сделать личную папку, сделать механизм поиска, все что найдено - положить в папку.
(Это уже с ограниченным набором параметров: даты, номера, авторы и т.д.)

Если надо в Excel или куда еще выгрузить, то:
Аналогично второму способу + заполнение Excel


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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 927
608
BIT
150
если параметров небольшое кол-во, то помимо перечисленного - можно сделать составной ключ для поиска (текстовой) и по нему создать вьюшку
в ней предусмотреть отображение по множественным ключам (это на случай отсут. нек. параметров)
типа:
key1|key2|key3
для индексной колонки, д.б.
"key1":"key1|key2":"key1|key2|key3":"key2|key3":"key1|key3"
где | - разделитель в ключе, а : - символ списка в формулах
кавычки указал, чтобы подчеркнуть стоковость :)
ключами м.б. поля или формулы
нужно не забывать о том что ключ - точное соответствие строки (без wildcard)
все это можно реализовать в виде встроенной вьюшки в форму с настройкой фильтра
ну и самый медленный способ - DbSearch, его коллекцию можно закидывать в приватную папку (выше описывалось)
 

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
2
если документов, которые нужно фильтровать, не очень много (< 100 000), то есть java = Swing = jTable.
самый быстрый способ заполнения jTable - использование NotesViewNavigator.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 927
608
BIT
150
oshmianski2 на свинге можно ваще виртуальность реализовать
т.е. lazy режим списка
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 927
608
BIT
150
простой пример

ну типа короткий совет
 
Мы в соцсетях:

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