So far we have discussed a generic Domino/Notes upgrade process. In this section, we discuss the specific upgrade issues for Notes/Domino 8.5.
Before you upgrade you will need to identify the components and systems that will be affected by this upgrade. This is an opportunity for you to execute a system-wide health check. This normally includes a review of the following:
admin4.nsf
is replicating to all servers, and that all AdminP ACL database assignments are correct. Also, there are new features that allow you to set up several directory AdminP servers using Extended Directory access control. Notes.ini
variables and obsolete Notes.ini
settings. Check the online support tools for this list. The release notes may also have some information about the current set of supported Notes.ini
variables.If you are using clustering, you should monitor the work queue depth and seconds on queue statistics.
The authors recommend that you run the Domino Configuration Tuner (DCT) before you upgrade your servers. This tool will evaluate server settings according to a set list of best practices. At the time of writing, this tool will analyze servers in a single domain, which can be evaluated together. Once the DCT tool executes, it will generate a number of valuable reports that explain each rule output that the DCT ran against.
Overall the DCT is easy to use—as of this writing there is no easy way to export the reports. (Look for an enhancement in the future for this.) The authors have provided a simple LotusScript agent that you can run to export the DCT data (see the following sample code).
Sub Initialize '* Name: DCT export Sample Code '* Author: Authors '* Notes: This code is not supported -- use at your own risk '* '--- Declare Class Variables Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim doc As NotesDocument Dim rtitem As NotesRichTextItem '--- Declare Variables Dim strStatus As String Dim strServer As String Dim strSeverity As String Dim strExplanation As String Dim strRecommendations As String Dim strDatabases As String Dim strDatabasesList As String Dim StrException As String Dim strLink_0, strLink_1, strLink_2, strLink_3, strLink_4 As String Dim strTemp As String Dim intDebug As Integer Dim intFileNum As Integer Dim intLoop As Integer '--- Initialize Class Variables Set db = session.CurrentDatabase Set view = db.GetView( "vwScansMostRecent" ) Set doc = view.GetFirstDocument '--- Initialize Variables intDebug = False intFileNum = Freefile() '--- Open the report file Open "c:dct_report.htm" For Output As #intFileNum '--- Loop through the documents in the View While Not ( doc Is Nothing ) '--- Set the first text fields strStatus = doc.RuleStatus(0) strServer = doc.ServerName(0) strSeverity = doc.Severity(0) '--- Set the Explanation Rich Text Field Set rtitem = doc.GetFirstItem( "Explanation" ) If Not (rtitem Is Nothing) Then strExplanation = rtitem.Text '--- Set the Recommendations Rich Text Field Set rtitem = doc.GetFirstItem( "Suggestion" ) If Not (rtitem Is Nothing) Then strRecommendations = rtitem.Text '--- Set the remaining fields strException = doc.Exception(0) strDatabases = doc.ResultList(0) strLink_0 = doc.Link_0(0) strLink_1 = doc.Link_1(0) strLink_2 = doc.Link_2(0) strLink_3 = doc.Link_3(0) strLink_4 = doc.Link_4(0) '--- Process the database list strDatabasesList = "" For intLoop = 1 To Len(strDatabases) strTemp = Mid$(strDatabases, intLoop, 1) If strTemp = "," Then strDatabasesList = strDatabasesList + "<br>" Else strDatabasesList = strDatabasesList + strTemp Next '--- If Debug mode, display contents of the document If intDebug = True Then Messagebox _ "Status:" & Chr$(9) & strStatus & Chr$(10) & Chr$(13) & _ "Server:" & Chr$(9) & strServer & Chr$(10) & Chr$(13) & _ "Severity:" & Chr$(9) & strSeverity & Chr$(10) & Chr$(13) & _ "Explanation:" & Chr$(9) & strExplanation & Chr$(10) & Chr$(13) & _ "Recommendations:" & Chr$(9) & strRecommendations & Chr$(10) & Chr$(13) & _ "Exception:" & Chr$(9) & strException & Chr$(10) & Chr$(13) & _ "Databases:" & Chr$(9) & strDatabasesList & Chr$(10) & Chr$(13) & _ "Link 0:" & Chr$(9) & strLink_0 & Chr$(10) & Chr$(13) & _ "Link 1:" & Chr$(9) & strLink_1 & Chr$(10) & Chr$(13) & _ "Link 2:" & Chr$(9) & strLink_2 & Chr$(10) & Chr$(13) & _ "Link 3:" & Chr$(9) & strLink_3 & Chr$(10) & Chr$(13) & _ "Link 4:" & Chr$(9) & strLink_4,, "Debug" '--- Write the document to a file Print #intFileNum, "<hr>Status: " & Chr$(9) & strStatus & "<br><br>" Print #intFileNum, "Server: " & Chr$(9) & strServer & "<br><br>" Print #intFileNum, "Severity: " & Chr$(9) & strSeverity & "<br><br>" Print #intFileNum, "Explanation: " & Chr$(9) & strExplanation & "<br><br>" Print #intFileNum, "Recommendations: " & Chr$(9) & strRecommendations & "<br><br>" If strException <> "" Then Print #intFileNum, "Exception: " & Chr$(9) & strException & "<br><br>" If strDatabasesList <> "" Then Print #intFileNum, "Databases: " & Chr$(9) & strDatabasesList & "<br><br>" If strLink_0 <> "" Then Print #intFileNum, "Link 0: " & Chr$(9) & strLink_0 & "<br><br>" If strLink_1 <> "" Then Print #intFileNum, "Link 1: " & Chr$(9) & strLink_1 & "<br><br>" If strLink_2 <> "" Then Print #intFileNum, "Link 2: " & Chr$(9) & strLink_2 & "<br><br>" If strLink_3 <> "" Then Print #intFileNum, "Link 3: " & Chr$(9) & strLink_3 & "<br><br>" If strLink_4 <> "" Then Print #intFileNum, "Link 4: " & Chr$(9) & strLink_4 & "<br><br>" '--- Process the next document Set doc = view.GetNextDocument( doc ) Wend '--- Close the report file Close #intFileNum '--- Write a message to showing the process is complete Messagebox "Report complete",,"Process" End Sub
After you have checked the infrastructure, it is time to start the upgrade. The following steps show the basic upgrade path. This path can vary, based on your research and the use cases that you have created.
Systemic normalization: The first step of your upgrade is to "normalize" your architecture. We have already mentioned that it is important not to make any changes, upgrades, or migrations to an environment that is sick. Take the time to review each health check category and determine if your environment is stable. If it is stable, you can then upgrade your architecture.
Upgrade the Domino Administrator clients: Upgrade all of your Domino Administrator clients. Verify that all features and functions run in the current environment before you upgrade your first server.
Upgrade the Domino Directory: This step can be executed before you upgrade your first server. Remember the use case above? Use that to drive the upgrade of the directory, making any customizations and changes. Be sure to work with IBM/Lotus support to make sure that the directory is backward compatible with your current directory. (You should have done this in the testing phase of the upgrade.)
Upgrade the administration server: This is a very important server. AdminP requires that you assign an administration server to the Domino Directory (names.nsf
).
The AdminP server task runs on all Domino servers. This task loads when the Domino server is first started, and is controlled through the notes.ini
variable ServerTasks. The AdminP server task wakes up at periodic time intervals (specified in the Administration Process section of the Server document) and executes commands waiting in the Administration Request database. Each command placed in the Administration Request database has an assigned proxy action. These proxy actions are essentially the op-code that runs the administration process. Each command placed in the Administration Request database is represented by a document. Each document has a number of fields, including one called proxy action. After each action has completed on a server, a response document is created to indicate the status of that request.
There is a new option (since release 7) to use multiple servers to maintain the Domino Directory. If a Domino domain is geographically dispersed, then you can use several servers to process administration requests.
Carefully evaluate your administration server: Due to the new complexities of Domino 8.5 and some new proxy actions, you may need to have a dedicated administration server. AdminP can generate a large number of proxy actions as your architecture grows.
Upgrade utility servers: This step can be different with each customer. In some cases, the hub server can be upgraded first, then the utility servers. Utility servers are defined as SMTP, support, tools, and other servers. In some cases, vendors may not be ready with their updates to support a new release of Domino.
Upgrade hub servers: Upgrade each server, and then monitor the "normal" operations between each upgrade. Verify that replication is still working, that agents are still executing, and that mail is still routing.
Upgrade spoke/messaging servers: After the hub servers have been completed, upgrade your spoke and messaging servers.
Upgrade specialized servers: In some cases, these may be some of the first servers you upgrade. One example would be specialized backup software. Once again, you need to contact you vendor before you upgrade your first server or upgrade the directory. The issue is backward compatible. Verify with each vendor that the tools and utilities will work with each release.
Upgrade the application servers: One important step is to test the applications before you upgrade. There are several tools listed in the reference section of this book that will help you.
Upgrade Notes clients: You are now at the point where you can upgrade the Notes clients. SmartUpgrade can be used if you have Notes/Domino 6/7 installed. If not, you can use a MSI/MST type install process to roll out the code.
Implement new Domino 8.5 features: When all servers and clients have been upgraded, you can implement the new Domino 8.5 features. Each feature should be tested, and in some cases you may need to build an architecture/design for each feature. One new feature that you should consider is the mail policy. This is a new policy that can be enabled after you have upgraded both servers and clients. Also review using the following new features:
Upgrade applications: When your architecture is pure Domino/Notes 8.5, you can start to implement new Domino 8.5 features in your applications. Use the testing methodology listed above.
Lotus Notes and Domino 8.5 include a number of important new features. These features are discussed in Chapter 2 and Chapter 3 in this book. Be sure to consider these following features as part of your upgrade planning:
Productivity tools: Notes 8.5 includes a set of office productivity tools that support the OpenDocument Format (ODF) standard. These include IBM Lotus Documents (create, edit, and share word-processing documents), IBM Lotus Presentations (create and deliver presentations), and IBM Lotus Spreadsheets (create spreadsheets and analyze numerical data).
LOB: Notes/Domino 8.5 also makes it easier to integrate line of business (LOB) solutions and data into new types of applications, called composite applications. Composite applications are manifested in the front end of a Service-Oriented Architecture (SOA).
Mail recall: This is a "planned" option of Domino 8.5. Work with your administrator to determine if you can use this feature and what options are available.
Improved "out-of-office" capabilities: This includes an option to specify special hours in addition to specific dates. Now notifications can be sent almost immediately if a person has enabled the "out-of-office" agent.
Central management: Domino 8.5 offers the option to centrally manage initial deployment and upgrades of Notes 8.5 client software and composite applications. Using server-managed provisioning, you can even deploy different Notes 8.5 client features to different users. This new capability will support the existing Notes SmartUpgrade feature.
DB2: Domino 7 introduced an option to use IBM DB2 as an alternative to the traditional Lotus Notes Storage Facility (NSF) for storing Lotus Domino databases. Domino 8.5 will now support DB2 as part of a standard install.
18.222.230.126