Поиск неиспользуемых почтовых файлов

Тема в разделе "Lotus - Программирование", создана пользователем Wanderer, 28 мар 2006.

  1. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Народ честной, помогите или подскажите!
    Есть необходимость проверки существующих почтовых файлов на их последнее использование/открытие. Может есть у кого готовое решение проблемы по поиску неиспользуемых почтовых ящиков (не только "мёртвых", но и существующих юзеров) и выдаче админу списка владельцев сих файлов? Я так полагаю, это вполне реально.
    Просто люди увольняются, но админу не сообщают о движении кадров. А вручную выискивать - не совсем рационально.
     
  2. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    Может кто подскажет, как создать представление, в котором бы отображался список баз данных (почтовых файлов) с возможностью сортировки по дате последнего обращения пользователя к БД?
    Есть вообще такое свойство у базы данных помимо общеизвестных таких, как "дата создания" и "дата изменения"?
     
  3. Гость

    Есть. На второй вкладке свойств базы можно посмотреть.
    В Админке можно посмотеть такой вид в действии.

    Глянь в хелпе свойства NotesDatabase - Created и LastModified.
     
  4. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    <!--QuoteBegin-Юлия+31:03:2006, 11:57 -->
    <span class="vbquote">(Юлия @ 31:03:2006, 11:57 )</span><!--QuoteEBegin-->Глянь в хелпе свойства NotesDatabase - Created и LastModified.
    [snapback]32829" rel="nofollow" target="_blank[/snapback]​
    [/quote]Если я не ошибаюсь, то "LastModified" не совсем подходит под мои нужды, т.к. эти самые последние изменения производит и сервер, доставляя почту в почтовый ящик. А мне интересует существование некоего свойства NotesDatabase, которое отражало бы именно последнее обращение (открытие) пользователя к почтовому файлу. Но по всей видимости, такого свойства нет - по крайней мере, я ничего похожего не нашел в хелпе.
     
  5. nor

    nor Гость

    Wanderer

    IBM Domino Administrator client - Files - (выбери свой мэйл сервер) - mail директория.

    Отобразиться список всех почтовых файлов на выбранном сервере. Выбери интересующую тебя базу, затем - меню Files/Analize... Сделай анализ по User activity.
     
  6. Гость

    Для: nor
    А как можно получить значение последнего обращения пользователя к базе с помощью LS? Желательно конкретного пользователя.
    Можно ли это в принципе?
     
  7. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    nor
    Спасибо! Упустил из вида данную возможность. К сожалению, Analyze доступен только для отдельной базы данных. Есть ли подобная возможность для анализа целого списка баз данных?
     
  8. Murtas

    Murtas Гость

    1. Подойти в бухгалтерию и взять список всех активных сотрудников. Надеюсь проблем не возникнет с названиями почтовых баз. (Сорри за банальность.)

    2. Все таки проще систематизировать движение кадров, используя хотя бы примитивную базу типа "Кадры" (с указание статуса сотрудника) ... при использовании Лотуса отсутствие таковой базы в системе выглядит кастрированной почтовой системой без расширенной инфы по пользователям.

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

    nor Гость

    Для: Юлия
    Если косвенно проанализировать деятельность пользователя над документами. Все документы в базе данных хранят список имен последних редакторов и список дат последнего редактирования документа. По другому - я не решал подобной задачи еще, потому ничего конкретного сказать не могу более.
     
  10. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    А как сделать поиск даты последнего отправленного сообщения по почтовым базам?
     
  11. nor

    nor Гость

    Для: Wanderer


    Agent

    Name: MailFileProcess
    Options: Shared
    Runtime: Trigger 'On event', 'Agent list selection', Target 'None'.

    Код (Text):
    (Declarations)
    Dim session As NotesSession
    Dim db As NotesDatabase
    Dim FILE_DIR As String
    Dim MAIL_DIR As String
    Dim SENDTO As String

    Sub Initialize  
    Dim maildb As NotesDatabase
    Dim view As NotesView
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem
    Dim file_path As String
    Dim file_name As String
    Dim result() As String
    Dim i As Integer
    Dim msg As String

    On Error Goto catch

    Set session = New NotesSession
    Set db = session.CurrentDatabase
    FILE_DIR = "C:\Lotus\Domino\Data\mail\"
    MAIL_DIR = "mail\"
    file_path = FILE_DIR + "*.nsf*"
    ' list of all .nsf files in the FILE_DIR
    file_name = Dir$(file_path, 0)
    SENDTO = "admin/iba"
    i = -1
    Do While file_name <> ""
    Set maildb = session.GetDatabase(db.Server, MAIL_DIR + file_name, False)
    If Not maildb Is Nothing Then
    If Not maildb.CurrentAccessLevel < ACLLEVEL_READER Then
     Set view = maildb.GetView("($Sent)")
     Call view.Refresh
     Set maildoc = view.GetLastDocument
     If Not maildoc Is Nothing Then
        i = i + 1
        Redim Preserve result(i)
        result(i) = maildb.FilePath + "': " + Cstr(maildoc.PostedDate(0))
     End If
    Else
     Call SendAdminLog("Ошибка доступа: " + FILE_DIR + file_name, SENDTO)
    End If
    End If
    file_name = Dir$()
    Loop
    ' send result() to SENDTO
    If Not i = -1 Then
    msg = Join(result, Chr(10))
    Call SendAdminLog(msg, SENDTO)
    End If

    Exit Sub
    catch:
    Call ErrorProcess()
    End
    Resume Next

    End Sub

    Sub SendAdminLog(msg As String, sendto As String)  
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem

    On Error Goto catch

    Set maildoc = New NotesDocument(db)
    maildoc.Form = "Memo"
    maildoc.Subject = db.Title + " application administration log message "
    maildoc.SendTo = sendto
    maildoc.Principal = db.Title + " application"
    Set rtitem = New NotesRichTextItem(maildoc, "Body")
    Call rtitem.AppendText(msg)
    Call maildoc.Send(False)    

    Exit Sub
    catch:
    End
    Resume Next

    End Sub

    Sub ErrorProcess()

    On Error Goto catch

    Call SendAdminLog(|Agent "| + agent.Name + |" error:| + Ustring(2, Chr(10)) + |Error #| + Cstr(Err) + | in line | + Cstr(Erl) + |: | + Error$() + |.|, SENDTO)

    Exit Sub
    catch: 
    End
    Resume Next

    End Sub
     
  12. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    369
    Симпатии:
    14
    а в какой БД этого агента лучше создавать?
     
  13. nor

    nor Гость

    Для: Wanderer
    В любой бд, расположенной на сервере, в котором есть директория mail, которая содержит почтовые файлы, которые тебе нужно обработать.
     
Загрузка...

Поделиться этой страницей