Отправляет email-рассылки с помощью сервиса Sendsay

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

  Все выпуски  

Бюллетень "Lotus Notes CodeStore" No 162 от 2009-04-03


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

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

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

comp.soft.prog.lotuscodesrore

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

Using the OpenNTF Project "Microsoft Constants Database" (available here: http://www.openntf.org/Projects/pmt.nsf/0/1F6C5C7B16317E218625726D004A31A9), i have extracted all the constants for Excel and Word into Script Libraries. A little cleanup was necessary since Lotusscript didn't like some of the constant names and a few other issues. Search for ' character to find constants that were commented out.
A simple class to implement the classic "Stack" data structure in LotusScript. The data may be of any type. It's pretty quick, and I've tested it to 300,000 small elements; probably it'll work with many more. Private Class StackNode
Public value As Variant
Public next As StackNode Sub New(datum)
If Isobject(datum) Then Set value = datum Else value = datum
End Sub
End Class Class Stack
m_top As StackNode Sub Push(x)
Dim sn As New StackNode(x)
Set sn.next = m_top
Set m_top = sn
End Sub Function Pop()
If Not (m_top Is Nothing) Then
If Isobject(m_top.value) Then
Set Pop = m_top.value
Else
Pop = m_top.value
End If
Set m_top = m_top.next
End If
End Function Function Peek()
If Not (m_top Is Nothing) Then
If Isobject(m_top.value) Then
Set Peek = m_top.value
Else
Peek = m_top.value
End If
End If
End Function Public Property Get IsEmpty() As Boolean
Me.IsEmpty = (m_top Is Nothing)
End Property
End Class
Еще примеры:
Больше кодов на сайтах:

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

Хотелось бы посмотреть скриншоты настроек документа, который подцепляет АК из /Acme
Привет всем!

Правильно ли я понимаю, что FTSearch на сервере в R5 не использует форматирование даты ОС и требует mm/dd/yyyy формат?
Как бы победить эту проблему или хотя бы обойти? может, узнать версию можно и использовать форматирование, если R5?..

В шестерке такое не наблюдается вроде...

зы: схожий пост увидел на ИБМе, но ответа там не было
|#^#]>http://www-10.lotus.com/ldd/46dom.nsf/Rele...11?OpenDocument|#^#]>
Добрый день.
Есть ли возможность вытащить предыдущее значение поля до сохранения документа(NotesDocument)

пример :
CODE
set doc=view.GetDocumentByKey(ID,true)
doc.ID="1" 'изменили поле и пока не сохраняли документ
'----какой-то код--------
теперь мне надо узнать какое значение бало до изменения
IDold=??

'только теперь сохраняем
doc.Save(True,True)


Промежуточные сохранения или
запись поля в другие временные документы не подходят.
Может есть какие-нибудь стандартные средства Lotus?

Добрый день, пару вопросов по LN 8.5, встроенному ST 8.0.1 и автономному ST 8
...
Добрый день, пару вопросов по LN 8.5, встроенному ST 8.0.1 и автономному ST 8
...
Имеем базу в формате ods41 (Lotus R5). База работает под Lotus R5, R6, R7.
База локальная и играет роль инсталлятора.
В базе есть view отбирающая и показывающая все элементы дизайна.

Имеем код, который перебором по view получает документы (они же элементы дизайна) и при помощи метода CopyToDatabase копирует в нужную нам базу (например почтовую).
Перед копированием "старые" элементы дизайна при их наличии в целевой БД удаляет.

В 95% случаев все проходит на ура. Иногда возникают проблемы в случае, если в дизайн локальной базы (инсталлятора) внесли какие-нить изменения и затем запустили код по копированию/обновлению.
При этом например элементы дизайна изменились неделю назад, Lotus и комп перегружались неоднократно, код по копированию запускается скажем сегодня.

Проблемы возникают только для Lotus R6 или R7. Ошибка на строке с вызовом CopyToDatabase -
Notes error: Someone else modified this document at the same time (I:\Lotus\SMS\SMS_154.ns5) №ошибки 4005.

Собственно вопрос - кто-нить сталкивался ?

З.Ы. Способ лечения найден пока только один - в базе инсталляторе скопировать проблемный элемент дизайна,старый удалить и новый элемент дизайна переименовать в старый.
Но хотелось бы добраться до сути.
что значит не принимает ?
что значиринмает?
что значиринмает?
что значит не принимает ?
Интересные темы:
Список форумов:

Tips. Советы

With all the sources of information we deal with, Eric Mack makes an argument for merging our separate sources into a single, combined list.

Read | Permalink
Back in August 2008 Niklas Waller posted some code to validate if a URL is properly formatted before submitting it to a form. But, after thinking on it, it seemed to be missing something so he's added to it.

Read | Permalink
Marie L Scott has completed an update to Notes 8.5 and, while user training seems to be going smoothly, she lists a few warnings for those getting ready to upgrade.

Read | Permalink


EXPERIENCE THE VIEW FOR FREE -- GET YOUR ARTICLES TODAY!
Save time from costly errors on your important projects. Get your FREE articles today.

Lotus Foundations 1.1 has been released with a number of improvements. Scott Hooks lists some of the new features and provides links to further information.

Read | Permalink
Carl Tyler wants to know if you'd be interested in some short video clips on doing things in Sametime. If you think such videos would be helpful to you, or your users, let him know.

Read | Permalink

Web Services. Do you get/use them?

I kind of get them. When we're talking about the kind where a site opens up its services to other websites, such as weather.com letting you fetch the forecast for the coming day(s) based on a post/zip code. Or Google mapping and Amazon web service for finding products. Those kind of scenarios I get.

When it's one website dealing with another website I can see the point and understand the use of Web Services. But what about when there's only one website involved? Are Web Services ever of use?

Although I've consumed Web Services in the past I've never had call to provide a Web Service or consume one from a site I've worked on. Hence the gap in my understanding.

Yesterday I came up with a use for a Web Service that would make my job as a developer easier, so that's got to be a good thing, but I'm just not sure whether I'm perverting the use of Web Services.

Take a look at the Flex Accounts app and you should see I've added a flag icon in the right-most column of the view. You can toggle the flag on the backend document by clicking the icon. Each time you click it a Web Service is called to toggle the flag field's value.

Tomorrow I'll talk a bit about how I came to be doing this in first place.

For now I just wondered if it's wrong to use a Web Service in this way?

Click here to post a response

Jeanmarie White, and the rest of Lotus support, ask for your patience. Right now no version of Sametime is supported on the Domino 8.5 server, but she provides a few links to work-arounds.

Read | Permalink
CommonTime and LogMeIn have gotten together to create an over-the-air (OTA) remote support solution to mobile workers using the CommonTime mSuite corporate mobility platform.

Read | Permalink
The Learning Continuum Company (TLCC) has released five new Notes 8.5 user courses to help those moving from Notes 6.5 or Notes 7 to Notes 8.5, users who are new to Notes and using the Notes 8.5 Standard or Basic clients, or iNotes 8.5 users.

Read | Permalink


PISTOLSTAR: LOTUS NOTES AUTHENTICATION THAT BREAKS THE STATUS QUO
Password Power's complete integration with the Microsoft Active Directory password enables Notes client access, ends time-consuming Notes ID password recovery and addresses known issues with Notes 8.5:
  • Passwords are encrypted in volatile memory - not stored on user's hard drive
  • Notes roaming capabilities are fully functional - not limited
  • Password checking is honored - no decreased security or failed compliance
  • All Notes ID file copies are synched automatically with Active Directory password - no remembering old passwords or restoring ID files


Download white paper to learn more: "Myths & Realities of Lotus Notes and Domino 8.5 Security"

So, how I did I come to be wondering if using Web Services within the same application was wrong yesterday?

Well, let's imagine some scenarios and their "traditional" solutions.

Scenario 1

Problem

Say you want to simply approve/decline a document in a workflow and pass it via email to the next approver, but you know that, for whatever reason, the user won't have Author access to it.

Solution

What I'd tend to do here is create an Agent which accepts the document's ID and the action/status to be performed.

Issues

This is no biggy really, but ideally this would need to be a POST request (we all know GET should only fetch data and not change it, right!). When you POST data to an Agent you need to manually decouple all the name/values manually from within the REQUST_CONTENT field (or REQUEST_CONTENT_001 etc if more than 64k passed!!). This is where it gets a bit messy and tedious.

Scenario 2

Problem

You just want to change the value of field on a document. Ideally you want to be able to specify the field.

Solution

You could always create a HTTP request that posted to a ?SaveDocument URL with the field's name/value pairing as the only parameter passed.

Issues

What if you want to avoid triggering a full save of the document? Maybe because you don't want to run the code in the form's WQS agent, for whatever reason.

Again you find yourself needing to create an(other!) agent. 

Scenario 3

Problem

You want to re-order a set of documents. This is something I've described before and you can see demos of it here.

Solution

To do this I POST a list of the documents and their order to a ?CreateDocument URL. The document (which have SaveOptions field set to "0") has a WQS agent which loops through the mutli-value field which received the list and, for each document, updates its order.

Issues

While this works well it involves the addition of two new design elements to the database just to solve one "simple" task.

What's The Problem?

While the scenarios above aren't exhaustive - just some things that came to mind right now - you should see a common theme appearing?

In all cases all we want to do is perform some action on the server. It doesn't really matter what we want to do. The problem is that for each new action we decide to add we need to create a new design element (if not two). If you end up adding 10 action you could have up to 20 design elements cluttering up (an already cluttered in some cases) database.

What's The Solution?

For ages now I've been thinking of doing away with all these separate agents by writing a single agent that can perform any action needed. You can call if via GET or POST and you pass the action it is to perform using the URL. So the URL might be:

/database.nsf/actions?OpenAgent&action=approve

The document ID and other data would then be posted to it.

Inside the agent would be a big "Select Case (Action)" which examines the URL and performs the right code block depending on what it's asked to do.

Still all quite messy but at least all the backend "business logic" is in one place. I haven't got as far as creating it yet, as I'm knee-deep in Flex at the moment and that allows me to use Web Services, which, potentially, make it even simpler.

Where Do Web Services Come In?

In Flex there is support for using Web Services. You define the Web Service and when the app loads it fetches the WSDL code and you then have all the backend methods/actions available.

Using a Web Service you can keep all the logic for the various actions you might need to perform within a database in one place.

Better yet it defines what parameters a method needs to accepts and even makes them "typed" for us. We don't need to decode and decouple the data posted. The Web Service does this for us. In our backend code we can just start working directly with the data parts as we'd expect.

Even better still the Web Service can return the result of the action to Flex as a String, Boolean etc and Flex works with it without any type casting/checking needed.

In Summary

We're not talking about replacing the Standard Domino URLs here, such as ?SaveDocument etc. If you're creating/editing a document with a form then use the standard approach.

What I'm talking about is a simple way to code the actions we often need to bolt on to make an application/database do anything useful.

Yesterday's discussion didn't feel like there was a conclusion as to whether consuming a Web Service from the same server and the same application was "wrong". The more I think about it though the less I care. I'm a Domino developer. I've spent the last 10 years using any method I can to get things to work.

Eight years ago I described a hack that uses the Navigator design element to get a Form to act as a database's homepage. I still use it to this day. Who uses a Page to store CSS still, even though there's a StyleSheet design element specifically for this? I know I do.

As Domino developers we're using to the by-whatever-means approach to making things do what we want. I don't see why I should stop now.

Tomorrow?

Tomorrow I'll show you the code on both sides of this --- the Flex code that consumes the Web Service and the LotusScript that makes up the backend logic. Hopefully then you'll agree that what I am doing makes not only sense but our jobs easier, which has to be a good thing, right?

Click here to post a response

Most Notes/Domino users are not aware of this easy method for freeing up space on Domino 8 servers. With this tip, you'll learn how to save valuable disk space by using Dirlinks and storing Notes databases off your Domino servers.

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

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

Author: Brett van Gelder
Tags: lotus connections profile
Idea:
I would like to see integration from IdeaJam with Lotus Connections. When enabled any reference to a person should retrieve the Connections business card and the profiles in IdeaJam should leverage Lotus Connections. See attached HTML file for code that should be added, preferably code that is only enabled when set to do so in the Configuration.

Author: Matt White
Tags: twitter ideajam.net
Idea:
With the new beta of IdeaJam released today, we have added the ability for IdeaJam to automatically "tweet" to Twitter when a new idea is posted. Initially we are using the @ideajam account for the tweets, but we have had some feedback that some followers would prefer the new idea tweets to be posted to a different account and just IdeaJam news to be posted to the current Twitter account.
 
Please let us know what you think, a promote means post new ideas to @ideajam, a demote means post them to @ideajamideas.

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

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

Improving input/output (I/O) performance is one of the major goals for IBM® Lotus® Domino® 8.5. The developerWorks® article "IBM Lotus Domino 8.5 performance for IBM Lotus Notes users" showed the impressive I/O reductions of Lotus Domino 8.5 with the Lotus Notes client. This article shows the I/O performance improvements of Lotus Domino 8.5 performance with Lotus iNotes® users. Lotus iNotes had been called Lotus Domino Web Access in the past; its name is iNotes in Lotus Domino 8.5.
Migrating/upgrading IBM Lotus Notes clients from either Linux or Microsoft Windows to Lotus Notes 8.0.x for Windows Selma R Neves IBM Software Group Support Engineer Westford, MA USA Saidah
In Lotus Notes 8.5 Standard Configuration, your client hangs randomly at startup or when opening documents. You receive a software exception application error and Notes needs to be restarted with NSD kill:
In Lotus Domino, how do you create a new administrator if a current administrator has left the company and/or the password is lost.
In Lotus Domino Web Access (iNotes Web Access) 8.0, the user interface (UI) does not display an action button or a right-click menu option for recalling a message. Is Message Recall supported in DWA 8?
In Lotus Domino, an administrator creates a new Welcome page to use as a corporate greeting page. When the new page is made available, users can right-click and edit the page even though the option to prevent editing was selected. How can you prevent users from editing a custom Welcome page?
The following key content resources, such as system requirements, Information Centers, product documentation, wikis, discussion forums and support resources are available for Lotus Notes and Domino.
Periodically, when you attempt to open your mail file or switch views, it will take several minutes to complete and you receive the error "Server not responding".
Using Lotus Notes 8.0.x with a Notes 8.5 mail template, your signature is not being appended to a New Memo automatically.
Shrikant Veeturi IBM Software Group System Software Engineer Pune, India April 2009 Abstract: Alloy™ by IBM® and SAP 1.0 (hereafter called Alloy) brings SAP data directly into a user’s I
- Duplicate Entry.. Please Delete.
The idle timeout value for a Domino-generated LTPA token is not working as expected. User sessions expire, and users are required to log in again.
Readme for IBM Lotus Domino server release 8.5 Interim Fix 2 (DominoServer_85IF2).
By default, Traveler maintains a TCP connection with the server to stay up-to-date with the server. Depending on several factors (network provider, NAT timeouts, device, etc) maintaining this TCP con
The Multimedia Library for Lotus Notes (NEW!) What is it? A multimedia library of more than 1000 task-based Lotus Notes 8 video tutorials available in 11 languages Delivered as a Help file that ca
Также почитатай:
Найти документацию можно на сайтах:

В избранное