I have provided a sample database with this utility at: http://www.openntf.org/Projects/pmt.nsf/HomeLookup/97CEA8C9251DA3BE862574A2006FA7B8?OpenDocument Emailing a subform from the current UI document I'm sure most of you are familar with the simple @Command([MailForward]) function. @Command([MailForward]) forwards the current document by placing its entire contents into a mail memo which the user then addresses and sends. I was tasked with duplicating this functionality, but for a subform on the current document. Futhermore, the customer wanted to the memo to be executed through the backend and sent via the click of a button. Approach: The key to this accomplishing this task is to isolate the subform in its own form. After the subform isolated, its entire contents can be copied to the clipboard, pasted it into a rich text field, and sent to a specified user. Follow these 3 steps to create the basic forms and code for this utility. Step 1: a.) Create a hotspot button on the subform you wish to email and add this code to the 'click' event: (note: In the 'hide-when' options of the hotspot button, check the box for hiding when "Copied to the Clipboard") 'This button will switch the form name of the current document and open the document using the temp form. Dim strOrgForm As String Dim ws As New NotesUIWorkspace Set doc = ws.CurrentDocument.Document Let strOrgForm = doc.Form(0) 'capture the original form name doc.ReplaceItemValue "Form", "TempForm" 'switch the form to the temp 'email' form. Call ws.EditDocument(False,doc) 'reopen the document with the 'temp' form. doc.ReplaceItemValue "Form", strOrgForm 'replace the form name back to its original name. ----------------------------------------------------------------------------------------- Step 2: a.) Create a form in your database and name it "TempForm". b.) Insert the subform from Step 1 into "TempForm" c.) (optional: If your underlying original form as richtext fields with attachments, add those richtext fields on the tempform in a hidden section. The section must be hidden and the section properties must be set to 'auto-collapse' on open. Otherwise the attachments from the main form will appear at the bottom of the email when it is sent. This step is not necessary if your underlying form does not have rich text fields.) d.) copy and paste the following code into the "PostOpen" event the "TempForm" subform. Dim db As NotesDatabase Dim ns As New NotesSession Dim uidoc As NotesUIDocument Dim docMemo As NotesDocument Dim ws As New NotesUIWorkspace Dim ndt As New NotesDateTime("12/31/1899") 'The postopen event will copy the entire unhidden contents of the form to the user's clipboard 'Then it will grab the memo document saved in the database and open it. Set db = ns.CurrentDatabase Set uidoc = ws.CurrentDocument Call uidoc.SelectAll Call uidoc.Copy Call uidoc.Close Set dcMemo = db.Search(|Form = "Memo"|,ndt,1) 'Get the Memo document in database. There should only be 1 memo document If dcMemo.Count = 0 Then 'If the memo document is not created, than create a new one 'This code will only execute the first time someone uses this utility. Set docMemo = New NotesDocument(db) docMemo.ReplaceItemValue "Form", "Memo" Else Set docMemo = dcMemo.GetFirstDocument 'otherwise just get the existing memo document End If 'In this example we are sending the subform to the current user. docMemo.ReplaceItemValue "SendTo", ns.CommonUsername 'If you wish to make the sendto field variable, add a hidden field to the tempform Form, popluate it, and then reference it here like this: 'docMemo.ReplaceItemValue "SendTo", uidoc.Document.GetFirstItem(your fieldname goes here).Values docMemo.ReplaceItemValue "CopyTo", "" 'Add more people to CC if desired docMemo.ReplaceItemValue "Subject", "Test: Emailing a subform" 'add a subject to your memo docMemo.ReplaceItemValue "Body", "" 'clear the body field each time before opening the memo Call ws.EditDocument(True,docMemo) 'Open the Memo document. ------------------------------------------------------------------------------------------------ Step 3: a.) Create a form in your database and name it "Memo" b.) Create an editable rich text field on the Memo Form and name it "Body". c.) copy and paste the following code into the "PostOpen" event the "TempForm" subform. Dim uidoc As NotesUIDocument Dim ws As New NotesUIWorkspace 'The postopen event of this form will paste the contents of the user's clipboard into the body field Set uidoc = ws.CurrentDocument Call uidoc.Paste 'paste the subform into the body field of the uidoc (body field is default focus) Call uidoc.Save 'the uidoc must be saved to capture the rich text Call uidoc.Document.Send(False,False) 'send the memo document Call uidoc.Close
Добрый день.
сейчас рассматриваем вопрос по переходу на Lotus, встает вопрос как сохранить переписку из клиента MS Outlook, т.е. каким образом импортировать письма с сохранением папок из Outlook`а в Notes.
Заранее спасибо.
Добрый день! К сожалению по данному вопросу информация везде размытая и полного ответа получить не удалось!
Как при отправке писма, при выборе из дополнительной адресной книги получателя, в поле "кому" получить интернет адрес получателя?
(***/DOM/RU преобразовать в ***@dom.ru)
Коллеги, кто-нибудь уже 7.5.1 поставил? Достойный продукт, но работает только до первого переключения с английской раскладки на русскую. Проверено на 2 компьютерах. Жаль :-)
Доброго времени суток. Ситуация следующая; юзер открывая лотус, выскакивает ошибка:
Server error: Your account is locked out; see you administrator to reset it В консоли следующее:
date UserName/Country/Company from host [192.168.1.999:9999] failed to authenticate: Your account is locked out; see you administrator to reset it Как с этим бороться? 1. Где эта функция резета? никак найти не могу.
2. Как сменить пароль юзеру, через домино администратора? (не веб пароль) Заранее спасибо.
Прошу помощи, собратья! Настраиваю клиентскую часть, одна база выдает такую ошибку при указании пути. Не знаю что делать, т.к. с Лотусом первый раз в жизни общаюсь. )
Доброго времени суток! Возникла необходимость отображать данные из БД Lotus на портале SharePoint
т.е. допустим в лотусовой базе помечаются для публикации какие то документы и они должны быть доступны авторизованным пользователям на портале SharePoint. Кто имеет подобный опыт интеграции и может поделиться информацией?
Всем привет! У меня такая проблема - есть 2 Domino сервера и я ни как не могу настроить перекрестную сертификацию между ними. В документах серверов (names.nsf) я добавил подключения к противоположному серверу, перекрестно заверил сертификат противоположного сервера. Смотрел отдельно в сертификатах, в категории Notes Cross Certificates присутствует перекрестный сертификат другого сервера. Выполняю trace - результатом работы является то, что он находит противоположный сервер, но говорит, что “Your public key was not found in the Notes and Address Book ”. Почему он не находит публичный ключ другого сервера?
Приветствую всех, если не трудно подскажите. Ситуация следующая: прошлый админ закрыл smtp, теперь у нас всё работает только по NRPC. Я вместо него, пока только учусь. Очень остро стоит задача что бы работал smtp, хотя бы локально т.к. нужно отправлять на наши локальные адреса уведомления от различных устройств, таких как серверы, принтеры, APC-бесперебойники и как правило все такие приложения отправляют по smtp без авторизации. Подскажите пожалуйста как безопаснее вернуть локальный SMTP. Заранее все спасибо.
AndryG: У меня на компе стоит LotusNotes. PHP cкрипт через COM подключается под моей же (я так думаю) учетной записью и шерстит почту. подключение
Код: $n_session = new COM("Lotus.NotesSession"); // создаем объект сессии $n_session->initialize($conf->get('password','notes')); // подключаемся
//Через кучу методов/свойств получаем объект "вхождений" указанной папки почты $n_list = $n_session->GetDbDirectory($conf->get('server','notes'))->OpenMailDatabase()->GetView('spider\atm-upc')->AllEntries; //дальше идет код с поста выше
Ложу в папку пару "прочтенных" и "непрочтенных" доков с вложениями - запускаю скрипт. Документы перекладываются в другую папку, из них удаляются вложения (временный глюк), статус прочтения не изменяется.
Сам я админом сей системы не являюсь и о работе ее знаю .. ровно сколько в COM-интерфейсе разобрался. Лень заставила взяться за написание скрипта :-)
Использует кто-то Cisco MeetingPlace for Notes? Пытаюсь внедрить функционал MP в почтовый шаблон 8ки и возникли траблы. Может кто то уже таким занимался и может подсказать?
I know this is one of those things I really probably ought to know, but, after 10 years as a Notes developer I've never given the matter of name changes much thought. This is most likely as, until now, it's never been something I've had to deal with. Now that the topic has cropped up I'm wondering how it's best dealt with.
A user of an application I've developed has got married and is requesting their name be changed in all the places it appears.
Like most applications the database in question stores the canonical @UserName in various places and uses it as the primary key that ties together all the documents which belong to that user. If the user's name is changed directly in the Domino Directory then, next time they log in, it will appear there's no content which belongs to them.
What to do?
Do I need to write some code to find all documents in which @UserName is stored and update them all one by one? I don't mind doing this but I can't believe this isn't something that crops up all the time.
Surely there's an easier way? Doesn't AdminP handle all of this somehow?
It leaves me wondering about an @UserID function which returns a never-changing unique number for each user in the NAB. You can change the user's name as much as you like. The user's ID will never change and, if that's what's stored in the document, this isn't a problem. That's how it would work in LAMP ;o)
Learn how to extract attachments from a Lotus Notes rich-text field by inserting this LotusScript code into an agent and running it from the Actions menu.
Anybody who has left a comment on this site recently might have noticed the form for doing so has changed ever so slightly. In line with the recent spate of changes I've made to this site I tweaked the comment form a little. Mainly I made the "body" field bigger, which I've been meaning to do for ages now.
While I was at it I added some padding to the fields. Here's the form before adding padding:
And here's the form with some padding:
It's a subtle change but I hope you agree it has a beneficial effect? To me it just seems much nicer. You wouldn't have the text of the page butted right up next to the edge of the screen would you? Most text deserves a little white-space around it to make it easier to read. Input fields never have any padding though, which seems a shame.
Adding the padding is so simple I'm not even sure I need to say how, but here goes. Add the following to your master stylesheet:
input{
padding: 2px;
}
textarea{
padding: 5px;
}
From now on I think I'll make it a part of the global CSS of all sites I work on.
When we create a datetime object there must be a certain way to pass the day, month and year separately. This option is there in javascript when we create a date object we pass the day, month and year separately.
So that there is no confusion in the date formatting that is passed. I have been breaking my head in date formatting of dd/mm/yyyy. On some cases it becomes inverse as mm/dd/yyyy.
Also on some occasions cdat is giving Type Mismatch which according to IBM documentation is because of passing only day and month. Also the Format() function output is not of type datetime. Which if gives a datetime we need not pass the formatted text into cdat. This all can be resolved if we have a proper formatting mechanism.
I'm sure most of you are familar with the simple @Command([MailForward]) function. @Command([MailForward]) forwards the current document by placing its entire contents into a mail memo which the user then addresses and sends. I was tasked with duplicating this functionality, but for a subform on the current document. Futhermore, the customer wanted to the memo to be executed through the backend and sent via the click of a button.
Approach:
The key to this accomplishing this task is to isolate the subform in its own form. After the subform is isolated, its entire contents can be copied to the clipboard, pasted it into a rich text field, and sent to a specified user. Follow these 3 steps to create the basic forms and code for this utility - or - to download a sample copy of my database go to:
http://www.openntf.org/Projects/pmt.nsf/HomeLookup/97CEA8C9251DA3BE862574A2006FA7B8?OpenDocument
Step 1:
a.) Create a hotspot button on the subform you wish to email and add this code to the 'click' event:
(note: In the 'hide-when' options of the hotspot button, check the box for hiding when "Copied to the Clipboard")
'This button will switch the form name of the current document and open the document using the temp form.
Dim strOrgForm As String
Dim ws As New NotesUIWorkspace
Set doc = ws.CurrentDocument.Document
Let strOrgForm = doc.Form(0) 'capture the original form name
doc.ReplaceItemValue "Form", "TempForm" 'switch the form to the temp 'email' form.
Call ws.EditDocument(False,doc) 'reopen the document with the 'temp' form.
doc.ReplaceItemValue "Form", strOrgForm 'replace the form name back to its original name.
-----------------------------------------------------------------------------------------
Step 2:
a.) Create a form in your database and name it "TempForm".
b.) Insert the subform from Step 1 into "TempForm"
c.) (optional: If your underlying original form as richtext fields with attachments, add those richtext fields on the tempform in a hidden section. The section must be hidden and the section properties must be set to 'auto-collapse' on open. Otherwise the attachments from the main form will appear at the bottom of the email when it is sent. This step is not necessary if your underlying form does not have rich text fields.)
d.) copy and paste the following code into the "PostOpen" event the "TempForm" subform.
Dim db As NotesDatabase
Dim ns As New NotesSession
Dim uidoc As NotesUIDocument
Dim docMemo As NotesDocument
Dim ws As New NotesUIWorkspace
Dim ndt As New NotesDateTime("12/31/1899")
'The postopen event will copy the entire unhidden contents of the form to the user's clipboard
'Then it will grab the memo document saved in the database and open it.
Set db = ns.CurrentDatabase
Set uidoc = ws.CurrentDocument
Call uidoc.SelectAll
Call uidoc.Copy
Call uidoc.Close
Set dcMemo = db.Search(|Form = "Memo"|,ndt,1) 'Get the Memo document in database. There should only be 1 memo document
If dcMemo.Count = 0 Then 'If the memo document is not created, than create a new one
'This code will only execute the first time someone uses this utility.
Set docMemo = New NotesDocument(db)
docMemo.ReplaceItemValue "Form", "Memo"
Else
Set docMemo = dcMemo.GetFirstDocument 'otherwise just get the existing memo document
End If
'In this example we are sending the subform to the current user.
docMemo.ReplaceItemValue "SendTo", ns.CommonUsername
'If you wish to make the sendto field variable, add a hidden field to the tempform Form, popluate it, and then reference it here like this:
'docMemo.ReplaceItemValue "SendTo", uidoc.Document.GetFirstItem(your fieldname goes here).Values
docMemo.ReplaceItemValue "CopyTo", "" 'Add more people to CC if desired
docMemo.ReplaceItemValue "Subject", "Test: Emailing a subform" 'add a subject to your memo
docMemo.ReplaceItemValue "Body", "" 'clear the body field each time before opening the memo
Call ws.EditDocument(True,docMemo) 'Open the Memo document.
------------------------------------------------------------------------------------------------
Step 3:
a.) Create a form in your database and name it "Memo"
b.) Create an editable rich text field on the Memo Form and name it "Body".
c.) copy and paste the following code into the "PostOpen" event the "TempForm" subform.
Dim uidoc As NotesUIDocument
Dim ws As New NotesUIWorkspace
'The postopen event of this form will paste the contents of the user's clipboard into the body field
Set uidoc = ws.CurrentDocument
Call uidoc.Paste 'paste the subform into the body field of the uidoc (body field is default focus)
Call uidoc.Save 'the uidoc must be saved to capture the rich text
Call uidoc.Document.Send(False,False) 'send the memo document
Call uidoc.Close
in the OpenNTF1.7b Mail Experience template for 6.5.x, you can set the background color of a message that you have marked for follow up. I use this extensively.
In the R8 version of OpenNTF1.7b Mail Experience, you cannot set the background anymore.
Once upon a time, Vince Shuurman told me that he was going back to the R8 default way of "Flagging" a message, which has no way of modifiying the background color of the message in the inbox view.
I have my mailbox on both a R6.5.6 server and an R8 server. When I mark a message on the R6 server it replicates to the R8 server and I can see it with the R8 client, but there is no way to set that in the R8 client.
I know it's possible, so please bring it back either in the OpenNTF template or add it to the default R8 mail template.
I like the fact that the notes client doesn't immediately show images on an html email. Especially as I might be looking at a bit of junk etc.
But I don't want to have to right-click "Show Images" everytime I receive an email from a trusted source ...
So having shown images it would be cool if I had the choice of remembering the setting for that email address ... so that the next time the images are just there.
As the Domino administrator, you are trying to upgrade users to Roaming Users. However, when the users log into Notes, they are not prompted to upgrade.
In Lotus Domino, you are unable to trace a server connection to a destination through two or more server hops although the client can route through to the destination server without issue. Why does this happen?
External mail is sent to a Lotus Domino 8 server. When these messages are replied to, the date and time shown are the date and time of the original message receipt, not the date and time of the reply.
Listen to the ISSL ExpertBriefing podcast series to learn more about Lotus and WebSphere Portal technology from the experts at IBM Software Services for Lotus (ISSL) who have designed and deployed sof