|
|
80. How do you create a framed page with a navigator in one frame?
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.
What Virus scanning packages are available for Notes?
McAfee's GroupShield and GroupScan
Trend Micro's ScanMail for Lotus Notes
Group-WG's WatchDog
Cheyenne's InnocuLAN for Notes
Symantec's Norton Antivirus for Notes (NT only)
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.
[<a name="NT00000C06">
How do you run Notes in "Kiosk" mode?</a>]
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.
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.
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.
First, in your Notes.INI file add the setting
NotDefaultMailto=1
The difficult part is restoring the previous value for this setting in the registry. You can do this by :
1. Re-installing your mail client.
or
2. In your NOTES.INI there should be a setting OldRegKey_MAILTO this should contain the previous setting for the registry key HKEY_CLASSES_ROOT\mailto\shell\open\command. Using regedit, you can
restore the previous value. ONLY USE THIS METHOD IF YOU ARE FAMILIAR WITH USING THE REGEDIT UTILITY.
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 adds dialup SMTP support. 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.
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.
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).
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.
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.
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"
[<a name="NT00000FBA">
How do you move databases onto a different drive without the user knowing about it?</a>]
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 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.
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 environments
Name and Address Book control
Centralization or distributed ID creation
Replication strategy
How do you update the SmartIcons on all your users' workstations via LotusScript?
If you put the following code in a button in an email message and attach all the icon files to the same message, your users can update their SmartIcons by simply clicking on the button when they receive the email:
'======================================================================
' Code Documentation
'======================================================================
'Originally Written By: James Fox @ Com Tech Communications
'Originally Created On: 1/3/97
'Last Updated By: James Fox
'Last Updated On: 1/3/97
'======================================================================
' Declare Variables
'======================================================================
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitem As Variant
Dim iconPath As String
Dim retvalue As Variant
Dim fileName As String
On Error Goto errorRoutine
'======================================================================
' Warn User what is going to happen
'======================================================================
x = Messagebox("SmartIcon Installer is about to setup the new Com Tech SmartIcons. Your current universal SmartIcon set will be overridden with the new SmartIcon set. Your original set will be backed up to a file called universe.bak. Press OK to Continue", 1 + 64 + 0 + 0,"SmartIcon Installer")
If x <> 1 Then
x = Messagebox("SmartIcon Setup has been Aborted Thank you.",0 + 48 + 0 + 0,"SmartIcon Setup")
End
End If
'======================================================================
' Get and Set Icon Path
'======================================================================
iconPath = session.GetEnvironmentString("WinNTIconPath", True) + "\"
Chdrive Left(iconPath,3)
Chdir iconPath
'======================================================================
' Backup current universal Set
'=====================================================================
fileName = Dir$(iconPath + "universe.bak", 0)
If fileName <> "" Then
Kill iconPath + "universe.bak"
End If
Name iconPath + "universe.smi" As iconPath + "universe.bak"
'======================================================================
' Detach Files in memo (overwriting existing files)
'=====================================================================
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set rtitem = doc.GetFirstItem( "Body" )
notesEmbeddedObject = rtitem.EmbeddedObjects
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
objectName = o.Name
fileName = Dir$(iconpath + objectName, 0)
If fileName <> "" Then
Kill iconpath + fileName
End If
Call o.ExtractFile(iconPath + objectName )
End Forall
End If
'======================================================================
' Notify User of SmartIcon Installer Status
'=====================================================================
x = Messagebox("SmartIcon Setup has completed Successfully. Your original smartIcon set has been saved as Universe.bak. Please close and restart Lotus Notes to use your New SmartIcons",0 + 64 + 0 + 0,"SmartIcon Setup")
End
'======================================================================
' This is the general error routine
'=====================================================================
errorRoutine:
x = Messagebox("SmartIcon Setup is Incomplete. Please advise MIS via e-mail. Thank you.",0 + 48 + 0 + 0,"SmartIcon Setup")
Name iconPath + "universe.bak" As iconPath + "universe.smi"
End
End Sub
How do you add Quoted Reply support to Notes' mail templates?
Quoted replies let you precede each line of the mail you are replying to with a ">"; it is a standard way of indicating what you are replying to when replying to Internet mail (similiar to how people use color to indicate their replies in Notes). Here is a button you can add to the forms of the standard mail templates. Add an Action Button called "Quoted Reply" to the following forms: Memo, Reply, Reply with History. This button is hidden when: Previewed for reading, Previewed for editing, Opened for editing. The limitation is that it can only quote up to around 15K worth of text because of LotusScript's limitation with GetFormattedText.
Put the following script in the Click action:
Sub Click(Source As Button)
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim uidocReply As NotesUIDocument
Dim rtitemBody As Variant
Dim sBodyOriginal$
Dim sBodyConverted$
Dim vntMailDbFile,vntMailDbServer
Set uidoc=uiws.CurrentDocument
Set doc = uidoc.Document
Set rtitemBody=doc.GetFirstItem("Body")
sBodyOriginal=rtitemBody.GetFormattedText(False,0)
vntMailDbServer=Evaluate("@Subset(@MailDbName;1)")
vntMailDbFile=Evaluate("@Subset(@MailDbName;-1)")
Set uidocReply=uiws.ComposeDocument(Cstr(vntMailDbServer(0)),Cstr(vntMailDbFile(0)), "Reply")
sBodyConverted=ManipulateReplyText(uidoc, sBodyOriginal)
Call uidocReply.FieldSetText("Body", sBodyConverted)
End Sub
Function ManipulateReplyText (Source As NotesUIDocument, body As String)
'Adding > to the begining of each line of the "History text" and
'Aligning the text Left (wrapping)
Print "Formatting ""History"" text"
Dim bd As Variant
Dim note As NotesDocument
Dim Header As NotesItem
Dim dateItem As NotesItem
Dim InFrom As NotesName
Dim GetInternetFullName$, HeaderString$, pos%, tmpString$, pos1%, dont%,tmp$
Dim y%, x%, b%, xx%, xb
Set note=Source.Document
'dividing the text to lines and addding the > sign
If note.hasitem("$AdditionalHeaders") Then
'starting here: inbound messages seem to have $AdditionalHeaders
Set Header=note.GetFirstItem("$AdditionalHeaders")
If Header.values(0) = "" Then
'GetInternetFullName=note.InheritedFrom(0)
GetInternetFullName=note.From(0)
Goto Continue
End If
Else
If Not note.HasItem("tmpAdditionalHeaders") Or
note.tmpAdditionalHeaders(0)="" Then
'GetInternetFullName=note.InheritedFrom(0)
GetInternetFullName=note.From(0)
Goto continue
End If
Set Header=note.Getfirstitem("tmpAdditionalHeaders")
End If
HeaderString=Header.values(0)
pos=Instr(HeaderString,"From: ")
tmpString=Mid(HeaderString,pos+6)
pos1=Instr(tmpString,"<")
If pos1=0 Then 'The full name will appear in (...)
pos1=Instr(tmpString,"(")
tmpString=Mid(tmpString,pos1+1)
pos1=Instr(tmpString,")")
GetInternetFullName=Mid(tmpString,1,pos1-1)
dont=True
Goto Continue
End If
tmpString = Mid(tmpString,1,pos1-1)
pos=Instr(tmpString,|"|)
If pos<>0 Then
tmpString=Mid(tmpString,pos+1)
pos=Instr(tmpString,|"|)
GetInternetFullName=Mid(tmpString,1,pos-1)
Else
GetInternetFullName=tmpString
End If
Continue:
Set InFrom=New NotesName(GetInternetFullName)
' and starting here: I found that inbound messages had a PostedDate item, Not tmpSentOn
If note.HasItem("tmpSentOn") Then
postDate = note.tmpSentOn(0)
Else
Set dateItem = note.GetFirstItem("PostedDate")
postDate = dateItem.Text
End If
tmp="On " & postDate & note.tmpSentOn(0) & " " & InFrom.Common & "
wrote:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & ">"
y=1
b=1
For x=1 To Len(body)
xx=Asc(Mid(body,x,1))
If x<>Len(body) Then xb=Asc(Mid(body,x+1,1))
'Now that we know the current and the next characters we can consider whether they will cause a line feed, so we can insert our ">".
If xx=10 Or xx=13 Or xx=11 Or xx=12 Then
'if this combination occurs then we skip the next one so we don't LF twice.
If xx=10 And xb=13 Or xx=13 And xb=10 Then
x=x+1
tmp=tmp & Chr (xx) & Chr (xb) & ">"
Else
tmp=tmp & Chr(xx) & ">"
End If
b=1
Else
tmp=tmp & Mid(body,x,1)
b=b+1
End If
Next
ManipulateReplyText=tmp
End Function
Why won't the incremental installer work?
This typically happens if you install Notes/Domino optional components inconsistently. E.g., you installed Notes 4.61 with Advanced Services, but then you didn't with 4.62. When you try to install 4.63, it detects some old files from the 4.61 install that are not at the 4.62 level (failing a checksum). You can see which files these are by looking at the UPGRADE.LOG file in the Notes directory. Usually, you can keep deleting these old files and re-running the incremental installer until it works (the installer stops when it detects the first file that fails the checksum).
How can you have multiple users on one workstation?
Each user has to have a separate notes.ini file and desktop.dsk file. There is a freeware utility called SmartSwitcher that does all this for you and provides a nice user interface. It can be picked up by clicking
here. This only works for Notes 3.x
A few settings (like workspace textured background) are not preserved for Notes 4.x users in SmartSwitcher. There is a commercial utility named MultiUser Logon Utility from Rein&McBride that does handle Notes 4.x.
Another commercial utility that reads the ID files from a database is SwitchID from Sollazzo Consulting.
You can also use location documents in Notes 4.x and higher. Important caveats: 1) users share the same desktop so one user can rearrange icons/bookmarks and totally confuse the other users, 2) they will get false "you have new mail" indications, and 3) the user ID files for all the users will be in one location.
Here are some tips from Laurence Wagner (lwagn2@dwp.ci.la.ca.us) on how to do this:
Do a normal install for the first user, then do the following:
1. Change the User Preferences
Select File / Tools / User Preferences from the menu.
In the Navigator panel, with icons labeled "Basics, International, Mail, and Ports", click on Basics.
There are four check boxes to the immediate right of the Basics icon. Select the box labeled "Prompt for location".
Now when Notes is re-started, it will prompt the user to select a named location document. The original location documents given with Notes are named for a variety of network connections that these users will not need to use, but do not delete them.
2. Copying the Notes ID files to the Workstation
Get these files from your Notes admin. These can go to the Notes\Data directory or a network drive, as long as it will be available to your users. Once on the workstation, each person should log in and reset their password from the default value. This can be done after the location documents are created for each person.
3. Add an action button, labeled "Make Location Doc", to the People view of the LADWP Name and Address Book. Switch to the user's ID file before you run this. The code for the button is as follows:
Sub Click(Source As Button)
Dim session As New Notessession
Dim notesdirectory As String
notesdirectory = session.GetEnvironmentString( "Directory", True)
Dim keyfilename As String
keyfilename = session.GetEnvironmentString( "KeyFilename" , True)
Dim whois As String, realwho As String
Dim workspace As New NotesUIWorkspace
Dim doc As NotesUIDocument
Dim uidoc As NotesUIDocument
Set uidoc = workspace.EditDocument(False)
Dim item As NotesItem
Dim first As String, last As String, mailserver As String, mailfile As String
Dim mailserver1 As String, mailfile1 As String
Dim short As String
Dim short1 As String
Dim udir As String
Dim full As String
Dim ppass As String
Dim thisdb As NotesDatabase
whois = session.CommonUserName
realwho = session.UserName
Set thisdb = session.CurrentDatabase
Set uidoc = workspace.EditDocument(False)
first = uidoc.FieldGetText("FirstName")
last = uidoc.FieldGetText("LastName")
short = uidoc.FieldGetText("ShortName")
mailfile = uidoc.FieldGetText("MailFile")
spaceposition = Instr(1,mailfile, "\")
short = Mid( mailfile, spaceposition + 1)
mailfile1 = "mail\\" + short
mailserver = uidoc.FieldGetText("MailServer")
If first <> "" Then
full = first + " " + last
Else
full = last
End If
Call uidoc.Close
Print "got Person data"
' Build new rec
'
Set uidoc = workspace.ComposeDocument ( "", "names.nsf", "Location" )
Call uidoc.FieldSetText("Name",full)
udir = notesdirectory
short1 = keyfilename
Call uidoc.FieldSetText("Userid", udir + "\" + short1)
Call uidoc.FieldSetText("Domain","LADWP")
Call uidoc.FieldSetText("DST","1")
Call uidoc.FieldSetText("Enabled","0")
Call uidoc.FieldSetText("NameLookupPref","2")
Call uidoc.FieldSetText("ExhaustiveNameLookup","1")
Call uidoc.FieldSetText("Images","0")
Call uidoc.FieldSetText("LocationType","0")
Call uidoc.FieldSetText("MailFile", mailfile)
Call uidoc.FieldSetText("MailServer", mailserver)
Call uidoc.FieldSetText("Source","*")
Call uidoc.FieldSetText("TimeZone","8")
Call uidoc.FieldSetText("WebRetriever","Netscape Navigator")
Call uidoc.Save
Call uidoc.Close
'
' Add the mail database to the workspace
'
If whois = full Then
spaceposition = Instr(1, mailserver, "/")
If spaceposition = 0 Then
spaceposition = 30
End If
mailserver1 = Left$( mailserver, spaceposition - 1)
Call workspace.AddDatabase( mailserver1 , mailfile1