Бюллетень "Lotus Notes CodeStore"

  Все выпуски  

Helping customers globalize their IBM Lotus Notes applications


Рассылку ведет: Программист на Lotus NotesLotus CoderВыпуск No 202 от 2009-07-08
рассылка о программировании на Lotus Notes/Domino
Обсуждения на форумах, блогах. Примеры программного кода на LotusScript,@formula, Java

рассылка:выпускархивлентаблогсайт

Бюллетень "Lotus Notes CodeStore" Выпуск 13 от 21.04.2008

comp.soft.prog.lotuscodesrore

CodeStore. Примеры кодов

Sub SetLocationItem( itemname As String, itemvalue As Variant )
'Mb¤, 14.02.2005. 'This procedure sets an item "itemname" to value itemvalue in the current user's location doc
Dim session As New notessession
Dim PrivateAddressBook As notesdatabase
Dim CurrentLocation As notesdocument
Dim LocationString As String, strTemp As String, LocationID As String 'Set PrivateAddressBook = New Notesdatabase( "", "names.nsf" )
Set PrivateAddressBook = GetLocalNAB() If PrivateAddressBook Is Nothing Then
Print "Cannot get your local address book."
Exit Sub
End If LocationString = Session.GetEnvironmentString( "Location", True ) If LocationString <> "" Then
strTemp = Mid( LocationString, ( Instr( 1, LocationString, "," ) + 1 ) )
LocationID = Left( strTemp, ( Instr( 1, strTemp, "," ) -1 ) )
Set CurrentLocation = PrivateAddressBook.GetDocumentByID( LocationID )
If Not CurrentLocation Is Nothing Then
Call CurrentLocation.ReplaceItemValue( itemname, itemvalue )
Call CurrentLocation.Save( True, False )
Call SendConfirmationEmail( )
Else
Msgbox |Unable to get current location document. Check notes.ini setting "Location".|
Exit Sub
End If
Else
Msgbox "Unable to get the location settings. Location setting in your notes.ini is empty."
Exit Sub
End If
End Sub Function GetLocalNAB() As NotesDatabase
Dim session As New notessession
Dim sAddressBook As String
Dim nCommaLocation As Integer On Error Resume Next
sAddressBook = session.GetEnvironmentString( "NAMES", True )
nCommaLocation = Instr( sAddressBook, "," )
If nCommaLocation > 0 Then sAddressBook = Left( sAddressBook, nCommaLocation - 1 ) Set GetLocalNAB = New NotesDatabase( "", sAddressBook )
End Function Sub SendConfirmationEmail( )
Dim session As New notessession
Dim db As NotesDatabase
Dim doc As NotesDocument Set db = session.CurrentDatabase
Set doc = New NotesDocument( db ) doc.Form = "Memo"
doc.SendTo = "<Your Name or Name of admin who should receive confirmation that the values is successfuly changed for every client>"
doc.Subject = "Change succeded for " + session.CommonUserName
Call doc.Send( False )
End Sub
Еще примеры:
Больше кодов на сайтах:

Форумы.Свежи темы и обсуждения

Здравствуйте!

Подскажите пожалуйста как можно в Lotus Domino 7, сделать авторизацию на 25 порт.

Проблема в том, что сейчас на сервер через telnet может зайти любой и отправить письмо с любого ящика на любой.
Можно ли это дело как нибудь закрыть.


Заранее Большое спасибо.
Что-то типа этого. Нужна кнопка с агентом в шаблоне. Насчёт работает, не проверял.
http://www.testpilots.ru/domino/faq/canusers.htm
Здравствуйте!
...
Здравствуйте!
...
Что-то типа этого. Нужна кнопка с агентом в шаблоне. Насчёт работает, не проверял.
http://www.testpilots.ru/domino/faq/canusers.htm
Понадобилось срочно создать небольшую базу для проверки данных из оракла. База пока не с полностью открытым дизайном. Полностью выложу когда сделаю, то что задумал. У базы пока очень много ограничений, но если будет время буду ее дописывать и совершенствовать. Пока список TODO следующий:
  • управление входящими и исходящими полями без внесения изменений в дизайн форм
  • вывод в XML и преобразование по XSLT (пока выводится только в HTML)
  • экспорт
  • преодоление ограничения в 32K
  • ...


Максимальный объем данных который возвращает база - 32 КБ.
Написано просто, так что, при желании, можно разобраться за 15 минут.
Если будут замечания или предложения – пишите smile.gif

Скрины:
http://forum.sysfaq.ru/index.php?act=attach&type=post&id=9946
http://forum.sysfaq.ru/index.php?act=attach&type=post&id=9947
http://forum.sysfaq.ru/index.php?act=attach&type=post&id=9948

База: http://forum.sysfaq.ru/index.php?act=attach&type=post&id=9945


Ниже краткая инструкция (она же встроена в базу):

База SQL explorer предназначена для просмотра данных в реляционных базах. Предназначена для выполнения небольших подготовленных запросов. База работает на сервере Domino используя JDBC.

Инструкция администратора.
Установка:
1.Скопировать базу на сервер.
2.Добавить роль [Admin] серверу и администраторам базы данных
3.Подписать базу учеткой с правами [Admin]
4.Добавить пользователь с правами доступа “Редактор”
5.В каталог сервера Domino Domino\jvm\lib\ext\ скопируйте нужный jdbc драйвер. Например, для DB2 – db2jcc.jar. После добавления файла необходимо перегрузить сервер.

Роль [Admin] позволяет настраивать запросы. А также данная роль необходима для учетки которой подписан агент AgentRunSQL.

Описание:
Для запросов доступно 10 входящих/исходящих параметров. Но данное число параметров не ограничено. Можно добавить еще столько, сколько необходимо следующим образом:
1.Откройте в дизайнере форму “Запрос настройка”
2.Добавьте дополнительный параметр и укажите полям следующий порядковый номер

Отредактируйте имена полей, а также формулы скрытия.
Поля:
IsActiveParam_ - указывает активен данный параметр или нет
FldName_ - имя поля в таблице
FldType_ - тип поля
FldInOut_ - входящее или исходящее поле
В конце каждого поля должен быть порядковый номер
3.Откройте в дизайнере форму “Запрос выполнение” и добавьте следующее по номеру входящее поле
Поле:
FldValue_ - поле для входящего параметра
Отредактируйте формулу скрытия.

Настройка запроса
1.Сначала необходимо настроить конект к базе данных. Для этого в представлении “Настройки – Конекты” создаем документ подключения к базе. В базе для примера создан документ подключения к СУБД DB2 и Oracle
2.Настроить сам запрос. В базе для примера содержится документ с настройкой запроса к стандартной тестовой базе DB2 - “SAMPLE”.
Название - Название запроса
Описание - Краткое описание
Категория - Категория запроса
База данных - Выбор коннекта к базе данных
Шаблон таблицы - Шаблон заголовка таблицы
Запрос - Собственно сам запрос. Входящие параметры указываются через вопросительный знак (см. пример)
Доступ - Список пользователей, которым доступен данный запрос

Внимание!
Если в базе поле с типом INTEGER или DOUBLE содержит null, то система вернет ноль.
Формат даты: dd.MM.yyyy

Интересные темы:
Список форумов:

Tips. Советы

Here are some quick tips to help you save time when you schedule meetings: Do you have a conference call number or a set of rooms that you usually use for meetings? If you use this same information
Jake Ochs uses the "time is money" analogy in his discussion of caching lookups in LotusScript. He includes code to make your work easier.

Read | Permalink
Mary Beth Raven says this new Desktop Policy for Notes 8.5.1 was requested at Lotusphere 2009.

Read | Permalink
Peter Presnell has been working with Xpages to build the Notes design of a view with a preview pane. He's posted his findings in case you want to build something similar.

Read | Permalink


WANT THE TOP LOTUS EXPERTS BY YOUR SIDE WITHOUT PAYING HEFTY CONSULTING FEES? LOOK NO FURTHER.
Like having a team of consultants by your side -- ones who have all the answers and never make mistakes -- THE VIEW gives you immediate access to field-tested instruction, guidance, and best practices from the brightest Lotus professionals around.

See the new instruction, advice, and best practices added to THE VIEW this week.

Ed Brill has noticed some companies use the Notes client as a tool not connected to Domino. He'd like to hear how you use the client, if not for Notes.

Read | Permalink
Vladislavs Tatarincevs says new hotfixes for Traveler 8.5.0.1 are now available on Fix Central.

Read | Permalink
This white paper, available as a PDF download, is the second part of a 3-part series covering SSO between WebSphere and Domino.

Read | Permalink


SOPHISTICATED MEETS SIMPLE FOR DOCUMENT MANAGEMENT
Share. Control. Manage.
Documents, emails, and content in the context of how work is done. Native to Lotus Domino. The User Experience unseen for Lotus Domino. Do more with less. Really.

See the possibilities Docova unleashes for Lotus Domino.

Jake Ochs is writing a client-side validation form he hopes to be able to use in the Notes client and on the web. And, while JavaScript sounds nice, it hasn't been updated since R5. He explains what he has, where he hopes to go, and asks for advice.

Read | Permalink
With a subtitle of (or, why your server's memory usage only goes up), and digressions about fathers and Father's Day, Bob Balaban explains how computers use memory.

Read | Permalink

The Google Gears LocalServer is lacking one thing -- a way to disable auto-updates of a ManagedResourceStore.

Why?

The LocalServer in Gears works well. You simply give it a list of files to store locally and it does so. Any subsequent requests for these files are served by Gears from its own cache and there's no need to be online to open web pages.

The trouble comes when you use a ManagedResourceStore to keep these files locally. Gears "manages" the store by looking for updates to your manifest file whenever any file is requested from the local store and/or at regular intervals. This all works well until you use Gears where it's best suited and where you're most likely to truly go "offline" -- on a mobile device.

When you go offline in a normal desktop-based browser and Gears makes a background request for a URL that can't be realised then it fails gracefully, in that the user isn't aware of it.

When a browser (well, IE Mobile at least) makes this request on a smartphone then the phone takes over and you start to see dialogs popup all over the place. If you're in a low-signal area and the phone's data connections are enabled you'll see something like this:

2009 07 04_11 12 59_0002_111g

If you've switched your phone to "Plane Mode" (hey, maybe you're even working on an actual plane!) then you'll see something like this:

2009 07 04_11 13 45_0004_111g

In both cases you can hide/dismiss and ignore the prompts. For us power users it's no big deal. If you're a typical user who thinks she's offline then anything about failing to connect is bound to cause alarm.

Either way, if you're working offline you really shouldn't be getting prompts about going online.

Solution?

Pre-empting complaints from my customer about the above problem I set about trying to find a way round it.

My first idea was to switch to an unmanaged ResourceStore. Here you make a one-off call to a Gears method which loads a set of files in to a local store. There's no manifest file and there's no checking to see whether they've updated.

Although an unmanaged ResourceStore seemed just what I wanted, there's one gotcha: they don't let you ignore the query part of the URLs being stored, which is a feature of the manifest files that the system I've been building on Gears relies on.

Without being able to set "ignoreQuery":true for the stored files it just won't work for me, so I had to revert to a managed store.

An Alternate Solution

The next thing I tried was, what I thought to be, a clever little hack whereby I played Gears at its own game. The idea being to make a local cache of the manifest file itself, thereby stopping any request for it from trying to force the phone online. To do that I added some code to the oncomplete event of the managedresourcestore, like so:

var localServer = google.gears.factory.create('beta.localserver'); var store = localServer.createManagedStore("test"); store.manifestUrl = '/test.nsf/gears_manifest.json?open';
store.onerror = function(){ alert("There was a problem downloading "+ "the files needed to run offline");
};
store.oncomplete = function(){ var lstore; lstore = localServer.createStore('other'); lstore.capture('test.nsf/gears_manifest.json?open', function(url, success, captureId){ if (success){ alert("Manifest file stored: "+url); } });
}
store.checkForUpdate();

What it does is create two local stores of files - a managed one and an unmanaged one which contains just the manifest file.

While the manifest file does get stored locally it doesn't stop Gears trying to go online.

The next thing I tried to do was add the URL of the manifest file to the manifest itself. Talk about a hack!

The manifest file (gears_manifest.json) then looked like this:

{ "betaManifestVersion": 1, "version": "v1.0", "entries":  { "url": "Test", "src":"Test?Open&offline=true", "ignoreQuery":true }, { "url": "gears_init.js" }, { "url": "Offline.js" }, { "url": "spinner.gif" }, { "url": "gears_manifest.json" } 
}

Again, this worked, in that it stored the file locally but it didn't prevent a forced attempt to connect.

Then it dawned on me how stupid I was being:

It seems that, as Gears is making the request, rather than intercepting it, it doesn't ever check for the manifest file in the ResourceStore. It just sends the request straight to the internet.

Which makes sense I guess? Why would it look in its own store first? Doh!

No Solution

So, alas, there's no answer to this problem as far as I can tell. Even though I'm not the only one who wants this feature.

It's a shame that Gears is lacking in this one area, as, apart from the annoyance of having these "can't connect" message I've found Gears to be a brilliant product so far. It's done everything I've asked of it.

I guess it is only a "beta" still (version 0.5.23 as of writing this) so maybe we shouldn't expect a highly polished product yet and the feature I'm requesting will arrive one day.

Click here to post a response

Еще советы:
Смотри советы на сайтах:

Блоги. Что обсуждают и пишут

Author: Bruce Tan
Tags: email
Idea:
It would be nice to provide an "email chaser" view to show all sent emails with no response. (that means the recipient has not responded yet. An action button "Send Chaser" would trigger a new memo with preconfigured text. (i.e "did u miss this email?", etc)

Author: Roland Reddekop
Tags: quickr install client
Idea:
If Quickr connectors were a Lotus Notes client install option (which could be scripted) that would simplify and reduce the administration required when upgrading or rolling out new machines. Imagine if Sametime (integrated version) was only a separate installation. That would hurt.
 
 

Author: Roland Reddekop
Tags: quickr install client
Idea:
If Quickr connectors were a Lotus Notes client install option (which could be scripted) that would simplify and reduce the administration required when upgrading or rolling out new machines. Imagine if Sametime (integrated version) was only a separate installation. That would hurt.

Author: John Mackey
Tags: XPages rdb sql
Idea:
XPages should have native access to RDB data.  This will allow the use of external SQL data in views and forms in conjunction with Notes data.  Moving Domino Designer to Eclipse was a big step forward in opening up the propertairy technology of the Lotus Notes development platform.  The next step to wider acceptance of Lotus Notes as an application development platform is to allow the tool to easily integrate with other systems in a corporate environment. 
 
Sure you can write java sql procedures and call them now from XPages server side javascript.  But this is a one off solution and more of a work around.  Or you can write routines to bring in this data into Notes (or use a third party product), but again this is additional work and effort and adds to the complexity of what should be a simple task.  Why shouldn't the developer be able to point and click and have data come from multiple data sources as with other development platforms?
 
I know this has been mentioned as a future enhancement for XPages but I feel we need to drum up support to make sure this happens.

Author: Peter Presnell
Tags: search google
Idea:
A very common request I get for my applications is the ability to display search results the same way google does.  Not the search syntax, but displaying a paragraph or so of the text where the searched terms appear.  It seems i can used Google Desktop to add this capability to local databases and my entire file system.  If I have a Notes database on the Internet then Google seems to be able to index my NSF and make it available through Google Search.  But if I have a Notes database inside my firewall there does not seem to be a way that I can do this.  I have a lot of customers who would love the Notes client so much more if there was a way I could provide this capability....

Author: Roland Reddekop
Tags: taskjam configuration
Idea:
We run our intranet Domino server on a non-standard port. We find that some of the more sophisticated web application list a port in the configuration settings. It would be nice to have TaskJam be one of those upper crust apps too :-)
 
It seems to work, but CSS and possibly other design elements are not coming up on our server.
 
 

Еще записи:
Интересные блоги специалистов:

Статьи и Документация

Globalizing IBM® Lotus® Notes® applications can be simple. IBM Lotus Domino® Global Workbench, which is released with Lotus Notes and Domino, can help customers globalize their applications quickly and easily. In version 8.5, Lotus Domino Global Workbench provides a new feature that extracts strings into properties files, thereby providing more flexibility for translation.
IBM® Lotus® Forms and IBM Lotus Domino® servers complement each other. Integrating these two products can yield a varied list of features for better application architecture. This article explains the various ways that you can integrate Lotus Forms with Lotus Domino and details the benefits that this integration brings.
An increasing number of companies are evaluating social software for their enterprise. Most organizations from various industries are looking at IBM® Lotus® Connections for their social software needs. Without a clear adoption strategy and compelling business use case, though, even the best intended pilot programs can fail. Read about the lessons learned by some customers.
This article describes the IBM® Lotus® Sametime® Unified Telephony API and the steps you take to deploy, configure, and invoke it. The Lotus Sametime Unified Telephony API is a REST (Representation State Transfer) API that provides click-to-call and click-to-conference semantics.
This article explains how IBM® Lotus® Quickr™ services for WebSphere® Portal can be extended by developing custom components. Custom components can be developed to add more functionality and integrate with other software products and applications.
You find that the text is unreadable in the Contacts field after you search using the "Add Contact from SAP Directory" dialog box.
Using LotusScript, how can you, as a designer, prevent two or more users from concurrently opening the same document?
After upgrading the Domino servers to version R8, you notice that there are certain help files where the ODS versions are not getting upgraded to ODS48. The Help files are: decsdoc.nsf, lsxlc.nsf, lccon.nsf.
When doing a restore to point in time with Netbackup. the back ups logs are reporting the error "The database is being taken off-line and cannot be opened".
Lotus Support Technical Exchange is a series of webcasts and Open Mic conference calls where technical experts share their knowledge and answer your questions on specific technical topics.
After I configured the option "Verify that local domain recipients exists in the Domino Directory" to "Enabled", mail with the actual internet Domain Name but with no known internet address are still being received. Why is Domino still accepting this mail ?
When you stop the Lotus Domino 8 Service from the Windows Services screen, you receive the error "Error 1053: The service did not respond to the start or control request in a timely fashion".
You find that the Lotus Notes 8.5 Forward vCard does not include all fields.
Normal 0 7.8 pt 0 2 MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal";
See the article about integrating SPNEGO with IBM Lotus Sametime posted on developer works here http://www.ibm.com/developerworks/lotus/documentation/sametime/d-ls-integratingspnego/.
When trying to register a new user in Domino, the registration fails with the error "Insufficient disk space". There are no other errors.
After running NUPGRADE 3, some of my contacts are not migrated.
When trying to compact a mail file that exceeded the mail quota threshold from a Notes client, you receive the error "[databasename] could not be compacted at this time. The compact will be performed later".
Notes 8 Standard client crashes when clicking on the option "Show images".
In Lotus Notes 8.0.2, you are having problems with the Basic Notes Client Configuration -> Additional Option to "Mark documents read when opened in preview pane" in the Preferences. This has been reported in SPR# WGAN7G59WH and is under investigation.
Hello everybody,As here I can find somebody who is able to help me solve Lotus Notes 8.5 issue, I am posting this: In my ( and some of our customers!) Inbox (folders) when I already have read all t
Также почитатай:
Найти документацию можно на сайтах:

В избранное