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
Правильно ли я понимаю, что FTSearch на сервере в R5 не использует форматирование даты ОС и требует mm/dd/yyyy формат? Как бы победить эту проблему или хотя бы обойти? может, узнать версию можно и использовать форматирование, если R5?..
Добрый день. Есть ли возможность вытащить предыдущее значение поля до сохранения документа(NotesDocument)
пример :
CODE
set doc=view.GetDocumentByKey(ID,true) doc.ID="1" 'изменили поле и пока не сохраняли документ '----какой-то код-------- теперь мне надо узнать какое значение бало до изменения IDold=??
'только теперь сохраняем doc.Save(True,True)
Промежуточные сохранения или запись поля в другие временные документы не подходят. Может есть какие-нибудь стандартные средства Lotus?
Имеем базу в формате 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.
Собственно вопрос - кто-нить сталкивался ?
З.Ы. Способ лечения найден пока только один - в базе инсталляторе скопировать проблемный элемент дизайна,старый удалить и новый элемент дизайна переименовать в старый. Но хотелось бы добраться до сути.
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.
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.
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.
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.
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?
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.
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.
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.
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
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.
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?
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.
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.
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 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".
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
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