Достъп до сървър на Lotus Domino от iPhone

Нов съм в Lotus Notes и Domino Server. Искам приложението ми за iPhone да има достъп до Domino сървър. Искам да получа контакти от Domino сървър в моето iPhone приложение.

Потърсих го в Google, намерих много документи. но не можах да намеря идеалния поток от данни за това. може ли някой да ми обясни как мога да получа контакти/календар/поща от Domino Server.

Каква е целта на използването на java агенти за lotus notes? С по-прости думи, искам да направя Lotus notes за iPhone с iPhone SDK 3.0.

Благодаря,


person xmax    schedule 10.11.2009    source източник


Отговори (2)


Тъй като не можете да използвате библиотеките на lotus java за достъп до Lotus Domino, най-добрият ви залог би бил да получите достъп до Lotus Domino чрез HTTP, за да получите данните. Най-простият начин (ако нямате никакъв опит в разработката в Lotus Notes) би бил да опитате да получите данните от съществуващите изгледи в names.nsf (сървърната директория) и базите данни за поща. За да направите това, можете да извикате изглед със следните параметри:

http://www.yourserver.com/names.nsf/($users)?readviewentries
http://www.yourserver.com/names.nsf/($users)?readviewentries&outputformat=JSON

Във всеки случай получавате данните от изгледа "($users)" в базата данни "names.nsf", в XML или JSON формат.

Ако имате нужда от повече данни, отколкото са налични в съществуващите изгледи, бих препоръчал да не създавате нови изгледи (тъй като това би означавало модифициране на стандартните шаблони). За целта бих създал нова база данни с агенти, които са възстановили необходимата ви информация и са я върнали във формата, който предпочитате.

Агентите са просто блокове код (обикновено написани на LotusScript, който е подобен на VBasic или Java). Те могат да бъдат планирани да се изпълняват в определени часове или събития или да бъдат извикани директно (от бележки или чрез URL). Можете да се обадите на агент, като използвате URL като такъв:

http://www.yourserver.com/names.nsf/myAgent?openagent

От агента можете да осъществите достъп до всякакви данни в сървъра (ако имате разрешение за това) и да върнете „текст/html/каквото и да е не двоичен файл“ на програмата, изискваща URL адреса.

Забележка: Lotus Domino 8.5.1, който току-що беше пуснат, включва протокола ActiveSync, така че не съм сигурен дали трябва да пресъздам Notes Client в iPhone.

person salgiza    schedule 10.11.2009
comment
Ако използвате подхода ?readViewEntries URL, имайте предвид, че броят на върнатите записи ще бъде ограничен въз основа на настройките в документа на сървъра в NAB. По подразбиране се връщат само 30 записа. Можете да добавите &count=-1, за да принудите Domino да върне максимално допустимия брой, който също е дефиниран в документа на сървъра и може също да не е пълният набор от контакти. Използвайки агент, няма да имате такива ограничения. - person Ed Schembor; 12.11.2009
comment
Вярно, забравих за това. За да го реша обаче, не бих променил настройките по подразбиране за сървъра. Бих препоръчал да добавите &count=50&start=0 и да прегледате резултатите (променяйки началния параметър всеки път), докато стигнем до края на всеки изглед. P.S. Мисля, че агентът е най-доброто решение (тъй като по принцип можете да правите каквото искате), но за това ви трябват познания за разработката на Lotus. - person salgiza; 12.11.2009
comment
Внедрявам агент и според мен мисля, че всеки потребител трябва да инсталира агент от своя клиент Lotus Notes и Domino дизайнер. Ще трябва да предоставя Java Agent Code. И така, потокът на приложението ще бъде като: jminteractive.com/index.php/iphone /notes_pro_server_setup прав ли съм? възможно ли е да напиша агент, който прилага цялата функционалност като Login, след това да получава имейли за сесия и т.н. И за това не трябва да предоставям кода на агента на потребителя. и мога да инсталирам своя агент на Domino сървър, до който всички потребители могат да имат достъп с потребителското си име и парола. Благодаря.... - person xmax; 30.12.2009
comment
Влизането ще се управлява от Domino сървъра. Най-доброто нещо, което можете да направите, е да създадете агента в празна база данни в сървъра и от нея да получите достъп до пощенската база данни на текущия потребител. Концептуално би било подобно на примера във връзката, която предоставяте, но кодът ще бъде на едно място вместо в базата данни за поща на всеки потребител. - person salgiza; 30.12.2009
comment
Как Domino сървърът ще управлява влизането? И как мога да напиша на моя агент (в създаден празен файл с база данни) да чете файла с база данни за поща за влязъл потребител? Клиентът на iPhone трябва да даде потребителско име, парола и името на файла на своята база данни. - person xmax; 30.12.2009
comment
Базите данни на Domino имат ACL (списъци за контрол на достъпа). Ако конфигурирате вашата база данни, така че анонимните потребители да не могат да влизат, Domino автоматично ще ви поиска потребител и парола, когато се опитате да получите достъп до базата данни. След като потребителят е валидиран спрямо сървъра, той/тя може да получи достъп до базата данни и вие можете да получите потребителското име от сесията. Като знаете потребителското име, можете да получите пътя на пътя на пощенската база данни от документа на лицето в names.nsf. - person salgiza; 04.01.2010

Първоначално споменавате контакти, а след това поща/календар/контакти. Какво се опитвате да постигнете във вашето приложение за iPhone? Ако се опитвате да изградите някакъв вид клиент на Notes локално, това изглежда лудост. Вече има две опции:

  1. Просто използвайте iNotes (т.е. уеб достъп за поща на Notes и т.н.), който работи добре в Mobile Safari или;
  2. Използвайте продукта IBM Lotus Traveler, който използва ActiveSync, за да използва Domino поща/календар/контакти с родните клиенти на iPhone.
person Ben    schedule 16.02.2010