Web и Lotus

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 11 сен 2007.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    Привет, всем!
    У меня вот такой вопрос.
    Имеется база «Деканат», где содержатся вся успеваемость каждого студента. И в базе существует форма авторизации, где студент набрав свой логин и пароль, и потом нажав на кнопку, может получить транскрипт (данные об оценках) на Word-е. Все это я сделал на лотус скрипте и на лотус клиенте все работает.
    Теперь мне надо, чтоб все это работало на браузере. Сказали что надо писать на Java. Посмотрел по хелпу: ту часть программы, где реализована импорт данных в ворд можно написать на Java. А как написать другую часть скрипта на Java, где происходить авторизация. Я так понял, что Java не имеет связи с Юзер Интерфейсом, тогда как мне получить данные c полей Юзер Интерфейса (с формы авторизации) и выдавать сообщение, если юзер не правильно ввел логин и(или) пароль.
    P.S.
    Версия лотуса 5.0.8
     
  2. Dikobraz Grey

    Dikobraz Grey Гость

    А почему вы не хотете просто окрыть lotus документ в браузере? При спользовании Java скрипт это можно неплохо отрисовать... И зачем Вам java? Как я Вас понял, процедуру отбора данных можно оставить на лотусах...
     
  3. Mihal

    Mihal Гость

    А какая ОС на сервере? Linux, Windows?
     
  4. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    <!--QuoteBegin-Dikobraz Grey+11:09:2007, 09:55 -->
    <span class="vbquote">(Dikobraz Grey @ 11:09:2007, 09:55 )</span><!--QuoteEBegin-->А почему вы не хотете просто окрыть lotus документ в браузере
    [snapback]77794" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    документ не открывается
    просто создается новый документ на основе формы авторизации при открытии базы
    там юзер вводит логин и пароль
    и нажимает на кнопку
    а сам документ не сохраняется он служит только для ввода логина и пароля

    а кнопка содержит скрипт где
    проверятся логин и пароль
    если они корректны то выводится трансрипт на ворд

    все это надо перевести на java чтоб на браузере работало

    <!--QuoteBegin-Mihal+11:09:2007, 10:06 -->
    <span class="vbquote">(Mihal @ 11:09:2007, 10:06 )</span><!--QuoteEBegin-->А какая ОС на сервере? Linux, Windows?
    [snapback]77800" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    windows 2003
    а что это меняет
     
  5. Dikobraz Grey

    Dikobraz Grey Гость

    jdbc для Lotus
    LDBC

    Хотя если мне память не изменяет, то это приличный гемморой
     
  6. alb

    alb Well-Known Member

    Регистрация:
    13 июл 2005
    Сообщения:
    212
    Симпатии:
    0
    ух ты!!! из веб интерфейса в ворд!!! у кого это получилось по подробней плиз.
     
  7. Mihal

    Mihal Гость

    <!--QuoteBegin-yerke+11:09:2007, 11:08 -->
    <span class="vbquote">(yerke @ 11:09:2007, 11:08 )</span><!--QuoteEBegin-->windows 2003
    а что это меняет
    [snapback]77802" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Ну, можно повесить агента на скриптах, который будет формировать файл оффисный. И файл этот можно:
    1. Отправлять по почте.
    2. Открывать в бройзере.

    Почти ничего менять не надо. Форма и WebQuerySave агент.
     
  8. K-Fire

    K-Fire Гость

    Да, для этой задачи Ява не нужна вообще
     
  9. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    <!--QuoteBegin-Mihal+11:09:2007, 23:57 -->
    <span class="vbquote">(Mihal @ 11:09:2007, 23:57 )</span><!--QuoteEBegin-->Ну, можно повесить агента на скриптах, который будет формировать файл оффисный. И файл этот можно:
    1. Отправлять по почте.
    2. Открывать в бройзере.

    Почти ничего менять не надо. Форма и WebQuerySave агент.

    [snapback]77891" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    допустим что агент останется на скриптах
    его вызываем с помощью кнопки
    который расположен на форме
    @-командой

    вторую часть скрипта который формирует офис файл можно оставит без изменения
    или можно показать транскрипт с помощью HTML файла прямо на браузере, формировав его процедурой PRINT. Это понятно.

    но как получить значения полей логин и пассворд
    ведь для того чтобы формировать HTML файл с транскриптом
    сперва скрипт должен же проверить веденный пользователем логин и пароль

    но как я знаю
    NotesUIWorkspace не поддерживается в веб агентах написанные на лотус скрипте:

    LotusScript and Java on the Web
    A Web agent can be written in:

    1)LotusScript. This is the only context in which a Web application can use LotusScript. Anything that runs in the browser, such as an action, hotspot, or event, cannot contain LotusScript.
    LotusScript agents activated from the Web cannot use any of the classes NotesTimer, NotesUIDatabase, NotesUIDocument, NotesUIView, or NotesUIWorkspace.
     
  10. Mihal

    Mihal Гость

    <!--QuoteBegin-yerke+13:09:2007, 09:54 -->
    <span class="vbquote">(yerke @ 13:09:2007, 09:54 )</span><!--QuoteEBegin-->но как получить значения полей логин и пассворд
    ведь для того чтобы формировать HTML файл с транскриптом
    сперва скрипт должен же проверить веденный пользователем логин и пароль
    [snapback]78112" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Тю!
    В WebQuerySave агенте пишете конструкцию

    Set doc=session.DocumentContext
    login=doc.login(0)
    password=doc.password(0)

    И дальше проверяйте себе наздоровье.
    В общем, получите почти то же, что и при ws.CurrentDocument.Document. Вернее, получите даже больше ;).
     
  11. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    Для: Mihal


    спасибо огромное
    оказывается все так просто
    ;) :D



    можно еще вопрос
    почему на веб агенте написанный на лотус скрипте

    не работает msgbox

    как решить это проблему?
     
  12. Mihal

    Mihal Гость

    <!--QuoteBegin-yerke+13:09:2007, 10:31 -->
    <span class="vbquote">(yerke @ 13:09:2007, 10:31 )</span><!--QuoteEBegin-->не работает msgbox
    [snapback]78129" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Ну, не работает. Но! Всё то, что вы выводите Print'ом идёт прямо в контекст броузера. То есть принтами можно агент вырисовывать.

    Но я бы на вашем месте делал бы агентом документ. Из двух итемов. Верхнее - текстовое ("Дапашливы!" или "Вот ваши данные!"). Нижнее - ричтекстовое с файликом. И этот документ открывал бы в броузере (Print "[" & LinkToTheDocument & "]"). Заодно будете иметь лог кто чаво хотел.

    И не забудьте агенту поставить 3-й уровень runtime security level (вторая закладка свойств агента).
     
  13. alb

    alb Well-Known Member

    Регистрация:
    13 июл 2005
    Сообщения:
    212
    Симпатии:
    0
    msgbox работает только в случае доступа через web сообщения выводиться на консольное окно сервера. и это не видно web пользователю
    встречный вопрос каким образом ты формируешь файл Word-а. через com объекты или как то по другому. из клиента в ворд выгрузку я так делал. но когда клиент броузер это агент на сервере формирует? у меня это почемуто не получалось постоянно выходил ошибка приложении короче word отказывался работать на сервере.
    сервер естественно MS2003
     
  14. Mihal

    Mihal Гость

    Для: alb
    Посмотри какой у агента runtime security level (вторая закладка свойств агента). И кем агент подписан.
     
  15. alb

    alb Well-Known Member

    Регистрация:
    13 июл 2005
    Сообщения:
    212
    Симпатии:
    0
    агент подписан пользователем кому разрешено все ограниенные действия
    а у агента секюрити левел снало поставил 2 потом поставил 3

    объект ворда нормально создается только потом уже проиходить ошибка имменно ворда а не лотуса
    пока грешу на уорд поробую на другой машине потом скажу

    и на память тоже думаю, объем памяти роли играет? она там сервере только 512м
    это какбы полигон(машина)
    обычно там тестирую потом переношу все на рбочую машину

    я правильно понимаю скррипт коорый работает на клиенте лотуса, выгружающий в ворд через cом объекты должен работать и на сервера
     
  16. Mihal

    Mihal Гость

    <!--QuoteBegin-alb+13:09:2007, 13:27 -->
    <span class="vbquote">(alb @ 13:09:2007, 13:27 )</span><!--QuoteEBegin-->я правильно понимаю скррипт коорый работает на клиенте лотуса, выгружающий в ворд через cом объекты должен работать и на сервера
    [snapback]78195" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Ну, я мутил через OLE. На серваке должОн стоять ворд (эксель). Код я переносил втупую. Всё работало как дети в школу. Единственное напоролся на секурити левел. Да, когда-то при работе с ОЛЕ мне по лбу больно стукнул касперский. Отключаешь - работает. Включаешь - тишина.
     
  17. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    Для: Mihal
    с авторизацией разобрался
    но возник проблемы с выгрузкой на ворд
    после авторизации запускается следующая процедура которая выгружает данные на ворд
    раньше на лотус клиенте это процедура выгружала данные в локальный компьютер
    а через веб браузер данные выгружается в сервер
    то есть папка C:\Temp5 и файл Transcript.doc создается на сервере
    и после завершения работы агента файл открывается на сервере
    Set wdApp=CreateObject("Word.Application")
    wdApp.Documents.Open(wdPath)
    wdApp.Visible=True

    а мне надо чтоб файл создавался и открывался в компьютере клиента
    как решить эту проблему?

    Для: alb
    Код (Text):
    Sub wdOut
    If Dir("C:\Temp5",16)="" Then Mkdir "C:\Temp5"
    wdPath="C:\Temp5\Transcript.doc"   
    Open wdPath For Output As #1
    Print #1, {<html>}+_
    +{<head>}+_
    +{<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>}+_
    +{<title></title>}+_
    +{</head>}+_
    +{<body> Бла бла бла өлә жарайсың}+_
    +{</body>}+_
    +{</html>}
    Close #1   
    '=
    Set wdApp=CreateObject("Word.Application")
    wdApp.Documents.Open(wdPath)
    wdApp.Visible=True     
    End Sub
     
  18. Sandr

    Sandr Гость

    Ятут вижу 2 выхода:

    1. Документ формировать с помосчью ActiveX, все методы хорошо описаны в МСДНе...
    2. Документ ворд создавать на сервере, там же его сохранять, а потом атачить к документу, который открывается ользователем через браузер..

    2-й вариант мне нравится больше.. так как у пользователя моет быть и не установен ворд...
     
  19. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    <!--QuoteBegin-Sandr+14:09:2007, 07:55 -->
    <span class="vbquote">(Sandr @ 14:09:2007, 07:55 )</span><!--QuoteEBegin-->Документ ворд создавать на сервере, там же его сохранять, а потом атачить к документу, который открывается ользователем через браузер..
    [snapback]78266" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    я тоже думал об этом
    формировать файл на сервере и создать страницу принтом и там поставить линк на файл
    и юзер будет скчивать этот файл с сервера

    но мне этот вариант не очень нравится по той простой причине
    что не хочу забивать сервак офисными файлами юзеров

    <!--QuoteBegin-Sandr+14:09:2007, 07:55 -->
    <span class="vbquote">(Sandr @ 14:09:2007, 07:55 )</span><!--QuoteEBegin-->1. Документ формировать с помосчью ActiveX, все методы хорошо описаны в МСДНе...
    [snapback]78266" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    а что насчет 1-го варианта подробнее можно
     
  20. allex

    allex Гость

    А что ... если использовать IE, то нет проблем
     
Загрузка...
Похожие Темы - Web Lotus
  1. Rahmatov
    Ответов:
    20
    Просмотров:
    1.126
  2. lmike
    Ответов:
    4
    Просмотров:
    757
  3. KhNarg
    Ответов:
    7
    Просмотров:
    1.166
  4. KhNarg
    Ответов:
    15
    Просмотров:
    2.191
  5. GnomE
    Ответов:
    9
    Просмотров:
    2.649

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