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

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

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

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

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

Репликация бд на локал

  • Автор темы susinmn
  • Дата начала
S

susinmn

Вот суть проблемы: есть база на сервере(архивируется, т.е. *согласованные* документы копирются в архивную бд, а в текущей удаляются)
Так вот некоторый пользователь, скажем год назад, скопировал бд на локал и сегодня еще разок реплицировал) так вот докуенты, которые ушли в архив восстановились?
Как бороться с *восстановлением* документов?))
 
S

susinmn

допустим поставить год...но нет уверенности, что пользователь реплику через год может запустить(
если поставить цисло 10^n, n=много - это ни как не скажется на работе бд?

И еще такой момент: как получить время добавления документа в бд(Added, на 1 закладке свойства документа)?
 
H

hosm

И еще такой момент: как получить время добавления документа в бд(Added, на 1 закладке свойства документа)?
Вариант через ж, но можно попробовать вычислить время из DXL документа, пример:
<addedtofile><datetime>20090326T180410,39+02</datetime></addedtofile>
 
N

nvyush

Как бороться с *восстановлением* документов?))
А если формулу репликации написать с учётом формулы отбора документов для архивирования? Т.е. запретить реплицировать документы, которые теоретически должны быть в архиве. Ну, это если архивирование не вручную, а агентом по расписанию.
 
S

susinmn

TIA, а чему равняется const _NOTE_ADDED_TO_FILE?)
 
S

susinmn

скрипт вешаю на кнопку в документе
в (Declarations) пишем

Код:
Private Type timeDateTYPE
innards(0 To 1) As Long
End Type
Declare Private Function W32NSFNoteGetInfo Lib "nnotes" Alias "NSFNoteGetInfo" ( _
Byval hNote As Long, _
Byval noteMember As Integer, _
retValu As Any _
) As Integer 
Declare Private Function W32ConvertTIMEDATEToText Lib "nnotes" Alias "ConvertTIMEDATEToText" ( _
Byval intlFmt As Long, _
Byval txtFmt As Long, _
timeDate As timeDateTYPE, _
Byval retBuff As Lmbcs String, _
Byval maxBuffLen As Integer, _
actBuffLen As Integer _
) As Integer 

Const BUFF_LENGTH% = 32 * 3
Const ERROR_MASK = &H3fff '// see globerr.h
Const BUFFER_SIZE% = 255
Const UNKOWN_ERR_DESC$ = "unknown error"
Dim intLength As Integer

на клик вешаем
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkSpace	
Set uidoc = ws.CurrentDocument 
Set cdoc = uidoc.Document 

Dim tdStruct As timeDateTYPE
Dim intStringLength As Integer
Dim strErrTxt As String
Dim strRetBuff As String * BUFF_LENGTH 

hNote& = cdoc.HANDLE
intRetCode% = W32NSFNoteGetInfo(hNote& , 13, tdStruct)	
intRetCode% = W32ConvertTIMEDATEToText(0&, 0&, tdStruct, strRetBuff$, BUFF_LENGTH, intStringLength%)	
Set pndtAddedInThisFile = New NotesDateTime(Left$(strRetBuff$, intStringLength%))	
End Sub

Вопрос: можно ли без uidoc получать cdoc.HANDLE? Хочу в агенте получить коллекцию

P.s.: Извиняюсь, туплю. Вопрос мой можно закрыть))
 
N

nvyush

susinmn
Судя по коду
Код:
Set cdoc = uidoc.Document 
...
hNote& = cdoc.HANDLE
cdoc - NotesDocument. Его необязательно получать из uidoc'а. Можно так
set cdoc = db.GetDocumentByUNID("YourUNID")
Оговорюсь - сам не пробовал, свойство HANDLE у NotesDocument для меня новость.
 
T

TIA

В агенте по выделенным документам, коллекцию выделенных галками получают через
NotesSession.CurrentDatabase.UnprocessedDocuments

Далее
NotesDocumentCollection.GetFirstDocument и NotesDocumentCollection.GetNextDocument

Получить текущий документ:

NotesSession.DocumentContext
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
воще, есть библиотека (Константин публиковал) - не совсем по теме...

там много чего интересного (в т.ч. - как писать кроссплатформенные вызовы)
 
Мы в соцсетях:

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