Scenario: you wanted to test Lotus Traveler so Traveler was set up to an existing Domino server at the time, or even the only server you had. Now you want to move it out to another server, as the Traveler workload is heavy, better performance is the goal and/or to eliminate the risk of Traveler issues* affecting your other service(s) on the machine, example it’s your iNotes server as well.
The need is to minimize user intervention on mobile devices moving to new dedicated Traveler server.
*) Heads up: Banned documents and Repeated Crash Protection for Lotus Notes Traveler: “By default the repeated crash protection is enabled and set to detect and ban a document after the second crash“.
Ok – so if you can keep your host name and IP address for Traveler you are good to go ahead to do a machine swap, refer to “Moving Traveler to a new server” on the Notes/Domino wiki for more information.
But what if you can’t keep IP address/hostname – reason being host name that ended up in Traveler profile is the same name as your iNotes server, it is home server for Notes users and you did not use another virtual web server host name for Traveler. So basically you have a lot of dependencies to your host (might even have the same host name as Windows computer name) – some examples:
- Thru iNotes redirect application and Mail server redirect setting web mail users need to end up on “server1.acme.com” (and that’s the same as in the Traveler profile) – evens if it’s thru “webmail.acme.com”.
- You have other Notes applications and services on the server besides Notes/iNotes mail.
- Integration to other systems.
Okay – so changing host name of Traveler server is it possible to do this without touching all existing devices – yes, if you have a reverse proxy it is. The proxy would use the existing host name and then pass (not redirect back to the device via 302) the request to the right server. This would avoid having to change the host name on the devices. It does add another component into the system for Traveler and iNotes so maybe this is not possible (due to the extra expense and administration etc.) – but it also is very useful, and a requirement if you want to have high availability for Traveler.
But is there another solution using redirects, modified IWAREDIR.NSF and/or “External URL” Traveler setting?
For the sake of argument, let’s say creating a redirection rule as if the resource requested by the URL had moved to another location (which it has – right). Even if it works – do you really want the dependency for Traveler users to the old server plus the extra load on HTTP crunching all the Traveler requests? I would not recommend it.
I checked with Traveler development team and they also responded:
“The Apple iOS devices will not tolerate the HTTP 302 redirect that is proposed. Most of the requests are POST, and the device will respond to a 302 redirect by repeating it as a GET which means the body of the POST is missing. This goes down error paths on the device and tends to cause odd device behavior noticed by the device user.” And “The devices will be making extra requests with all the redirections and that will affect battery life.”
Alright – so these are some of the reasons you read in a lot of places that don’t change host name and IP address on Traveler installations.
Say you have a management solution for mobile devices so you could update profiles on devices centrally, how would that work. I have not tested this but if it’s even possible (note: I assume it is not recommended you should re-configure devices from scratch) – again for sake of discussion I suppose it’s like a server replacement from the device perspective – you should (must) stick to the same version so if upgrade was in the plan you have to do that later. Again from the Traveler wiki “There is no problem for the clients if the server must be replaced (e.g. double entries on the mobile device). The mobile device will not receive duplicate entries on the server or device. The one downside to this situation is that if a user had made changes on the device that were pending synchronization, then these changes will be lost when the server is restored. This is because when the server comes back up, the synchronization anchors are no longer accurate between the server and device, so the data must be refreshed on the device with the server version.”
And what about timing and testing this change – do all devices at one go – seems uncertain to me.
Convinced that changing host name on Traveler is too much hassle and still not want to have to touch the devices – maybe do the other way around, vice versa, change host name and IP address for the Domino mail server.
You could do that but that also requires careful planning. If you have Notes clients their location profile needs to be updated with the new home server – you could do a “Move to another Server”. But what about Notes applications shortcuts (i.e. Bookmark and/or workspace). You could set up a Domino cluster and Internet Cluster Manager as a work around/complement, maybe even letting ICM handle redirects (not my recommendation however). As mentioned earlier, you might have integrations points to this server with other services that could break.
If you choose to set up a parallel Traveler server and reconfigure devices you have the possibility to use the newest version and even to improve how the Domino topology is set up using a different Domino domain but keeping certificates so you have no need for cross certification. So when new devices and updates to Traveler arrives you can easier upgrade without impact on your other Domino domain (as long as you break replication of NTF:s – use “Surely Template” from OpenNTF (love to see similar functionality in DomainPatrol PRO ;-) )
Summary: There is no simple way to change the Traveler host name. The only way for everything to work is for the devices to get reconfigured over time (pick your length of time or all at once) or use a reverse proxy solution.