Почтовые вопросы.2

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

  1. yos

    yos Гость

    Добрый день!!!


    Необходимо знать, а заходил ли пользователь хоть раз в свою почту (т.е. создана новая учетная запись, но не понятно заходил ли пользователь в БД).
    как это можно узнать?

    Сервер: Lotus Domino 6.5.4
    Шаблон почтовой БД: StdR6Mail/ru

    заранее благодарю
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Мне кажется, что это можно узнать из профайла базы.
    Но точнее не скажу.
    Сейчас подтянется народ, что-то умнее посоветует.
     
  3. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Посмотреть это можно в свойствах БД, на второй закладке есть User Detail... там показывается User Actuvity... но не уверен, что это через LS можно программно проверить.
     
  4. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Откриваем клиент админа, закладка server analysis вибираем пункт log - database - usage ну и ищех какую базу тебе надобно
     
  5. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    мне кажется никак... если кодом надо
    разве что, напиши код на Database Resources / PostOpen
     
  6. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Akupaka

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

    yos Гость

    я опишу ситуацию подробней, возможно вы подскажете мне другое решение.
    изначально задача очень простая:
    проверить сколько непрочитанных сообщений у пользователя. (использовал класс UnreadDocListClass.lss, который мне посоветовали).
    для тех пользователей, которые используют почту - все хорошо и правильно работает, но...
    есть новые пользователи, которые вообще ни разу не заходили в лотус (только создали, к примеру).
    вот на таких пользователях просто валится сервер на бок (null handle или чтото около того пишет и сервер тут же "падает").
    Сделал так:
    Вход пользователя вообще в Лотус можно хоть примерно узнать (в документе пользователя сделать проверку на поля на вкладке Administration раздел Client Information).

    А вот как избежать ситуации когда пользователь в Лотус зашел, но не зашел в БД почты...
     
  8. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Cleric-Lviv, я писал про вариант посмотреть кодом, шарить кодом по логам не очень интересно

    да и кроме логов, лучше уж вот так смотреть :)
    так может обработки нету там какой-то, т.е. пытаются инициализировать данные, и сразу к ним обращаются без проверки на результат инициализации?
    скажи на каком коде валится сервак? лениво пробовать :)
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Попробуй проверить на наличие CalendarProfile в базе (только предположение).

    Вообще тут всё просто: надо взять свеженькую (никогда не открытую) почтовую базу, выгрузить её в DXL.
    Зайти туда юзером, ничего не делая выйти.
    Опять выгрузить в DXL и сравнить какие были изменения.
    Подумать, на что можно оперется :)

    Кстати, Akupaka прав: лучше посмотреть на чём валится и подумать, как можно подмандить.
    Зачем костылям делать ещё одни костыли?
    Лучше выпрямить ноги :)
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Omh, судя по всему профайл создается только когда юзер его правит или читает письмо, иначе оно не присутствует в базе...
    зато создаются какие-то colorprofile и archive database profile, но это не указывает на то, что именно нужный юзер открыл базу о.О
     
  11. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Akupaka
    Короче, класс надо смотреть и думать, почему падает.
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    yos, ау :) расскажешь нам где падает-то?
     
  13. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Я посмотрел тот класс, теоретически падает где-то тут:

    Код (Text):
    result = NSFDbGetUnreadNoteTable(hDB, userName, Len(username), 0, hIDTable)
    If result <> 0 Then
    lastError = "Cannot open ID Table on " & db.FilePath & " on server " & db.Server & _
    ". Error was " & Cstr(result) & ": " & GetAPIError( result )
    Goto closeDb
    End If

    '** make sure we got some IDs returned to us (if not, just exit)
    count = IDEntries(hIDTable)
    Надо класс разобрать и по строчечке, по строчечке :)
     
  14. yos

    yos Гость

    "падает" именно на этой строчке:

    Код (Text):
            '** make sure we got some IDs returned to us (if not, just exit)
    count = IDEntries(hIDTable)
     
  15. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    А hIDTable не ноль?
     
  16. yos

    yos Гость

    кстати, еще одна "особенность" этого класса:
    когда кол-во непрочитанных писем = 0 или 1 то результат всегда выдается "0"


    ноооль, все, понял (добавил проверку)
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Йеее!
     
  18. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ну вот... без меня все нашли... :'(
     
  19. yos

    yos Гость

    Akupaka, ну проблема все еще открыта с неверным количеством (когда все прочитаны и когда 1 письмо не прочитано) :)
     
  20. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    yos
    IDEntries - API функция, ты там ничего сделать не сможешь.
    Прими как должное :)
     
Загрузка...

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