|
|
2. How do you get rid of inactive sessions on a server?
3. How do you convert Word files to Notes format?
4. How do you fix the server name resolution problem with Netware NDS?
5. Can Notes be attacked by Viruses?
6. How do you set the outgoing domain name in the SMTP MTA on a per user basis?
7. Why aren't laptop user's database designs being updated?
8. How do I set up searching for numbers and punctuation with FT Search?
9. Is Notes Year 2000 Ready?
10. Why can't I access a database design although I have Designer Access?
11. What keyboard shortcuts are available in Notes?
12. What do you do about forgotten passwords?
13. Why isn't my @DbLookup background macro running properly?
14. How do you run the Compact process on a schedule?
15. Can you support multiple SMTP domains using the SMTP MTA?
16. How do you warn users that a server will be shut down?
17. How do you check the difference between two documents?
18. How do you fix documents with bad ReaderNames fields?
19. How do you specify a new location for the desktop.dsk file?
20. How do you add a disclaimer/signature to all outgoing SMTP mail?
21. What can the Lotus SMTP MTA do to prevent SPAM?
22. What Virus scanning packages are available for Notes?
23. What is configurable in the Lotus SMTP MTA?
24. How do you remove Stored Forms from documents?
25. Why do users get notified of new mail even though they don't have any?
26. What would change the list of servers I see in the Database Open dialog?
27. What TCP/IP port does Notes use?
28. Why are my new C&S entries off by one hour?
29. How do you run Notes in "Kiosk" mode?
30. How do you make backup copies of created user ID's?
31. What can be done to optimize database performance?
32. Why can't users with Depositor access create documents even though I have enabled Public Access on the form?
33. How do you make a list of all groups a person is in?
34. Why do new documents not show up in views after a recent server crash?
35. How do you turn off Notes crash dumps (notes.rip files)?
36. How do you keep Notes from being started for mailto URLs?
37. Can you use the SMTP MTA over a dial-up link?
38. Can I set the default ACL on the N&A Book to Reader?
39. Can you keep multiple versions of Notes on the same system?
40. Can you add a database icon which launches a program?
41. What programs will back up Notes databases without needing a Notes server shutdown?
42. How do you change the mail file design to use the Notes 4.5 mail template?
43. How do you minimize Notes rollout cost?
44. How do you get rid of all the deletion stubs in a database?
45. How do you upgrade the max size of a database?
46. Can you automatically spellcheck email that is sent?
47. How do you get Notes to rebuild corrupted views?
48. Who can I call to find my local reseller and licensing information?
49. How do I get rid of the "Can't open view $DirectoryAssistance" error?
50. Can you check for mail without leaving Notes running?
51. How do you fix the Mail Archiving Agent so it keeps documents in the right folders?
52. How do you manage ACL information across an organization?
53. Can fields be added to the N&A Book?
54. How do you make the infobox reappear if it doesn't show up?
55. Can you open a database automatically when Notes starts?
56. How do you change the available letterheads in mail?
57. How do you change the Lotus SMTP MTA space replacement character to '.'?
58. How do you put a Notes Database on a CD?
59. What is involved in deploying Notes to International users?
60. How do you create a database that is usable as an address book for name lookup?
61. How do you move databases onto a different drive without the user knowing about it?
[<a href="#NT00000FC2">62. How can I use a POP3 client, such as Netscape or Eudora, to
access my mailbox in Notes?</a>]
63. How do you unhide a database design?
64. How do you prevent groups from being expanded when sending mail?
65. How do I get rid of the encap2.ond attachment on outgoing Internet mail?
66. How do you shut the server down for backups?
67. What Netware address does a Notes server use?
68. Can you synchronize unread marks if a user has multiple machines running the Notes client?
69. How do I add additional N&A books to the address lookup dialog?
70. How do you change the password on the Certifier ID?
71. Are there any large-scale deployment guidelines?
72. How do you update the SmartIcons on all your users' workstations via LotusScript?
73. How do you add Quoted Reply support to Notes' mail templates?
74. Why won't the incremental installer work?
75. How can you have multiple users on one workstation?
76. Can you have specific notes.ini files per user?
77. How do you change how long logs are kept in log.nsf?
78. How do you limit the size of users' mail boxes?
79. How do you set up remote users with a local replica of a new database?
80. How do you refresh Private View designs on clients?
81. Why does my mail say it is sent from someone else?
82. Can you run console commands from a server program document?
[<a href="#NT00001386">83.
What are .IIB files?</a>]
84. Why is a user not getting the proper roles?
85. Why do I get att1.unk or winmail.dat attachments?
86. How do you move a Domino server to new hardware?
87. What encryption is used by Notes?
88. Can users recall messages they've sent?
89. Why is my Notes client having trouble replicating over satellite links?
90. Can you have an Apache server handle Domino URLs on a different box?
72. How do you open the About This Database document with a URL?
73. How do you select multiple documents in a view and run an action button on them?
74. How do you jump back to the current view from the current document?
75. How do you handle field inheritance when composing from the Web?
76. How do you create a document access counter?
77. Can you customize the "Deleted" message?
78. Does Domino support Server-Side Includes (SSI)?
79. Can you attach files to a document using a web browser?
80. How do you create a framed page with a navigator in one frame?
81. How do you hide attachments uploaded via the web upload file field?
82. How do you change the twistie graphics?
83. How do you check for the browser type using JavaScript?
84. How do you create a DHTML Calendar Control?
85. Can you launch the Notes client from a web page?
86. How do you display a list of response docs on the parent document?
87. How do you get rid of the ecblank.gif in generated HTML?
88. How do you handle "Allow Values Not In List" dialogs on the web?
89. How do you get the relative path to the database for web URLs?
15. How do you add more action buttons than fit on the display?
16. How do you prevent a form from prompting to save it?
17. How do you automatically filter mail in Notes?
18. How do you create a view action button that creates responses to only work on main documents?
19. Can you start a different navigator depending on the user role?
20. How can you tell if a field has been changed in LotusScript?
21. Can you inherit fields from parts of the same form?
22. How do you do a mail merge using info from existing documents?
23. How do you generate sequential document IDs?
24. Can you show FTSearch documents with a specific view?
25. How do you make a view to use for checking for replication conflicts?
26. How do you add an Internet-style signature at the bottom of your mail messages?
27. Can you access the Clipboard in Notes?
28. How do you save a document, then create a new document in its window?
29. How do you force the value of a field to be unique?
30. How do you find the positions of a string in a text list?
31. How do I get the week ending date for a specific day?
32. Why does @Explode only give me the first item?
33. How do you delete Environment variables from the notes.ini file?
34. How do you prevent people from viewing with a different form and saving the result?
35. Can you use @UserName in a view?
36. How do you sum number fields which have not been edited and initialized?
37. Can you work around some of the size limitations in LotusScript programs?
38. How do you synchronize fields between documents created with two different forms?
39. How do you automatically format phone numbers?
40. How do you select only Response documents in a view?
41. How do you validate a credit card number?
42. Can you make a popup calendar in Notes?
43. How do you get the current access level of a user?
44. Can you open a view in full screen mode from a Navigator?
45. How do you generate a subset of list values based on the contents of another list?
46. How do you keep a running history of all entries in an RTF field?
47. Can you use @Functions in LotusScript?
48. Can you use views from the Mail template in your own databases?
49. How do you compare date/time fields using Lotuscript?
50. How do you go to the last document in a category using Lotuscript?
51. Why does my agent fail on the server with a "Error loading USE or USELSX module" error?
52. How do you create mailing labels in Notes?
53. What are the Unix syntaxes for calling DLLs from LotusScript?
54. Can you dynamically select documents per user without using a ReaderNames field?
55. How do you display documents created with a form using a layout region?
56. Why doesn't NotesUIDocument.GetFieldText return the alias for a keyword selection?
57. Why doesn't my "If documents have been created or modified" agent execute immediately?
58. How do you insert a new line in a Rich Text field using a macro?
59. How do you set the server to run agents on with a hidden database design?
60. How do you sort a document collection?
61. What HelpDesk products are available for Notes?
62. How do you force a user to use a button to save a form?
63. Can you start a program in Notes and wait for it to finish?
64. How do you access a specific element of a multi-value field?
65. How do you prevent orphan response documents?
66. How do you find out what Roles a user has in the current database?
67. How do your control an OLE-VBA object in LotusScript?
68. How do you add a response's doclink to a parent document?
69. How do you track who changed a critical field?
70. How do you find the exact version number of Notes?
71. Where can I get more information on Java access to Notes?
72. How do you put a popup calendar in a layout region?
73. How do you operate on the currently selected documents in LotusScript?
74. In what order do @Commands execute?
75. How do you display progress to the user via LotusScript?
76. How do you convert a numerical value to the equivalent written text?
77. How do you open a document in edit mode if it exists?
78. How do I remove erased fields that keep appearing in the Add Fields window?
79. How do you retrieve a column total for a category?
80. How do you sort and categorize a view based on months in chronological order?
81. How do you open a Win32 File Dialog in LotusScript?
82. Can you dynamically change the color of the form?
83. Can you open a Navigator using Lotuscript?
84. How do you do @Explode in LotusScript?
85. Can you launch a URL without using InterNotes?
86. How do you get the date for Easter of a given year?
87. How do you hide the design of a database, but let the user see field names?
88. Can you access Win32 registry keys in LotusScript?
89. How do you launch an embedded object using LotusScript?
90. How do you debug into the QueryModeChange and QuerySave events in LotusScript?
91. How do I refresh a document's fields after one field is changed?
92. How do you change the title of a dialog box?
93. How do you remove an element from a Textlist field?
94. Is there any way to prevent the user from deleting parent documents with child documents?
95. How do you avoid error messages with DBLookup?
96. How do you find the elements which are unique to a list?
97. Why don't my changes to a Rich Text field show up immediately?
98. How do signatures and sections in a form work?
99. What does the @Db NoCache parameter do?
100. How do you generate unique document numbers?
101. What happened to Tools\RefreshFields that was in Notes 3.x?
102. How do you do a data import/merge using Lotuscript?
103. How do you lock a document that is being edited?
104. How can I see if the directory exists using LotusScript?
105. How can you tell if a view is Private?
106. How do you check if an RTF field is empty?
107. How do you log off a Notes user so you can force user revalidation?
108. How do you calculate the week number in a year of a given date?
109. How do you create response documents from a navigator hotspot?
110. How do you provide context-sensitive help for your database?
111. Can you get a filename from the user in Lotuscript?
112. How do you make a Computed For Display Rich Text Field?
113. How do you look up all the people in a Group?
114. How do you make dynamically sized tables?
115. How do you send mail based on whether a field is modified?
116. How do you execute DOS commands from a formula?
117. How do I calculate the number of weekdays between two date fields?
118. Can I look up Multiple Keywords using @Db functions?
119. How do you prevent LotusScript errors when handling deletion stubs in document collections?
120. How do you monitor your own threads in a discussion database?
121. How do you notify users when documents are modified or added to a database?
122. How do you force the user to click an Edit action button to edit a document?
123. How do you copy all parts of a script from one form to another?
124. Can I lookup Rich Text using @Db functions?
125. How do you change fields based on the state of a separate keyword field?
126. How do you keep doc.send() from crashing a background agent?
127. How do you notify the author of a document when a response has been composed?
[<a href="#NT00001052">128. How do I make the "loser" of a replication/save conflict be the
"winner"?</a>]
129. How can I control whether the @Db Function returns a list?
130. What causes the LotusScript error "Notes Error: Special Database object cannot be located."?
131. How do you return custom data types in LotusScript?
132. Can you create Shared Actions?
133. Can you use regular expressions for string matching?
134. Can you run an Agent from LotusScript?
135. How do you create Names, Readers, Authors fields in LotusScript?
136. Can you implement exclusive locking across replicated databases?
137. How do you do @MailSend in Lotuscript?
138. Can you dynamically hide/unhide sections of a form?
139. How do you update a field in response documents after it is changed in the parent document?
140. How do you refresh RichText fields in a UI document?
141. How do you convert a time field to display as military time?
142. Can you stop the refresh view indicator for displaying if you use @Today in a view?
143. How do you load different LSX/DLLs based on which platform you are on?
144. How do you check if a document is a deletion stub?
145. Why do I get an "Object Variable Is Not Set" or "Variant is Not Set" error?
146. Is there a @Replace equivalent function in LotusScript?
147. How do you prevent jagged right table edges when merging/splitting cells?
148. How do you synchronize custom databases with PDAs?
149. What Are Domino's Field Size Limits?
150. How do you output a PDF from Notes?
How do you update a Stored Form in old documents?
First, remove the old form using this technique.
Then, refresh all the affected documents using this technique.
How do you get rid of inactive sessions on a server?
On the server console, execute:
SHOW USERS DROP
This drops all inactive connections on the server. After you do that and do a regular Show Users, you will see no one or only the currently active users who are actually on the system right now. It should wipe out all the old connections, but if you do it and still see a connection with anything but 0 next to it, it's a bad or phantom session and is indicative of other problems.
How do you convert Word files to Notes format?
There is a product called Hyper*Ink (formerly called Lexstyle Publisher) from CoExtant (formerly Pantano Genesis) which can batch convert formatted Word document into hyperlinked Notes documents. Contact them at
sales@coextant.com.
Notes:Import Document from Pembroke International also will do this, but cannot automatically generate multiple linked Notes documents for each chapter of a Word document.
How do you fix the server name resolution problem with Netware NDS?
When using SPX as a transport protocol in v4, you can register your Notes server names in the NDS tree and resolve IPX address without having to use SAP. By default, the Notes client installs with both NDS (Netware v4) and Bindery (Netware v3) methods available. The Notes client will first try to resolve using an NDS lookup and then fall back to SAP (bindery) lookup. If your organization is not using NDS or has not registered your Notes servers as NDS objects, then you will receive an error message when Notes tries to look up the server name in NDS.
To correct the problem, select File>Tools>User Preferences from the menu. Click the Ports icon. Select the SPX protocol from the list and click the SPX Options button. On the advanced dialog, select the Advanced Configuration and then select Bindery Services. This will make the v4 SPX client use the same method as the Notes v3 client and should eliminate your problem.
Can Notes be attacked by Viruses?
Here is a useful posting by
Christopher Feller:
"...Notes is an entirely different paradigm. One of the reasons viruses and attacks on internet-based systems happen so frequently, is that the initiators are anonymous. They don't have to worry about retribution or punishment. However, you don't attack a Notes server anonymously like a Firewall or FTP server. You can't even begin to touch a Notes server unless someone has created an ID for you. And as soon as an ID exists, there's an electronic trail to follow, I don't care what fields you delete.
Someone creates an anonymous mail-bomb? Fine. I'll just trace through all the servers listed in the RouteServers field to find where the initial mail came from. Then I'll check the RouteTimes/PostedDate and compare that to the Notes Log to see when it was routed through that server. Then I'll check to see who was logged in and bust them.
Worried about attacks on your N&A? Don't give anyone greater than reader access, and control the certifier tightly. Don't let just anyone create replicas/copies on the server. Also, place a mail-paste macro that does an @DocumentDelete in the N&A. (This will keep anyone from routing anything nasty to the N&A by using Mail-In database documents or by setting the mail database destination of a user in the main or secondary N&A book to be the N&A itself.) Finally, mark all documents in the
N&A as read and check the database for unread documents on a periodic basis from the local workspace. If anything new or changed is there (even if it doesn't show up in a view) you'll find it by pressing that Tab key. (For those people who are worried about a disgruntled employee making design changes to documents or forms, inherit the N&A design from an "approved" template nightly and run a nightly background macro to check for documents that have mysterious or "non-approved" form names). Oh, and don't forget to setup statistics and event reporting!
My point is simply this: due to the way Notes was designed, access is always "granted", not implicit. So, no matter what, there's always a record of activity somewhere and there always a way to deny that access.
If you have your security set up sensibly, your logging turned up to the max, and train your users to look at buttons before pressing them (highlight the button and choose Edit->Button) then you really don't have much to worry about. If you ever do encounter anything strange, you'll be able to trace it with the information contained in the offending document. Don't let panic mongers scare you away from Notes!"
How do you set the outgoing domain name in the SMTP MTA on a per user basis?
This technique, which can be used to host multiple domains provided you have unique names across all the domains, applies to the Lotus SMTP MTA 1.05 and higher:
You can edit the short name field in the user's Person document to include the domain name. For example, if your domain is "company.com", you can enter the user's name as "user@another.com" and the mail will be sent with that as a reply address.
To be able to receive mail from more than one domain, be sure to add the other domain to the Internet Domain Suffix field in the Global Domain document.
Why aren't laptop user's database designs being updated?
Check that the Server is given at least designer access to the Local database. A frequent error occurs like this. The database ACL is set up this way:
| Default | {Editor} |
| LocalDomainServers | {Manager} |
| OtherDomainServers | {Editor} |
| Admin | {Manager} |
Since the Server is usually in the group LocalDomainServers, it has manager
access when being evaluated against the Server's N&A Book. The problem occurs
when the Laptop user makes a replica of the DB. On the laptop, the user has a
local N&A book which is used to resolve Group Names when evaluating the ACL
when it replicates with the Server. The Server is usually not a member of the
group LocalDomainServers in that private N&A book, therefore no design changes
are passed when the replication occurs.
How do I set up searching for numbers and punctuation with FT Search?
If you are using the default.stp file, it ignores numbers. You can create a special stp file for use with this database that includes numbers. Just remove the line:
[0-9]+
If you are looking for numbers in a Number field, numeric fields have to be searched for by specifying this formula in the search window (or by using a Form to search which generates this formula):
([SearchField]=value)
Punctuation and other special marks, except for '&', "/", ":", and "." are NOT included in the index so there is no way to search for them. You can never find "C++" no matter how you arrange your query since it isn't "text" and it is not included in the index. You'll have to use the non-indexed search function by holding down <shift> as you click on the flashlight icon. This will bring up the regular search dialog box. Type C++ in there and let it search all documents. When finished, select "Show only selected" under the View menu and you'll see all the documents that contain "C++" in them. Keep in mind the words won't be hilighted like in the FTS, but at least you can identify all the documents.
From Lotus' Knowledgebase Article#147238:
Lotus Notes is ready for the year 2000. In fact, support for the year 2000 has been part of the Notes architecture from the very beginning of its development. Therefore, all Notes releases, beginning with Release 1.0, fully support all year 2000 date functions, and no human intervention is necessary for Notes to continue functioning correctly when we move into the year 2000.
When discussing the impact of year 2000 dates in Lotus Notes, there are three areas of Notes date functionality to consider. These are:
1. Date entry.
2. Date calculations.
3. Notes server time synchronization.
Below are descriptions of each of these areas and explanations of how Notes handles each:
1. Date entry.
Since Release 1.0 of Notes, it has been possible to enter dates for the year 2000 and beyond simply by typing all four digits of the year. For example, "1 1 2000".
For all Notes releases prior to Release 4.5, if only two digits are typed in for the year, Notes assumes that the user means the date within the base century 1900. For example:
If the date entered is "1 1 20", Notes releases prior to Release 4.5 will internally store the year as "1920".
Beginning in Notes Release 4.5, if only two digits are typed in for the year and the two digits are a value between 50 and 99, then Notes will assume that the year is within the base century 1900. If the two digit year value entered is between 00 and 49, then Notes will assume that the century is base 2000. For example:
If the date entered is "1 1 97", Notes will internally store the year as "1997". If the date entered is "1 1 00", Notes will internally store the year as "2000".
This new feature in Notes Release 4.5 will allow data entry to be more intuitive for users as we move into the next millennium.
The only place where Notes does not make this assumption is with the @Date function. If you enter an @Date formula with a year as two digits, Notes assumes you mean the literal year that is entered. For example, @Date(94;3;16) will evaluate as 03 16 0094, when you probably intended @Date(1994;3;16) which will evaluate as 03 16 94. This is true in all Notes releases, including Notes Release 4.5.
2. Date calculations.
All calculations using pre- and post-year 2000 dates in Notes will execute correctly. Notes' internal TIMEDATE structure stores the dates in such a way that they can be manipulated in formulas in anyway, regardless of the year or any other part of the date.
Notes internally supports up to the year 32767 on 16-bit operating systems (limited by a 15-bit year quantity in our TIME structure), and the year 41247 on 32-bit operating systems (limited by a 24-bit Julian date quantity in our TIMEDATE structure), so it is well prepared not only for the year 2000 but for many millenniums beyond that.
3. Notes server time synchronization.
When a Notes server is started for the first time, it picks up the time from the operating system it is running on and then keeps its own time from then on until the server is brought down again. The Notes server already knows how to manage the year 2000, so it will automatically roll its time from December 31, 1999 at 11:59:59 PM to January 1, 2000 at 12:00:00 AM. The Notes server also knows how to work with leap years and daylight savings time, so both of these will also be handled correctly during the year 2000.
Why can't I access a database design although I have Designer Access?
Make sure View - Show - Design is selected. If this is deselected, the design twist-tie will not be shown.
What keyboard shortcuts are available in Notes?
Note that these shortcuts are for Windows machines. They may be different for Macs, OS/2, or Unix systems.
| From a form: | |
| [TAB] | Next unread document. |
| [SHIFT]+[TAB] | Previous unread document. |
| [ENTER] | Next document. |
| [BACKSPACE] | Previous document. |
| [Shift]+[F9] | Replaces a user-entered formula in an editable text field with its returned value. |
| [ALT]+[1] | Click the 1st action button, 2 for second, and so on. |
| [CTRL]+Compose Document | Suppresses inheritance when creating new document. |
| From a view: | |
| [RIGHT ARROW] | Hortizontal Scroll Bar. |
| [INS] | Toggles "read" and "unread" marks. |
| [ALT]+[number N] | Click the Nth action button. |
| [F3] | Displays or moves highlight to next selected document. |
| [Shift+F3] | Displays or moves highlight to previous selected document. |
| [F9] | Update current view. |
| [CTRL]+[SHIFT]+[F9] | Update all views in database. |
| [Shift+Gray Plus] | Expand an entire view (Expand All). |
| [Shift+Gray Minus] | Collapse an entire view (Collapse All). |
key on the keypad | Expands all descendants of the currently selected document. |
| From the Workspace: | |
| [`] | "Scan for unread mail" from the desktop. |
| [TAB] | "Scan for unread" from the desktop. |
| [CTRL]+[SHIFT]+Double-Click on Database | Shows all views of database (including the hidden ones). |
| [SHIFT]+Select Databases and then Double-Click | Opens up the current view of all the databases into one mixed view. |
| [SHIFT]+View\ShowServerNames |
Display the filenames of the databases on the desktop. |
| [Shift+F9] | Updates unread count on current work page. |
| From anywhere: | |
| [CTRL]+[TAB] | Cycles through open Notes windows. |
| [ALT]+[ENTER] | Toggles the Properties Box. |
| [CTRL]+[M] | Create mail Memo. |
| [ALT]+[F9] | Minimize Notes. |
| [CTRL]+[F9] | Restore open Notes windows to non-minimized. |
| [F5] | Log you off of your Notes server, but does not exit Notes. |
| [F1] | Displays context-sensitive Help. |
What do you do about forgotten passwords?
There are a couple of methods to deal with this depending on how secure you'd like user accounts to be:
1) Keep a backup of the user ID with a known password in a secure location. However, any encryption keys that the user adds will be lost if this backup file is used when the user forgets his/her password.
2) Don't keep backups and warn the user about what it means to lose a password (all your encrypted files won't be accessible any more, etc.). This also guarantees that the user is the only one who could have sent a mail message (useful in court cases) or done something to a database.
3) Separate the ID file storage and the password knowledge between two different people. This is a safer position than (1). However, if the two people work together, security in Notes can still be compromised.
If you are running 4.1, there is a new feature that will help you use method (1). You can set up an escrow account and when you register a new user, the new ID is sent (mailed) automatically to the escrow agent. This way, you keep backup copies of every ID you make.
There is no way to recover encryption keys from a user ID with a forgotten password!
Why isn't my @DbLookup background macro running properly?
For any @DbLookup or @DbColumn that is run from a backgound macro, you need to put the ReplicaID of the database where the macro is being run into the ACL of the database which is being used for the source of the lookup.
A background macro is executed by $Chronos which doesn't have an ID by itself. That's why it uses the replica ID of the database containing the macro for authentication.
How do you run the Compact process on a schedule?
Here is an example program document you can use. Make sure the Notes directory is in your system PATH.
Basics
Program name: $COMPACT.EXE
Command line: -S 5
Server to run on: ServerName/Domain
Comments: Compact databases with more than 5 percent whitespace.
Schedule
Enabled/disabled: ENABLED
Run at times: 10:10 PM each day
Repeat interval of: 0 minutes
Days of week: Wed, Sat
Can you support multiple SMTP domains using the SMTP MTA?
Yes, look at the FAQ on changing the outgoing domain name
for the SMTP MTA.
How do you warn users that a server will be shut down?
Use the Broadcast message from the server console:
Broadcast "Server will be shut down in 10 minutes"
This will send the warning message to all users using the server.
How do you check the difference between two documents?
For the 32-bit Windows client (NT or Win95), edit the notes.ini file to include this line:
AddinMenus=c:\notes\nntediff.dll
Shut down your client and re-start it.
Select 2 documents in a view.
Select the new menu option Actions/DifferenceOf2Documents.
How do you fix documents with bad ReaderNames fields?
If you access the database locally on the server, you can reset all the bad ReaderNames fields by using an agent. ReaderNames fields are only enforced when you access the database from the server. This also applies to AuthorNames.
How do you specify a new location for the desktop.dsk file?
You can add a line to the NOTES.INI file telling Notes where to find the DESKTOP.DSK file. By default it looks in the Notes Data Directory. E.g., the following line :
DESKTOP=C:\NEWDIR\DESKTOP.DSK
How do you add a disclaimer/signature to all outgoing SMTP mail?
1. Open the MTA forms database (mtaforms.nsf).
2. Select Design and the Forms view.
3. Edit the Memo form and add the text anywhere within the form where you would like the text to appear. Be sure to NOT include carriage returns, since the MTA has it's own line wrapping facility (which is set in the Public Name & Address Book).
4. Save the Memo form.
Remember, you must complete these steps in the future when the SMTP template is updated with new SMTP/MTA releases.
What can the Lotus SMTP MTA do to prevent SPAM?
From a member of Lotus' SMTP team:
The term 'SPAM' covers such a broad spectrum of SMTP mail 'attacks' that there is no easy solution to the prevention of 'SPAM'. The MTA provides rudimentary capabilities to deal with 2 types of 'attack'.
1. Relays
These are messages sent to your SMTP server from an outside source that are not destined for a local recipient, but are for another external SMTP address. This results in your SMTP server 'relaying' the message onto the external destination. Before the explosion of the Internet and the use of DNS to provide 1 hop source to destination routing of messages this was an acceptable practice on the Internet. Infact the original concepts relied on it to provide source to destination routing across many interconnected hosts. However the ability to accept and transfer 'Relay' messages brings 2 problems to the modern Internet SMTP host administrator. Firstly it results in the local organization incurring transfer costs to handle messages that have no relation to that organization. Secondly, as SMTP is in general an unauthenticated protocol, it became a mechanism for the distribution of 'SPAM' mail. A host that was available to relay mail could be used as the 'distribution' point for a broadcast/offensive 'SPAM' message. Often the message would be constructed to make it look like it originated from that host domain, making to original distributor virtually anonymous. As a result, most SMTP servers directly connected to the Internet are configured to provide some measure of protection to deny the ability to relay messages through them. The initial SMTPMTA option to prevent relays was provided as a quick 'band-aid' to a growing problem.
The MTA was designed to accept and support the concept of Relay messages. This was achieved by allowing the Inbound message converter to pass any message that is not destined for a local user to the Outbound Work Queue so that the Outbound Transport could route it out. The first 'band-aid' solution was an ini variable, SMTPMTA_REJECT_RELAYS=1. This ini variable switched off the Inbound Converters ability to perform relays. If the converter found a message that was supposed to be relayed, instead it would flag an error and place the message in state that the DRTask could generate a Non-Delivery report. This solution has a number of limitations:
It cannot distinguish relays from external originators that need to be blocked and messages from local POP/IMAP clients that need to be relayed.
Often the Originator address on a Spam relay message is bogus, so the NDRs often failed an ended up DEAD in either the Inbound or Outbound WQ's, which meant more work for the Administrator to have to monitor and clean up after.
The check only occurred after the entire message has been received, which results in the hosting server incurring the cost of reading in the message.
The check only looks for messages that were destined for the Outbound WQ from the Inbound WQ. There is a mechanism of addressing that can cause an MTA to deliver the message to mail.box, and the Router to deliver it back to smtp.box. This method of addressing circumvents this relay check, and is referred to in the internet as '% hack' addressing.
The MTA team had been aware of the potential of '% hack' addressing prior to the need to reject relays, and the MTA already had an .ini variable to handle messages that had an SMTP address that results in a Notes message that will be delivered back to SMTP. This is another 'band-aid' solution. It works, but there are drawback. The ini variable is SMTP_OCH_REJECT_SMTP_ORIGINATED_MESSAGES=1. When the MTA Inbound Converter creates a message in Mail.Box it writes a field called SMTPOriginator to hold the SMTP specific Originator information for NDR purposes. This .ini variable plays off of this functionality.
It causes the Outbound converter to reject any message in SMTP.BOX that has an SMTPOriginator field (i.e originally came from SMTP). This will block the '% hack' relay case in SMTP.BOX. The downside is due to the way Notes does NDRs. When Notes sends back an NDR for a failed delivery it does not send back a new message. It will send back the original message, with all the original fields, but it adds additional information. This means that Notes NDRs to incoming SMTP messages will have an SMTPOriginator field and will be blocked by this .ini variable.
To overcome most of the limitations of the Reject_Relays ini variable the MTA implemented a new mechanism to handle the denial of relays. This is controlled by the SMTPMTA_ALLOW_KNOWN_DOMAINS=1 .ini variable. This allows the MTA to refuse any message which is deemed to be a Relay during the inbound transport session rather than in the Inbound Converter. For each incoming connection, and each incoming recipient the MTA makes a determination regarding the nature of the Connection and the nature of the Recipient, each can either be 'External' or 'Internal'. An 'Internal' Connection can send messages to both 'Internal' and 'External' Recipients. An 'External' Connection can only send to 'Internal' recipients, 'External' recipients will be rejected. The MTA determines the states as follows. The MTA knows which Internet Domains it is responsible for, from the Internet Domain Suffix list in the Global Domain Document. The Inbound Sessions Handlers have access to this list of domains. When an incoming connection is received the Session Handler can obtain the IP address of the host that is connecting to it from the IP stack. The Session Handler then uses the DNS to resolve the IP address into a host name. Once it has got the host name, it compares it to the list of 'local' domains. If the connecting host is in one of the 'local' domains, then the Connection is deemed 'Internal'. If the host name is not in a 'local' domain, or the DNS was unavailable, or unable to provide a hostname, then the Connection is not to be trusted and is deemed 'External'. As the connecting host goes through the SMTP protocol exchange, the Inbound Session handler checks each recipient address against it's list of 'local' domains. If the recipient is for one of the local domains, then it is considered 'Internal', anything else is 'External'. Once both states are know the Inbound Session handler can decide if it will accept that recipient or reject that recipients. This mechanism solves the previous problems:
It has an ability to distinguish between external relays and internal POP/IMAP clients.
It does not need to accept the message content before decided whether it is a relay or not. This reduces the network traffic and means no NDRs to clean up for the Admin.
There are, however, still some potential limitations:
Because it uses DNS reverse lookups to 'validate' an incoming connection, if local POP/IMAP clients have IP addresses that are not in the local DNS, then they cannot be seen as 'Internal'
If the incoming connection is through some Proxy Servers, this may mask the true IP address of the connecting host from the MTA, so that the MTA always sees the incoming host being the Proxy Server. If the Proxy Servers IP address resolves to a local host name, then all incoming connections are considered 'Internal'
Because the Inbound Sessions handlers do not have access to the Router Routing tables, they cannot make a further determination as to whether a '%hack' type address to a local domain is truly an inbound message or a 'Relay'. As a result this option will not prevent inbound relays using a '%hack' address to a local domain, so the previous .ini variable may need to still be implemented to prevent these relays.
2. Attacks
Whilst a Relay is technically an attack, it is primarily an attack against another system, using the local SMTP host as an unwitting carrier. It is also possible that a connecting system may attempt to deliver a message to a local address that is considered an attack. This maybe in the nature of an offensive message, or perhaps an unwanted message. Oftentimes these messages are repeated over and over continually, resulting in a degradation of the local mail service.
These types of attack are harder to prevent ahead of time, as they often have no distinguishing features that separate them from ordinary acceptable messages. There are 2 possibilities to help combat them though.
The first is to attempt to authenticate the connecting host to determine that it is a 'real' SMTP host and not an Internet client attempting to attack the server. Until true Server-Server authentication using a PKI setup is available there are a couple of mechanisms. The MTA provides one of these, however its usefulness is somewhat in question. When a host connects to the MTA, it provides a HELO/EHLO command with it's own hostname as a parameter. Early on it was thought that this could be used to 'authenticate' the connection, as most 'SPAM' attacks used a bogus name at this point. A number of vendors including the MTA implemented a check of this parameter by taking the incoming IP address, looking it up in DNS to get a host name and comparing the result to the HELO parameter. If they did not match then the connecting host is not to be trusted. Over time it has become obvious that this check is only of little value as there is no requirement that Internet SMTP hosts have the necessary reverse lookup entry in DNS. As a result this type of check can reject connections from otherwise perfectly valid SMTP hosts. Each Admin needs to bear this in mind when considering to implement this option. It is enables via the SMTPMTA_HELO_DOMAIN_VERIFY=1 ini variable.
The second option is the provide a mechanism for admins to 'blacklist' connecting hosts/domains that have previously caused problems so that they cannot cause problems in the future. The MTA provides this via the SMTPMTA_Denied_Domains ini variable. This variable takes the path to a text file as a parameter. That text file should contain a list of hosts that the Admin wishes to refuse connections from, one per line. When this is enabled, the first Inbound Session Handler will take this list and perform DNS lookups to turn it into a list of IP addresses, which is then shared with all the other handlers. Each incoming connection is then compared to the 'blacklist' of IP addresses and the connection refused if there is a match.
As can be seen the MTA provides some basic measures for 'Anti-Spam' however it is by no means complete and Admins should look to R5 for a more complete implementation and ongoing mechanisms. Please check the Release Notes for exact details of all the .ini variables, including correct spelling and in what version they were first supported in.
You can also set up ASSP as an anti-spam proxy by following Andrew Pollack's Blog Entry.
What Virus scanning packages are available for Notes?
McAfee's GroupShield and GroupScan (includes AIX)
Trend Micro's ScanMail for Lotus Notes (includes AIX support)
Group-WG's WatchDog
Cheyenne's InnocuLAN for Notes
Symantec's Norton Antivirus for Notes (includes Unix, AS/400 and S/390; Linux soon)
Command AntiVirus for Lotus Notes
Panda AntiVirus for Lotus Notes
Sophos Mail Monitor
Die Avast! Domino Edition
Kaspersky AntiVirus (includes Linux)
ESET's NOD32 for Lotus Domino
What is configurable in the Lotus SMTP MTA?
Here are a couple of the most frequently asked questions on this subject:
Question: I installed version 1.1 of the MTA but now some mail messages are coming in as a file attachment with an attachment name of "att1.unk".
Answer: The reason is that some mailers inappropriately send messages with a Content-Type of "Plain/Text" (Netscape is the most frequently used mailer that does this) but without a Content-Name; plain text messages should not be specified with this MIME Content-Type attribute. If you want to go back to the way SMTP 1.0x handled it, set "SMTPMTA_INLINE_TEXT_ATTACHMENTS=1" in your notes.ini file.
Question: How do you tell the SMTP MTA to use '.' instead of '_' for space replacements in user names?
Answer: Add "SMTPMTA_SPACE_REPL_CHAR=." to your notes.ini file. You have to make sure your user names do not contain any periods if you use this translation of spaces.
Question: How do you prevent spammers from using your SMTP MTA to send their junk through?
Answer: Add "SMTPMTA_REJECT_RELAYS=1" to your notes.ini file. You can also set "SMTPMTA_HELO_DOMAIN_VERIFY" to a non-zero value to verify that the SMTP mailer represents the domain they claim to be from. And finally, you can set "SMTP_MTA_DENIED_DOMAINS" to point to a text file with a list of domains you want to reject mail from. Note that this only works with Notes 4.6. More information can be found in Technote 159050 in the Notes Knowledge Base.
If you are running SMTP MTA 1.2, you can use "SMTPMTA_HELO_DOMAIN_VERIFY=1" to make sure that the connected SMTP server identifies itself properly (spammers will pretend they are someone else). You can also use "SMTPMTA_DENIED_DOMAINS=<filename>" to specify a newline-separated list of domains that should not be allowed to send mail to your SMTP MTA.
Question: How do you set the default line length for incoming and outgoing mail?
Answer: Add "SMTPMTA_Outbound_Line_Length=xx" to your notes.ini file, where xx is the line length (default is 75). You can also set "SMTPMTA_Inbound_Line_Length=xx" for incoming mail.
Question: How do you make the SMTP MTA check that the omsgcnv and imsgcnv processes haven't stopped?
Answer: If you add "SMTPMTA_ENABLE_STARTUPCHECK=1" to your notes.ini file, it will check for all 5 SMTP processes every half hour and restart any dead ones. This only works in Notes 4.6.
Question
: Can you tell the SMTP MTA to use a different port than 25?
Answer: In Notes 4.61 and above, you can add "SMTPMTA_IPPORT=xxxx" to your notes.ini file. This will set the SMTP MTA to use port xxxx.
How do you remove Stored Forms from documents?
Create an agent with the following code:
SELECT $TITLE="Form Name"; FIELD $TITLE:=@DeleteField; FIELD $INFO:=@DeleteField; FIELD $WINDOWTITLE:=@DeleteField; FIELD $BODY:=@DeleteField; FIELD $ACTIONS:=@DeleteField; FIELD FORM:="Form Name";
Notes V4 has a new $ACTIONS field that must be also deleted.
Why do users get notified of new mail even though they don't have any?
The database compaction process on the server will cause the new mail flag to be set incorrectly. Turn this off and the false new mail signals should stop.
If the new mail notification indicator stays on, the NewMailSeqNum=X variable in the Notes.ini file also may have gotten out of sync with the server. Shut down Notes, erase the "X" part of the variable and then restart Notes.
What would change the list of servers I see in the Database Open dialog?
When you do a File/Database/Open, Notes will show you the servers for any database replica icons on your workspace. If you have renamed a server, it will continue to show up as long as you have an old replica icon from the old server on your workspace.
If you select "Other...", it will show you all servers known by your home server.
What TCP/IP port does Notes use?
Port 1352
Why are my new C&S entries off by one hour?
Check that you have set observe daylight savings time in the Notes client User Preferences so it matches the observe daylight savings time setting in the operating system. If they don't match, you will be off by one hour.
How do you run Notes in "Kiosk" mode?
Adding "/kiosk" to the Notes command line will bring Notes up without menus. Unfortunately, this clips the top of action buttons currently and you can still use the mouse to grab the Notes window, so it is not as useful as it could be.
This appears to be fixed in Notes 4.61 and above.
How do you make backup copies of created user ID's?
In Notes 4.x, the Escrow Agent allows the administrator to have copies of user ID's, server ID's, and certifier ID's copied to a database automatically whenever you register someone, a server or create a certifier. It also stores the password (encrypted) in the document as well.
1) Create a new person called "ID Repository" or something more descriptive.
2) Modify the NAB person document (ID Repository) "user name" field and append "Escrow Agent" to the field.
3) Restart the server.
4) Set the "ID Repository" mail file to have multiple passwords (so two administrators need to be present to open the mail file).
5) When you create user ID's, be sure to set the password to something obnoxious to type in (not something obvious like "password" so the user will change it.
6) Remind the user that if they create new encryption keys, they should give you back a copy of their ID file with a known password if they want a backup made because the escrowed ID will not have these new keys.
What can be done to optimize database performance?
1. Don't have too many views - each time you change/add a document Notes will need to update every appropriate view.
2. Keep views simple - more columns means more calculation. It gets worse if the columns are sorted and worse still if the columns are categorized.
3. Don't use @Today or @Now in selection formulas - the views will never be up to date and the server will be forever recalculating them. If you need to use today's date in a selection formula then have a background macro running each day to set an environment variable in the server's notes.ini and reference this.
4. If you want to display compound information in a view column from multiple fields then calculate it in a hidden document field. The column should then reference this single field rather than carrying out the calculation.
5. To avoid the @DBColumns/@DBLookups used to generate keyword lists, etc.,
being generated at read time use something like:
@If(@IsDocBeingLoaded & !@IsNewDoc; @Unavailable; @DbColumn(""; ""; "By _Category (Main View)"))6. Use column numbers not field names for lookups
7. If you are doing lots of lookups to multiple columns in a single view then append all of the data in a single column with a unique delimiter string and do a single lookup. The value returned can then be parsed with @Left/@Right/@Mid or @Explode to give you the separate field values.
8. Put 64 Mb of RAM in the server and push the buffer pool sizes to their limits. This is documented in the Knowledge Base.
An IBM Redbook is also available: Performance Considerations for Domino Applications.
A developerWorks article is also available: Troubleshooting Application Performance
This can happen if you have any @DbLookups in fields on the form. Even if you enable users to have Public Access to the form and to the views used by @DbLookup, you will have to give Reader access to the Replica ID in the database to the ACL. For example, you would add an ACL entry of "85255CEB:0032AC04" with Reader access.
How do you make a list of all groups a person is in?
Create view in the NAB with a selection formula of "Select (Form = "Group").
Add the field 'Members' in first column.
In the propeties box for the first column, select sorting type 'categorized' and select 'show multiple values as separate entries'.
In the second column, put the field 'ListName'.
This is not recursive, so it won't show a person in a nested group.
An alternative way (from chowell@epd.renold.com) is to:
1) Load the Name & Address Book D/Base and select the "Groups" view
2) Enable the Search Bar (View, Search Bar) - the NAB has to be full text indexed
3) Key in the name of the person you are seeking - the Groups of which they are a member are identified in the view
or use the search string:
FIELD Members contains "username or groupname"
Declare Function NSFBuildNamesList Lib "NNOTES" Alias "NSFBuildNamesList" _
( Byval S As String, Byval F As Long, hNL As Long) As Integer
Declare Function OSLockObject Lib "NNOTES" Alias "OSLockObject" _
( Byval H As Long) As Long
Declare Sub OSUnlockObject Lib "NNOTES" Alias "OSUnlockObject" _
( Byval H As Long)
Declare Function OSMemFree Lib "NNOTES" Alias "OSMemFree" _
( Byval Handle As Long) As Integer
Declare Function ReadInteger Lib "MSVCRT" Alias "memcpy" _
( N As Integer, Byval P As Long, Byval B As Long) As Long
Declare Function ReadString Lib "MSVCRT" Alias "memcpy" _
( Byval S As String, Byval P As Long, Byval B As Long) As Long
Sub Initialize
Dim session As New NotesSession
Dim x As String
Dim m As String
Dim p As Integer
Dim I As Integer
Dim n As Integer
Dim hNL As Long
Dim GroupCount List As Integer
Dim a As String
Dim abook As NotesDatabase
Dim aview As NotesView
Dim doc As NotesDocument
On Error Goto oops
Set abook = session.GetDatabase("", "names.nsf")
Set aview = abook.GetView("People")
Set doc = aview.GetFirstDocument
Do Until doc Is Nothing
a = doc.FullName(0)
' Get Names List handle (fails on R4)
'On Error Resume Next
NSFBuildNamesList a$, 0, hNL
'On Error Goto 0
If hNL = 0 Then
Print "Failed"
Exit Sub
End If
' Get memory pointer
Dim pNL As Long
pNL = OSLockObject(hNL)
' Get number of entries, skip to first entry
ReadInteger n%, pNL, 2
pNL = pNL + 14
' Read the entries
For i% = 1 To n%
x$ = String$(256, " ")
ReadString x$, pNL, 256
p% = Instr(x$, Chr$(0))
pNL = pNL + p%
If Not p% = 0 Then x$ = Left$(x$, p% - 1)
' each group is listed in x$ in this loop
Next
' Discard the Names List
OSUnlockObject hNL
OSMemFree hNL
'Exit Do
Set doc=aview.GetNextDocument(doc)
Loop
Exit Sub
Why do new documents not show up in views after a recent server crash?
Running UPDALL -R should fix these views. However, this doesn't work all the time.
When a server crashes, views that were marked for re-indexing and were queued for UPDATE tend to not be re-indexed. That can be a lot of views. Apparently they think they're indexed and don't mark themselves to be indexed again.
Tell anyone who thinks something hasn't been updated to do a SHIFT-F9 while in the view that seems affected (not from their workspace).
How do you turn off Notes crash dumps (notes.rip files)?
Disable Quincy (the crash dump program) by renaming the executable, QNC.EXE in the Notes directory. You can also uninstall Quincy using the command line "qnc -u".
How do you keep Notes from being started for mailto URLs?
This applies only to Windows95 and Windows NT (from a MS tech support article).
Set Microsoft Internet Explorer Options
1) In Microsoft Internet Explorer, on the View menu, click Internet Options.
2) On the Programs tab in the Messaging section, click to select Microsoft Outlook as the default mail program, and then click OK.
Set the Mailto Protocol
1) Double-click the My Computer icon.
2) On the View menu, click Options.
3) On the File Types tab click to select, URL:MailTo Protocol from the Registered File Types, and then click Edit.
4) In the Edit File Type dialog, click Edit.
5) Under Actions, click to select Open, and then click Edit.
6) Verify that the "Application used to perform action" reads "<drive>:\<path>\Outlook.exe" -c IPM.Note /m "%1". For example:
"C:\Program Files\Outlook\Office\OUTLOOK.EXE" -c IPM.Note /m "%1"
Set the Notes.ini File Entry
1) Click the Start, point to Find, and then click Files or Folders.
2) In the Named box, type Notes.ini, and then click Find Now.
3) Double-click to open the Notes.ini file in the Search Results window.
4) Type the following line after the [Notes] header:
NotDefaultMailTo=1
Can you use the SMTP MTA over a dial-up link?
If you have a dedicated IP address and don't have to worry about leaving your phone line connected all the time, this is no problem. You just have to set up NT or Win95 to automatically redial if the line gets disconnected. Your system is essentially on the Internet.
However, if you have a dialup PPP account with dynamic IP (what most ISP's provide), it is more complicated. You have do several things:
1) Set up Win95 or NT to automatically dial when your Notes server needs to connect to the Internet. Do this by testing it with MSIE or Netscape.
2) Configure the SMTP MTA. Test sending mail and see if Win95 or NT automatically dials up and sends mail to an Internet address.
3) Ask you ISP to save all your mail in a multidrop POP3 account at their site. Your ISP should virtual host your domain (company.com) and hold all mail going to it. Get a copy of POP3Fido and configure it to retrieve mail (this should cause Win95 or NT to autodial when needed).
If you use OS/2 or are having problems with step (1), it is easier to use a Windows-based proxy such as WinProxy. These proxies can be set up to automatically dial the Internet. An additional benefit of this method is that they will also give your company dial-on-demand access to the web or to Usenet newsgroups.
Notes R4.6 and R5 include dialup SMTP support via the ETRN command. However, it is not documented clearly that your ISP has to give you a static IP address and your ISP also has to support ETRN on their mail server.
The reason this is so complicated is that SMTP is a "push" protocol (in Notes parlance). One of the destination SMTP servers is always expected to be available. Usually, your ISP's will set up their SMTP server as a backup in case your system is down. If you bring up your connection "for long enough", the ISP's SMTP server will send all the mail it has collected for you, but this still requires a dedicated IP address. This technique is not as reliable as a "push" (outgoing mail via SMTP MTA), "pull" (via a POP3 account) technique.
Can I set the default ACL on the N&A Book to Reader?
Notes has been designed to have the default ACL set to Author with no create or delete privileges. Without this, people cannot edit the items in their person document like phone number, location, signature, picture, etc. They also cannot delete the ID file from the N&A book after installation. And worst of all, they cannot edit any groups that they have been given ownership of. You should make the default ACL set to Author (with both delete and create turned off).
Can you keep multiple versions of Notes on the same system?
Yes. On an install of a new version, you should:
1) Put the \Notes directory in your PATH.
2) For major revisions (3.x -> 4.x -> 5.x, etc.), keep a separate copy of the \Notes\Data directory because the Notes internal database format changes between each version; new major versions will upgrade old database versions to the latest which can then no longer be read by the old versions. You can point to the appropriate data directory by editing your notes.ini file; you will only need one per major revision (NoteData.3, NoteData.4, etc.)
3) After the install, move the notes.ini file into the \Notes directory.
4) Before installing a new version, rename the directory of the old version to something else (e.g., \Notes to \Notes.463).
5) Install into the same non-renamed directory (e.g., \Notes), but before doing this, copy your desktop.dsk file into this directory so it can be upgraded if needed.
To use a specific version:
1) Make sure you are not running anything from \Notes (e.g., Notes Single Logon which is nsl.exe, the mail check in R5, the Notes client, etc.)
2) Rename the current \Notes directory to whatever version (e.g., \Notes to \Notes.463) it was.
3) Rename the directory with the version you want to \Notes (e.g., \Notes.50 to \Notes).
4) Start Notes.
You have to keep the same directory structure because in later versions of Notes, there is information in the registry related to OLE automation. If you use separate directories for each version, OLE automation may not function correctly.
With the caveat about OLE automation, you can run multiple versions simultaneously if you:
1) do not put the \Notes directory in your PATH
2) run the nlnotes.exe (or the appropriate executable for your platform be replacing the first character in the filename) instead of running notes.exe
From Olivér Zsigmond (Oliver_Zsigmond@lotus.com) comes this tip on how to run the R5 server locally with multiple clients:
Rename dirs of your existing versions of Notes R3, R4.x as described above.
Move your NOTES.INI into the appropriate NOTES.EXE dir.
Modify the Directory line in NOTES.INI to show the appropriate DATA dir.
Install Domino R5 to \lotus\domino
Install Notes R5 All Clients to \lotus\notes
Both directories will have their own NOTES.INI file and DATA dir.
Start Domino server and complete the setup.
Start any of the Notes clients (R3,R4 or R5) from its directory and you can use the local R5 server. You can stop the client and start any other one without stopping the server. The new rules are that you can start only one client and you can't start the client from \lotus\domino because if you stop this client, it will stop the Domino server as well.
Because of Windows Logo requirements, the \data directory structure in R6 is more confusing. There are some files in \lotus\notes\data underneath where you installed the main \lotus\notes executables, but there are also NSF files and the notes.ini file in "\winnt\profiles\<username>\local settings\application data\lotus\notes\data". You can change to a similiar structure as R3/R4/R5 by moving the files and then changing the Directory attribute in the notes.ini to point to the new directory.
In the registry, you should update the DATADIR value in the "HKEY_USERS\<userid>\Software\Lotus\Notes\Installer" key to point to the data directory you used so that the installer knows how to uninstall and update your current files.
In addition, the following two keys should point to the data directory:
"HKEY_LOCAL_MACHINE\SOFTWARE\Lotus\Notes\6.0\DataPath"
"HKEY_LOCAL_MACHINE\SOFTWARE\Lotus\Notes\DataPath"
Note that this will probably break R6's roaming user support. Installing multiple versions of Notes is something usually done by developers, so this should be a reasonable caveat.
Mike Kemp (MikeJKemp@aol.com) uses this technique for running multiple simultaneous versions on NT/Win2K:
So I could respond quickly to user's 'phone queries I had my desktop 'admin' workstation set up so I could run several Notes clients concurrently.ÿ The OS had to be NT (or W2K) - definitely not W9x.ÿ The set up is along the same lines as in your article, with the difference that the start-up shortcut preferences point to the appropriate nlnotes.exe (rather than the more usual notes.exe) similar to this:
for R4.5 client :-ÿ C:\NotesR45\nlnotes.exe =D:\NotesR45\Data\notes.ini
for R4.6 client :-ÿ C:\NotesR46\nlnotes.exe =D:\NotesR46\Data\notes.ini
for R5.x client (my main admin tool):- C:\R5Client\Notes.exe =D:\R5Client\Data\notes.ini.
and even (as an experiment):- C:\NotesR33\_lnotes.exe =D:\Notes33\Data\notes.ini.
Note that the R5 shortcut pointed to the Notes.exe and MUST be started first.
With this structure in place I could <Alt>+<Tab> between the various clients at will and so be able to 'talk my callers' through a problem quite rapidly.ÿ I could also check the operation of a database development intended for the environment.
The only drawback was the occasional entire machine 'lock-up' if I tried to use the Admin console in more than one client at a time - but this did not affect the servers.
I have not had the opportunity yet to try out this procedure involving ND6.
Can you add a database icon which launches a program?
There are several things you can do to run programs from the Notes desktop:
1) Use a smarticon or a button to launch a program:
@Command([Execute]; "D:\\dir\\subdir\\executable.EXE"; "parameters")
2) If you are running a program, add this to the PostOpen event of the database script:
Sub Postopen(Source As Notesuidatabase)
Dim taskId As Integer
taskId% = Shell("CALC.EXE", 1)
End Sub
Sub Postopen(Source As Notesuidatabase)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.EditDocument(0)
End Sub
What programs will back up Notes databases without needing a Notes server shutdown?
Cheyenne ArcServe has a Notes agent which lets it back up open databases. The agent requires a "work area" of the size of your largest Notes database because it creates a replica of a database into a separate directory before backing up that database.
Tivoli TSM (formerly IBM's ADSM) will back up open files and can back up databases incrementally.
Veritas's Backup Exec with the Open File Option (they also have a Domino agent).
Quadratec's Time Navigator can do full and incremental backups
Unix's tar (and ports of it to other platforms like NT and OS/2) will back up open files.
How do you change the mail file design to use the Notes 4.5 mail template?
If you would like to convert all the user mail databases at once, do this:
load convert mail\*.nsf StdR4Mail mail45.ntf
This replaces the databases using the StdR4Mail template with the template in the mail45.ntf file.
However, this will delete all the user's private views or folders unless you tell the users to look at the properties on each of their private views and folders and make sure that "Do not allow design refresh/replace" is selected for each of these.
If you add the "-s" parameter, it will preserve any changes a user has made to the design:
load convert -s mail\*.nsf StdR4Mail mail45.ntf
How do you minimize Notes rollout cost?
If your application is just an information publication application, look at the Notes to Web publishing programs and the Domino support built into Notes 4.5. This approach will also allow your Notes information to be published to all Internet/Intranet users. More information on these programs can be found here.
If you just want to use the Notes applications which are bundled with Notes Express (now known as Notes Mail), using Notes Express from Lotus will let you deploy Notes for approximately $50 per seat in quantities. Any custom applications that use the Lotus API directly can also be run from Notes Express.
If you wish to develop custom applications, but not allow most users to develop applications, Notes Desktop is a run-time version which available for $79 per seat in quantities.
Finally, if your users will always be using web browsers and POP3 clients, user licenses are only $30.
The latest pricing information is here.
How do you get rid of all the deletion stubs in a database?
All document deletion stubs in a database can be purged by selecting File/Database/Information/Replication and setting the cutoff date ahead two days. Once this is done, the deletion stubs are purged immediately.
NOTE: Depending upon the Notes platform, it may also be necessary to set the purge interval to one day as well as setting the cutoff date ahead. This is not required for all Notes platforms.
How do you upgrade the max size of a database?
If you initially created a database with a maximum size of 1GB or 2GB, you can increase the maximum database size to 4GB by executing this command at the server console:
load compact <filename> -M
where <filename> is the file name of the database relative to the data directory.
Can you automatically spellcheck email that is sent?
Add a "Personal Preferences Profile" in the e-mail template with a field to enable/disable automatic spell checking. Then, modify the Send & Send & File actions in the Memo; Reply; & Reply with History forms with the following code (add it to the beginning of the other code in the actions):
speller:=@GetProfileField("PersonalProfile"; "AutoSpellCheck");
@If(speller="Yes";@Command([EditGotoField];"Body") & @Command([EditSelectAll]) & @Command([ToolsSpellCheck]);"");
How do you get Notes to rebuild corrupted views?
From the server window, run:
load updall dbname -C load updall dbname -R
Dbname is optional. If omitted it will operate on all db's.
-C builds indexes for all views that have not already been built.
-R rebuilds indexes for all views that have already been built.
Who can I call to find my local reseller and licensing information?
You can call Lotus at 1-800-782-7876 in the United States.
How do I get rid of the "Can't open view $DirectoryAssistance" error?
This was a feature added in Notes 4.5 to enable servers to provide a single person/group directory for multiple Notes domains. However, it is a common mistake to put the standard names.nsf file in the Master Address Book field of the server document. The result is the error message above.
To correct this problem, either remove names.nsf from this field, or create a new database named mab.nsf from the mab.ntf template and put mab.nsf in this field. If you really do have NABs for multiple domains on your server, you can set up Directory Assistance as specified in the on-line help.
Can you check for mail without leaving Notes running?
These are freeware utilities that let you do this in Windows.
CMS Mail Monitor
This program shows the mail sender and lets you enter a selection formula for which mail will trigger popups. It is available
here.
Alert!
There is also a non-free Professional version which is able to monitor any database on any server you like and shows the number of unreads of each database in a window. The demo version is available
here.
Mail Monitor
This is not a freeware utility. It is available from Rein&McBride.
NotesAlarm
This is freeware, but only runs on Win95. It is available from Polo Sardinaloil's web page.
WinBiff
This is shareware and is available from the WinBiff home page.
Notify for Notes
Checks for new mail, alarms, and allows you to create new messages. From AW Soft.
How do you fix the Mail Archiving Agent so it keeps documents in the right folders?
There is a sample modified database on The View's web site. What it does is create a categories field with a list of the folders the document belongs in so it can carry the folder location information with the document when it is moved into the archive.
Pawel Bartuzi (pawel.bartuzi@kir.com.pl) suggested fixing Lotus' archiving agents instead.
Modifications made to mail archiving agent ("Periodic Archive", Notes 4.6.5):
In the Declarations section added:
'PB start Dim strlstFolders_g List As String 'PB end
'PB start
Dim doc_l As NotesDocument
Dim strUNID_l As String
Dim lngCount_l As Long
Forall a In dbSource.Views
If a.IsFolder Then
If (Not a.Name Like "(*)") Or (a.Name = "($Inbox)") Then
Set doc_l = a.GetFirstDocument
Do While Not doc_l Is Nothing
strUNID_l = doc_l.UniversalID
If Iselement(strlstFolders_g(strUNID_l)) Then
strlstFolders_g(strUNID_l) = strlstFolders_g(strUNID_l) & ";" & a.Name
Else
strlstFolders_g(strUNID_l) = a.Name
lngCount_l = lngCount_l + 1
If Not session.IsOnServer Then Print "Reading documents... " & a.Name & " - " & lngCount_l
End If
Set doc_l = a.GetNextDocument(doc_l)
Loop
End If
End If
End Forall
'PB end
'PB start If Not session.IsOnServer Then Print "Checking documents... " & i & " of " & numDocs 'PB end
'PB start
Dim strFolders_l As String
Dim strFolder_l As String
Dim intPos_l As Integer
If Iselement(strlstFolders_g(docSource.UniversalID)) Then
strFolders_l = strlstFolders_g(docSource.UniversalID)
intPos_l = 0
Do While Not Len(strFolders_l) = 0
intPos_l = Instr(1, strFolders_l, ";")
If intPos_l = 0 Then
strFolder_l = strFolders_l
strFolders_l = ""
Else
strFolder_l = Left$(strFolders_l, intPos_l - 1)
strFolders_l = Right(strFolders_l, Len(strFolders_l) - (intPos_l))
End If
Call docArchive.PutInFolder(strFolder_l)
Loop
End If
'PB end
Remarks:
- Further optimizations can be done to minimize the size of the strlstFolders_g list by creating something like a "folder dictionary": then only folder IDs would be put in the list, it could be beneficial on very large mailboxes with very long folder names.
- Modifications to the "Archive selected documents" agent are basically the same, with the exception that some global variable names differ (docSource->note, docArchive->newnote, session->s, dbSource->sourcedb), also you have to be more careful where you place modifications as there are fewer procedures in "Archive selected..." than in "Periodic Archive" and they are longer.
How do you manage ACL information across an organization?
Notes R4 allows you to set a database's properties so that ACL's are consistent across all replicas.
Notes R5 has built in tools for updating the ACL's across multiple databases.
Percussion Software has a product called Server Admin Plus that will also let you manage and audit ACL information.
Candle also has a system administration tool.
IVES Technologies has a product called ACL Reporter Updater which is a platform independent administration tool that provides security management for enterprise-wide Lotus Notes/Domino networks.
Can fields be added to the N&A Book?
There's no problem with adding fields and views, but don't change anything that is pre-existing. Do all your work in a template, and be very careful with the management of that template. There are two dangers:
(a) losing your modified template due to inadvertant replication from a newly installed server that has a standard NAMES.NTF that is newer than your custome version, and
(b) having two different templates for the NAB on different servers such that $DESIGN on each server re-inherits conflicting designs every night causing a "Design Storm" that can bring your whole network down.
Do not name it NAMES.NTF, or it may be overwritten by a software upgrade. Make sure that the template name is not the default (StdNotesAddressBoook). You can either make it a replica of the original NAMES.NTF, or a copy.
If it is a replica, be sure to remove the original, be sure to let it replicate to all servers, and be especially sure that any time a new Notes version is loaded that you merge any changes in the new version's NAMES.NTF into your template and then delete that NAMES.NTF from your server before you allow the upgraded server to replicate with any other server.
If it is a copy instead of a replica, it is best that you uncheck the setting that allows replication of the template name for your NAB and make sure that only one server in your organization is set up to inherit the NAB design from your modified template.
Just for insurance it might be a good idea to use the ACL or selective replication to insure that your main hub server never accepts NAB design changes from any other server.
For Notes R4 and R5, the preferred way of adding fields to the NAB is to use subforms.
How do you make the infobox reappear if it doesn't show up?
From Lawrence Wagner (lwagn2@dwp.ci.la.ca.us):
METHOD #1:
Using the keyboard:
1. Select File, Database Properties.
2. Hold down the ALT key and press the spacebar.
3. If a menu appears, select Move. If not, type the letter "m".
4. Use the arrow keys (i.e., the up arrow) on the keyboard to move the InfoBox back onto the screen. You should eventually see a dotted line in the form of a rectangle. Once you do, press ENTER. The InfoBox will reappear on the screen.
METHOD #2:
The NOTES.INI variable that is responsible for the position of the InfoBox on the screen is:
Win32InfoboxPos=
If you cannot find the InfoBox, modifying the values in the NOTES.INI to will also make it reappear. The values in this parameter refer to x, y coordinate locations. By changing these to numbers that fit within the pixel resolution (for example, 800x600), the InfoBox will reappear. Examples:
Win32InfoboxPos=441 79
Win32InfoboxPos=333 261
Can you open a database automatically when Notes starts?
You can set this via an option in Notes' User Preferences.
How do you change the available letterheads in mail?
Letterheads are stored as "Subforms" in your mail database. Mail then uses them on the memo form as a computed subform. The action that allows the user to choose one of the letterheads, adds their choice to an environment variable called "DefaultLogo."
To change the letterhead, you need to add the subform - then add the subform to the form "Letterheadchooser" so it can be selected. The changes do need to be applied accross the organization, otherwise if a recipient does not have the subform they will get an error message on opening your mail "Subform xxxx not found".
An easier way to create a custom Letterhead for you or your users is to create personal stationary instead. It will allow you to create a message and use it as much as you want. With this you get a rich text field at the top of the and bottom of your memo. This stationary template will reside in the drafts folder.
How do you change the Lotus SMTP MTA space replacement character to '.'?
This line should be added to your notes.ini file:
SMTPMTA_SPACE_REPL_CHAR=.
How do you put a Notes Database on a CD?
From Glenn.Thibert@thehartford.com:
The following steps are necessary to put a database onto a CD or other read-only media:
1. Select the database and choose Design - Views and make sure that all views are unhidden (i.e. do not have parentheses around their names). It is important to temporarily unhide the hidden views so that the view indexes for these views can be created (see Step 2 below).
2. Open the database and press CTRL+SHIFT+F9. This key combination will rebuild all of the views in the database. This includes both open and hidden views, as well as server-based or local databases. It is important to build the view indexes before copying the database to the CD or other read-only media as, if they are not created and stored in the NSF file prior to adding it
to the read-only media, Notes will attempt to create them and will not be able to because it cannot write to the media.
Note: If a view is not built, pressing CTRL+SHIFT+F9 will cause Notes to build the view. If the view is already built, pressing CTRL+SHIFT+F9 will cause Notes to update the view, not rebuild it.
3. Create the full-text index for the database if you intend for the database to be queried using Notes' full-text indexing capabilities. You can do this using the File - Full Text Search - Create Index command. This index must be created prior to putting the database on the read-only media for the same reason described for view indexes in Step 2 above.
Note: Most CD mounting software conforms to the ISO 9660 standard which does not allow for periods in directory names. When creating full-text indexes in Notes, it by default creates a directory with the extension .FT (period - FT) which is against the ISO 9660 regulations. For example, if your database is called DATABASE.NSF, then Notes will create a subdirectory called \DATABASE.FT underneath the directory which contains the file DATABASE.NSF.
To workaround this issue, do the following
a. Create another directory which has the same name as the database, but with no extension (i.e. \DATABASE instead of DATABASE.FT). This new directory name must be the same as the database name.
b. Copy all of the files created for the full-text index from the original directory into the new directory.
c. Delete the full-text index files from the old directory name (the name with the .FT extension) and remove the directory from the system.
Notes will now see the new directory and use the full-text index files inside of it. It does not require the .FT extension to be on the directory name. The .FT is only used as a naming convention when creating the directory for full-text indexes so that those directory names wouldn't show up along with the other directory names in the File - Open Database dialog box.
4. Do an operating system level copy (such as using the DOS or OS/2 COPY command) of the .NSF file from the writeable media which you are currently using onto the media which will be used to press the CD or other read-only media. Be sure that you do an operating system level copy during this step and not a File - Database - Copy from within Notes as using Notes to copy the
database will remove the view indexes.
Also, be aware that Notes databases on a CD can only be viewed by the same major version of Notes that the Notes database was indexed with. The view index and full text index are improved with each major version, i.e., R5 can't read R4 DB on CD, etc. To work around this with old CDs you may still want to view, you can copy the .nsf file to your local system, follow the procedure above, then copy all the files onto a new CDR because CDRW drives are so inexpensive now.
What is involved in deploying Notes to International users?
From a posting by
Kevin Urbanek:
"There are some questions you will need to answer before a decision can be made. First the legal stuff. Legally, a NA ID file can not leave the US or Canada (unless the US State Dept grants you an exception). NA Notes servers can talk to Non-NA Notes servers just fine with one exception, encrypion keys (all keys would need to be International for them to be used worldwide). Note that not all countries allow encrypted data or have rules/laws governing encryption.
Some questions:
1. Do your applications and/or users use encryption regurally? BTW: make sure to check out encryption laws in the different countries (France,Russia South Korea and others have laws governing encryption and the keys)
2. Do your users travel internationally? (i.e a NA Notes ID travels to Europe)
If you want to keep your NA setup that you currently have, when you setup the International users/servers, you will need to create a new Organizational certifier that is International. Even though you can create an International ID from a NA certifier, this International ID still carries enough of the NA encryption info (I do not know exactly what part) to make it illegal to export. So, you would end up with 2 Organizational certifiers, which means you need to cross certify the organizations. You can still use one Domain if you wanted. Depending on number of users, you may want to look at 2 Domains, one NA and one International.
If you answered "Yes" to the above questions, then you might want to think about migrating to World Wide Security (International version) or appy to the US State Dept. for an exemption. If you look to migrating, make sure you plan the migration of IDs and also review the Notes applications you have for encyption and sections. If you keep the naming conventions you have in place, Reader and Author names should not be a problem."
How do you create a database that is usable as an address book for name lookup?
You only need to have the views ($Users), ($PeopleGroupsFlat), and ($PeopleGroupsHier) in your database. You also need the ($NamesFieldLookup) view if you want people to be able to begin typing the name in the To: field and have Notes find it automatically in the address books and fill in the rest.
In the person form, you must include the following fields:
FirstName (Type: Text) LastName (Type: Text) FullName (Type: Names) MailAdress (Type: Text) Type (Type: Text) with default value "Person"
How do you move databases onto a different drive without the user knowing about it?
You can use a directory link to put all the databases into what the user sees as a subdirectory in the Notes client. In the Notes data directory, create a file named <subdir>.dir where <subdir> is the name of your subdirectory. The first line in the file is a directory name which can include a drive letter (e.g., "e:\data2"). Lines after the first line are hierarchical names for people that can go through this directory link ("e.g., */MyCompany") so you can use directory links as a security tool.
You can also use a database link. To do this, move the database to your new directory. In the Notes directory where the database used to be, create a file with the same filename as the old database. In this file, put the path to the new location of the database (e.g., "e:\data\db.nsf"). When Notes accesses this file, it will automatically look for the database using the path you specify.
If you are using OS/2, you can install the Toronto Virtual File System (TVFS) from one of the many OS/2 ftp archives. This file system allows you to merge directories and files into a "virtual" directory that you can then use for the Notes data directory.
Note that all of these methods will slow down file access a little, but the slowdown should be negligible.
[<a name="NT00000FC2">How can I use a POP3 client, such as Netscape or Eudora, to
access my mailbox in Notes?</a>]
There are two parts to this:
1) On the server, load the POP3 Server task with "load pop3"; you can also add it to your "TASKS=" line in your notes.ini file if you'd like.
2) Create a person document for the user and fill in the HTTP/Internet password. The user will have to log in using their user name (fully qualified if you specify a Notes domain) and this password in their POP3 client.
Note that even if these users do not have a Notes ID, there is a Lotus per user charge of $30 for each Domino/POP3 mail user.
How do you unhide a database design?
There are a lot of ways to do this in Notes 3.x, but here are a few:
1) If you have multiple servers, copy the database from one server to another. This will unhide the design in the new copy. The database will still show as hidden, so change the name to a template file(ntf) and create a new database from this template. This will insure the database is truly unhidden.
2) Make the locked database a design template. Create a new database. New database inherits design from template. Refresh design from template.
3) Modify a byte in the .nsf file; this is typically done to hack an application that was sold, so this technique will not be described here.
Lotus provides a database Hide Design tool (implemented in Notes 4.x and 5.x) that secures the database design more thoroughly. It is not possible to unhide a database design in these later versions of Notes without the original unhidden template; i.e., you can't unhide it by modifying a few bytes in the .nsf file. In addition, if the original design included LotusScript files from the file system when an agent or design element was saved, you'll need these files in the right directories to modify the corresponding agent or design element.
How do you prevent groups from being expanded when sending mail?
The group expansion only happens for groups in your personal NAB. You can do the following to disable this expansion when sending mail:
Modify your memo form to include a hidden field named "ExpandPersonalGroups" with Text type and Computed when Composed with a value of "0". This will cause personal groups to NOT be expanded. Changing the value to "1" will cause the groups to expand.
The other solution is to use group alias names, but this technique only works in R3.x. For example, if you have a group named Managers make it Mgrs;Managers instead. Aliases are not expanded. That way, if you want it to NOT expand send the memo to Managers. If you DO want it to expand them, send it to Mgrs.
How do I get rid of the encap2.ond attachment on outgoing Internet mail?
These attachments are used to send Notes rich-text-format messages to other Notes users across the Internet.
In the SMTP MTA section of your server document, set the Message Content field to "Users without Lotus Notes"; you probably have this set to "Users with Lotus Notes". Your users can still manually send fully-formatted messages to Notes users via Internet mail by using Actions/SpecialOptions when creating a new mail message.
How do you shut the server down for backups?
If you are running Notes as an NT service, look at this FAQ instead.
You can use the following command to tell the Notes server to shut down:
notes server -quit
After your backup is complete, issue this command to restart the Notes server:
notes server
What Netware address does a Notes server use?
When using SPX, the server advertises with a SAP (Service Advertising Protocol) address of hex 039B.
Can you synchronize unread marks if a user has multiple machines running the Notes client?
Yes, put this in the notes.ini file on all the client machines you use:
REPLICATOR_SYNC_UNREAD=8
This will synchronize unread marks once every 8 hours. This can slow down replication a lot and only works on Notes 4.13, 4.51 and higher. The problem is fixed in Notes 4.6 and above, so you won't need this setting.
Another technique the user can use is the following:
1) Unstack the replica icons under the view menu.
2) Select the two databases on the workspace by clicking w/ the Shift key depressed.
3) Choose Edit/UnreadMarks/ExchangeUnreadMarks.
How do I add additional N&A books to the address lookup dialog?
In your notes.ini file, you should modify the line that reads "Names=NAMES.NSF" to read "Names=NAMES.NSF,MYNAMES.NSF". This will cause Notes to look up names in both the NAMES and MYNAMES N&A books.
How do you change the password on the Certifier ID?
Click File/Tools/ServerAdministration from the menu.
Click Administration/IDFile from the menu.
Select the Certified ID.
Click Set Password.
Are there any large-scale deployment guidelines?
For large-scale Notes deployment, standards should be defined for:
Notes network topology & replication strategy
Hardware and software configurations
Hardware and software installation guidelines
User, group, and server naming scheme
Notes mail integration strategy
Notes & non-Notes data integration strategy
Server management guidelines
Operations guidelines
Security and ACL guidelines
Application design guidelines
Application implementation guidelines
Training guidelines
Support guidelines
Staffing requirements
Group naming standards
ACL standards
Database location standards
Establishing test, development and production environm